From 705e812dee2ce3c14a60d093c744e8de91f00c91 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 20:40:57 +0100 Subject: [PATCH 01/36] =?UTF-8?q?=D0=9B=D0=B0=D1=82=D1=83=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=B1=D1=83=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/tools/mining_tools.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index 0b6807438fda..23ef4365db05 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -142,6 +142,14 @@ drill_level = DRILL_HARDENED integrated = TRUE +/obj/item/mecha_parts/mecha_equipment/drill/brass + name = "Brass exosuit drill" + desc = "Equipment for engineering and combat exosuits. This is a blessed version of the drill" + icon_state = "mech_brass_drill" + equip_cooldown = 0.5 SECONDS + drill_delay = 2.5 + drill_level = DRILL_HARDENED + /obj/item/mecha_parts/mecha_equipment/mining_scanner name = "exosuit mining scanner" desc = "Equipment for engineering and combat exosuits. It will automatically check surrounding rock for useful minerals." From 5b1c9aca52a6c88b600376adb0fa6f5506a0c118 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 20:52:34 +0100 Subject: [PATCH 02/36] =?UTF-8?q?=D0=BB=D0=B0=D1=82=D1=83=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=20=D0=BA=D0=BE=D0=BB=D1=8B=D0=B1=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=20=D0=B8=20=D1=89=D0=B8=D1=82=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../game/mecha/equipment/tools/other_tools.dm | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 9144140d3351..940423f27112 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -187,6 +187,27 @@ start_cooldown() return TRUE +/obj/item/mecha_parts/mecha_equipment/brass_armor_booster + name = "Brass Armor Booster Module" + desc = "Boosts exosuit armor against all attacks. Completely blocks taser shots. Requires energy to operate." + icon_state = "mecha_abooster_brass" + equip_cooldown = 0.5 SECONDS + energy_drain = 25 + range = 0 + var/deflect_coeff = 1.30 + var/damage_coeff = 0.7 + selectable = MODULE_SELECTABLE_NONE + +/obj/item/mecha_parts/mecha_equipment/brass_armor_booster/proc/projectile_react() + if(action_checks(src)) + start_cooldown() + return TRUE + +/obj/item/mecha_parts/mecha_equipment/brass_armor_booster/proc/attack_react(mob/user) + if(action_checks(user)) + start_cooldown() + return TRUE + ////////////////////////////////// REPAIR DROID ////////////////////////////////////////////////// /obj/item/mecha_parts/mecha_equipment/repair_droid @@ -853,3 +874,31 @@ INSTRUMENTAL = "механическими клешнями", PREPOSITIONAL = "механических клешнях", ) + +/obj/item/mecha_parts/mecha_equipment/cage/brass + name = "brass cradle" + desc = "Модуль для экзокостюмов, используемый для задержания заблудших." + icon_state = "mecha_cage_brass" + origin_tech = "combat=6;materials=5" + equip_cooldown = 2 SECONDS + energy_drain = 250 + salvageable = FALSE + alert_category = "mecha_cage" + + var/mob/living/carbon/prisoner + var/mob/living/carbon/holding + ///for custom icons + var/datum/action/innate/mecha/select_module/button + ///wacky case + var/current_stage + var/obj/effect/supress/supress_effect + +/obj/item/mecha_parts/mecha_equipment/cage/brass/get_ru_names() + return list( + NOMINATIVE = "модуль \"Латунная колыбель\"", + GENITIVE = "модуля \"Латунная колыбель\"", + DATIVE = "модулю \"Латунная колыбель\"", + ACCUSATIVE = "модуль \"Латунная колыбель"", + INSTRUMENTAL = "модулем \"Латунная колыбель\"", + PREPOSITIONAL = "модуле \"Латунная колыбель\"", + ) From 6936fdf9a9b23cd812d4ddd8d5512cd2dafe1e0b Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:04:01 +0100 Subject: [PATCH 03/36] =?UTF-8?q?=D0=9B=D0=B0=D1=82=D1=83=D0=BD=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=BE=D1=80=D1=83=D0=B6=D0=B8=D0=B5=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BC=D0=B5=D1=85=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/weapons/weapons.dm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 8e0ccecbcf94..b9358567716d 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -192,6 +192,24 @@ fire_sound = 'sound/weapons/gunshots/1taser.ogg' size = 1 +/obj/item/mecha_parts/mecha_equipment/weapon/energy/brasstaser + name = "\"Spark of the Righteous\" Mounted Taser" + icon_state = "mecha_taser_brass" + energy_drain = 15 + equip_cooldown = 0.5 SECONDS + projectile = /obj/projectile/energy/brasselectrode + fire_sound = 'sound/weapons/gunshots/1taser.ogg' + size = 1 + +/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser + equip_cooldown = 0.4 SECONDS + name = "\"Ray of Faith\" Laser" + icon_state = "mecha_brassdart" + energy_drain = 20 + projectile = /obj/projectile/brassbeam + fire_sound = 'sound/weapons/gunshots/1laser4.ogg' + harmful = TRUE + /obj/item/mecha_parts/mecha_equipment/weapon/honker name = "HoNkER BlAsT 5000" icon_state = "mecha_honker" From 1b48c89e27389fe19a0870bd1fb7d15ec5683a72 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:08:53 +0100 Subject: [PATCH 04/36] =?UTF-8?q?=D0=9B=D0=B0=D1=82=D1=83=D0=BD=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=BA=D0=BB=D0=B5=D1=88=D0=BD=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/tools/work_tools.dm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 409069d44423..a0edcb7adc2d 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -111,6 +111,23 @@ start_cooldown() return TRUE +/obj/item/mecha_parts/mecha_equipment/brass_clamp + name = "Brass clamp" + desc = "Equipment for brass exosuits. Lifts objects and loads them into cargo." + icon_state = "mecha_brassclamp" + equip_cooldown = 1 SECONDS + energy_drain = 5 + var/dam_force = 25 + harmful = TRUE + +/obj/item/mecha_parts/mecha_equipment/brass_clamp/attach_act(obj/mecha/M) + chassis.cargo_expanded = TRUE + chassis.cargo_capacity = 25 + +/obj/item/mecha_parts/mecha_equipment/brass_clamp/detach_act(obj/mecha/M) + chassis.cargo_expanded = FALSE + chassis.cargo_capacity = initial(chassis.cargo_capacity) + /obj/item/mecha_parts/mecha_equipment/cargo_upgrade name = "Cargo expansion upgrade" desc = "A working exosuit module that allows you to turn your Ripley into a hearse, zoo, or armored personnel carrier." From 62fd5899e86af88619f86d9b0ae4a60389a85e0e Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:17:26 +0100 Subject: [PATCH 05/36] =?UTF-8?q?=D0=9A=D1=80=D0=B0=D1=84=D1=82=20=D0=BB?= =?UTF-8?q?=D0=B0=D1=82=D1=83=D0=BD=D0=BD=D1=8B=D1=85=20=D1=88=D1=82=D1=83?= =?UTF-8?q?=D1=87=D0=B5=D0=BA=20=D0=BD=D0=B0=20=D0=BC=D0=B5=D1=85=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/gamemodes/clockwork/clockwork_workshop.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/game/gamemodes/clockwork/clockwork_workshop.dm b/code/game/gamemodes/clockwork/clockwork_workshop.dm index 211f09054bd7..7d5e7eb40733 100644 --- a/code/game/gamemodes/clockwork/clockwork_workshop.dm +++ b/code/game/gamemodes/clockwork/clockwork_workshop.dm @@ -55,6 +55,14 @@ CLOCK_DESIGN("Marauder", /obj/item/clockwork/marauder, 1200, 300, 5), CLOCK_DESIGN("Strange Shard", /obj/item/clockwork/shard, 2000, 500, 8), ) + item_list["|Mecha"] = list( + CLOCK_DESIGN("Brass clamp", /obj/item/mecha_parts/mecha_equipment/brass_clamp, 500, 200, 4), + CLOCK_DESIGN("Brass Armor Booster Module", /obj/item/mecha_parts/mecha_equipment/brass_armor_booster, 1500, 200, 5), + CLOCK_DESIGN("brass cradle", /obj/item/mecha_parts/mecha_equipment/cage/brass, 1000, 100, 4), + CLOCK_DESIGN("Brass exosuit drill", /obj/item/mecha_parts/mecha_equipment/drill/brass, 1500, 200, 4), + CLOCK_DESIGN("\"Spark of the Righteous\" Mounted Taser", /obj/item/mecha_parts/mecha_equipment/weapon/energy/brasstaser, 2000, 300, 6), + CLOCK_DESIGN("\"Ray of Faith\" Laser", /obj/item/mecha_parts/mecha_equipment/weapon/energy/brasslaser, 2500, 500, 6), + ) /obj/structure/clockwork/functional/workshop/Destroy() // let all the brass out! From 8850e724f88fbb658a90ec8ed6af657854b63bc2 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:18:00 +0100 Subject: [PATCH 06/36] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=811?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/weapons/weapons.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index b9358567716d..b0a9c5f47b0f 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -201,7 +201,7 @@ fire_sound = 'sound/weapons/gunshots/1taser.ogg' size = 1 -/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser +/obj/item/mecha_parts/mecha_equipment/weapon/energy/brasslaser equip_cooldown = 0.4 SECONDS name = "\"Ray of Faith\" Laser" icon_state = "mecha_brassdart" From 4f4b5f5d29ab2dc9a7adc86c1eda3969de1e113f Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:18:46 +0100 Subject: [PATCH 07/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=812?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/weapons/weapons.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index b0a9c5f47b0f..20f2757865b1 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -202,7 +202,7 @@ size = 1 /obj/item/mecha_parts/mecha_equipment/weapon/energy/brasslaser - equip_cooldown = 0.4 SECONDS + equip_cooldown = 0.3 SECONDS name = "\"Ray of Faith\" Laser" icon_state = "mecha_brassdart" energy_drain = 20 From 00684d69001b861dd20bf7939cb9f921ae65c226 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:08:13 +0100 Subject: [PATCH 08/36] =?UTF-8?q?=D0=9C=D0=B5=D1=85=D1=82=D0=B0=D0=B7?= =?UTF-8?q?=D0=B5=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/modules/projectiles/projectile/energy.dm | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 186311a32112..3978662755cb 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -551,4 +551,24 @@ if(!isclocker(to_heal)) return ..() to_heal.heal_overall_damage(0, 75) + +/obj/projectile/energy/electrode/brass + name = "brass electrode" + confused = 3 SECONDS + stun = 0.5 SECONDS + stamina = 20 + stutter = 10 SECONDS + jitter = 30 SECONDS + range = 8 + var/tasered_duration = 8 SECONDS + +/obj/projectile/energy/electrode/brass/get_ru_names() + return list( + NOMINATIVE = "латунный электрод", + GENITIVE = "латунного электрода", + DATIVE = "латунному электроду", + ACCUSATIVE = "латунный электрод", + INSTRUMENTAL = "латунным электродом", + PREPOSITIONAL = "латунном электроде", + ) #undef ELECTRODE_BUCKLED_WEAKEN_MULTIPLIER From 69c1d791f717e87476c56367579dcb970461c8f6 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:29:21 +0100 Subject: [PATCH 09/36] =?UTF-8?q?=D0=9B=D0=B0=D1=82=D1=83=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D1=81=D0=BD=D0=B0=D1=80=D1=8F=D0=B4=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=BC=D0=B5=D1=85=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/modules/projectiles/projectile/beams.dm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index e092492a8894..efd66c05ae73 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -648,7 +648,22 @@ PREPOSITIONAL = "лазере часовой энергии", ) +/obj/projectile/beam/brasslaser + name = "brass laser beam" + damage = 20 + +/obj/projectile/beam/brasslaser/get_ru_names() + return list( + NOMINATIVE = "латунный импульс", + GENITIVE = "латунного импульса", + DATIVE = "латунному импульсу", + ACCUSATIVE = "латунный импульс", + INSTRUMENTAL = "латунным импульсом", + PREPOSITIONAL = "латунном импульсе", + /obj/projectile/beam/laser/light/rat/prehit(atom/target) if(isclocker(target)) damage = 0 return ..() + + ) From 475556d6e386391798ee94aa2e56d0eeca0d616a Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:30:00 +0100 Subject: [PATCH 10/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=813?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/weapons/weapons.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 20f2757865b1..e64613884da2 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -206,7 +206,7 @@ name = "\"Ray of Faith\" Laser" icon_state = "mecha_brassdart" energy_drain = 20 - projectile = /obj/projectile/brassbeam + projectile = /obj/projectile/beam/brasslaser fire_sound = 'sound/weapons/gunshots/1laser4.ogg' harmful = TRUE From d77cb94e2e8c61dcc551c2022104ede51be4c361 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:32:37 +0100 Subject: [PATCH 11/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=814?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/modules/projectiles/projectile/energy.dm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 3978662755cb..19e9d1c9550d 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -556,7 +556,7 @@ name = "brass electrode" confused = 3 SECONDS stun = 0.5 SECONDS - stamina = 20 + stamina = 30 stutter = 10 SECONDS jitter = 30 SECONDS range = 8 @@ -570,5 +570,16 @@ ACCUSATIVE = "латунный электрод", INSTRUMENTAL = "латунным электродом", PREPOSITIONAL = "латунном электроде", + +/obj/projectile/beam/laser/light/rat/prehit(atom/target) + if(isclocker(target)) + confused = 0 SECONDS + stun = 0 SECONDS + stamina = 0 + stutter = 0 SECONDS + jitter = 0 SECONDS + var/tasered_duration = 0 SECONDS + return ..() + ) #undef ELECTRODE_BUCKLED_WEAKEN_MULTIPLIER From 18c30a8385f2e36fc6c08a6ffab643d20cd73ba5 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:34:13 +0100 Subject: [PATCH 12/36] Update weapons.dm --- code/game/mecha/equipment/weapons/weapons.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index e64613884da2..3487a1b7209e 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -197,7 +197,7 @@ icon_state = "mecha_taser_brass" energy_drain = 15 equip_cooldown = 0.5 SECONDS - projectile = /obj/projectile/energy/brasselectrode + projectile = /obj/projectile/energy/electrode/brass fire_sound = 'sound/weapons/gunshots/1taser.ogg' size = 1 From ec2f3f187465441c571c435af6231aaa3f59bb07 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:46:01 +0100 Subject: [PATCH 13/36] =?UTF-8?q?=D0=A1=D0=BF=D1=80=D0=B0=D0=B9=D1=82?= =?UTF-8?q?=D1=8B=20=D0=BC=D0=B5=D1=85=D0=B0=D1=88=D1=82=D1=83=D1=87=D0=B5?= =?UTF-8?q?=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- icons/obj/mecha/mecha_equipment.dmi | Bin 44093 -> 46830 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/mecha/mecha_equipment.dmi b/icons/obj/mecha/mecha_equipment.dmi index 7b1c7b08cfb7bef7fb85f3bed91bb1c2b22f835e..645309de7834710dd2a7fbd1f8fb77cc3b6d4957 100644 GIT binary patch literal 46830 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 GVgCof(BiuQ literal 44093 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
  • ~;`hV_%z$m6H-OiM zg6cdkP3C^mtEF(;B>h2~2lK`MNudm%toeddWwXH2BZiZj+OQ<&>RQJ(q#NA%MV{lD zqijC(Z{+*UaEZ1b7$K8%AG7KW`k5!NMZ>`>K+g$3>DL`J|$=62h6DUYJH4{%l4d(ZS@~ zX##D(v;CJh8P@YTV7}j$RPAKomJn3}3*s$PVsn;!9!klYt0&GoB8^J;va7ke7Jv?Q z-oBbU9JlsP43s3{x_9szm8+5 zs;T|rb1AT%FVhwWlL&pDuqo;a&a_+6S!L1Y*nhc{p2JtQUHgjoX25*(c(`_=^UU6f zO~q-IYGw3Y!k-gJo5}wRi8&AuEsuz025uRz*!Nw!bjANpon0;oyO&}1OJ|WliC&$f z{k0#4;T1DraB;*1wdr{5)K0oXK#CA6nVjrobELcdO@_uJk65m6Q(Y|`miJrErjb;{ zcDGwD;&`u^`xMnQcm53+G6wmi!_r_Wh>MMxVb_!SFD!lee-42O{QvM7C}qvqk*H6s zDL>{H4E+n@DK-bJ>Pv(^Y!!jw@FORaGkO5LS1JbAuf^1LxFgyuIOIkXVq%?jCdd%U3C{9<*IugVWVuS5RA*+2T694+^FhTCV1%2^F*EZdFr- zJO7h2U{^G!{!rKGtzR7W2#{gC-Ew1q47*+(M>JOa1k|p7oRx-$R8oFYu6m5F4fxw& zhGnq*Sx!)C^_mW(t9V9b(!(W&k^djc+U2a^b$SU=lI&Hh85gi0z2$Lx7)b&bU_|Dz z;Zw;Z96mf;MjQZpfWg!XWnJ>vT4yPiboL?h?>^RFmkV`XUcOG{EU16t7A8d@!v4l| zhqxa~JvNo@Mlb;WC7OJX;`{y1=W~PV9(o&Ok`6^$V`!T+N=GsZ6M*U72M`#tiD3YL zNm^q<0+0>hDePIbl!aAaXTA=g5clB1qN*rwe%9{(1Ont{lbC9@s2OXG06geEoh_^A zTd9So=}nfh;aAO>*QDjHzz;U>CGrMi&ug9^zcElI&AB8Y%rDEA_C5quPC&&0DA=M? zgauDmlrdRkJdW4Z^C{xs0aIepmDfPGh4|iSr^#T240?w&!|P2@MMXt?c&_xPS42HY zKtOgPgQ)VkxA(p|{FauM#zexOfx^qnOQV#@ghVQw-qiF_TtcGUKbY?0_5L{K@AKgV zTEu+{bwY~Oe(yFXA8@^0L)F~_Xzm|ScS>lvuphuZbZd5ewAk-tXi#utv=$rXu>%M{ zeHJCN1y%%%(Kq2V!qaSX6EajqlAbUd;jev*-F?K>w&CSM!lE#nZbGDi#}+1ZEPc2q28aJ_^=LM7dr&25Dv#LK&?Jb3Gpo9{LVuyg0ovO}0Pqw2Nanp4GvF zyO<*HTMAO&Z7wgP2zh>@X6j7p8ne;j^vn-pJe%PeADhbhb3}z1_@^Wr`u|Ec@E+dv z@qF;45qd#e>3m9s$nmK5zO^JbnTJiX_c zx^d9s8AuV6+Gz!+ecHnJnCm~uCC>C+4_Y1vBs1~+{hC?xiK^P}og9F%E>s3D8`OCV+dCTtBTfxXB#|R6BZFBF&WvQCLA;XB$;@65Q^W-}+fo1z6<>2} z6NX)OL!Xp?Bd$?n*oa;xdp&0jxGOLkhx(UAR(;)L!tVMD#lLm3Pzl&;+Cne+M9r~? zst&FbUs%N~*zF2a{cmO!GvH2^6Bo93;7}I{aUoYHhx>rE%{JX8D^eP3QNxMB-?V?+Bc?Nfat($S5gU zEZ14pS(!e?%5A$G{vqe!*}endu6a&oG@eV9Vv zc&lJl?Gn>((3aq~B>%FSmauW7otY(^nr)P)!xrw`sw}ld?G1gmf0Kx(40SGYCCVJ zcaAq9c3McYz}e{hZ!e+ZO&5w~;&rig5|Vq3iCO~#k{z4ab8(f;j1=H6#%?$j>FcV< z2>zM-cb)Rx#XK%OBL>#AU+H%wmX8l8e_u zoM>0Yf67qt42M0#m+;p4AOz`ieY(VYh&>BCs}L^W86VXH30O?FtB{K$eiPUq?Ma%6 zaF8vOMcHU=*QCkjT`dvv)m_>QU#0}RcI+s6wFVermL381qx#TE8^k?_(A?Zh*!^*2 zWhI_0fEt#TmOy}WTUl9I6wo}F{Bg0dA%NK-Wo1QQQBlFYj<|Dgv}qc-cY2-Kp2a1J zo_0BzsjN$a5E z-fSem+j)}G9+gx1D&O$JYW_Cx{<`rFk1BW}+J5fmhArwsBh?+_#_s!2(&P&yWKKH= zE|MSM_Ax{*r z!*})JLOcv^qA*>6t6IjcH`r_!*%JCtiP%ojzK+9y99is0?{CxWFT?cYWV=_$aN=)G zC;rZr!UUdLbnYIYb~Zi?9^QIC-5mAqjV8mRq8?mqjS#f$%CQfOjz)T2@5Arg2{*vS zFw4A4wB;zr7TKVQ+x`Efb&C_$(WG1}#ej}}vwV@6W-#W;dbs$ze4RvH&|g)w_E!6> zzeh!J;)||ohIh}HZjznU!iO2@ZhCZXy>sP-dT2$!-pDClH|_D}Ae?dDlwffnd9fPl zp!T;eX^gSaY<{wx9 zfOo$sJ!Az>h4chvqhIms>QcRH{%XY@@t>9m`SJ!Wm$30y5L+9Li-|E^;&$F7!~WH6 zV^fJuc*~M$U;k-7VLjqzQ86T(i9mwyi~TWiUpJYsrsN;lw<+#fkUW~<+1S`;7Fybw zW;I&RHv`c6hvkcgxxI-DekVRY?T&p?To$cSUZZBRCbKI4R357!kJ_&qef!`($*;(Q zJryoH3Jr)1*s43{lj`N)_75ThJPiy;l35Lt)*Q%MR^;U5KJ#b%b>#;tr@blEu@&Fn zpb!9I%szcvwPQ0LKbo$g1_+}ox0XyjvN#(qyUp&wkHLL?W^!u!wZ2!H%O?p$S*6j< z7M5i2PXAMiO%8&faeqPM-xmrw?m~b!^&GqO*)7rMKH%LK!~kkqll$36MeKgp7KbQ3 zM8oT|LcM11#DdU`S9x(b{dme@h-N94Y08$X4Sh&2&k3@f)d;eMMM&=0kxQpj*d-B zF2g#ppni(upWNXu!r0&?haDJ7@^F_Bd`U(0TyL;oH`5aRx2xN*zlb}-{CE&!9$0gB zhQN+Gbk-P(Mk``t*0D2abl9kf@2N=Rv133~1xnx_;o;rDPcZ6j7M%CT@PVRj5GclmM@LKNUmLux zzml`C!~nyq)h@k%(%~7m-AYo`*}VrVqdANabZvuSE(Y(ZQV= z!itqF9#^*uhSxLTXYHFFRZwb6E9dd`HIbLWjl~z-7(2ad*u%eP_S-@19=|^SNN0HQ zURVDa$Z$NcV#6udtSh!Rnwgv&W>6_zt~tX%25L88ZQUIUk>)4qqif={n3!e20=&=3 zz6!(w#}UGfvAYD~>9E#)ADncb;HilOl=D*NcD=bK(r#L5QAvZO@~j-U*xkZ@>5v1m zqKdvRacU!%RhSJO1XsnbY+{$Y{^m7VhAo74L_?ZTK>6kpSBlX_Oz0Gz(SC5P`njKr zTx`d9RsbeMNyR2F?SfooK=I~>zF4b_n6Cx~>4#IqMXL*Aqmk97g9wJcm!A^TG}Xka ztgiPN4*peB9`2`d^K+%UxL89g2^g4O*WQ?_=g>)L5^BnfrAg zrPyVi-!jcDOsM#6#e*rE%!u}>&(rlP==J9a0m(#;k|Am-FORa zkn$j(42@tgmky)X$|}k4jLhlXy>Gk^KNITsf)aSLLmT|#S^K6fK0{;TmWi99;g@Tc z#_z*%RCo;%W>~ZtmW0dOi8LT}swEt&oYHD~MoUaY4~E&wM6DVBmpyC00pmv&b3<%} z6Y3{PDOle-Uf|_vYksDyqj5uYN&It~pmQ}EDC@45|LO8ezkov z93-K061nMod1V8!RdZq|((<^; zbOI9tIf`^V{RWi7Ig@yoZ9o-4v{u`_PmgEqEEHsQV<-Wmuho+pD+uVbc%7@Ry0jJ< z;gMxIY!z^+ond4h!Tq6EeDnfwo17OUh0r)d5liTBY= zx{=oq+9fc6dUK%D^6_tNUIJwjQ*tNgzljY5FD6}4WM&>Cex!I0Tx4xr%;xhg_!obk zn6k)lv%+`!mQAXPw-3x`98U0BD<2w~DQw9B9mn|Xj|FJzHmT$(?&#gXSuHdCpK}4r z-1I2l_n)GjR}naiSpD)Mb(?1#eCYpN3JxW1ezGAKGzkp{y}G-Kr0omeB){qJ%gj#> z4Os$8e^t}5AZY&;ZG2Ioa&)jC>VPs&+pV+d^y~P$sny-w0LRhJ$)imOu;|Bp>>m_H z!8as2m;(%UqK~q8;EDF5;KUM)XsOtqnnd^`TeE*=cPBz+3B=g^;l;LA%R^_2qHqvC zxZga=HND<$8rlGvTC`W(dz7V#zEary9`~{szxKOE9>cSu#xK-E2Qp!dxYAA@dZc&z zZPO?!Nrko-Pa{$IPyV$RS9W5N*tul-`c-lbt|WNMJ*)?x?p;jL!*svRb<1!Qkdrvc zPzab$LhlSUNeK|Ro0`s*XfVhpOmkE1n~Ind&A6Oqiogpyg@1RRg0&Tf`t86tMNJR? z^YX4N(u6GZ@-EbyUe}u^P9XQmr~bFJGUnFTmQ7o+gToO(sq|X&#D6p3%zev%86+y# z?#BPeod7n&RFsx>dL9w}JPNl475Q+w{mwpNfL|MA0>O=WZYX{p4=;ozZhdK-kA??fq%hz*s!_-L(_b>saH)(Z-5=gj{1 zaP-NAiv>J^K|%We!Ggd^EdRlG+1W<8pPwMCxKe$-(Paz7!r4w+*Ke$qj4cZI!2pjC z-7q4U!YNBlkHbI46M*D?xZW;6PfvfcTpvjq@Zv`AM^Fk&e^}iQHVg^d(c{P8j zG;lEh;{40Y3*K5GD@gi7mhn=JxynkT11k(-!XX#houc8t=5EdBL9WhPyIpSgN5Uf^ z{RXmOPcN?=%~HT0R+ya~2<*)XnVIXdrE@g%p8YzxQ>^4_8A0ae=HI`6kIl>!hSV~>wRY=WKVqb#dr@dk3^K~WC%0Xw z&<6uSAs;`7ARW{Q{9G5vG5WS9-Pyk`s|yMWIs%{?$PwHsnRAZAphPpH+q$bgo&Z1^ zAYq?RMmG-UCIQ3srF3rL>Gn7bu#GSzBGA&(0=^n2;KJVC;C7$;_{79H`O-O^EXqa{ zOD=-e0z-vNEKVJ<9FoOnVh*^TNDb(%6Z|A*-GRH)l?|ZZktyKhIK|hTfPeW2qW1$1 zCbI%~K7LGjAO%m~c0d5Y-{mZf6#mekR$E*9*j{tX;rwP?Wy}&L;adlxQ(@zf6(-=$`vj2yNqnN>xy0}2ZZTN8nD8zy8u zWRo5+xO}%U0$I#VR6vzXh^DsFXgISvZ;g#2S$))=^C_cjlAMXmVX|5-d3e{TC=_t5_ZVS>{U@r z-mhQ3%*@Tv`OVmpHIfyex3-GoPF_t}yS74Q#@5H-+#UHelfgQjup>WL6S)vL2?!L7 zRrS|T3>JB6d>7ku|7anQ5ey5M(TY`Ba0ab~bXJ^yqYzD8oz_uvy&EaM-s2b(JPNW^ihiN9$dA z*F=wD<-gM?Pi&>+xe9tDbE~l$qNz#${9r(c*vkog{oZNtucbIu7Ujk4*fdgHNj(kK zyHEs%pTw#K?M+YUUT(cnfdx#@g~CM;O?eRm1}mu_&zE1`-2858N-6zP8K0EYfO7eb z-v#m7^xhvOnx0hZQG2OGgE1i@NG?B~5dm<0>le;hTdbYzQ{Wm9;GJ2G{Me@AL59Bgd(OJE)}aFHZQ}nB_uk=f ze_i|N=n_#9K@f&Cy+n;VM1l}q5TYbR^v*;bQ6eFN2qHR(5@qzx=)FbnqeSn$jhVCM z`#k5o?{j|Vx_;+9f1K;e6%6zF?9ZOP*S*$#ueJ7HGY2fv^QjcMATh1XJKHCkX`2z` zHYnw`Iy>C>SvMIMRok!;B5)(i@1gK$gshs0(zpRwgpB>%_v|?MAVG0sh;mE^+MCF@DXvb)le|l#K5Pz zuxda|D6g!<(AKQg*0YIjpiOboJqGD`}I zwkCI9fc)lTke0Y)A@p6C+~#9>R7{NXO8;F7L}|$Vf%LiA*>}K7f><%f)Ao`f>?UMp z*w+%f@OI_w^+R=PMGoH>5~++|8$LvxU;_IxD~6&!Fa_2bMYsJ1p>|<;}VnHYkxSq(Hhfv zYp;uqjA-xtqd^be_C^_+^Of1fr)<-py1`l&socRE{Xr+Y8_Xb10)fR8)z{ZI;og4D zJ0ed8E7}=`QIt87Xz%FI2aDE}QDCZacW$qj%t$5fOH7h|;ndr>VoZlMa;Rb(Ds1(Y zii%1`U!P&6D)OY}wR3RZ&j?M(G*8^c2m(K3oaP^#Q@<^<>Dg)*{c{ff2#=JM)MPMI z!|&F^p)}I)hoPfcQh(f>pNtJ$JAr$6R2o=XT578=8Q3vxi?dlOnfZi(q{7A0J=jJS9}JtwR)jeGzwtF5$(5Hn%o55`@Y(X4z)k zkap#aI6AloZ2XTOcZ|-R#BiQwvDM7f)Qul)8Nm!#l<4>O_g}yI3-7Tn_Ti+w4(X&h zFNdf8E&bfmo8Nx^w(zNS+t9yGMchQd=<5nzEKV87A?K6ERhw{2LI9)Ya_Le;OgFux z3wsbH^PlFWB)ZjCm!8Z;#Kg1$;&gj^+ho2a)Mm2$s&AH7#x>NT?yGpyZ$KUPN(>4j z(an2-_lS(0hbOo630j98f1hqvr0C(yq05u8p=-abO5%J~L2S>;HY|8=h1=(v!eSPYmnI!Jn$23{24rY0I%#x+6 zCUmrfGQR#Dv5ZE+fY>YAjNflFLiz)Lg-XO+xFE~f-RULX8q^j)x9MC|E8x?>k@CUq zwM1^ez>_=Yg@wZ_T=?2#>q17u8&-k7b6+Yqz6~8^&hVco2fw3LIrmlCu^i5!-`v~; z>hX6QxRcXG@!AYXiz&WLS_hhNq^8~iX^X4zlt9LWJbwfZ5&Q3A}0!K{4lC@1q5wE6+jB3*93N*_1QKo)NDu2{hcyzm4g_@Pa z8x`qe_V{(gV_L|QoPZ#fu9w0Eu-+1}a}Tn<4FSJArYV!MpER!&ai#DlQ+8KE^zn() z7PRGW_;O2E08!(uhsT$=xDc?u!1}xwSbaz7%kj4$>j@=u^Yo8IcMMVU)KjCzrv#TA zVST3COg7@x@n1C^pmW_sa%gB~u`k0-x!I&a>z~b2o=4V?9QjEbyOm&E9lHmn1B(I+ zL)s#!zVSI9=T%|a$z0~L4t7J&^7?fFqiDcyM$(tJb%X{aD%sV8P9 zs+6tf>@bRmG&w&%Uq8EH^wyUTVm{TX=kI=~+hln^Df|GY_BEM>)}+%dIl60LTZ8qW z@;RbMSy?$->&@W1LH# z&l{w^b6VaZ1cs=>n~jCVHku~!iNhF1l@u01Yy z-A=^LwpN=5@%B@`wS8>6TYKUCQV&o<%+AUA>(!28Cve77L-Ia@&N5_ejg4u+L|~gf z0x+YbByi~wn#AiUYOQ2+q)%b;al-!X>=;?XPnU6Iw`aGdkE?CU zxv%-OzhWG(cHaxQ&^sFuJ9rMe`wrK%bJhx2J z@^Ylb&(v<`Mv#T_1d_fZc-(|rdQrn+c-(icRJ-)#hC=<&=U@)Z``dM|3F;5k#U5RlOwxPE2p*bgmk*wA%DXEiW+s22zGt+OgHy=#S zerjHtS`#W;>N<1(Ot}}k6#K?J6*cJZi$wA*^(4%HWJ_dW%XsO3^~Hj{1wl%g(*;>lhQp(N3pGZ_fsB2D-u^~Z)jWgq?O*5Y zU0WlU{JVBU{bpXh#W&Wa^qXGPgP!*5D|?r7YFCtNyWV|qzWZnLYvT-;KOV#N0B}2X zh(P9JmMIgzZLaiPmH@SD-Vouwx1OGBBc@>U9K5#u5nJlD&_M&-A&ZebCJAcl=M`4Z z{E6`_)I=UQ%s?U{B2G`6njTfx)Qsi7Bq+mh1d!t z(vXTjJ95R7%kIig35QBqtC&+pXK1*x0bxJ+JyMh%C*{MwJhUD+ZO!X6roIx|b|BR- zMaz2QH`La6GT!t`P8}Ko1OC5F^`|LbU^9vKfj7yVR%GH(3q?R<{6A&;BzhijI3Hwl7 z>rZuav$24Yn0$ykrZ-Gn>T2F{eASVS(WVcSDi2r%DKDxSLcPwl?Mc!pOET@G`80p-v$>E=zw4EjOG~#k`}!Osp#OtQ=}rS zzof7GVtHPae?3~p%ipW5z0Fij^PW9ym-2k(bm<6}sy*#fh^cVM^P*n;a##85>(1!= zKn|BDg6f{$y%@z{9f&Pya*14o_5?aNvrla*+>@#^1BgnOa%gC$0lnu_^;r>ejZl{A zN=npkdMfaZ{=I9y;0vK#IOGngAIlBD>MsUVgelBV6D2EFr34miM)PHfSq2H{16WA? z)D=JqPYzg{x>ZxJ3KXe+k@OR>{e2f93%Eu-)gOj%7Se}O`H0=pz6byM;hUs;VWCMq zzPH%jyF|VL0fZG;EwvwHsuyg@jtE)ebL2$ov5I%s1zs%WD@Jqs zFrsJFA&V*>v@7B7#<;GjL?(W>hS#CqiHiQ>tMNP>Vyt_~X!GJsJ^@ixd7N!(be%h7 zB>izuM$xUPRX=tAJiN!XbXgW#Bu7$9$~`J#$D0RtGdw8>AyaWjVKQJms8y&F&gsw_ zcBZR=1@qSoI-W60c{l*2$jQkmo;U^Md99I5z!G3;X4DDi)}yes?g_RWB{Fu;gNITO zFzkoc1COo5KOb&R86+X?e!MuWIeyf_1GSJSnmlSh!5#57tdF$2%SVl+vVifU$Wi!f^?8 z?}|)R(n0!^i$`nQ$7lV+v|hz^TJDG*zrIf|tF9x<F+ zuBKJ|2lFq)c@JhZpI&Xe_v@sPQraC>Roqy7o~C5%Eq2Lj<=kF z6Drd~AQr&x{6ykNz6L&}?Sm#Xc5D&HA~Wb)cfRhAgxDKlBs zv|CaYvIz)iLc<+4yYOha^?cn>>MC6~N|m3Nya}+JRX}p-Zx_Ty;yv)bZnq!M+zHd^ zY8}RNxKk0ZiI;2A`J&R^lBjDaM#9x9V++3H^tCrp%Ya82=}-110Uji_CnwN|V<1C> z5nnv~OaGxd0xRF&%aX~d!o_pj4~R<{NONZ<{8zm-3&IeOmhi4#VT$dNyt$`tOSbHW zR9yJ;e7UI6?ln(T*dEQw`^oBf@7N+nFWO-}gks-|{-^dg7LTUZl)+@p;i675a`Oup z5#l!%DKC9j)|U}xgQI59=;w5OnC;(?uBn>1IJ?S^fP(Py_QnGo#4MmIBv1ZCK7COb zpt83#A};lIn+32aM9F~Ul^I%l+M_RXVW^U)ZN`h<^zQz)ry23lkK@HxPj^W#S-Azn zVFbq`uhH_p(958u%A`9eYk62t#9rJG8`*at?rP9=`QR2p29*V|sLvEQoX`zJS`>_S zwZ}{A7x2B|VfDoQKA#c6h}%^43b_0jzg38iiN0r(&)|D#qh#JZ>-gdWK1v4RoirBv z+$A*V`8n*>vZCu$cowrqXX!X?xMk>6L&dHo{8!>wJp9Gr>HDK|PmxJNAj`} z5o&r>VJ$cgE<(?aKRx7s?SWCGhDPVxxrtjIfm!tpJS_NNV|%3Z*jEuS-_$y<^L>~t zUgO^6<+k-Xea4T$tJqE`*IH%G%HU8_U@z5VrtaNMimv`6Q~KplXdfaO_R?Q^E(qD@ zA1+@KHm8xEl|+4%`9|>D?_L|1bx!n0PZMGO)ed&z7@X+pK09QwD^?46ukg6pIN@TS zkRMQ1xL2h3q#B!ok|50CrRo`#vL(6s8;e@JJ zT-QhYp_vrdjiF}TdEVXA(vYAp2Wt=2YJd2wSIr8Iqlf7_WvXb=b*tzELRTBS6F=$7 zyFu}sG+Ve0-wacQh{#AeRn=d$8^*X(I^epRf+RR$^M{x@WHt`AcAM!vrg9v$bvE|? zG!%Ot*NC#}B@Ie;V887@(7YfG5j!)N+czQJ+ zC6@+eFHcWTpE_wpgomrI3A3pCs~<5ZJTG^6S!3|9Q-tmN`=>Puc%!0)r0V`8nN#LO zHA%C7)I7_9#b#5I+TS{`G-!I)z#1^ke+8+v<&-+;@4XiMz`GbzsdfSh0C2d@_*~nT zs_+QOZ2SnTW%c$|Q{hyT#6Tt2LVM5-{&p zlbDTcA(|a)UF}7EOY!2r9&b(X*c&-hoaXTGz1WZOxVsP1CP9sle37_d}Vk>;(~a-whSLvd4ISR@GqqgME_m+QaW-T}kqv zX1cey>@d}9c~#4mPIvFz-O1~SxiWtbcngJ+8Dx*yh%_0UgwPL3u= z_m!eD4d1}Lhz81Z2xF684Q-a~B-Jzz!!}L3a)KG9%8G3+XXL9M*X9$Vk1X!FU^YRTmjeCV5emUW06W)vekkR`YS=wHZW7NzA-{ZL0%J(wa>K{=f3jwfM=TK7_nkYr~HlerQ>3 zmpjk~(Q3cGc=~RHbL8B{yh7Ev@^f+JjZF#f;#d4~U6+M7s@Yu`%1A$N;y%#q%rC?G zptVI1?2jL2_p@;d0p#+O!H05dYcAxZgIGiS%*=p8?|O4r0dM=}P|L%q>*Oi-u^m%F zdHb-d@H{2aP_A=Uxg`;hf(rHt@CjZ#enp2n+dA_RVU=|z-!oo2z{RW@L!tH_D--ta zFtOOOFOerpfZBE*;e~iZ@ancAzZ`dGB<-$zr1o%-fN#bRc#8y(Gm3mG4lCMN8|F4! zEv|$kZGm&^vO372njrqz%*-rwq>(qigiIQ*?tW|Uu(b2cjX%X?=9Q_c8zT~4<1tHc z@qGimtCH#V2boTYD5*X4p zw^K=Kejr{!b^Uuc5YG~#YFw@HVqbb31(St~i7tf8efGJx>>%pmzQE|Jzee5jPXHFU zN45j3ofys|tEv-&`1Yj@F{~i4A(w61Sx1CL)C?LP1zt%|)^B0tJwG4lsd4N+KMO(a zU=Mb7hSG-;eUnRkeF)hpWs8bBM&9uL7DF5nJ>Ju_)unv@735)iQ!-SJBo3}O( ziSakIdw34l76A))uhC~m((3E|Fj8xMqqXr+K2O? z9K9T*MYb{pXGdp1XWC)kElAyW6P1g$kA>dpJatoRKyp z3n_6$kt2BZlF;WK;7-YN2 z?`_LhG^6YOvIcV!_S#3?p$LvZ&%;njY;IFsCJx7hD zuXuv5$&%YbheR&GGyN9b8?5c~>+aO%$N*Ecb76w<8^M|@aPQR5i4y0dwH^z1MMQ?L zGco0o7;n_3JW=a@){uu{_Dxe5Ox{QT*?mWztM7Qyc9r*=+V3$k)%2f^BZlz%Z+dPn z{An^#>`c2t6zGO$^1M7> z)t}66OULni>Ci5sqi3(jK(@xw%A%->E0?#PSati@MD z{uRVp)RXiPPz_3v4h6O~DK^hWD3hB_?OTf;`&M6l2I5cIQIaI{l=r`FT^IBzq*-__ zVoGr>!!?C84g*;pyh}2EETji@*e92wB4)H;cP>I~()a2cX>Ttg<`l7re}&Bd3V#3f zdzOn(UY4Km@4Nk2{}pe`;)Cec&xG_@A`u-3HPH)IE-RWb=%I=Jb8t}}q99uJr=V}H z821;W+sx_CdOsTLM`?;(P#`2$PE{gn192&3C_}@qXV6zAH*h*Qd#U_ujoPHFhC$q6hc2%*=i`_5Qfw)UP(jc(Wt+56xS>kmc#0 zr%YWTey?{*)U3rx%Un=`Ke*JX0*obWA((V&^A4l3$L@F5X?v249&3CK6%@<&@VXj@ zC8joh_gPuWqN?zN(aTl3Dg0aIZ`oth&bZtTI~*x_H6AtS=1b6GC?LqpiQ-|uA_7Mh z>^~9Br1%LnMZ+e$3u5W0vaYovbk}+TdJ)ZK7-1`;Q3Cq9$#7i+H(epfOVnUs3@CiH5Q;b01QP9=;kq}OTkCWPQfRz9)x9mX*5{$W-DL>n6z&O9>WOe^7T90XUW49; zPH_E(tQ&pkJU6c0Xc@$CbsPDR=W_9LaD41}8NvM=BT`$Ra{aYCzkLJY>#@b|bP&iX zg_p5yeWq`Ozv-EoCB_}gb?+HAG}1q?P*30tI2X=epKk^Igmsh(3(MyghAqAN_7fLGIaPaa|-$hKzLK%7l7BNg}M zIcSYRms-cym$cr+?Ts>=f2o5DyCJS=$Sg4AA5|dn>w0P-&M8BrxEIyWf|7SLALeVJ zw4zcP_583mrP= zKW_vc8B1GtXmeH;;XxJk-r<8_FG)O$C1kW*U#f-K5X;~oWZwHtv)uA zhQwrp#afVU4+Pe-x^ippzta(+OZA&(Cphud+{|fx-eLD~JxR;5e2y-#D@@NlA$=Hq zNDdM$&}V?&On7CPk2p3q9Xmf-2I=$fQENtQu*}^1|BCe;Qz)-pqe`|v+w7v}7GZ3a zk`lY~f%DD3a{=PNE8(^sJcvk~#ib05rQ^R}_FaN{wY9aeu(P+ltaLqX@gS)M&$1s} z4uu%_;L*3%W*z8jdSAU*O}iM1#{Ax_7=s7Snh9=|tPt=4Kq%-Ylf0fJ^o0DXl-rnD zOL$e!*Jo^q&9jTmT1Wj8BIU(ElmG0^S61D}ZozqemkqU|)r<4$+>z&6^mHl2NkT=j zgAEUZXesNq2WQtQ&?+8Vd)Lz!S2~l4lkVfn@pyS*lA`_4YnSR3rT`$D8ul;=a_f-Iod8a_?HcXt&= z1SMS`BuSkLBfPfqIJM4Lv`1(!=$WtUK5NUa&F>dg1mp19^2bIU<_K$UZMH@m%M5=^ zfJ~kbuzI-H!#pWij$ZNdz33pE8T$OrrmOv>9h$$?fMRDN`<=_mWZ>bwKtUiTA8vj+ zD2xIv_-l{n$Rhtf_!`pb_G-r{Q~Jfj1Lw^*w-=uovj0(6q1<*N&+V~n^E+K@dXR77 z@G{$j{KvVicg3f`FTG)rU+@)>sm26Zmq=g`yMx^rFABobY&@2q5!l?s13pCNJa%;r z`LsNP?aGZhurYSRiZ>sTFE`VTc=teir@P;+NoPnnBzv8#Z}s*8+teXQV7Nk7@mb53 zaB^>NY3-fGP~z2lBA-ow8M|DU^682y9o?Gy^2j0S-AomSkfDagH$C}x`Kh2#XsQ~t zp$0O&iiY~qsX`aWe9qnXMm2oavUOUX$neh0&->Hm7xq6_SKix_@VUp$!Ljr09d-ru zwX(jlj{wBvarjr`4&%F!cOF!UxW#+T6RlxxXEB8?(H^+Ym9$l&;{gR$^T6*qYwv>% z2o;VHO~J>G`_N@d^m7P8Q?u~f5bidxDQ~dj*aY{uVagf14+s$4Z|7A?-whN$6Mkd# zGNtjk8a zmC^d>R%RPsTse51llb%}W<>EMfjIfZ-cA#e=;0z{{q7r$@)(1GBbAS{K=p1hNzAKY zJzAu+-}~JBy{*Sh6j;*Z%vWy~(h&AI>+UJlgB_eyD%m9x=dl_pIn0IM&mokBD%{IO zite4^5e(8&E!VfcD%w#D7$-WGdrt4m{8lw1gTN|0>t@sXbMukY0);bGohO%;1Xbn2 zSi3$c&DLgTJQsfrt*t|y9WHz}uzPLak64+Vm+Jy@g)`DeYw5%;Wkk^Pa6n}dU6jjq zzA5FXa=i8>2E1D2x~4$Elf1aC8x!M%YNXE>grSH$`tJCgoj9T7$dd14-w(n#a3xwk z8Fuwtz_qgXiGCpc|(_f-A*>&?0C zRAYQryk;D3F8IZ%F_L*dbo&ijG4d=y42?4*4}0`zd-!kz<5LHjR#P1wIHDKVrj(4X zmh{2Qk=5YmhK1Spkw$@_F7IibJm(q@rVs5>PO}$;{8Mw4b%NQ@nc( zc56pjR#qs5c+_uBR$n#uHLm5Ny|-OH35HNU{A6Q2SYc6-jVA{xcO?b7Ndj>LabyS?fmQnCkKlV?(1)+Y`N_B{=vJ!7yXBguPpSKz{{!yTM5-u$aRrQ9$6CG`6$MCwIFtT5G5`U1p@`KTb1Rw@E+ywsCTlhh%6KhC_0=40H z5)i)qJYlMwDZaALu*09wc#DaGI1h*?qWzRJQ$tBX^5pf=#=b*NeM25QqA7@-OGjAw z)9iVyYuuJlzcF>*p>74SS<<_Id1L919&=nQ%6qEunO$+B$mf)o!Gva?kFAxmL!LZ& zqQ`4iV74<+?z)@G-g!aSUv&1s&vzXP=?D%K{F<9>WYaG>IAnirm*cb>S@8Z;mpeX1 z55;Kx0kQUrE-EtVQ*I=V?dQ-j-Pv_$UUhA+y*(7IhpG8oTjmC} z{Z6Mox_jPyES(4`-a8^;`L{zBX9b=i!iR_Qk|(8OtpVrQa}mg5P#AIY`8@SnF(sT* zZE~VQm>r5T$KB@RK`fs?E`qs~;IdTMZjGp}M`nUEUwkZ{p52CV52bf+AdVNJsHNYY ztaQ7cY$8w4sC)a?GQzJ-9IZG3nv>K4IBzMi{}38#+g~fY6M|O6{TFHG-|ku*rdyPd z?mEAqos_Zn36LZ27F&;ej!4@aj%fvbWjT2ZI3SxFlTVHLP-+#{hivJ^8@=qTrqj6s zwky~Uk~g|%XdCad+}`L7jJ@*tIg$o7O?32s1ts9=%%>8x06E?#I5#x}1)d#bW1>u9 z?Hb;y)YcU+D)x&}eSPLB|1Gb!)BrcHEExAhFzy6+k@t>P{Bx~!r`??{-&U9k9kP1; zC$q{OSJMqLM@>rf-7SYrl^iu#n;!>as#!J1+Bv&Wc{jt(uTWeR)(mj3u(s#&l>j-EcAmv=Y@(J_gaOYA&0l@M?o2AV^%Uz>xK z;w~F8=eBog6PO+Uc{H#bI`FlJ(&m0>=~Jz7azwY#dVsjM+k^G72P*U;mZ6(APp~yf zd=j8Z&5M{JYY!bh7$@}8(8UavpO4HTteS_fYE?50 zRHG~ogV5N$kDxIGJR>%4IALRKn0W@hKGx8mEUp{3oE9d|q!FX5M=GQ9q#3Fh9>-XASRK~yhri2B z>*sfxZ#ASuOkPP|H1-rUPc$!z^-C34uVTT%aj!E5V$7w|O{$tkI=8Yl4~^q+&7W}? z)GCH@Ld0j^nh$kseN^^KgaGwyq#L*rdrL>NC`S(eGE`@V_nA|xVH(Jf{23HRiLBX? zsacehL$XOpIiIGh#61O}rJ(R|Ql+P2&0^;{R5%JZqK}>DV@5{e_QK9atZVZY&?iGZ z;wP|4$sD7-l$4RZY0s_L_>+;=);OcnLjwT&ivz_%n&V7nDkw6mX>QsU>AjnlmO&6j zRqU7hrip#1DvM@XEpv0c*jS?d_;`!TnzEAd6(&LIr|@p<4<)XrKo?m@?48)6tPoLb ztWQ4%Ytl|Rl4J$0(l1X=t(H`F62;KpKeV(tAv%V0vm7-Ljl;KJcG-U!EiAH6SQ_~J zGaM8c4q4p=tW!srx-qV`*KRH`5RtRzrFCZDaY7dwx->=};hJb~g&Tlx%^!q$jJVf| zpuDB+s>TwwYWWt2Nq$X=rw-_3J&0Hz;v)2&uwxuwzUqMzK`gNT&f6Xt>|VNzFty;o za`yTe0M7aQHJYE0nQ3<}jF9 z(9tEO>$`C0tS1>Qx4PeW!pk`fdG~JS7vngTbbUq^#yaWq>2Vf~fx-)%&HA%5){(qj z-PVP*pwBjlKS9V(yCX!pC)vfm>#?FQ{hT&CXnNEn)V8ankKcL}+U%LfNX04sMZ)bC zOwjd^k`KHoaBxu2Q_xA2$yQ-`W+>6Jd%u+rn|?G>Ml`IA?U?R3f(n;rn+smF&CUIO z6oaLj6YW8N>Es2pD*6T@iub`*9#&GwinJ7ipA+rhy@B*Q4&5vJQ+PpZ!)s79G9Yu} zvW%wYHIR~W!S~oDRI_*NnkZ?11x@sFApqjDbMzj_ja9Bb{+XUI9CLcC<|8o7j~jl* z$FON!;PC#{xt&eq$=a$NZxa|-*$V(zF@PHUl7B?CRQ2;q!fOH(pJNNiI83@gRl@mb zyQwC@!2i1~7^ZQgC&1Q%f&$@9XOJ>`xegQ;f3IFIIbmG0`-I|{BtH<1s$#{ayNryW z2RBcT;~EWh5zZBBb9}%WR7`q6zTdZrnWKS!s1t_r^X|(&#K+%%6p1={KjVjQ-jchN z%?HZ>H3)7SoP5O%akW3%O$(E$7xmwGYM zXBCWdWqd~lyn9s~ffRPh?U;0sO80LzPw0YK zQ+-6piiZb8V2Ii1;D_Ubv7&Or^180_gKFHgIkUS9{uZi?9u9|tWZ5UMZDD7+Jp8&Z z4lqX&zqcZVA4I98-tMF@=S)U44jdg9Iw?>bQM!`INKgf%A0SjVmnfMt-fY$8981M3 z_GYL#uw@LK7{`NZRT5w4=Q=e`6(z3O1-rJvo*BQfjs+y~m4>s(yh&g-v^N(IM|3t9 z_eXwCb}t~UE8-fBlbl3LV1hN+&C1gW$ORk88qCzuHsj)0P>a!8q_7bF*15TPrwP$T zK=~+w3RlqBQ!S|<8T%X}^S=Ye*HMnx@kxl9T@mD7HN{dU7sZmgi8a~T(807%O?!_d z==8+MWUw^HaRnLI4qU<_ihF9tcy_HP!79($L>_IP+YsOS{$ZgE1NUyH5($yMo z@JXypFA4tsA2JP2Dzi2}ucDQjy8jZcE1op7_C{@Yo9igzO#%O5?2@9g1fh)6ZpWxScviT5HNX77Q~QUk#1B`MX;#r?xT?*`~=)AVV%tKX0g zoKrwWLdiU+P!A#e8utBuT(>G$f=FmcNVZn(Uz2nNQG!Q06M90)0c^X4e!;6i0qbGz zAU;05e3?sD@b{K`qCyk%3{CbqP!lZXL`g;l02rIF9^ zJ`ljgoIO33fq*KLMD~9HJ+)($K69eelvZ~M!NU)8r2qmP4-c;^UaV+rj|G@z+{g-2 z7-EUBU97q63n!smz6=31h?h3!Zk3#&3$(^1ofPl9dw{|ch_E!{osCA3) z2lYi><^Kmn`JcSCxWE{QCcn`eHGfga6&!(kF*39h=9E#x^wq1c|2=X&z5Q2GLmeAL zqf^Lw{t=b@cu)|K!{}UqM9iA1k|)Zn3#HLvEmq7F&;U01b#itTFXqU5!f z(rU5kJqmK?Dp8am02jv@AFj{N^*9rj$C26~)1k{c(yl>E=U$|-UIa(y6J7TrKQ=Tx zB;McZ1$<~6#K@rV(eFjZRk&JD-HRL%{$j5yF4^10LdJih7$1J`hArw5bBMH6e@dj} z;iDrtrE>7$oo^HsYD0t0x8;d%n+@lBlBt)DN~2nNst&YIK)DE3!N z0Ua^9E%#-&^^Ydf7Uqw4=HDN4EtvvfdVd@z01e#{eJpLYhpyetixb7#R0?Ee^tX&% z_Yf*Wi~~ID_>magJ~l{%9b!a?lzbo5s#vvI#m7;CpJMMFXkULb0M7LwoEo45SfhV( z3~{*8*4a5%@tuZwZt&+Wy)!c@c*iV)7<+gtul) zQf?Du=rsF)W7Vz0Iu6_$QzJtz$AUVuAm z9j&dHXWxf*Z;WK}LRA)wcRb$%w6h;#D<63F<^u1gC%UjJZ2fyH)RUL~zF;)fg%vLO zifcDN+{$i-m5X8MMHp%0Ldi+8QOv3CogE$dV>Z`mX$8!?ZV>0`JyE)Uy(j*ukB>AY zLEJUf$=8M#hA?iIfh&4++`ujMBL8fvmc*dCe@WfGsdMumNc3;Iz$4!n0}gMGtaC4- z(ozabCqcED#YOqGLNCd2&f;DAPr21=UG#Rg69PN!u^s8<@H}@!m{Cp2B=RcNAKOf0 zE>tvS8s_yvr>)A^`(xq4&Q5fJ>%dvkr1==hzcDfsdrn&yP-eWfc!(4kg>{?YsBU9K zw?^xajwaKfW+5RVj&L{|JHNVGQgq^H@F6OP-F#_hky$JKQ*Yyz^3Hx!eC(69Qa*ku zQU4K;vL`7i^~9a+-GQZqiZBy`aUShp^wLR`I+6H4 zG~VtAF)lKu{6E2&a5gc~Sp!y&cngsLwstJcfs)GTF+s{mMe0ma6c(XPxJiKpNBa5efO9(P1 zh`@T?1vOIOiiI|2ynD5)sk->Spj+nvsHr<>8@t~4<-*EeT+{j{*6TaIL&@kTgaQ{9 zrEEj1ro1=8;470$2m$Etad#WI6W~&@f^S65C|UpFiu_67Vwx&I`vmy3M)5t~x@1}Z z7pGwtR|HWW_+?7Zze2ie|38Ivq2~`l5(d`p;HPp-CC1kO0!t0@aQbcj$A)Vo=noA4 ztw`X7l%D_cTRGyRKesO#7TQ$IR4jMD_-*GR01fj^z--6UcVzHl@Q6M298B0 z^aTZkkgb{{ql7eb5GVc}YbJ`<-C}7=&Bi9@k_kwx>{u7$!_R;F+Zh6iu&>^@5in%+ z6ZA)iOnUd~Nuzh}L%{h*ULH^2Zp(cUM0_ZVYp4PrtyiyZT`j#VC1Tm z0H1$F`K|m4^kg8c+Ck9URIRYxEHytr9Pj*W4}&?m=X+tOiceNEyK!Ynf)GUxoq>s^ zg*h4M!+YpDZ=8r|9PHSEm|$wKm|)7Wt@BLkI~w7*B!)k!LRiYz>u+e3cx3H^@^pHS zwa;5HO^#c`=$~i5I0C;vMd5IHqm8*Wo}$^%_z_%qyXba*T-7&52F?Q%9(H^;|ABB+ zA(vHU8QPoC7Y5r~vO0PurXmYeSfnv(t-YLKrOuJ#SVi(eL-Sh zL{d`k`dE?5&@=hJ85ASN2F&;FTc7*=I~M@4NB&wD=>8v`7rptllJ58tzuw0h4BN5%ym9#r!#vLJH*r_3FxNA2z&kC{0w z1Qhe|+D=poS~@Y9nakWWAr`1Nb4$P-Abv!gmN;T@WAQDq_JR*~YVKo^s3-GJoro8q zvyW2K{sHG6MT*yE4wconrm9Uz&}io{pGB<~FFpZOly#%w;E`eizE3oetS0-^z0d#H z-6O7)3(jBz7V}}L_q&w}`sz}%k8`st?STiExK+n2t$0zx&wSruyLE0@gu?)y{>tis z9>Xq479&qER`8Tdy;c}F;;YQ)=Hec~dgrrWJSZ-Vvntn9k-j9&rzI#v(FlyuE0GdD zGDnihK?#Aq-b_xGsp)ZWZeoF8={>W?2}~S5Kp}xKeDhJJ)bi z6rh^MyX1IJt&JGwg@Gejj z0#xJ~bRH8#%3h)a`zGvK?6>9cm4G(IpMw0y-TX#+==b2TUmFod@GO&F11bm1M1L*y z>ocw;*2w`a7y-^+0%?VsAE-A-+8XLCs9FM1@36IEIe-KZrXR*`@9YoWo-^P(-8m^z z;BeJF8~VRvtU3~3;-6Zt1BuSY)8n@TXTxe$a8oH$#^kMXbW?A&O? zAUw*yO}wJmTb@ZlmGAx&n!ez&AgLSQw7-fg*@zjrPwKZFA}7&CbNz+W@dsSYLd-?c z9Y{;;$NyUu_&*6j|0BWie}hW3xVCt{F~y18$h-76N%CQ2-@tbr|MU&Xp-X%6kJ7)mY#p+O$ z4jo{({=uMD|`hIw~K!Hr?;#Lq4fRQ>m&j)@Ts20zsgZ#sg4&}u;dQ*YlSMP6> zQ5ZU&vINA;djJ;rW1a95NqQ^`_%oUcMU`iQSFb+;a%Qs5FVGF~nn@A`e_Xf6chEi} zJT?{&^r-M?iHu0$g`KvUc6e^t{|4mmPMHu6jex!#aE-+7$SL!n7LVdizi|MC`X^jE z9##`9@^d!+36?TsGn3S}=b{&%T#RZE#hLp;RFelZ)1VS1UM!1!-XY-U+erZ z^h2OELFjn@^q1yJWT<9DlydnCwmX>9#j6rWR?JD{Z5Q$R7vlm2Y0J0o-V~elfWc(O zMI9Dd;_oM8Fc1uBP;C$yaa0m?NNxPmgEz@Z)cFG@I9-Fn3BjzBb6k-a`9$m${xlzH zo}|i53=(&neB$?&d|w`N$${kUfcc}F_$C%qta3p*Hrz0XTKoeI*o@mse<0|900H9A z;IhA+@)5z6&9Q+MkF!&gUNE~1)v9Uabr+HE<$tPxnooDtVkOww)z94RKi?p%gPHO@ zGr;qg!$8=pz36)nH&&*&npjmhnyDaVF?>~%#vZoEXlg{rp}qILCXXQ^Y%ALh1MCu3 zvk1kD=K#)~>Nt4$(uEt<@@H*JZM;45rnuKP;PWo*E_4>#qnVSZr=IalAq#LzNe9-F zB|EEiMmDOdi{Lzfx!%OPoDa%}UCS#ROO)+{&L7lVEm73C$nv@nNH@Nl#KzKJr=wX_ zvB@4%@~Lf}H7(I+>c8mT(ck~d<7hLNugrGsv-jQw>Gu(v-DrGLa5u(y0$Bw4rmv@H z^^z4Z2CvV0sT>DXT-N*Efo`}F-n00T#5w){M_X4O59Rx{iO7;fl59zlJ^L0TDajgH zvJFWHDf>DjTan1VgdqvZQkJpA*cFAWF&NU=8T-r_GxOfQ-{0^3ynnntA3Vd%Joj_v zzRx-Ld9HI^r@AQ=iq4cTC%L1eVLm~f&zjk9a zCS;}uKS4Ud$~yFR_WASceCqz4Zr5u>0(p^RAhOUW&_b5!pBawtN8pab)@_+VjThDBqc* z%Ay>3^2#TGBqh_ZK2{!yVdW%;)E4*@8wDRA2J*0ja~-ULO7Uo@j%oY;*z5}IabfBk3^zA55;nuC8q34?*r)k#bSKUCURjPj> zNvt8>m|*W-n`CbQke9f`;$oOZji%LC ziAl!RsWn8yNY}tJ-rL(}f;bx)9_&dkF8yO5OI|l!4T^FLnrSco!nRmCgUZCtgl|^>(E&OV`vFDg^l1%6N^1o46 zDfg#Brwle@Tc7y0?l6tc;W|m+H#4jvxgT)gDS7e@6e@d8J{*dG%G>$$%AMJ1lOWuN8p64JJ>1G1>asc(74exBK7Rz|x!LsFULV@02KL!_zWFNMs&% z`jR)+l9Mme%%B^;D-dIsdt>0`W5tOHmI#`uirg2J>629J=_THa>*TRxdwX<(UTEts z$bQ=vvle4z+~T_3%8!gkg!dPF!?_TNQ$?|w6&K^!aZ+@qq1oMc-0KZIz7q&f7 zvGZ>07BS^(a^QKjxUYE>F*8w)vuFQ|2%bILo?6Ozlvs>+$aGXiyJrKJDh`T_7sbWn z3P-HfyMJIh4j*9y=y_laEK}3J9s&C03jeh>dlkLHj ze9h5wSMyH=am#pXN|gPAM;(RxvI8`p+40+3cY^ea(UVuyn6Lq(`R(Nz24WG5QT@U% zaccbwTu-p7CAF~H%14}XLS|8JV~(WiyF?G94~}jadx^k1qo`H52{)@xs%s(s=TCD| zh8<8f;Zg1!r0U9eAMT^GQVs9?0le&B$7rsH0a{|#pkt~WIn`cpL-fSTOzmBl=SQP? zi;KmE2K`7y>FEXHPc8<~ zRf>WwJb@4h^fBgU5wcDUTU%R~L`1fmo{!JZ$VY+kk}vk+o}RoS0w|8te7@Yxs_Pk8 zJ$BTpM6+PbUq&N&f1FV8T)WRZ5lwUSxy! z24qb%fE#5WhZ*pjZmOQeX7Ji#K#fh9Y^+IqFLz;EdeX{!0tJTv8aiO!U*$H+Kwhqr zREq@!+w-fd`VSvoYN(kr`7_?x)nzw~1)T~T*U~%c=mwV^p?N`9qO?#64s$u@PLWQKg23mid`aHz1G(eA1+*m$M*!j;K_U*6meG- zG5%`2*{1>DGJx02!Kq?=`ZWMVGtG9ckH^cTr1!w4KPp2bP3kx!Bi-gwa#3zx8FB~R zCzq_26cKUk{Q2{1+BDl80_V=1(6YDBtEIn!dINY9;|+}V19j?WSzrzZBF7tzRm&5! zlP`%BCuo;jsQ-0wcD`$A*;5=1;mEJrG^GzTedp&>7 z+u8YYc&)+}s{dYK8+WLs?=QMUpIiJtf2*8KG1I+|b^v^YYXrcFI;NEQy|nOlB5x;; zp8~hWX1(QM#SpGUy+*w!q!*9fL&nT5KpSo_hn2t7EUTlv3NxTr$MfM`iN8+io>N^3 z?v)Tfm&^VW?`(ceUL&f$8+gL1xEc+Xnzzg>_EzGGfNKCE!XdmC%Ht#s`nDF5u?HkYD5X< zv9aU*nbj_3f<#`I9}_+ZVVFyH(BchKYKs(`)8P6I_Jjw6Qsv}{!)|>6h(rXYiMW$z zD|K1S*rvmz&hsj`Uu8i7^<%Y~wtJQq+bLpiUiS&8dadJ_TC|IYg$BsYlB8R1V<%CL z!v}kOnmm7Z^XnaaikZCD#&vr42E2F6Y|H3^pZ=i+5^>IK{3b40vt%9~*MoiR@}CC^ zdMPRdqB;%zP2EDh?9O>q)<&)T$C;Y@!8r6qai_SXMS1G{&wj-yPuYH0EbDr||G}VoK$?S!H>({bjZ$Q(H8otK2fXXR{Q;4Urrct~^F1VV%UtPAp9wPp-Ek-^ z;iAa*($j^U?`Ru+wPsZ~Lp|PKPR08^liiwsaxA}gjy?ua_t~+70Wli!cM|i`u5C)w z=WJ|j>=>2oz2avJBVwmuJ(8NlKo)=<1R6{>RQS>lc6)1YUcAQV=lLdFPK9p?6_07M zw`3ne!(QvVt+B!W)STJ)N*ohQ;4?Dbga=V;ZJ#-JOH`=k>^GA7gOcS$(iY}J)H?Ik zC7$;h&Vugb$=YJAtm*grQY%${W zRh5lacNd!4z3fvvpn^WR2oslid){W|tXqu9}b~!7Xuda~xCOPsNfgy}QzQ z{!&-TBss6_1@H2nBw&ic!Og7cIv`HLhQb=O?yEp=Z<2d()w&%^X_bz_4h)u1rDJ;& zNqcogURfx>uSB!5vO@5{Y2K;~eXSXyU|-ypM6Rn9B;un3$srM5mUPzF^d-!1pQrdE zo_`*Vkfx?UxTj1glU95A`45KY$LHQRdO;pc$0VKsA__H1*ZLgQ zbrti8mK$$ArYN1JqAUb>loO(UTlI>I(_F2o+s+s={nIn8vdw*#)e&6v-G>r2I;jYHG#6V(J|GXB^ffa9*KCy{^fY#k<=p(19m1rt>ar z_o^)Xz9Y7HDv$*{-r7r6f^FLnQw22)c3!-#-(8S|9e6kO)n0HpjKY*ZwDLW}SoTr& z6Rf=#<-RW&b5nP#=lFp4j^Kt6oWi<5kw-+DkEX)Y^%o3>2?u5T_Tv!%fEODVORLt6 za8`}GvFfX4gk%U-6tnbNlnL}MQZV3|m4#UOFv-Z+{NW^d?ua$)diDt_xW3s#T9h?k zsDOLTqDRBMXU4;7V<@h zsCJ~Vv!vYE=EAa^)j>!c^6NKuG~4wYXB4MswyiA6jKVE=m~#D;^t+`oxfS$fV_7>tc7+lURu&DjAdgPapjr|Gk~K7A@?cH1?F3)NI?bi$8Fs6tbAV@nyZ|B06Db7cWs;u+ep74pOZZ6<2C~DVCRm<4Rdc>)>QB{^xRh z6%i%!i2XV_@?4mnT-w1O>G1$KxzsPLL?q%y%shY2;Ehv|OU-YpdnO*&?myeGdhE@i*UAIvl+<%?# z&1(OI{X<~6o*MxXm}QGjwy^aM?weTu|QHskz#EgnYLVO*kS;9CGj036WQln4Vs zLCh0ON`{{)M?DoYajuncT?&yGZ{s7Ispyr7%26n}VDtBAa&j+@Ln(rJBSJWkE z=p9oD+P*YU8EWM1%x4m?1w{pHSXg$``Uz88bTcG#1Jb?J*}koxPs*W<2;-aFp9@f6 zYqMM_Kjb`!j7PQ0sn`_{-|uPjRpPKO9xfPt%meS@T9Z~=@;jf8Ke}$*5bg6Wrs@6g zE~Zg|S`YQjc}xF3aGBX}-^RY&T-(8Xc_>Ps&&E_x(J--{__AQ_n;oN;sW*pvUI=Tr zGA7haHe}!9d+uJv(B{x98L=7(gCTv?+k7jaw|2zBcRc)S1$jM#W9??sA34%5vR}xr z=Bw9fIj#2Z)zxf`LiBbvnxUVM4zkMAq))Z)DpJXpsmRfRL(&xJtCo^_eRvq!-qBHx z{;N`Bd#w631TBE{v5aj}Y4Z|AdnJAU!p|gl?wqSKM@vNoTdt8Vm}cW1n<#Pwra2V( zNXM?)L?SJ3C2temaAlo2MQ7UniNGPhsBzx=hK8*5wpX-+WTOeJ;u}=7KVTtFl*7#Q zL(@`(ulIbf`ddk@tE*Gve{msWid)KlZL3-A z-AreOc1io}X_UvRL9(EY-uk5IZM`;6iksh=?=0MAbq_=?%`D230%RH!pH)-z zQ(DS(2kY-sv2SmVlSW{0D7+2FA37Hv)vsrMZ-j%Fh3nSI&)lP&JV0==DzCfSLYs?0 z+ez4SU+IEaQSg+0v5ASUb#8GGYg1IL4OA4eBpY8|L#NV)|8mtSH$BZBegmdO16~k+ zOW5HV^ByEEunSp>v1^f8;|^`ZJ!yHWrM>vx+sB71CQdm0#qW{$?;{?5(jPv|kBp9^ zrP}_y{~Pu;+xqG~J|X4tYOz`L&g!bMgTnc{;%RKeJ4GCYzix+-nZS;#Eg(sT@6Dj9 z1o86VYT~U%(@9;(sf1di$1< zQzEoiZghO=3EmNV+Qxn8^V&aR-gC!bx*;qX7)91juj(6o(Oqh zz&&5i=V8Y3E*l=nDV&*_VU6#3_}q{NMn(?(Qxo+28iuROB8j{xdg$hWIpxy?QdZLO z=40h2)G3-5WO|$7OG~K>~I)J()exab z5#v?a78DKzIkKj-YB}vhdJAjMWA)HC70r|Imqzj`LuIDfZL$Y`C462YzDN3Olcnc635gqRgd{>6IGp zsV{3D%S)e~-WL`5WpeVZiC*$n5GA~6iwu%Ole4aZsdgOYLU?!b_BVw0O87>LPadEQ zbIs+Pu>fTOf1e0|r*56gnO#Uf8y9y+<9w3Te;gaz(F+d51p02T=m2pSwI56}khSN} zpVNR&G;pG?Kz{~gWcFcfUy(a>g|%lqFblE}>_@%Kex*Ah?YNNT^)r84)@31n2a=V9 z-XQqGTiuP_OvsZx-pq}b?@s@ibsd@*bV|h5m2#?Bo4)5}qEg|R45{Wk|P>~Ud%0WMj>tWJl3aPQ@aCfxQr0Vau zz)qzt`D~M5L*M_k8&RtM%}ZJSI-p+>aDbk8mRBMH3kqtO4t$xnpnk9}0mD8&f6J{n zs8g^g_ZB#=B%EwwIp@1>n@EVP$kp%Ih+soc|Dr5f$_Ha@1h#Z5Ltl{xD)-|~QJSfX z5o9n+OO4Rse=G9u%F1f>5UM40pSk85^(>ERRf=?RgaY@ofqliE1D0J4gD*aJ=aRF5 zc+)F3GrRk-M#aLQbrGQN)u(_^1rbacAZuDu@#%e0Eu=T|UK0=hbkgiV3WvN%NSE=C z%r!3fx4nR%E-=%Dc zAc@{5`fVte6E)lM`ml8+DBJa193IuQ&aHSs2;N)tw16u@Ks@J`%jt%9?@6ncl61irV2yhXcE zR3IV*z{hiQb7P)6ivvi~*)%@*6ZllW-DP{xt5Q-w=lW{E4t=b`4lVqDU;5FEF*T3l zMMKf?R%wP@;AFM5!WG%pUHKv!ilTQ@RVq0|chD~`JpAx!V<8g04u*$kgx)S`!UBKr zLJ)R^7I;`WN}R;ngCBKt5V~W>)UF+F*R<9xKC{f-qLmmHJj|yi%#pfGoS`g;Z&s$JRY!4y@94)GL8n{Wun>Rv z{+_ApJmV=#I(}kX$EeOYdNake;KPU$Y_A*3+C)8-L!4t#hY^c$DcQ~G?Q79vVP^kE zmi>LvBDuA6gjw@5)ob|po_*5lzn{+{u}_i^E^!RL8xn9R?e zc>TI&0v-OI^`fNYx!OC?6CNMhOD^7X%zyW8tT2kHCAt#BxF!4`mYxOG-#YtiS>ehg zVXlMm=`M)_WIrG_vh%!xK?}VI>K8PH({3|M9k%Co+ABs6PJ8mWy9V=dp^Vltnsq*fLzRY7sY$l|M3}z*d>EG=7<^{NMbH4F|W%99ju&4Zvfd`$w@XM=c+~ z5TXnIyu=DADVjmy#|nSFG%f7}Luxz-ZYlzYt_r5$&ncx@V2rF>y5D~O+;hEk&|OEwrBbMo@z@T=3c< w2&9Y5&`L-zg{-TF#eqx=7wvGA$gEOnwcNaU2W+%ZG~i3`rjbsCwnN1K0625T_5c6? From ebb5f37b463e0892ff5df9be83c593390ec8cb4b Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:48:21 +0100 Subject: [PATCH 14/36] =?UTF-8?q?=D0=9C=D0=B5=D1=85=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D1=82=20=D0=BE=D1=82=20=D0=BE=D1=81=D0=BA?= =?UTF-8?q?=D0=BE=D0=BB=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gamemodes/clockwork/clockwork_items.dm | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/code/game/gamemodes/clockwork/clockwork_items.dm b/code/game/gamemodes/clockwork/clockwork_items.dm index 0ed3bf9c8d96..3ea21224f8dd 100644 --- a/code/game/gamemodes/clockwork/clockwork_items.dm +++ b/code/game/gamemodes/clockwork/clockwork_items.dm @@ -1665,20 +1665,27 @@ /obj/item/clockwork/shard/afterattack(atom/target, mob/user, proximity, params) . = ..() - if(!ishuman(target) || !isclocker(user)) - return if(!proximity) return - var/mob/living/carbon/human/human = target - if(human.stat == DEAD && isclocker(human)) // dead clocker - user.temporarily_remove_item_from_inventory(src) - qdel(src) - if(!human.client) - give_ghost(human) - else - human.revive() - human.set_species(/datum/species/golem/clockwork) - to_chat(human, span_clocklarge("\"You are back once again.\"")) + if(ishuman(target) && isclocker(target) && target.stat == DEAD) + revive(target, user) + if(ismecha(target, user)) // mech + convert_mecha(target, user) + +/obj/item/clockwork/shard/proc/convert_mecha(obj/mecha/target, mob/user) + user.temporarily_remove_item_from_inventory(src) + qdel(src) + target.ratvar_act(convert_mecha = TRUE) + +/obj/item/clockwork/shard/proc/revive(mob/living/carbon/human/target, mob/user) + user.temporarily_remove_item_from_inventory(src) + qdel(src) + if(!target.client) + give_ghost(target) + else + target.revive() + target.set_species(/datum/species/golem/clockwork) + to_chat(target, span_clocklarge("\"You are back once again.\"")) /obj/item/clockwork/shard/pickup(mob/living/user) . = ..() From f9cdb60a509be05cc442f78c7f2b934349bc52a0 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:53:52 +0100 Subject: [PATCH 15/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=815?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/modules/projectiles/projectile/beams.dm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index efd66c05ae73..c973b6d766b5 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -646,13 +646,19 @@ ACCUSATIVE = "лазер часовой энергии", INSTRUMENTAL = "лазером часовой энергии", PREPOSITIONAL = "лазере часовой энергии", + +/obj/projectile/beam/laser/light/rat/prehit(atom/target) + if(isclocker(target)) + damage = 0 + return ..() + ) -/obj/projectile/beam/brasslaser +obj/projectile/beam/laser/light/rat/mecha name = "brass laser beam" damage = 20 -/obj/projectile/beam/brasslaser/get_ru_names() +obj/projectile/beam/laser/light/rat/mecha/get_ru_names() return list( NOMINATIVE = "латунный импульс", GENITIVE = "латунного импульса", @@ -661,9 +667,4 @@ INSTRUMENTAL = "латунным импульсом", PREPOSITIONAL = "латунном импульсе", -/obj/projectile/beam/laser/light/rat/prehit(atom/target) - if(isclocker(target)) - damage = 0 - return ..() - ) From 6b9ad91d9d486949e52c72cb8eeb327bf420bd36 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:54:48 +0100 Subject: [PATCH 16/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=816?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/weapons/weapons.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 3487a1b7209e..c3ef6d9bf479 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -206,7 +206,7 @@ name = "\"Ray of Faith\" Laser" icon_state = "mecha_brassdart" energy_drain = 20 - projectile = /obj/projectile/beam/brasslaser + projectile = obj/projectile/beam/laser/light/rat/mecha fire_sound = 'sound/weapons/gunshots/1laser4.ogg' harmful = TRUE From 0da328d80f71d8ebb3676a4ae032e6fdfd015698 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:12:11 +0100 Subject: [PATCH 17/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=816?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/gamemodes/clockwork/clockwork_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/clockwork/clockwork_items.dm b/code/game/gamemodes/clockwork/clockwork_items.dm index 3ea21224f8dd..b4624694c7bc 100644 --- a/code/game/gamemodes/clockwork/clockwork_items.dm +++ b/code/game/gamemodes/clockwork/clockwork_items.dm @@ -1669,7 +1669,7 @@ return if(ishuman(target) && isclocker(target) && target.stat == DEAD) revive(target, user) - if(ismecha(target, user)) // mech + if(ismecha(target)) // mech convert_mecha(target, user) /obj/item/clockwork/shard/proc/convert_mecha(obj/mecha/target, mob/user) From d25569dd9b8bb7d897818d85577f77801ebba205 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:12:53 +0100 Subject: [PATCH 18/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=817?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/tools/other_tools.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 940423f27112..c92e5a2e0165 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -898,7 +898,7 @@ NOMINATIVE = "модуль \"Латунная колыбель\"", GENITIVE = "модуля \"Латунная колыбель\"", DATIVE = "модулю \"Латунная колыбель\"", - ACCUSATIVE = "модуль \"Латунная колыбель"", + ACCUSATIVE = "модуль \"Латунная колыбель\"", INSTRUMENTAL = "модулем \"Латунная колыбель\"", PREPOSITIONAL = "модуле \"Латунная колыбель\"", ) From 82199acae24fef3f800b827ccbdb78927bff01ce Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:21:33 +0100 Subject: [PATCH 19/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=817?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/modules/projectiles/projectile/beams.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index c973b6d766b5..7c3790daf725 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -665,6 +665,6 @@ obj/projectile/beam/laser/light/rat/mecha/get_ru_names() DATIVE = "латунному импульсу", ACCUSATIVE = "латунный импульс", INSTRUMENTAL = "латунным импульсом", - PREPOSITIONAL = "латунном импульсе", + PREPOSITIONAL = "латунном импульсе", ) From 789c2f643f951bd01350472bad2d7a724c8b327c Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:28:44 +0100 Subject: [PATCH 20/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=818?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/modules/projectiles/projectile/beams.dm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 7c3790daf725..d6ce857ef967 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -638,6 +638,11 @@ icon_state = "brasslaser" impact_effect_type = /obj/effect/temp_visual/impact_effect/orange_laser +/obj/projectile/beam/laser/light/rat/prehit(atom/target) + if(isclocker(target)) + damage = 0 + return ..() + /obj/projectile/beam/laser/light/rat/get_ru_names() return list( NOMINATIVE = "лазер часовой энергии", @@ -646,17 +651,12 @@ ACCUSATIVE = "лазер часовой энергии", INSTRUMENTAL = "лазером часовой энергии", PREPOSITIONAL = "лазере часовой энергии", - -/obj/projectile/beam/laser/light/rat/prehit(atom/target) - if(isclocker(target)) - damage = 0 - return ..() - ) obj/projectile/beam/laser/light/rat/mecha name = "brass laser beam" damage = 20 + armour_penetration = 10 obj/projectile/beam/laser/light/rat/mecha/get_ru_names() return list( @@ -666,5 +666,4 @@ obj/projectile/beam/laser/light/rat/mecha/get_ru_names() ACCUSATIVE = "латунный импульс", INSTRUMENTAL = "латунным импульсом", PREPOSITIONAL = "латунном импульсе", - ) From 848999f3ae3cfd70039bcb8e89ba924db6c0c8ad Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:29:53 +0100 Subject: [PATCH 21/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=819?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/modules/projectiles/projectile/energy.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 19e9d1c9550d..c05939d4e05f 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -570,6 +570,7 @@ ACCUSATIVE = "латунный электрод", INSTRUMENTAL = "латунным электродом", PREPOSITIONAL = "латунном электроде", + ) /obj/projectile/beam/laser/light/rat/prehit(atom/target) if(isclocker(target)) @@ -581,5 +582,4 @@ var/tasered_duration = 0 SECONDS return ..() - ) #undef ELECTRODE_BUCKLED_WEAKEN_MULTIPLIER From 557b0b91788dbf1c31484dce9a6d9de04d56f5f5 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:32:37 +0100 Subject: [PATCH 22/36] Update other_tools.dm --- code/game/mecha/equipment/tools/other_tools.dm | 8 -------- 1 file changed, 8 deletions(-) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index c92e5a2e0165..a0cbdaa486af 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -885,14 +885,6 @@ salvageable = FALSE alert_category = "mecha_cage" - var/mob/living/carbon/prisoner - var/mob/living/carbon/holding - ///for custom icons - var/datum/action/innate/mecha/select_module/button - ///wacky case - var/current_stage - var/obj/effect/supress/supress_effect - /obj/item/mecha_parts/mecha_equipment/cage/brass/get_ru_names() return list( NOMINATIVE = "модуль \"Латунная колыбель\"", From 6f719ba8b7ff774f6fc49e8229cea96f332bf32d Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:33:36 +0100 Subject: [PATCH 23/36] Update energy.dm --- code/modules/projectiles/projectile/energy.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index c05939d4e05f..48235da67611 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -560,7 +560,7 @@ stutter = 10 SECONDS jitter = 30 SECONDS range = 8 - var/tasered_duration = 8 SECONDS + var/tasered_duration = 10 SECONDS /obj/projectile/energy/electrode/brass/get_ru_names() return list( From bb1d2a39a23133d1c5eed45807bfcf756709fd96 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:35:26 +0100 Subject: [PATCH 24/36] Update weapons.dm --- code/game/mecha/equipment/weapons/weapons.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index c3ef6d9bf479..3893ee47eab5 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -206,7 +206,7 @@ name = "\"Ray of Faith\" Laser" icon_state = "mecha_brassdart" energy_drain = 20 - projectile = obj/projectile/beam/laser/light/rat/mecha + projectile = /obj/projectile/beam/laser/light/rat/mecha fire_sound = 'sound/weapons/gunshots/1laser4.ogg' harmful = TRUE From 279073d37a8eaa8bba5ccdf5914d1a239428cd56 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:48:12 +0100 Subject: [PATCH 25/36] Update clockwork_items.dm --- code/game/gamemodes/clockwork/clockwork_items.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/clockwork/clockwork_items.dm b/code/game/gamemodes/clockwork/clockwork_items.dm index b4624694c7bc..e3b7582d9294 100644 --- a/code/game/gamemodes/clockwork/clockwork_items.dm +++ b/code/game/gamemodes/clockwork/clockwork_items.dm @@ -1667,7 +1667,7 @@ . = ..() if(!proximity) return - if(ishuman(target) && isclocker(target) && target.stat == DEAD) + if(ishuman(target) && isclocker(target)) revive(target, user) if(ismecha(target)) // mech convert_mecha(target, user) @@ -1678,6 +1678,8 @@ target.ratvar_act(convert_mecha = TRUE) /obj/item/clockwork/shard/proc/revive(mob/living/carbon/human/target, mob/user) + if(target.stat != DEAD) + return user.temporarily_remove_item_from_inventory(src) qdel(src) if(!target.client) From f529d7ed241dd42e556936ed1ae30cb3042ae8e5 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:48:54 +0100 Subject: [PATCH 26/36] Update energy.dm --- code/modules/projectiles/projectile/energy.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 48235da67611..af6dbc804629 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -560,7 +560,6 @@ stutter = 10 SECONDS jitter = 30 SECONDS range = 8 - var/tasered_duration = 10 SECONDS /obj/projectile/energy/electrode/brass/get_ru_names() return list( From 6d57c3eb9cf4c9cf9c3ca4f1a7134d167a4625b4 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Mon, 2 Feb 2026 00:29:34 +0100 Subject: [PATCH 27/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=83=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/tools/work_tools.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index a0edcb7adc2d..1c9688d296e7 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -111,7 +111,7 @@ start_cooldown() return TRUE -/obj/item/mecha_parts/mecha_equipment/brass_clamp +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass name = "Brass clamp" desc = "Equipment for brass exosuits. Lifts objects and loads them into cargo." icon_state = "mecha_brassclamp" @@ -120,11 +120,11 @@ var/dam_force = 25 harmful = TRUE -/obj/item/mecha_parts/mecha_equipment/brass_clamp/attach_act(obj/mecha/M) +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass/attach_act(obj/mecha/M) chassis.cargo_expanded = TRUE chassis.cargo_capacity = 25 -/obj/item/mecha_parts/mecha_equipment/brass_clamp/detach_act(obj/mecha/M) +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass/detach_act(obj/mecha/M) chassis.cargo_expanded = FALSE chassis.cargo_capacity = initial(chassis.cargo_capacity) From d3ca0ef39074709ea0dcc0a259d76f2963f8e10a Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Mon, 2 Feb 2026 00:30:06 +0100 Subject: [PATCH 28/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=83=D1=812?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/gamemodes/clockwork/clockwork_workshop.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/clockwork/clockwork_workshop.dm b/code/game/gamemodes/clockwork/clockwork_workshop.dm index 7d5e7eb40733..21dfc943b098 100644 --- a/code/game/gamemodes/clockwork/clockwork_workshop.dm +++ b/code/game/gamemodes/clockwork/clockwork_workshop.dm @@ -55,8 +55,8 @@ CLOCK_DESIGN("Marauder", /obj/item/clockwork/marauder, 1200, 300, 5), CLOCK_DESIGN("Strange Shard", /obj/item/clockwork/shard, 2000, 500, 8), ) - item_list["|Mecha"] = list( - CLOCK_DESIGN("Brass clamp", /obj/item/mecha_parts/mecha_equipment/brass_clamp, 500, 200, 4), + item_list["Mecha"] = list( + CLOCK_DESIGN("Brass clamp", /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass, 500, 200, 4), CLOCK_DESIGN("Brass Armor Booster Module", /obj/item/mecha_parts/mecha_equipment/brass_armor_booster, 1500, 200, 5), CLOCK_DESIGN("brass cradle", /obj/item/mecha_parts/mecha_equipment/cage/brass, 1000, 100, 4), CLOCK_DESIGN("Brass exosuit drill", /obj/item/mecha_parts/mecha_equipment/drill/brass, 1500, 200, 4), From 11310c3c007e120b14a1f2036cdcdc6d8c412256 Mon Sep 17 00:00:00 2001 From: L343-CJ Date: Wed, 4 Feb 2026 21:04:41 +0300 Subject: [PATCH 29/36] =?UTF-8?q?=D0=9F=D0=BE=D1=87=D0=B8=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B7=D0=B0=20=D0=B2=D0=B0=D0=B4=D0=B8=D0=BC=D0=BE?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/gamemodes/clockwork/clockwork_items.dm | 2 ++ code/game/mecha/equipment/tools/work_tools.dm | 4 ++-- code/modules/projectiles/projectile/beams.dm | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/clockwork/clockwork_items.dm b/code/game/gamemodes/clockwork/clockwork_items.dm index e3b7582d9294..c54e9abd2159 100644 --- a/code/game/gamemodes/clockwork/clockwork_items.dm +++ b/code/game/gamemodes/clockwork/clockwork_items.dm @@ -1673,6 +1673,8 @@ convert_mecha(target, user) /obj/item/clockwork/shard/proc/convert_mecha(obj/mecha/target, mob/user) + if(!do_after(user, 10 SECONDS, target)) + return user.temporarily_remove_item_from_inventory(src) qdel(src) target.ratvar_act(convert_mecha = TRUE) diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 1c9688d296e7..96f38054db90 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -117,9 +117,9 @@ icon_state = "mecha_brassclamp" equip_cooldown = 1 SECONDS energy_drain = 5 - var/dam_force = 25 + dam_force = 25 harmful = TRUE - + /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass/attach_act(obj/mecha/M) chassis.cargo_expanded = TRUE chassis.cargo_capacity = 25 diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index d6ce857ef967..26eb1ccc0f34 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -653,12 +653,12 @@ PREPOSITIONAL = "лазере часовой энергии", ) -obj/projectile/beam/laser/light/rat/mecha +/obj/projectile/beam/laser/light/rat/mecha name = "brass laser beam" damage = 20 armour_penetration = 10 -obj/projectile/beam/laser/light/rat/mecha/get_ru_names() +/obj/projectile/beam/laser/light/rat/mecha/get_ru_names() return list( NOMINATIVE = "латунный импульс", GENITIVE = "латунного импульса", From 10b38fa323a7a5f9fa8dc7a8ddf982900c115bb4 Mon Sep 17 00:00:00 2001 From: chomasuke <85545019+chomasuke@users.noreply.github.com> Date: Mon, 9 Feb 2026 22:53:52 +0300 Subject: [PATCH 30/36] =?UTF-8?q?del:=20=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=9C=D0=AD=D0=9A=D0=BE=D0=B2=20=D0=B8=20?= =?UTF-8?q?=D0=98=D0=BD=D1=82=D0=B5=D0=B3=D1=80=D0=B0=D0=BB=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=B8=D0=B7=20=D0=B1=D0=B8=D0=BB=D0=B4=D0=B0=20(#8512)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit zalupa экшены оболочки для мода оболочка для мода перенесена в мехфаб маркер. удаление устаревшего переопределённого прока get_equipped_items, замена передаваемых аргументов на битфлаги, где этого ещё не было. компоненту лазера добавлен кд на использование 1 секунда --- code/__DEFINES/cooldowns.dm | 1 + code/datums/rituals.dm | 2 +- .../special_shadowling_abilities.dm | 4 +- code/game/machinery/recycler.dm | 29 ++++---- code/game/objects/items.dm | 4 +- .../objects/items/devices/traitordevices.dm | 2 +- code/modules/admin/verbs/debug.dm | 2 +- .../contractor/drifting_contractor.dm | 2 +- .../syndicate/nuclear/nuclear_operative.dm | 2 +- code/modules/clothing/head/misc_special.dm | 2 +- code/modules/mob/inventory.dm | 2 +- .../mob/living/carbon/human/inventory.dm | 31 --------- code/modules/mob/living/carbon/inventory.dm | 32 +-------- code/modules/mob/living/living.dm | 2 +- .../mob/living/silicon/robot/inventory.dm | 2 +- .../research/designs/wiremod_designs.dm | 6 +- .../components/action/equpiment_action.dm | 3 +- .../wiremod/components/action/laserpointer.dm | 9 ++- .../wiremod/shell/brain_computer_interface.dm | 9 ++- code/modules/wiremod/shell/module.dm | 69 ++++++++++++------- 20 files changed, 91 insertions(+), 124 deletions(-) diff --git a/code/__DEFINES/cooldowns.dm b/code/__DEFINES/cooldowns.dm index 0b4bff9ff950..2c4ae0527b94 100644 --- a/code/__DEFINES/cooldowns.dm +++ b/code/__DEFINES/cooldowns.dm @@ -53,6 +53,7 @@ #define COOLDOWN_CIRCUIT_PATHFIND_DIF "circuit_pathfind_different" #define COOLDOWN_CIRCUIT_TARGET_INTERCEPT "circuit_target_intercept" #define COOLDOWN_CIRCUIT_VIEW_SENSOR "circuit_view_sensor" +#define COOLDOWN_CIRCUIT_LASER "circuit_laser" // mob cooldowns #define COOLDOWN_YAWN_PROPAGATION "yawn_propagation_cooldown" diff --git a/code/datums/rituals.dm b/code/datums/rituals.dm index 74d12e4752bc..68de490f930d 100644 --- a/code/datums/rituals.dm +++ b/code/datums/rituals.dm @@ -707,7 +707,7 @@ smoke.set_up(amount = 5, location = get_turf(human.loc)) smoke.start() - for(var/obj/item/obj as anything in human.get_equipped_items(TRUE, TRUE)) + for(var/obj/item/obj as anything in human.get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD)) human.drop_item_ground(obj) return diff --git a/code/game/gamemodes/shadowling/special_shadowling_abilities.dm b/code/game/gamemodes/shadowling/special_shadowling_abilities.dm index 5b3c6602dfae..25b2e697103f 100644 --- a/code/game/gamemodes/shadowling/special_shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/special_shadowling_abilities.dm @@ -30,7 +30,7 @@ GLOBAL_LIST_INIT(possibleShadowlingNames, list("U'ruan", "Y`shej", "Nex", "Hel-u user.visible_message(span_warning("Вещи [user] неожиданно начали сползать. С них стекает обильное количество фиолетовой жижи, которая формируется вокруг них."), \ span_shadowling("Вы сбрасываете одежду, которая может помешать вашему вылуплению и начинаете выделять смолу, которая защитит вас.")) user.Stun(35 SECONDS, TRUE) - for(var/obj/item/item as anything in user.get_equipped_items(TRUE, TRUE)) + for(var/obj/item/item as anything in user.get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD)) user.drop_item_ground(item, force = TRUE) sleep(5 SECONDS) @@ -242,7 +242,7 @@ GLOBAL_LIST_INIT(possibleShadowlingNames, list("U'ruan", "Y`shej", "Nex", "Hel-u * Testing purpose. */ /mob/living/carbon/human/proc/make_unhatched_shadowling() - for(var/obj/item/item as anything in get_equipped_items(TRUE, TRUE)) + for(var/obj/item/item as anything in get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD)) drop_item_ground(item, force = TRUE) var/newNameId = pick(GLOB.possibleShadowlingNames) diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 09cd495e9ba2..d717138307f7 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -146,41 +146,40 @@ emergency_mode = FALSE update_icon(UPDATE_ICON_STATE) -/obj/machinery/recycler/proc/crush_living(mob/living/L) +/obj/machinery/recycler/proc/crush_living(mob/living/target) + target.forceMove(loc) - L.forceMove(loc) - - if(issilicon(L)) + if(issilicon(target)) playsound(loc, 'sound/items/welder.ogg', 50, TRUE) else playsound(loc, 'sound/effects/splat.ogg', 50, TRUE) var/gib = 1 // By default, the emagged recycler will gib all non-carbons. (human simple animal mobs don't count) - if(iscarbon(L)) + if(iscarbon(target)) gib = 0 - if(L.stat == CONSCIOUS) - L.say("ARRRRRRRRRRRGH!!!") - add_mob_blood(L) + if(target.stat == CONSCIOUS) + target.say("ARRRRRRRRRRRGH!!!") + add_mob_blood(target) - if(!blood && !issilicon(L)) + if(!blood && !issilicon(target)) blood = 1 update_icon(UPDATE_ICON_STATE) // Remove and recycle the equipped items if(eat_victim_items) - for(var/obj/item/I in L.get_equipped_items(TRUE, TRUE)) - if(L.drop_item_ground(I)) - eat(I, sound = 0) + for(var/obj/item/item in target.get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD)) + if(target.drop_item_ground(item)) + eat(item, sound = 0) // Instantly lie down, also go unconscious from the pain, before you die. - L.Paralyse(10 SECONDS) + target.Paralyse(10 SECONDS) // For admin fun, var edit emagged to 2. if(gib || emagged == 2) - L.gib() + target.gib() else if(emagged == 1) - L.adjustBruteLoss(crush_damage) + target.adjustBruteLoss(crush_damage) /obj/machinery/recycler/verb/rotate() set name = "Повернуть по часовой" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 2497e8a3a37e..265b4c2944b7 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -816,12 +816,12 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/g * Returns `TRUE` if the item is equipped by a mob, `FALSE` otherwise. * This might need some error trapping, not sure if get_equipped_items() is safe for non-human mobs. */ -/obj/item/proc/is_equipped(include_pockets = FALSE, include_hands = FALSE) +/obj/item/proc/is_equipped(include_flags = NONE) if(!ismob(loc)) return FALSE var/mob/M = loc - if(src in M.get_equipped_items(include_pockets, include_hands)) + if(src in M.get_equipped_items(include_flags)) return TRUE else return FALSE diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index ce4d2e35e26c..c31bcf4de258 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -384,7 +384,7 @@ effective or pretty fucking useless. playsound(destination, SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) playsound(destination, 'sound/magic/disintegrate.ogg', 50, TRUE) destination.ex_act(rand(EXPLODE_DEVASTATE, EXPLODE_HEAVY)) - for(var/obj/item/thing as anything in user.get_equipped_items(TRUE, TRUE)) + for(var/obj/item/thing as anything in user.get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD)) if(!user.drop_item_ground(thing)) qdel(thing) to_chat(user, span_biggerdanger("You teleport into the wall, the teleporter tries to save you, but--")) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 1bbbfe78d21d..f0c2982c26cd 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -574,7 +574,7 @@ ADMIN_VERB_ONLY_CONTEXT_MENU(select_equipment, R_EVENT, "Select Equipment", mob/ if(tgui_alert(user, "Нужно ли выбрасывать вещи из карманов? Выбор \"Нет\" удалит их.", "Выбор экипировки существа", "Да", "Нет") == "Нет") delete_pocket = TRUE - for(var/obj/item/I in H.get_equipped_items(delete_pocket)) + for(var/obj/item/I in H.get_equipped_items(delete_pocket ? INCLUDE_POCKETS : NONE)) qdel(I) if(dresscode != "Naked") H.equipOutfit(dresscode) diff --git a/code/modules/antagonists/syndicate/contractor/drifting_contractor.dm b/code/modules/antagonists/syndicate/contractor/drifting_contractor.dm index 7087a6bb54b9..8b0db9da2a46 100644 --- a/code/modules/antagonists/syndicate/contractor/drifting_contractor.dm +++ b/code/modules/antagonists/syndicate/contractor/drifting_contractor.dm @@ -26,7 +26,7 @@ if(!our_outfit) return - for(var/obj/item/item as anything in human.get_equipped_items(TRUE, TRUE)) + for(var/obj/item/item as anything in human.get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD)) qdel(item) human.equipOutfit(our_outfit) diff --git a/code/modules/antagonists/syndicate/nuclear/nuclear_operative.dm b/code/modules/antagonists/syndicate/nuclear/nuclear_operative.dm index b2882fb8138b..938eebc68955 100644 --- a/code/modules/antagonists/syndicate/nuclear/nuclear_operative.dm +++ b/code/modules/antagonists/syndicate/nuclear/nuclear_operative.dm @@ -80,7 +80,7 @@ if(!outfit) return - for(var/obj/item/item in human.get_equipped_items(TRUE, TRUE)) + for(var/obj/item/item in human.get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD)) qdel(item) human.equipOutfit(outfit) diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 6757c567e4b2..2c6b08704bb5 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -136,7 +136,7 @@ return PROCESS_KILL var/turf/cake_turf = loc - if(is_equipped(include_pockets = TRUE, include_hands = TRUE)) + if(is_equipped(INCLUDE_POCKETS | INCLUDE_HELD)) cake_turf = loc.loc if(isturf(cake_turf)) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index e96facd33d68..a651973f4ef3 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -629,7 +629,7 @@ //get_all_contents that is reasonable and not stupid /mob/living/proc/get_all_gear(recursive = TRUE) - var/list/processing_list = get_equipped_items(TRUE, TRUE) + var/list/processing_list = get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD) list_clear_nulls(processing_list) // handles empty hands var/i = 0 while(i < length(processing_list)) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index ec5869e11e1b..92fe8ef5e601 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -633,37 +633,6 @@ for(var/slot in get_all_slots())//order matters, dependant slots go first qdel(slot) -/mob/living/carbon/human/get_equipped_items(include_pockets = FALSE, include_hands = FALSE) - var/list/items = ..() - if(belt) - items += belt - if(l_ear) - items += l_ear - if(r_ear) - items += r_ear - if(glasses) - items += glasses - if(gloves) - items += gloves - if(neck) - items += neck - if(shoes) - items += shoes - if(wear_id) - items += wear_id - if(wear_pda) - items += wear_pda - if(w_uniform) - items += w_uniform - if(include_pockets) - if(l_store) - items += l_store - if(r_store) - items += r_store - if(s_store) - items += s_store - return items - /** * Used to return a list of equipped items on a human mob; does not by default include held items, see include_flags * diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index fda15752f98b..36b7eb4eb77e 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -395,38 +395,12 @@ // Returns items which are currently visible on the mob /mob/living/carbon/proc/get_visible_items() - var/static/list/visible_slots = list( - ITEM_SLOT_GLOVES, - ITEM_SLOT_EYES, - ITEM_SLOT_EARS, - ITEM_SLOT_MASK, - ITEM_SLOT_HEAD, - ITEM_SLOT_FEET, - ITEM_SLOT_ID, - ITEM_SLOT_PDA, - ITEM_SLOT_BELT, - ITEM_SLOT_BACK, - ITEM_SLOT_NECK, - ITEM_SLOT_HANDS, - ITEM_SLOT_BACKPACK, - ITEM_SLOT_SUITSTORE, - ITEM_SLOT_HANDCUFFED, - ITEM_SLOT_LEGCUFFED, - ) var/list/obscured = check_obscured_slots() var/list/visible_items = list() - for(var/slot in visible_slots) - if(obscured & slot) - continue - - var/obj/item/equipped = get_item_by_slot(slot) - - if(equipped) - visible_items += equipped - - for(var/obj/item/held in get_equipped_items(INCLUDE_HELD)) - visible_items += held + for(var/obj/item/thing in get_equipped_items(INCLUDE_HELD)) + if(!(get_slot_by_item(thing) & obscured)) + visible_items += thing return visible_items diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 218d33d7af41..300d9b028633 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1668,7 +1668,7 @@ return /mob/living/extinguish_light(force = FALSE) - for(var/obj/item/item as anything in get_equipped_items(TRUE, TRUE)) + for(var/obj/item/item as anything in get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD)) item.extinguish_light(force) /mob/living/vv_edit_var(var_name, var_value) diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 0f7a124a2f72..7dc671f04a32 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -11,7 +11,7 @@ /mob/living/silicon/robot/get_all_slots() return list(module_state_1, module_state_2, module_state_3) -/mob/living/silicon/robot/get_equipped_items(include_pockets = FALSE, include_hands = FALSE) +/mob/living/silicon/robot/get_equipped_items(include_flags = NONE) . = list() if(module_state_1) . += module_state_1 diff --git a/code/modules/research/designs/wiremod_designs.dm b/code/modules/research/designs/wiremod_designs.dm index a420a39462c9..d10b0cee9a0d 100644 --- a/code/modules/research/designs/wiremod_designs.dm +++ b/code/modules/research/designs/wiremod_designs.dm @@ -592,15 +592,11 @@ PROTOLATHE_CATEGORY_CIRCUITRY, ) -/datum/design/mod_module_shell +/datum/design/module/mod_module_shell id = "module_shell" req_tech = list(RESEARCH_TREE_MATERIALS = 2, RESEARCH_TREE_PROGRAMMING = 2) materials = list(MAT_GLASS = 1000) build_path = /obj/item/mod/module/circuit - build_type = PROTOLATHE - category = list( - PROTOLATHE_CATEGORY_CIRCUITRY, - ) // /datum/design/undertile_shell // id = "undertile_shell" diff --git a/code/modules/wiremod/components/action/equpiment_action.dm b/code/modules/wiremod/components/action/equpiment_action.dm index ee117057cc43..d08a4737ba4a 100644 --- a/code/modules/wiremod/components/action/equpiment_action.dm +++ b/code/modules/wiremod/components/action/equpiment_action.dm @@ -127,8 +127,9 @@ /obj/item/circuit_component/equipment_action/proc/update_actions() for(var/uid in granted_to) var/datum/action/granted_action = granted_to[uid] - granted_action.name = button_name.value || "Дейстие" + granted_action.name = button_name.value || "Действие" granted_action.button_icon_state = LAZYACCESS(options_map, icon_options.value) + granted_action.build_all_button_icons(ALL) #undef HUD_BLANK diff --git a/code/modules/wiremod/components/action/laserpointer.dm b/code/modules/wiremod/components/action/laserpointer.dm index 5defa076187f..62f993be6336 100644 --- a/code/modules/wiremod/components/action/laserpointer.dm +++ b/code/modules/wiremod/components/action/laserpointer.dm @@ -18,10 +18,12 @@ var/datum/port/input/option/lasercolour_option + var/laser_cooldown = 1 SECONDS /obj/item/circuit_component/laserpointer/get_ui_notices() . = ..() . += create_ui_notice("Максимальная дальность: [max_range] тайл[DECL_CREDIT(max_range)]", "orange", "info") + . += create_ui_notice("Перезарядка: [DisplayTimeText(laser_cooldown)]", "orange", "stopwatch") /obj/item/circuit_component/laserpointer/populate_options() var/static/component_options = list( @@ -32,20 +34,19 @@ ) lasercolour_option = add_option_port("Цвет лазера", component_options) - /obj/item/circuit_component/laserpointer/populate_ports() target_input = add_input_port("Цель", PORT_TYPE_ATOM) image_pixel_x = add_input_port("X", PORT_TYPE_NUMBER) image_pixel_y = add_input_port("Y", PORT_TYPE_NUMBER) - /obj/item/circuit_component/laserpointer/input_received(datum/port/input/port) + if(TIMER_COOLDOWN_RUNNING(parent.shell, COOLDOWN_CIRCUIT_LASER)) + return var/atom/target = target_input.value var/atom/movable/shell = parent.shell var/turf/target_location = get_turf(target) - var/pointer_icon_state = lasercolour_option.value var/turf/current_turf = get_location() @@ -65,3 +66,5 @@ laser_location.pixel_z = clamp(target.pixel_y + image_pixel_y.value, -15, 15) target_location.flick_overlay_view(laser_location, 1 SECONDS) + + TIMER_COOLDOWN_START(shell, COOLDOWN_CIRCUIT_LASER, laser_cooldown) diff --git a/code/modules/wiremod/shell/brain_computer_interface.dm b/code/modules/wiremod/shell/brain_computer_interface.dm index 5cde757dd8b8..58fde6ad2d02 100644 --- a/code/modules/wiremod/shell/brain_computer_interface.dm +++ b/code/modules/wiremod/shell/brain_computer_interface.dm @@ -263,9 +263,12 @@ var/obj/item/stock_parts/cell/cell = circuit_component.parent.cell if(isnull(cell)) - to_chat(owner, span_boldwarning("[circuit_component.parent.declent_ru(NOMINATIVE)] не име[PLUR_ET_UT(circuit_component.parent)] элемента питания.")) + to_chat(owner, span_boldwarning("[circuit_component.parent.declent_ru(NOMINATIVE)] \ + не име[PLUR_ET_UT(circuit_component.parent)] элемента питания.")) else - to_chat(owner, span_notice("В [cell.declent_ru(PREPOSITIONAL)] [circuit_component.parent.declent_ru(GENITIVE)] осталось [cell.percent()]% заряда.")) + to_chat(owner, span_notice("В [cell.declent_ru(PREPOSITIONAL)] \ + [circuit_component.parent.declent_ru(GENITIVE)] \ + осталось [round(cell.percent(), 1)]% заряда.")) /datum/action/innate/bci_charge_action/process(seconds_per_tick) build_all_button_icons(UPDATE_BUTTON_STATUS) @@ -273,7 +276,7 @@ /datum/action/innate/bci_charge_action/update_button_status(atom/movable/screen/movable/action_button/button, force = FALSE) . = ..() var/obj/item/stock_parts/cell/cell = circuit_component.parent.cell - button.maptext = cell ? MAPTEXT("[cell.percent()]%") : "" + button.maptext = cell ? MAPTEXT("[round(cell.percent(), 1)]%") : "" /obj/machinery/bci_implanter name = "brain-computer interface manipulation chamber" diff --git a/code/modules/wiremod/shell/module.dm b/code/modules/wiremod/shell/module.dm index f1eac8ccab1a..3cbeaa34ce09 100644 --- a/code/modules/wiremod/shell/module.dm +++ b/code/modules/wiremod/shell/module.dm @@ -11,7 +11,7 @@ /// A reference to the shell component, used to access the shell and its attached circuit var/datum/component/shell/shell /// List of installed action components - var/list/obj/item/circuit_component/equipment_action/action_comps = list() + var/list/obj/item/circuit_component/equipment_action/action_comps /obj/item/mod/module/circuit/get_ru_names() return list( @@ -23,7 +23,6 @@ PREPOSITIONAL = "модуле интегральной схемы", ) - /obj/item/mod/module/circuit/Initialize(mapload) . = ..() @@ -42,49 +41,53 @@ /obj/item/mod/module/circuit/proc/action_comp_registered(datum/source, obj/item/circuit_component/equipment_action/action_comp) SIGNAL_HANDLER - action_comps += action_comp + LAZYADD(action_comps, action_comp) /obj/item/mod/module/circuit/proc/action_comp_unregistered(datum/source, obj/item/circuit_component/equipment_action/action_comp) SIGNAL_HANDLER - action_comps -= action_comp - for(var/ref in action_comp.granted_to) - unpin_action(action_comp, locateUID(ref)) + LAZYREMOVE(action_comps, action_comp) + for(var/uid in action_comp.granted_to) + unpin_action(action_comp, locateUID(uid)) + QDEL_LIST_ASSOC_VAL(action_comp.granted_to) /obj/item/mod/module/circuit/on_install() . = ..() if(!shell?.attached_circuit) return + RegisterSignal(shell?.attached_circuit, COMSIG_CIRCUIT_PRE_POWER_USAGE, PROC_REF(override_power_usage)) /obj/item/mod/module/circuit/on_uninstall(deleting = FALSE) . = ..() if(!shell?.attached_circuit) return + for(var/obj/item/circuit_component/equipment_action/action_comp in action_comps) - for(var/ref in action_comp.granted_to) - unpin_action(action_comp, locateUID(ref)) + for(var/uid in action_comp.granted_to) + unpin_action(action_comp, locateUID(uid)) + UnregisterSignal(shell?.attached_circuit, COMSIG_CIRCUIT_PRE_POWER_USAGE) /obj/item/mod/module/circuit/on_use() . = ..() - if(!.) - return if(!shell.attached_circuit) return - shell.attached_circuit?.interact(mod.wearer) + + shell.attached_circuit?.ui_interact(mod.wearer) /obj/item/mod/module/circuit/get_configuration(mob/user) . = ..() var/unnamed_action_index = 1 for(var/obj/item/circuit_component/equipment_action/action_comp in action_comps) - .[action_comp.UID()] = add_ui_configuration(action_comp.button_name.value || "Unnamed Action [unnamed_action_index++]", "pin", !!action_comp.granted_to[user.UID()]) + .[action_comp.UID()] = add_ui_configuration(action_comp.button_name.value || "Безымянное действие [unnamed_action_index++]", "pin", LAZYFIND(action_comp.granted_to, user.UID())) /obj/item/mod/module/circuit/configure_edit(key, value) . = ..() var/obj/item/circuit_component/equipment_action/action_comp = locateUID(key) if(!istype(action_comp)) return + if(text2num(value)) pin_action(action_comp, usr) else @@ -93,14 +96,17 @@ /obj/item/mod/module/circuit/proc/pin_action(obj/item/circuit_component/equipment_action/action_comp, mob/user) if(!istype(user)) return - if(action_comp.granted_to[user.UID()]) // Sanity check - don't pin an action for a mob that has already pinned it + + if(LAZYFIND(action_comp.granted_to, user.UID())) return + mod.add_item_action(new/datum/action/item_action/mod/pinnable/circuit(mod, user, src, action_comp)) /obj/item/mod/module/circuit/proc/unpin_action(obj/item/circuit_component/equipment_action/action_comp, mob/user) - var/datum/action/item_action/mod/pinnable/circuit/action = action_comp.granted_to[user.UID()] + var/datum/action/item_action/mod/pinnable/circuit/action = LAZYACCESS(action_comp.granted_to, user.UID()) if(!istype(action)) return + qdel(action) /datum/action/item_action/mod/pinnable/circuit @@ -114,40 +120,45 @@ var/obj/item/circuit_component/equipment_action/circuit_component /datum/action/item_action/mod/pinnable/circuit/New(Target, mob/user, obj/item/mod/module/circuit/linked_module, obj/item/circuit_component/equipment_action/action_comp) - . = ..() - module = linked_module - action_comp.granted_to[user.UID()] = src + name = action_comp.button_name.value || "Действие" + button_icon_state = LAZYACCESS(action_comp.options_map, action_comp.icon_options.value) || button_icon_state + + LAZYSET(action_comp.granted_to, user.UID(), src) circuit_component = action_comp - name = action_comp.button_name.value - button_icon_state = "bci_[replacetextEx(LOWER_TEXT(action_comp.icon_options.value), " ", "_")]" + module = linked_module + + . = ..() /datum/action/item_action/mod/pinnable/circuit/Destroy() - circuit_component.granted_to -= pinner.UID() + LAZYREMOVE(circuit_component.granted_to, pinner.UID()) circuit_component = null return ..() -/datum/action/item_action/mod/pinnable/circuit/do_effect(trigger_flags) +/datum/action/item_action/mod/pinnable/circuit/Trigger(mob/clicker, trigger_flags) . = ..() if(!.) return + var/obj/item/mod/control/mod = module.mod if(!istype(mod)) return FALSE + if(!mod.active || mod.activating) if(mod.wearer) - module.balloon_alert(mod.wearer, "not active!") + module.balloon_alert(mod.wearer, "модуль неактивен!") return FALSE + circuit_component.user.set_output(owner) circuit_component.signal.set_output(COMPONENT_SIGNAL) /// If the guy whose UI we are pinned to got deleted /datum/action/item_action/mod/pinnable/circuit/pinner_deleted() - module?.action_comps[circuit_component] -= pinner.UID() + LAZYREMOVEASSOC(module?.action_comps, circuit_component, pinner.UID()) . = ..() /obj/item/circuit_component/mod_adapter_core - display_name = "ядро адаптера схем для МЭК" + display_name = "Ядро адаптера схем для МЭК" desc = "Позволяет считывать информацию о пользователе МЭКа и позволяет удаленно запускать и отключать МЭК." /// The MODsuit module this circuit is associated with @@ -227,10 +238,13 @@ for(var/obj/item/mod/module/potential_module as anything in attached_module.mod.modules) if(potential_module.name == module_to_select.value) module = potential_module + if(COMPONENT_TRIGGERED_BY(toggle_suit, port)) INVOKE_ASYNC(attached_module.mod, TYPE_PROC_REF(/obj/item/mod/control, toggle_activate), attached_module.mod.wearer) + if(COMPONENT_TRIGGERED_BY(toggle_deploy, port)) INVOKE_ASYNC(attached_module.mod, TYPE_PROC_REF(/obj/item/mod/control, quick_deploy), attached_module.mod.wearer) + if(attached_module.mod.active && module && COMPONENT_TRIGGERED_BY(select_module, port)) INVOKE_ASYNC(module, TYPE_PROC_REF(/obj/item/mod/module, on_select)) @@ -279,6 +293,7 @@ for(var/obj/item/mod/module/module in attached_module.mod.modules) if(module.module_type != MODULE_PASSIVE) modules_list += module.name + module_to_select.possible_options = modules_list if(length(module_to_select.possible_options)) module_to_select.set_value(module_to_select.possible_options[1]) @@ -294,13 +309,18 @@ var/part_name = "Неизвестно" if(ismodhelmet(part)) part_name = "Шлем" + if(ismodchestplate(part)) part_name = "Нагрудник" + if(ismodgloves(part)) part_name = "Перчатки" + if(ismodshoes(part)) part_name = "Ботинки" + string_list += part_name + deployed_parts.set_output(string_list) deployed.set_output(is_deployed) on_deploy.set_output(COMPONENT_SIGNAL) @@ -314,4 +334,5 @@ SIGNAL_HANDLER if(!attached_module.mod?.wearer) return + wearer.set_output(attached_module.mod.wearer) From 3613b0d123bd8452743e8f71f042bb3f42ba4254 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Wed, 11 Feb 2026 14:37:20 +0100 Subject: [PATCH 31/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=D0=B8=D0=BA1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/modules/projectiles/projectile/energy.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index af6dbc804629..238d36a47c80 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -571,7 +571,7 @@ PREPOSITIONAL = "латунном электроде", ) -/obj/projectile/beam/laser/light/rat/prehit(atom/target) +/obj/projectile/energy/electrode/brass/prehit(atom/target) if(isclocker(target)) confused = 0 SECONDS stun = 0 SECONDS From a91ffcbcbdd94ac29cf099b0f16d4b8f0f4c4d75 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Wed, 11 Feb 2026 14:40:06 +0100 Subject: [PATCH 32/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=D0=B8=D0=BA2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/gamemodes/clockwork/clockwork_workshop.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/clockwork/clockwork_workshop.dm b/code/game/gamemodes/clockwork/clockwork_workshop.dm index 21dfc943b098..02355e3ab6f0 100644 --- a/code/game/gamemodes/clockwork/clockwork_workshop.dm +++ b/code/game/gamemodes/clockwork/clockwork_workshop.dm @@ -58,7 +58,7 @@ item_list["Mecha"] = list( CLOCK_DESIGN("Brass clamp", /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass, 500, 200, 4), CLOCK_DESIGN("Brass Armor Booster Module", /obj/item/mecha_parts/mecha_equipment/brass_armor_booster, 1500, 200, 5), - CLOCK_DESIGN("brass cradle", /obj/item/mecha_parts/mecha_equipment/cage/brass, 1000, 100, 4), + CLOCK_DESIGN("Brass cradle", /obj/item/mecha_parts/mecha_equipment/cage/brass, 1000, 100, 4), CLOCK_DESIGN("Brass exosuit drill", /obj/item/mecha_parts/mecha_equipment/drill/brass, 1500, 200, 4), CLOCK_DESIGN("\"Spark of the Righteous\" Mounted Taser", /obj/item/mecha_parts/mecha_equipment/weapon/energy/brasstaser, 2000, 300, 6), CLOCK_DESIGN("\"Ray of Faith\" Laser", /obj/item/mecha_parts/mecha_equipment/weapon/energy/brasslaser, 2500, 500, 6), From 7d8bbc5b652fea8d4936df59ba1650c9cac0c56c Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Wed, 11 Feb 2026 14:43:33 +0100 Subject: [PATCH 33/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=D0=B8=D0=BA3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/tools/mining_tools.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index 23ef4365db05..e8638a6b3799 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -144,7 +144,7 @@ /obj/item/mecha_parts/mecha_equipment/drill/brass name = "Brass exosuit drill" - desc = "Equipment for engineering and combat exosuits. This is a blessed version of the drill" + desc = "Оборудование для инженерных и боевых экзокостюмов. Это благословлённая версия бура." icon_state = "mech_brass_drill" equip_cooldown = 0.5 SECONDS drill_delay = 2.5 From 34fbb49bf5befd50007bc70785f92fcf708dda9c Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Wed, 11 Feb 2026 14:45:41 +0100 Subject: [PATCH 34/36] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=D0=B8=D0=BA4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/tools/other_tools.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index a0cbdaa486af..d6b1a3049da1 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -189,7 +189,7 @@ /obj/item/mecha_parts/mecha_equipment/brass_armor_booster name = "Brass Armor Booster Module" - desc = "Boosts exosuit armor against all attacks. Completely blocks taser shots. Requires energy to operate." + desc = "Усиливает броню экзокостюма против всех атак. Полностью блокирует выстрелы тазера. Требует энергию для работы." icon_state = "mecha_abooster_brass" equip_cooldown = 0.5 SECONDS energy_drain = 25 From ccb383503997370faebd1341e4de8e8968a3c885 Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Wed, 11 Feb 2026 14:47:03 +0100 Subject: [PATCH 35/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=D0=B8=D0=BA5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/tools/other_tools.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index d6b1a3049da1..8fa298373d4e 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -876,7 +876,7 @@ ) /obj/item/mecha_parts/mecha_equipment/cage/brass - name = "brass cradle" + name = "Brass cradle" desc = "Модуль для экзокостюмов, используемый для задержания заблудших." icon_state = "mecha_cage_brass" origin_tech = "combat=6;materials=5" From 1cdf189d270032b9c40ba1ad0335b3d48c2c349d Mon Sep 17 00:00:00 2001 From: Vadim7222 <119446132+Vadim7222@users.noreply.github.com> Date: Wed, 11 Feb 2026 14:48:24 +0100 Subject: [PATCH 36/36] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=D0=B8=D0=BA6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/mecha/equipment/tools/work_tools.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 96f38054db90..f8e21e8955e8 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -113,7 +113,7 @@ /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass name = "Brass clamp" - desc = "Equipment for brass exosuits. Lifts objects and loads them into cargo." + desc = "Оборудование для латунных экзокостюмов. Поднимает объекты и загружает их в грузовой отсек." icon_state = "mecha_brassclamp" equip_cooldown = 1 SECONDS energy_drain = 5