From 641b99d5689a423c38a728ecaf8c4c2b4db13053 Mon Sep 17 00:00:00 2001 From: VMSolidus Date: Fri, 31 Jan 2025 18:42:33 -0500 Subject: [PATCH 1/7] Update GlimmerSystem.cs (#1694) # Description These weren't sanitized because I woefully assumed that nothing could actually escape the bounds of an asymptote equation. Lo' and behold floating point precision rounding errors can. ![image](https://github.com/user-attachments/assets/cda09b59-f81e-47ca-a4b6-27e12fb8aa94) # Changelog :cl: - fix: Fixed an issue where Glimmer can reach infinite values under certain conditions. --- .../Psionics/Glimmer/GlimmerSystem.cs | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/Content.Shared/Psionics/Glimmer/GlimmerSystem.cs b/Content.Shared/Psionics/Glimmer/GlimmerSystem.cs index df7be34cc1e..9f0c090c6e0 100644 --- a/Content.Shared/Psionics/Glimmer/GlimmerSystem.cs +++ b/Content.Shared/Psionics/Glimmer/GlimmerSystem.cs @@ -2,6 +2,7 @@ using Robust.Shared.Configuration; using Content.Shared.CCVar; using Content.Shared.GameTicking; +using Prometheus; namespace Content.Shared.Psionics.Glimmer; @@ -13,6 +14,15 @@ public sealed class GlimmerSystem : EntitySystem { [Dependency] private readonly IConfigurationManager _cfg = default!; + private static readonly Gauge GlimmerInputCount = Metrics.CreateGauge( + "glimmer_input", + "Amount of Input Glimmer"); + + private static readonly Gauge GlimmerOutputCount = Metrics.CreateGauge( + "glimmer_output", + "Amount of Output Glimmer"); + + private float _glimmerInput = 0; /// @@ -73,7 +83,10 @@ public override void Initialize() private void Reset(RoundRestartCleanupEvent args) { GlimmerInput = 0; + GlimmerInputCount.Set(GlimmerInput); + GlimmerOutput = 0; + GlimmerOutputCount.Set(GlimmerOutput); } /// @@ -118,7 +131,10 @@ public void DeltaGlimmerInput(float delta) if (_enabled && delta != 0) { GlimmerInput += delta; - GlimmerOutput = 2000 / (1 + MathF.Pow(MathF.E, -.0022f * GlimmerInput)) - 1000; + GlimmerInputCount.Set(GlimmerInput); + + GlimmerOutput = Math.Clamp(2000 / (1 + MathF.Pow(MathF.E, -.0022f * GlimmerInput)) - 1000, 0, 999.999999f); + GlimmerOutputCount.Set(GlimmerOutput); } } @@ -132,7 +148,10 @@ public void DeltaGlimmerOutput(float delta) if (_enabled && delta != 0) { GlimmerOutput += delta; - GlimmerInput = 2000 / (1 + MathF.Pow(MathF.E, -.0022f * GlimmerOutput)) - 1000; + GlimmerOutputCount.Set(GlimmerOutput); + + GlimmerInput = Math.Max(2000 / (1 + MathF.Pow(MathF.E, -.0022f * GlimmerOutput)) - 1000, 0); + GlimmerInputCount.Set(GlimmerInput); } } @@ -146,7 +165,10 @@ public void SetGlimmerOutput(float set) if (_enabled && set != 0) { GlimmerOutput = Math.Clamp(set, 0, 999.999f); + GlimmerOutputCount.Set(GlimmerOutput); + GlimmerInput = 2000 / (1 + MathF.Pow(MathF.E, -.0022f * GlimmerOutput)) - 1000; + GlimmerInputCount.Set(GlimmerInput); } } @@ -160,7 +182,10 @@ public void SetGlimmerInput(float set) if (_enabled && set >= 0) { GlimmerInput = set; + GlimmerInputCount.Set(GlimmerInput); + GlimmerOutput = 2000 / (1 + MathF.Pow(MathF.E, -.0022f * GlimmerOutput)) - 1000; + GlimmerOutputCount.Set(GlimmerOutput); } } From e2533556275ce2bbdcc25b064ae1a21df187ca9a Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Fri, 31 Jan 2025 23:42:59 +0000 Subject: [PATCH 2/7] Automatic Changelog Update (#1694) --- Resources/Changelog/Changelog.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 633a80c3169..fde9221659c 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -10997,3 +10997,12 @@ Entries: id: 6784 time: '2025-01-31T20:22:45.0000000+00:00' url: https://github.com/Simple-Station/Einstein-Engines/pull/1692 +- author: VMSolidus + changes: + - type: Fix + message: >- + Fixed an issue where Glimmer can reach infinite values under certain + conditions. + id: 6785 + time: '2025-01-31T23:42:34.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1694 From 5e201e631ac396ee93c97ef7c90718f829d2bc79 Mon Sep 17 00:00:00 2001 From: VMSolidus Date: Fri, 31 Jan 2025 19:26:48 -0500 Subject: [PATCH 3/7] Update GlimmerSystem.cs (#1695) aaaaaaaaaaaaaaaaaaaaaaaaaaaa --- .../Psionics/Glimmer/GlimmerSystem.cs | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/Content.Shared/Psionics/Glimmer/GlimmerSystem.cs b/Content.Shared/Psionics/Glimmer/GlimmerSystem.cs index 9f0c090c6e0..1945bae295d 100644 --- a/Content.Shared/Psionics/Glimmer/GlimmerSystem.cs +++ b/Content.Shared/Psionics/Glimmer/GlimmerSystem.cs @@ -2,7 +2,6 @@ using Robust.Shared.Configuration; using Content.Shared.CCVar; using Content.Shared.GameTicking; -using Prometheus; namespace Content.Shared.Psionics.Glimmer; @@ -14,15 +13,6 @@ public sealed class GlimmerSystem : EntitySystem { [Dependency] private readonly IConfigurationManager _cfg = default!; - private static readonly Gauge GlimmerInputCount = Metrics.CreateGauge( - "glimmer_input", - "Amount of Input Glimmer"); - - private static readonly Gauge GlimmerOutputCount = Metrics.CreateGauge( - "glimmer_output", - "Amount of Output Glimmer"); - - private float _glimmerInput = 0; /// @@ -83,10 +73,7 @@ public override void Initialize() private void Reset(RoundRestartCleanupEvent args) { GlimmerInput = 0; - GlimmerInputCount.Set(GlimmerInput); - GlimmerOutput = 0; - GlimmerOutputCount.Set(GlimmerOutput); } /// @@ -131,10 +118,7 @@ public void DeltaGlimmerInput(float delta) if (_enabled && delta != 0) { GlimmerInput += delta; - GlimmerInputCount.Set(GlimmerInput); - GlimmerOutput = Math.Clamp(2000 / (1 + MathF.Pow(MathF.E, -.0022f * GlimmerInput)) - 1000, 0, 999.999999f); - GlimmerOutputCount.Set(GlimmerOutput); } } @@ -148,10 +132,7 @@ public void DeltaGlimmerOutput(float delta) if (_enabled && delta != 0) { GlimmerOutput += delta; - GlimmerOutputCount.Set(GlimmerOutput); - GlimmerInput = Math.Max(2000 / (1 + MathF.Pow(MathF.E, -.0022f * GlimmerOutput)) - 1000, 0); - GlimmerInputCount.Set(GlimmerInput); } } @@ -165,10 +146,7 @@ public void SetGlimmerOutput(float set) if (_enabled && set != 0) { GlimmerOutput = Math.Clamp(set, 0, 999.999f); - GlimmerOutputCount.Set(GlimmerOutput); - GlimmerInput = 2000 / (1 + MathF.Pow(MathF.E, -.0022f * GlimmerOutput)) - 1000; - GlimmerInputCount.Set(GlimmerInput); } } @@ -182,10 +160,7 @@ public void SetGlimmerInput(float set) if (_enabled && set >= 0) { GlimmerInput = set; - GlimmerInputCount.Set(GlimmerInput); - GlimmerOutput = 2000 / (1 + MathF.Pow(MathF.E, -.0022f * GlimmerOutput)) - 1000; - GlimmerOutputCount.Set(GlimmerOutput); } } From cdf8468717bd14a1036148b491b8aeb0fd845ffa Mon Sep 17 00:00:00 2001 From: VMSolidus Date: Sat, 1 Feb 2025 12:46:06 -0500 Subject: [PATCH 4/7] Hardsuit Walking Sounds And Refactor EmitSoundOnMove (#1698) # Description Thanks to MajorMoth for making these sound effects! This PR adds custom sound effects to Hardsuits & Tacsuits that are generated when the wearer moves. However while making this PR, I ran into three different bugs with the EmitSoundOnMoveSystem, so I fixed all 3 of them! # TODO

Media

https://github.com/user-attachments/assets/cb5d3873-3eb7-4cab-8ec2-2ba5b5d6480d

# Changelog :cl: VMSolidus and MajorMoth - add: Hardsuits now have sounds made when the wearer moves! - fix: Fixed several bugs with EmitSoundOnMove. It no longer plays the same sound 7 times in a row for the client. It can now differentiate between items that must be worn to make sounds and otherwise. It can also have variable distance needed to travel to make a sound. - add: Hardsuits and Tacsuits are now separated into Light, Medium, and Heavy categories, with each category having its own sound effects, mass, throwing statistics, and don/doff time. Most hardsuits are Light. Most Tacsuits are Medium. Some suits like Warden, Juggernaut, Nukie Commander, and Mysta Bombsuit are heavy. --- .../Components/EmitsSoundOnMoveComponent.cs | 18 +++++ .../EntitySystems/EmitsSoundOnMoveSystem.cs | 11 ++- .../Audio/Effects/Footsteps/attributions.yml | 8 ++ .../Effects/Footsteps/tacsuit_step_00.ogg | Bin 0 -> 30627 bytes .../Effects/Footsteps/tacsuit_step_01.ogg | Bin 0 -> 27607 bytes .../Effects/Footsteps/tacsuit_step_02.ogg | Bin 0 -> 29865 bytes .../Clothing/OuterClothing/hardsuits.yml | 8 +- .../OuterClothing/base_clothingouter.yml | 74 ++++++++++++++++++ .../Clothing/OuterClothing/hardsuits.yml | 28 +++---- .../Prototypes/SoundCollections/footsteps.yml | 15 ++++ 10 files changed, 141 insertions(+), 21 deletions(-) create mode 100644 Resources/Audio/Effects/Footsteps/tacsuit_step_00.ogg create mode 100644 Resources/Audio/Effects/Footsteps/tacsuit_step_01.ogg create mode 100644 Resources/Audio/Effects/Footsteps/tacsuit_step_02.ogg diff --git a/Content.Shared/Clothing/Components/EmitsSoundOnMoveComponent.cs b/Content.Shared/Clothing/Components/EmitsSoundOnMoveComponent.cs index 095b0daf384..8adb47ebb0a 100644 --- a/Content.Shared/Clothing/Components/EmitsSoundOnMoveComponent.cs +++ b/Content.Shared/Clothing/Components/EmitsSoundOnMoveComponent.cs @@ -32,4 +32,22 @@ public sealed partial class EmitsSoundOnMoveComponent : Component ///
[ViewVariables(VVAccess.ReadOnly)] public bool IsSlotValid = true; + + /// + /// If worn, how far the wearer has to walk in order to make a sound. + /// + [DataField] + public float DistanceWalking = 1.5f; + + /// + /// If worn, how far the wearer has to sprint in order to make a sound. + /// + [DataField] + public float DistanceSprinting = 2f; + + /// + /// Whether or not this item must be worn in order to make sounds. + /// + [DataField] + public bool RequiresWorn; } diff --git a/Content.Shared/Clothing/EntitySystems/EmitsSoundOnMoveSystem.cs b/Content.Shared/Clothing/EntitySystems/EmitsSoundOnMoveSystem.cs index 3224b5bca32..452a3c37053 100644 --- a/Content.Shared/Clothing/EntitySystems/EmitsSoundOnMoveSystem.cs +++ b/Content.Shared/Clothing/EntitySystems/EmitsSoundOnMoveSystem.cs @@ -54,7 +54,8 @@ public override void Update(float frameTime) private void UpdateSound(EntityUid uid, EmitsSoundOnMoveComponent component) { - if (!_physicsQuery.TryGetComponent(uid, out var physics)) + if (!_physicsQuery.TryGetComponent(uid, out var physics) + || !_timing.IsFirstTimePredicted) return; // Space does not transmit sound @@ -70,11 +71,15 @@ private void UpdateSound(EntityUid uid, EmitsSoundOnMoveComponent component) _clothingQuery.TryGetComponent(uid, out var clothing) && clothing.InSlot != null && component.IsSlotValid; + + if (component.RequiresWorn && !isWorn) + return; + // If this entity is worn by another entity, use that entity's coordinates var coordinates = isWorn ? Transform(parent).Coordinates : Transform(uid).Coordinates; var distanceNeeded = (isWorn && _moverQuery.TryGetComponent(parent, out var mover) && mover.Sprinting) - ? 1.5f // The parent is a mob that is currently sprinting - : 2f; // The parent is not a mob or is not sprinting + ? component.DistanceWalking // The parent is a mob that is currently sprinting + : component.DistanceSprinting; // The parent is not a mob or is not sprinting if (!coordinates.TryDistance(EntityManager, component.LastPosition, out var distance) || distance > distanceNeeded) component.SoundDistance = distanceNeeded; diff --git a/Resources/Audio/Effects/Footsteps/attributions.yml b/Resources/Audio/Effects/Footsteps/attributions.yml index 603a379ab3d..2d3d9e038cf 100644 --- a/Resources/Audio/Effects/Footsteps/attributions.yml +++ b/Resources/Audio/Effects/Footsteps/attributions.yml @@ -88,3 +88,11 @@ license: "CC0-1.0" copyright: "Made by philRacoIndie freesound.org, modified by Skubman" source: "https://freesound.org/people/nhaudio/sounds/179203/" + +- files: + - tacsuit_step_00.ogg + - tacsuit_step_01.ogg + - tacsuit_step_02.ogg + license: "CC-BY-SA-3.0" + copyright: "Made by majormoth(Discord)" + source: "https://discord.com/channels/1301753657024319488/1332696230572331048/1335279751866351759" diff --git a/Resources/Audio/Effects/Footsteps/tacsuit_step_00.ogg b/Resources/Audio/Effects/Footsteps/tacsuit_step_00.ogg new file mode 100644 index 0000000000000000000000000000000000000000..343ee26ea2a9dbfe8d00e59bf6795bbddee6ec45 GIT binary patch literal 30627 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 literal 0 HcmV?d00001 diff --git a/Resources/Audio/Effects/Footsteps/tacsuit_step_01.ogg b/Resources/Audio/Effects/Footsteps/tacsuit_step_01.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2209e86da5f8b0466cd0d118e060058571a8d359 GIT binary patch literal 27607 zcmb@tbzGFs_cy!<3Mc{!QW65vAxn2Ev6Rv*rKGfUhmuMx-6658bhm&=3oP9w-5}lU zeSx3P_x?V==Xu@tKhO0V<~1|t%$b>U&il+DAAm4 z?G4QxZko`1>;Fxch0s>)xd>OIB zvsUCRkOF2T4B_@)1eBZq?!oh$YFulEV2r62K6gvGgpdKk1-X05@s* zYc65(Q1fTCWQN+@gydTbS|Ldn0b4TtN^JX@*q`Kpl*37a|1G&aPR1;@V&Am=PxlcA?DlS)q&@Z1Gq3P_hJ@5P)X|iVFx=>`;7+D&%CK;0NUq;&6;cMc z?$7hSM-&79mHPI` z-#n%R(f}u$Dwl}5n!2X5wRXJIRCR#fxYOL2*W6f`0de5}bgcg%2Lyn|{}z)mhN0k& z6h9?N?7s&77ddu>9g*Z+k~lA8-#4yn4f}sQN^2;EB@^k%=m=-Vl$; zkh;l;v&lr2iB7ebcGW+C`3sx5F{l4R&J9Fp1i}|(qcHwAa=tQ#FYt%c%0)fbj-q#q zGy9yBo0ztqn|c3#Am{xTM8X$D@R!x#aK_JZ=AV=DYBQ~V6>Zl2U(a#!7Th;atu3SAhbAH~|JY&;v6gCQ8K;o;?Z>9Q)UvY!B_bLUQO|P4S~d}D1cXP+AMNaAmH}fwp^3Yn>KtvawV|! zr}*JZGBH(-0(~8U(ctiLL7*=%B%p67AP?Y!!$%D_Z~5rp!_W|Fe-(%v9X!r31Pqh_ zz8Gi-I8IFkk_+&Kl(wrtfVejbw6!Mz;{pZ?Ep3OYLT=Orv_UO_^A9F2aAcA0my?ct zHU9o*0Or?Qmn8%=g=2^V4oq>t=fsM1z>&nHwg(&`+gL@?oEokGk)_Kf5&-;6g_9`* z{#u2eE?W%>9DlX|^=|!;WaKuc14Up0yH_?LaHt840o2e=E(HO!Y!nLkG|;vhqXH~B z!2!s~f&BtF_W;@>H|hb@#@OLgXj^j1mMPkbIXEPfJsAg|5jsE{#KdjZm86Nb#ADV0PJq6fYKnTH`R=o7)dN( zn*cNy04N+DqXuP$1I&P`H2&(I$qJe$@SeCd)ZFF-o z@&__to+LN(IKcWb0d(E^7DSHe#w%_-<;K-+jQ>y75}3TSCSV1)|5z&a zFHHX$ju}AwtxMcgjc@Sl_?IBr`CkP8{u^N55?)I(!GRu_w??P-e+~JU@EF1fkNH;= z{05i*usptTEEU1OZu0j`@>kTY$EiTD|MJ})R$?CCO!99JzyWXgGX4@&Ah&*dBkD#T z;JnoT5`ckj2frn#NMh0bhX4lz0JHi_00#QEbRz`>>c6$;qgWzC1gR$FN80)Fqw?8cqXa14&?=1fRul|1y0s7XBgZX0(`>C0hoFEJNL-tz?5&?*7NiYhR zU;tnYwM_W*T5>Hrdk|t($^((OQI-k-lTpsKZ!u92NMRe1QD~x{iV8CjL4kNUiYp0W zt0dA1DP4hDVrFCm5%k8viW>YPAeM#8Bt|6ytCJFpOqJt?p*&+y58T`eKtScOu4S)4 zFc9Ivqht=fJSWrgfaE00A|A|i2mBoPxJ4MxYKjNG;OQ_ltagRcv0q}9(h*V!?1D%U zOlr?RwUt_yy*#V4et3dda~Ao4V_WWuoTT~LfB{eLZ@yuXs3EcJ6F4FF#}z!K!~u1N zeE^B;azsT4c9#qWKUMyL{}G5U_d&tHh87A0ApgHMG5qou>i-31;3a{cA2@((H5c^^ z=7lZfDD7wB-AV6%lpIMNuL6!Hkbn)p4vBpmr18Oz*!Olr1Kx7*g8_{=gyYAI8gAFB zK?E#HS7WF@rBtNIci~7VK`q&gI~f_kRfL@WgcXy}bs(G@=9fB#g5`4C;vlQQ`5p8L z1VVqrNq|Kt{_!IYh+kYb;tuHk100H$SK{LA)LB2ieo)|NNaY2AB!YYJKL@ux180yi zGUuTCw%rZ%1ahkc%Feyfgq^i8~omMg9va5f36aIeSL3v#ev+{_wQxF56asn(9LDR4I@n`Ei1XL77E3ILZPD$QK)Ci%E~Hl zRJDL63e+iTNDcR-IfZuLQmf&--Zq4|#|DqsN87E@Avqa_x;P!&*Gh}S>+y&eG=^W) z_!x?MY`*6|f$0oo*f|c9X!v@Mt(^CwYL%EMtosK@%WV-F#Mv|DSTfUN3fjWu{4Ltw z%KPs4b!7#OXyr=Yr>6(CLUy%_TlBt-vXA*3osNA!=JvEqJN3{LhMw)6vbYqxhW9zE)A9pCKi3FE zX5qP(^!RhO%U9F=*n^Yv%ok@{E2fj~OOt1FHIYa0NhdDybm>UzQc?KWVgGemQyB*v zl(N0W7837tQiM>)gGFwO=q+C<+0OChUUAh!*)KaA261y%X1z|-sBE(@j=Bl<-KTdg z4oH|3l@Hg~hRj#PCNvr9yR6dQRgZ-`2o?WAT#xL%@^KZQ>=~+Z{0vsqG}!3gRW%%R zmPtTyHVi=yv$)Ook=$5xvgdZuZ3!+=RWSq;T5f)gdbC$Nah|(r7`_QiMQxrmB8a9S*w6l-l?)5aiz2>PiIg)40F~a zKTjA61Hr{Ho&%6*AG?;eg*5Bg#abWO)KWH+DITt!{7UU3)ZjyU?p%F7 z5ir(Sj&eH zHQUMJ#K2JpWVF7V3(@*UiJuKOXQtQfNpAwaUdzgh8QjoUn1Yh9DJwwK2{mJ zQDTGrak+Bj_ZyV&`}|a*m+SdX9!6S|R$@Ba=LTXg>A^bPCTM9;&xJ~+s8O{c-=wa* zgHF5|0=%o54kaC(9YG!oyQCy8D-|u}(Peguvt4BK=>xo}a7{mOy9R~)i0u03x}upn zlBzV`HicZZtlkqYQ0!@w3Q4f5%zX5 z@i{{m*0p3tg0cnkTOE|56l%N5-OA_>+ycyXx!ZCBz{e2PiHrAs%bli{WJ!x}vp=3U zg;{@*n4%UU@xm-1zytM~%>^-#Ahv^`j3$0PB8}~(Zh0$0=L^3ut}knfUkiLe1qy@Z zlmq`zY4E*pNi^wEv^)CAv~vyp)ZklZ_oDqvZ_S16I^l7%i;Gny!S`jpCkG4z%MXjq z=A2-YuE)H2ks1*a1}d{}CMh_OVrH=PI-$An#}~`zUfWIRR-!>02_wVGvt@g+Ee1^y z>fRm2uoKFGu5PM7+@aIRrum%3FQuyIR`&`=ZK)q0&iS4GVIbLRy|*DY7PZ`-cVO}7 z;QX_nX%&mD)AJn}XLQR8Q+kgx+e;<#)S)`4Ejb?FwcDZ4AMMPUp(LUgSUW2YJJiDyRbZFKd+Y!1@$aoQTYCqiQUvLn+N9`dBLxSo)AeHsQJip2<2gMMn#G% zfcWd8P|F;W9uifeCtr9p(hT>hhM0A;<^ns_q)xm7xS~(^L=aPM&sP&e!@D%3R}I+c zuax<06Rp=VBfmTp=S2ms#L8WJnTS($3rJK|+t8KsA;z!l%ddv&w(nl};w*DUwb2^B z;X>RU-p^psO#RSV>!|k8yFiiv4n5pVT4&>i!%U{RCMpkF#mJx*ny9-)J zyw_i|F0RQft6TLM7Xn8p^Ay<4GzvB`Tl6bkcYZi{o}sSCVrWG6{Oobd=H8DZ(b^z| zSt<+rAQ)N`t>DdtI!TO@AJ&#XK%%RofY!O2>uivqOM(GSCbT}Wgk6Yw2ygyhGq1#r>yoXX%b95?{1o(*lZiYs1b!tr3*Q{b$XxQRw$smM!tC=J1 zSv%92)*E;Wb>3{X(CS4FYjSvyuE$h+4d9>_&k}|=HS6nQTXzwBsMTC2zMa}2lOeTG zow2q(jUJ-36k@*oYrNt>aP7{&|q$x@EW3*{iSj+_H;5a2F2|1R+s?mtwz&7bU@=B1KLVt|U ztBU*;=&jmHhx^kW!68P6X>q(oQA?jMB{Pmjy2;Rs#%bU0MGV4^FR zR}EAxLh;P1HnmwduS^#-h0H&F(D{(j(5Bf@*o_Oi*A=%6F|uSx-L!_SS$SH2t@&)t zIP9qN*!HWC2x__>AI(Y<5hPxq_gETlT=ev-3v zI9_WKhjEGgFAEjDapuAHQ(JL*kRvZlj;N)BEN!zreysYgD*epm>hsh;3*1bScubNg zL8CxX*yu$jMM$lN&;k1E-|D$7;RR~6B^htogk1`;iMe#p1uykmdgUwz4X*9gKB7GU zJ!kL5aQz&x$b)%$TslXY5@Oy_eFaB2z^oTfJ?6VI>XBUQo?N47zm?e%hVXx|1PG3K zeV^90%L+3hpPb@un)(Rxv1gg1%NoI<`C-2i`2EF;ArY4xbbm>hsq}^6?~1GV9JZ}W z*Mly{i*-j@uasRC(vTUhopc+NKyRV4lD@*FtGU=WYS0fAqvYSU(yDnxbwUvm7u;(T zu!)$6q_aQf))keF?JlFO;nHMMAgI9i3#N|LJH)y@EO17N-YKhbo3)^;PW-Da&Gr0lOrT z=)yvQoLOCzO>q#W_V%u6U0R9j824hnUDoQw9}6=>FVb*3W$J2!MV|;6yhw70UCsmf`diQ=J^Ws zL}8fZU{_$u6Mb2X(00oSSbe z(^l|0`w8$t5%`cv<5+jvA(VXcz>CMVUp**wHviTGfOrTKmZbrhNIs z(j9ubLQ}S1XLx4OT%T-=qRIC5@onKhnq&y~W@Kwe$fCBueBnb0SBC;tlE>`vO{?wU zwjK(mjg&Th`MtbTbn*yi4NI-Kdb1qIrpc4DhwqkTj!4A~(Se`yye+=NRP!GH@rQQl z!Ng=B84cWaq1nZ8FX+y~=v(uZPP@e*Sw^QZuHnKN~nEba|gz zX0z@#4LGHZlj+Ps@g&ieU)$z1;DxVw4yKF?ZY;hP;wK5ZpR|)a!ae`NJsvT(+C7A4 z3lmzv-qtfW z^G-q{gHMa*ly#sR;cYyJj20g(qirC`pYHq+X%Z|}dX4PvY_DJ0pY_WdoioYYZ7keT zN^RZcip{sRo7wmg(nsHr`^TD4EN;$nzw6vQeGhT{Y15p1vi5w-^t&W;@w{WW1A{tM z){zqtyQhs1i_0}Um&D_$&i1#-5qpXkmy5ca!nx3x<`r{Q{Aeuv&j*ub^_0s-FJhTc zyU9%6w$zO(%gO>Z#Rum10xwq9ieA+)q)=I1%V@rvYDt=rXN%I&dFSTB(Md%l%@XK* zq|ock;kw%Z(@C}j@3OGYyT`QWSUsXPLjRzGmQEnu3)*dROL8iLEXu5gZ3mS2U6tNQ6$Jg`qWBozj{!maq|A7pfa1~&QC`l zzuBp*EC~}O?2qD=~ByV2UDHrkyJB;3Sa$vAZrevuZJShI=S(RV+ zJH4Q(ZgLnRN?&fFz;pkDBtiHN=KvW94fOZYMqC^?p90U#rOnMz6*rC^M24zC^`N>@ zry3e6YOhsZYv}3gp-}w5mCdy%^pZ?IMO*^igJXaDI+I{D>D%PFBj@1r!G~!^5-K{| z*+Qw2fwc%mWC~SMyGlccJT>Xep?iI7b}b&~W*9#Akp};gn>U#%vNvm7d-k2-x-nRh zHe69rl_=z5x$pxI-GhnR!cCgkjDbdioG2X@Cz_C)H=WlXpBRE(%VR!38+s!yT0~@g zCkRrRA0D4M>pH|xQI?-i7mV&J!;W-qKmX?b5VvWhE5N(_5T>2rkU@p|+<9;7p_H*< zx+#f)bGHbAO?BuSm43^n&DRN}_OpaU?bQ#c8oF9Ld6$-|y6#J&Pkvn5xI)`#Q(G*P z#Cp}0uC&XKzh>3R>JqPqYlr-#Prp9*hQjS2%Qn9lmcokIy2Mqi{e?B0*EI22c~5=F zJ!G)`Lf!j#y*}cHW>m@||GiAm<3FIl&Z)GZg;#>HcCRuT!|!rfnX7PoP-}HMin{nP z_hO?|goE%)`j2j5ozK>m^UjYDZm;tL1uwMD#+o$VE7NX1GSht}VCQf0_R|irFCorG zru3Lh3sq!f=NsLYDu{8=+tc|m&)J{t8ls>G#oddS6q{NDzg-RPUeyHR+Tg&#p^ifC`4lPg=NUllgP zU+*+s0;$}%a9-rl4@g>XnWjweJ1p|1*4cyaxEUje35+zY%cXHZw&nA*1%uSMB?F6YVfP6iA2W)7O$u*WgF&)xf>v;G)1Se3tV;Ig9 ze(CQArOkvat2xhpbF(MTh<6Ya>B}}9#zRG4wsOC2Z%p&aKsr($SxcslZm*zGVPn!e zR=1cQJ<2D=|2;)U#D}BWn_hUZcsLk(DtQ3YJH{ON{bsp$xUOKm-2GTUIApmccDX5! zjVe>PHq?SkCQVHwyg6H7}1gJ>7pM-h>GcvicM zg(tK5INroW1@|SzxW9GUm1KFgd&yVgV76nC4NK5xz2w934>i zOZ~tTiLq!Jog%!}M_%jXy4jhuiscSQVUtkr#8@8(spQbzTIvWv z@3jKL*EJ<17ze{WZcUh``8f3Wn4t0*7X#bUkKX)*nq@37^-JsPmKN_v79Sd%^X>B} zhJ}e8s~dteCOkU>r_7GsR(avzF5R?!T`Alcuybvtz&5COHbrOFN8|_Qv z;&UoSZ{#yHpt$kKI;nKwmk#1?(gP=3lfCf=MR@{&QO^XNRdL^qZOyAjkiOb*Tj@S6 zbXM=iXC$Ek`I2YYbW8dYf2!?0yOzX?OK&ylq2cHOXISZB#|k*McGd>jR4!eodeNDEiCO{aSzg!>xxIY6LjR$^j8Mm=aHv>8;T?rP`asB^ z<|xe?*!y=MhUMvve!W#SnhYDVonkruQ1JEv0LrR04x<1~pw(dyhGYf7AKW3n>cDG>E&qvu3u?wQ zLmS2~dEnhNTHJue9O>2QgHc#er}e^jK5cHco(s(mgg+mHUcF@R@3C{$6-`?Fjl;4T zLD-QgUG~|~w$T5{sQk)1K7Ue9Q`2o-HMwLaYbdWvz~V$AO8CLTkv?WJ+-YO1xSerA|}6^Z;u-UengrTbpxiQ5rilIx$q-#hf{ zz9K4IxUNP8*@VpKN20E~U(1|o64}x%G+DPvdr=nj`29Ari9Pr#Zc7s2vv`+-n*in{ z^zx08#Uti*CenzlXtuj~6*?w`T|*BL0V5}+0)duKtWq#Z{bTK`nG;`kreMTQZ9?X{ z`Qm4_PesL2AD~ZsD$@3av4k5fg*q)#tMlabT#sxFJj^yRkHCN$lS9`r#}OjA2a6thZOAlV0mLpHT! z`{}&+aZwZLkKV<6|8W0?p6~asuIq<-uMAt}5&c#=$l)xiJ{lKn-|8a^jPBwS@OLE7 z#>4gd4FVJTj$!jt%y__ufI7U(cC(a}s2csCadZqa#ExJ2Bkp<2d;KsUvFpyIA{PTn zbHXhPP* zuQ{cW9z{;j#va;TeKXz7Y3>;7`0BZ;p6(Y#a5jao=xtI^utQYxC9Z9C)5wp4OG1>i z27>(&OQX2ubSXTL?^Doy(9%O0hh)Pz18hZP5$dCdv(RCIwR>RkCffJ0=WVll4ZL44VbSg+?6#`=lBVRTw=@?@+>;FInZkn~4O$yX@QU{UWxgdiiJ&!(H>jd)RJU@QGA9TY;LR z&S&kHyxk;PY-cPc>9oHx0xzg1C_o@`Tv%5dctt+xn7ay9Un|Xf2@YehkZYX!0;v?xvB@_|87}m6>F=|A4HmE|} z{){~95zaX;T!*Q;+JEYBH{+aRmqcm1-nJUPAh(f|+}*n@<#VRJ>ayh{9yUVWU3%7< zV}i@<>$g)FnQU35w>!DtVfWw_Xq0p5er1fIu!qlEc^aLk z7=faOEE&^3uiyfV77Z8J)_jZy_Qd&{7h|Y+MR0gtaWN+7@@}dVwU|(Ij=+x~J};B& zKUW!=RFD;h(W+9OOB#**dS1G!MeFc%ubz5PBXO>cqQNWM@_hF&b17XPgS7ZrRdShz zLnp+%SiB6!tB+*YUz|BSbsLkd8@EhDuqIum^07+AACl+aZ(2CIe&No4C<|N4UHVg^ zxQZzEV-s<;Tia|FH8acgY_oHmGrk)53{4+%IcToGI^+~trLx%YS$4eUuy}DktN)~( zSOrx-={$8HO`R{)8#b86Zy=L$#qnx8+{js9(fVTkotPxah#;pU6>(Zv{l)J2b7D){ z-IdR-wfaaFMdFJ3eup-PtQUEU&`zgi$#Q^1OIVc^-SW5Mzjd zxUj3=iX`OEGG=skxXaVCewBy%O>?ICws+4~C?g2PX`Z6Q>~*tTKS`q$xgU2&6?Dts zqJA8Ur+53YMGDles?Ke8lSbre55D61-f8JD6|CcKwdykV@GedF^h0RXqe=pGwZX*r zHnA;A<6Z6|?Fn@kcWgO*?`oChy;Hti6rNa(x_X>9{{C{Mk4F>E`w9prs^V&?X7C$N zLzBVCIgfIS(XNV_HW7o1Rc^1~%w(pY{cQ0I^@hTs)J-ikgUOdvahh_aiV{QS`^CYb1yTg>_ z=L|a7(cXUVlva}BQfo;0CmHZIXk)1Hu-cGXH=rr#jK>iEu8B>@%P7f3&LwvN^AasO zw9s|4X~>U=oZ*o)c~)}LOZQ=tJU+D9g!-7t=cJ5FU+bh@8%GS%+l4pYMEft~6s_b(uWf4Bt~V#(QwEs+?`%N4)PaxIbga`q2HNykJydCmGM7 z+j9|AUci^~wgHzxG9uMEOEAQ+=TBfq(k|>!C`ZFjnA(&xjjFdGY?%Fg9%-B!*14?X z?s$i`Wqisvp9=^va`(-ED}=rn%PIw+b#BB!tJ?PpM#+thcfb6 z)e(hM|8E~eDDr(=vc1Lw1u#wR#-49*KePzWiSPXx%G=(oz&9B0ewrO%%3s@XF6-`* zANzc;qrd1+*+)Jl#XtmNwjy+sHhh%(-serQa5f(}oouYvqul({VG9)`W{<0g&El;R z!Y`@MChY0j2i)l$7vhFMuRjAv=4bDE3`NtQ;`UvPortpH=};*JjkpYQtGeqr2qNZo zPFFbXID@gCgM@83TzqmSJIbybeE3i^w7Yfu%WQ|Ww)M67Os#Gl@ed5flOkxm7*z2? z5E>rKq^#Wn>2N$@``_s*G_wwGU@yxy1=6DW>>3)rrTLx2Y|O1(jN3--9A*C0I1o0} z$3&SOR}z@aH9kBf+d{f+w90?{b3L{3(-1iVw>Q&KKXUgh81LIWAXF{cTR!!1pwtst zaNmkXJxq;gYKCKTEaVzCoMt%;KAJcettt^CmQUu1IIkzxw%sTz9#~W6Z$MYM(v_jQH!Vn;BKW6g+%>8HH*4kB1H!G%;fi3AXVRL101t50UxQVXHMS?+m=^^SbMp?XMH@TnVQgk`lFK1OusW(C56~;nlwc-18R^-^NGuOo~Uq%lwS!s(%5kr(H!#VPxa0RJTD`mFK&_ zvWy*_{D(qNfrP+OXD|sRye4yS2D8y_d&0tP;T9E>3Mr4p)Yu&TGi z9|&Xi5^oCyeNgKU1U|+Zqg>Uk-0o973*vm0Uthv-U1R9%u@MhucOid)K#W84pI%J6 zhR%LY$Gg86TOP1g?Pv*=ImKZ8;WyLF(SLV0Aa1dmBh?;{CollEn~c*`{Kthk;+H$J zJAA$!?QntQqFn0bj;%XPFLkX_j-z{jZOP$mu{@eIU24AZcQ4P(laq=`c4UKgtmi@j z@?8c0s$paHVullq>gb)3Yz0(q)=SG%lxJ0=U;!0ht}0#Gz3ZRUYaha6RG$F9MGfR! z7@lyb)$IsBDQxoOlBXC&*P2=zoFvI=FhGW_>rB^sHAozs`%u1Y*e|G3Uib}vEnpf_ z*&m!~1#Na?G&40{0?oQ!BtkjRDDOSwiB`s;;!$knjT+q^mRgNkS@Z1d_!B}f+RC*Z z9hMSVzMd|?SzU;99~H}X5=Qp zC})@Q-c*aj%&c0Com6$q(SyF)brNhAwSEXr6qZH)mtxX-yF%0V&yh2>&ceoV^0UO< zZ5=%;Lpvtv&Z-$L+D4Y5`*6pv`i?rEzMeO1xV3e1h2=iggR+IMo4|Uj8xsSqu8w}Y zryyt=`G<{BYgccBWPh2E$SG>I2tHoTdQq4Z^(B6Or7EeH)kQ>|5#)Jou(S7KYqm@) zJN{S94j*|@bL>?U15e+ljMI{=snXI}ijynjJHpz0ZyKU4+dqzZFL*b&ujG6NJKB^k zf5DC$Vz55zINbRrR$E47eAS?79&O2V5N?xsD9>B_^IN6B6wAusBxs0x*>kx`c04|I(rP-Hdu2>KYc?P43tYPa+FzqSTS9mqy(or0vBIE= zFZ83JqtN_-e!d2K;3tub{c>Ss6Zh!`Jmo`-1U1qMDbZQ^3=q_&ZB49 zC%rCchkz?M$oUE--CP$VkaWS&dUATi9;9kKAbsWR1!@GWtRu)fIeFnU)rHfY{4iaohf0N}@qKQet*q`}i; zdfE*QiDMyO+^V2z!pGG_vkONesR}_5t=6g>UWW+p{nJ{hv0b=4R8~rKBlQt=GxB_u(`3Viu{*$F^JFX0Jwh z?7aGj<_c9k5cdpDe8Ll80rzFbdMS=_mkhr#O*hOHZd^1LHXvNOu_-gMhN+`1*yM?yLhuPjR z+UW3s-I7aUFmbx~FW9_2B`z5NlWnZ*>%bJODfNr4MN?$DLoA)jjwC}whT9J@vP`$5LJ6OlhEU#Mt zd^YDG^abpug5rwB=gM%bX0E!5much~wFdhDw-~Kr{g=Wn? zYp>Rn@aiF|=XxZw^j;qd?Rm})JKvUY9LPEp_0Fsj4Dmixluh+MW3<_c^{@*pHdNSchjhc(6UEK?BJ-$t&WlY3tC4Hi5_Mq&;U;OR(&Mz6WuA zUFo}zSljr%-#EGaVD+RssAgw(HQ4!0u`+5>v;J_W&+I#U(*m#PiY1dli!6?9fBBzs z;nJPL%!!{0ThzUacMFs1^Fi?(<0ec89C3E32cLVlG&a1YP zw3v&fa6_&?D$g2RV*j#Rc>9BtV=AaGe4VP#>jSFlyF^22hxgfB+IHG%hDh|pq7lLD zuZMQewKN>bzYUHU@FjT9=JV%WX1G3kB={wXufaz>T!F*^GPK!X#}M4}8u%o|^@0ax zp7);QwTJ!K#UMl_lzTASQkI3lsFA26qCdKDrx^LDoIAHMcpIS@)b|+1%%7$d82#zG z#*uE$d~;Gc0G{)dI(s-^!otGrYqKJS)r<2*DV-t_49>Qr0Z@ARJ&BUj43lBVMuOYI z=zBq@mjuwWiscxEu>L#P^nN#u{`*Z6oHA@?Jor$ zT7C_wz@qocvv#-#4&*dgY16}_D8P6uy?nC?5fe*ARo zXtpVR#$(TkAd9YYTUq|hBZAL;YvH^>5gk2A9e0wCDCuBKl^38fAfHs7grZ|2R* zz6HGJyl-YhjsLvAt_$vPV{}He7xzikj+}}2ukqWdQkT-t?s)5&A5Z2rDLZv>Jt^v( zR%ibG!XqoHHa2r?GehOj^hMCUuo-bqcX2S^;6|N#%DKe5Q+CRpFX;nwqf`Nhze6dm z400J*ruouJyf$@e%|lHSk@E2oH)bnWFvof(zTLT9Hkse`tayqeXZ=G#=27$L@YhBB zu`80{$fWk~Mz~gwt7D*KlVoUAot572bSo;;<+@2e>&~jWR6nlIearBsBZ(|TM{f%D zsq0#cWjKm0a}q<^*>jJHc&UvWvBPbU(*%&h`E6N=Gisj|g$qsGhoHo;alKUS& zLaHg~MT#gebV82iTV|H?wqZeC*N#ELp29TD#8#57*}sie)}01feQ&%=jHew|cs-<)M1h?*fd8T@`JNfb z_m8X-OC=fATSs@!ly4b0Iyf7irGooBD-@FAGo@FsmEps-`F3BQLVk)Nw`|CeOHe9$ z@%EDT_7e<@r@8ju1@G<=wUi}}V8DhgniT6O*c1X(w%9h#d(1D&zMdCO>+EWNCetLE zvAJ6$$b@qb`bZ@oF2VZ7IRc~-Ddi*cVy$K|zr=&~;apr@T#fvrd_hDa?Bi(3aI$Uo zJFzx`c;d$5swg3PgAzAEmIsRCD_#M?S?4-6K{}PXg&KScp`Xf)Qx8_RIAD`PbL1{) zjV>4J5J~2HkB8Gd`Kc%>jGr+tRbeO(#wWymeF70_AhntD>XeaVJ4nbldZkmRliPvu z`D#7G`rufkqhxclYwD3=_Q$cym;39;;fkvYUjj@aMGHw@nG3zoxgLX+TAq;+IzwNi z^RbnPYD!YEx60RDekE2r1l#AthkaApX5Q>&nxoS6oU2 z1^SKgW5iaB)YD4lOb6JE#KO%MY`-h3DP>{!dR6;$PswIPub2j|C)3(c^ZE@x@<~7r zTS(E-gD$ZoRPxo-54>v~&0{{ubQv$>FT zu37P6@#p|}2WQnAfgIO~Co6ZCw=_QCDs?u&fKdI1m(y@?o9oQ*YKQ;QlZFPvpy9ZW z`|;j6?kfCU5w7M@Q@how&BQX1xn)%g{m~TFIPJY?c%qE(%=WPY`qUJv zH%`P?=cVKGrBzuK6VdSZ$s~nwn-iuE5hXUM2@D)L2X;qkeLKhpayp8%d$U@nuSV2U zbjnjgg5KB`&QbQX57M}Q%Q6XkV~r~`mfY94ol(vyU)Xu*#A<~jX#`cSeni<`NJRnn37IU(@od6wY*w$pC{joQOpUZ_G~C_ ztgPg9|7PJ~q2%!kQ#@NE-wbwQ7$bLeWGYnx&5UH5e~M(v+|w1L^Y9oMW6T)0>T$1= z!(4eA!QHQ61ZIe@s-0$&mAV58jy3F>ye8F5pHEI!G3oy`K*?U%B{HOa3jay1-2cqu zhahuUA-5j!!=W8C&ENWWuQaxF*k9DYIziR89Ph;xTBmX;VOcQp`Re0-_jGKKp0!s# z;g&S}@}l^Ksngxh`^#8YhJLXZd9ld*CyqKxhiX%S8KyoWI_qhb=*j#UuNIokjIT@% zjy;4bV7W=#{EEl}ujP8LKWsyl=Y&oAPl#!go3-JNUflc3w%w)iNyrO5!YW1fblc~( zzYqo~G}~G@`|$8M$soKE_R;n1a1&arC1K5on-lA*w#p#r>+w>ROF3Mrkas)qT8-#4 z3!XV`sB)gbme$1{BCmyC;UPsCSa%=Ho*JCPA!D(yLnpQc85unaZ`O}*san5|fC*D> z8(>4_-wgWk=B}s4g`&5-H+*T*h?R*aO?k(lUN#>`CS0KN^ZYkMT*(%i5*Lmru&ZGX zrF;PQC^jkW4EWq`%>QkK*V4i>OslXq=8@8M-)2*t4%ibLCox=hVrZuNm8Y?qUhZxb z{HL`U<6Sel@7?Sk%Fa0U+pYcgZz|?fKwB`0o##TmJOTdHOQlxK4K|gF5$&E9j;j28 zG}S(PvKVH%YomwIDpc5x!7&nt{1r6WY6kYj67#hL&I98D{g%Eem^^ zP>O~i*zL_DMAz#@Cduap%}1;@stO<@cQZH1EG~rc)V}w8NXJ#r8{2mI{`hh3bc2S) zl;cBPUYk&QWn}OQ{h9!28VllVU3wDp1s|=949^6iTu? zL*{#kqr#x(%5Eo}!b3(KzO%ylj)r^;dSAh0)5y}g)_k?NidmNDe4I!8_OYr`8KAvd zyt>Yz3se>ll3NHJ>#F|~ImTN&r@&EzGj7z2j_0c_uQf30*?4!tNS1Aocks!OMR(7s6VDirhK+$~ICai847EM!M8%S~j*73`ayy#eZzm2?D9Qg6IVam$5 zG3l|tB%q#8Kjhc{6`1gTj%|T5mc**^uwHHdB2~-Hkfr# zE@n>09sARf;Ivl-37%j?Y23(7#MOQGA!IJ1sX?wJRVv+@*or~N@ z;>+$v9iq+WX00dq@cc-ZdRt+0AH6WR<~dBh@I9YXe=D6a(L5jQs*O8dscoY?rVsGa zI0*^yy_Bt2SY(L;peE_}wzdXmY|17mPIbV`jzR0S2 zjZH?=>q@W63XCMC#5AY9pGc=C=^tB6oQSH2+V(guFa~eBKfIWu%bUjGw0v#x6^guV z*TC|_e_ye-(gZ6SUr0+U_E7!;@1eeaJHaL(&-eNjK%fCHjh&yTO82I`@_GN`*W|0jW6O-uZehUgv>$C1zq=~_BGFg?qkc`Xr4vI zeJ&*jIt;>1YGbp@cIjklNnGu>1IGp=06-U5XzzM@O8rJMjJjWX^*ts{uLVrXHKe$y zdLBjXLbS%GzSLUX#}04bpFc5wE9Cr=S~Rp@J!e}PC{NUI@^Id5jkiIe z8*!9eU<;Vh|In&OVFRXNs+%8A1acF+C5Q;#YujK@$IZ2(VMU&I`Te}W9Bz~fY;N06DkDW84-Af4}Jt10`9=%U!rq-y3P2d;vVw@zLdU1gc z)>~F2%sEEHOx8*-rY&?9@0*iuiN9)-7PWrn-&XUtkxGxqnYTtqgB*-(HhZz@2q5;Mja_T&7wIQBlP;N8FX7(b1Sz>bJN`i zIr7lmP5EN`B#zUH4Q4h1gKQm4o7|skLYI0nD4WS#yBRm`Bo1lSl^P*K2mRJ-JuQkO zSGdUi+%Tk3ri&_xXmmsoaELp42|^r)x%{+h?#;ERLIs@)N}AapP`k0+FBrna6eT`L-9 zUzAB>5Gr3Sy!S#{%-5!;P6gQXw}uuc{0(0{$wq^(;mBhP0J~_%Wr~kd>2B_ zlc;yOvU0EVlM#IvuaLP&hErRqcFeEJbWpF2w6f08qjH3-z_ap9m2UqD!CTd zwUnS$3;^&o=CtDhf26kE#*_AK{;75<*-p?7|x&K%f%{+7WaNKmpNR|UME)k9;hwP_fH+2d4nYFP}A0uzb zN>gTJU31FIZ;5<613Lt@q1(oF15Zj~Ers`u#nZz6E$gsp!<#$gK|3SD_ZX_Rrc=$m z2HPVXdIT}3+rBn?-quA00N!`|cZne>V1V5upY4wXCK*8!dYz+j8EX()x<1V3sktS$<4#W#qr8rlYU%E>aW6X+;H{WsD-9B)7(xe+LM=t zMxgIVmLP1%x_5{)-S_KK63o-3CVZOMS~3zAVQq+-0~@nS^J3WDH=p&0Xq<#_EWfe@ zW@_5EhYMH3VlYy}lIgUqqnS^uypLOX$%qGAy{Ktm1YV2_S<4!m#5sK`uy*T+zpKMw zKB~mf&GplJ?^{y~wTNwtL3(xh`~ASXb~fSJbmr3~6>;hA_om-^(h95#%T4AScrOaz zhy#G`Ve+l^BezF4av#?{I+l2ce3<8M2mgm`(nf>FtI?!gRr&1Y{Y`bZ%C56;`DMrT zrh3~<-4J1JZr~yfJCbi;FmOoS?W<~U^A@xZ3iwRkpIt|cmpAy5-llR}P8phN|D)Zy zM4y`#o>fod>H2bcwuU~Vcb@06&)TYOODa6<@p1*UQ~UiELz9Spdk(Iclwo|mX1#Pm zRF2iA_7YUG1pZ(1FNwcz!{L~DI$&;h*-mIXw2P~m?Yc2eyFbPX zN&)5R8sIqfWG4shK@FJTr|0fWU;qFB0002Kcl))JlrTVo+Q>cTL$|}IL)A&3ic`Lezwz{bDg}&RW-7A!8bRoOg7d zjnv@a-RV&Im)ahD zqH^59GJ5xS=iHEX^@`K;^log-``d%cudk1=%yZRfhElePiYTl0@4sh!murUX-Mg|j zI^t;<8?02AKOgJT%FDE2xtd>H(OY*w6Rk9>P!h0VjNg9INpnp&B6TM#D-Qy3TLLPB zleKj^IYZX^gnsV$u@K{8Z3)=>r6&e4R7y zD**sY008jKKlXzJ000000A6?dnNu7Cy<`^Ej(pZT0cduJ$FCMCjyKtxz*nir@v->1 zvt{zK-}cXX9K(m1Jp1FE=RF-wI+;_eheTp`oSNQGwwnF+HQZI*#|@j<^04f4Kl!|s z9(!wIjU;*Z^5}N=yOMLv`SmMjGjACh_zlTX4>=vg9Evv+LKT*=Rni*F`%uJSIBe!v zJ9BGvuFEt3ICxY$Ioz+3jqS9S{O~a~ZKGas#F|d$zLL$Ilm&vd5EiN1+b&L(zuq)RqNZ+0||_khXePZo*2DJgPVDKF(p&i3C`m z2m|?I&_nZFHFzm8hdV`|ifyw!=&N&BrMqWq=h1R79eI)BozBSPh&33Y2D&mYOrG|u zD|VygzSG^wYt)kM=kZtg;2e@RKaz|m2_*7yd#~b{dD1|mDG2~*1#f-=Kx&YRqVhBi zbO+L@iJo`+b+#5%0}*OR?(yU2IY!f%n9_8bLuE86V9DBGy`fj@@v*rv4?Yi0j|Z&> zYl*X#8#F%|b81dfKTMY3N13+WsAYNV^ONw&Mp`S&?xqr_XEE~a`YU5-{b(2|jXMrM zUA1#0jp*iT*J0P$lAFM~oaO823$-MzDtu-H^n22e*BrZ~aU)HXfILi(X5_!7ZS>qBuD z5&)nt{`cDBMqZLP64WBBeTRD*_2Zdd$$GAxTjxopT12N1*+=+|mgLw!l2Z(qsx{&t zAYSA@hp%IO(77zr0)Ba6_wQYw%+K%cvqGpQY{|IAwF~w5b6=}fr5xs~QhqUWH7Cc~ zHU|!s$}6DH_Q7x;@3W}d>zjkm`NmaZF%g0n%Hk_8p9?>u7z+Ik9ISwSr1p!$@be42i3Mwod(sKTsq~nM-{>!jq7@`csL6G_j)@0=3N_nxYcZ# zam!CaqMK~2)5H;LbGj9ap)~(YFne(+%^)PlbRD)^n@F>G=FRXh8QQkQ!;w+z^Ju76 zI5}4FuzPNsmqLEZ9Jt3#Hik`(;juw#rDyVc{u+(90ZgmeL5>0PqW=zH0J68)a&DF{OY000L{-?4gUs$74{KdhMVRQW7yw-1cKfZrG_rCoc) zITm~R9VqG)KNqnc&VgQjXyluXD6p^`z$;KM7gec5wQg;zCA#Rj(A+Od)e~hzWs_}n z`}C(gkNM6a{;&Q$AMq3&D<=#`vb#K<=k@PkF$079T7>e*nsxPWmwJg2UHV zKd8n2H>MQ7&%ne`G&SAoECag%OK!X5402lyZrlF5P5=qHH8o=nx`-xqCes}xc z)*uWJp*Hd{+@Dh6d$mc>l&v+VcMeOvnP@rHXuDaQ=K47ktsk7TW=vi?_G;9IPYzLD@$R<%>XHuI?huc6!P-bEfdBwd zD8Ihbz8Cr2b^I7~b7;+&?%h{4mX0580(SG@aWm^<*y!b)D7tFAlJJVgWZ<=#(JAj~qd_E(*9|<%9V7XP#pM%QfWnGr#ECcCVGB zQ(sZ)9DUg{D{M{ocM(QD+$?|0YQO$0O+zv1r}M-=ytmrluh`1$=`;Obo{h&F~;eSt8*$oMZ7qdxoxl&-ez}WZq z{VTgvGAu&|SK6keh@S5r9qqkz_4V7AwPU9ar^*&cl))bAQh0H_T+ZC5p}Lr z($qYUm}pxg)g-JF&fAjBlbY5LOJ?2ZThA6Y^J0!c_&V0Z@_gu<=|a!j6HY$V(ZISD zPGGfmQ_`1Nx;*TRJSN6trG_UiS{yFZi-ox}Z8I;z=JI7eV`^Ns=fc>%D2^{cX#FtK zmSZgZTx(E$VoPIwmnI=jPjE<)$qZKTlP+n8+ZgE)JI*#XZIr!L8LOliV5+3sPBv{O~_;7S*d1Fu3VBNd&tOQ4*$ z2X@mI_nuh1Y4r-PWfhrQ0u3*fPUL)Qi5Umgn_TUuv=dcXJ zC#Q$>s?x#SB-}mPl{#ou5d0W6RTpW~IMv79UF~slO?`A2Dmk${Oim^)qh+dCcBPxt zr{PdKy_at6(#eYfo=f_cnR|YZ{cz>Iq|?R145EBKwFKg!phW@z#DRysA2BrX{;TIt z+`qcH+WSPTGPBy@M8$hOvG*h2$y83&z06LL_C}pu{Y{p@`D6_n-Ro&D(|K6jY3)M$ zB!es@fWo%l2x<~b)G8`p4BER6s`%>^yO!aXL?8I%PQ3qpZ%=Gh)x5xL;ElA1%T39!q zp%9V}GVX)ot(UE|(E8*@;p(qYTf#B5n=4$3#+fu;&bhvwOf?(D=scFjnX44$O6ko9 zDFPmMd(FMX%|OINZRAdWv(Qd;G_!VVYs%UlnbXxD=S4;9R%%G1o zK+lUCj{d{n=0z;*H8bjsl}oB_C38j9DDv;{^+9e zosv1W9lH0vAzzJzmDS+}dRx81`loG<9?2d7vtv1WxSGLzr9ARL{*8Qeovo_7+9jS3 zW~Mdf_+dGE#C~fuH}jQn+Gt~G0fZCJW(v2ZR zh!Ik1U++U<(g`|pw3HBfTaIN#E-WV;S=F5A&MNU{E9a-3k6Vi~6__1otJ>OTO*eE8 zCR13Wd15BT;kvmvQ>V?y#>z<@`O{@#3{PaxZrii+)}Yhr`i0;9d6cm?#}%ArFvX@S zN^%TFqzPKVxh5=42wcqOXzw%qkI^TbHjU=Q%MqJU6PZIXZY3x_vDOB1Od9%79`p7U zwXImaLyA6r3A zJd%ZWv~7$<{>qr5Rg(~wo&W&2Q6{!4NP9LhkhrwmYlQJz({%F7SM?HD^l!H{R{T(I z+P#$i&3uW`9cvjhsaJNcKtG2ue8S`6x;>UE-$B>&#lp=v6&27C{y)_}8Fh^oH9m;0 z^8}5?p1XX^#r~t?4Lh*JL5NU zCy5=QcGrH7l)`F_3r^0hhTC`h`pH{cuwH51dShEG7UW5bGI9HV)C++`*KL)Yy#U+> z#ShiiUMZw55j@i|e^6rp02c30XDAu|`+NV=L{b>j`5EQ$1u+Ajcl$k;8rB3!CsZvg zu8rJ&^>z_;)Wt4|JkRN{u->%H@lQVc{^3aq_aj-R#-;5)#)-MJ09hoOou+wU9=FC< z+heIMJs2Dw$4%7PcaE#9`LNS?O&6h4Pi|5__M5x3JBl|`sm5qVU*i+RKK7(p8-g}~>U zg}%?R2nN>&{n?aHOIq$A1pxTAGYC-7zHsHGpA*~~;J>Pcqc5Xz=PMDmr_J+E=jXHF z-xrwB-W~!l)G{waK~u}o%xrv7I8MXg(~s+(b&>n-)3Rm0SWkO4qm_Jr=zNGH{&Yvn zSfeF(<+XaCmF3P|nhk}!0%Sxo7igPJ3Tb?~(%wA>NJBoP)xGBDaoErBnBPcZtL~X2 ze4*{tKSym|)~ycSm9qSk!xVE(d!bqO>73_ufXw3JdoDUZn(jNXF=dp|NKPmMH&g7+ zU&0nWGY{sh?~K#~D=|Wf7H=+5UMt>cUzP-qn6~>QG|43(!8uU;2wr#l-b*kFss?tG zd_3KMLvHS@bEkbQ%ariZ;y%3G^mVpuxS8OMTf4utwH=1?WLwiYiAk@Zg8P{VW|-({n_;a{28;>Z8$pv^9_Uh*938&w7yVLls@9>8xE-S0+2Q zhGW}-5gD1%k~8vbG8D&eN!Y#-vNIY}!!os&cUvxv)8%0kimA{)8&xaEzQMQ{P7Zdi z4{JH8w%NXt(`ij1i-G_Ez|H#&>rEpx>x476-K^I0ZrhTSg00i6@H?8*=ouUDjN3L- zoj>?&z88E9kL-9Y?M>pJR9W^{xvjAErY@YHip-HzPhH%YqK_|Lp=*Z}RgM(GhWHq8 z!3OIg3;g-`Eman-+*8KJ8jidER^3*Xlao8jZKwNvx2TMGYW}^sRyALh-iOD_;j;iszQ@{HtWkU9q=e$}lLryBmE2~zVg$KGs?jHUYK3_?;Hx9O(|9Z|Y9 z6h68-T`OM0MNa#$(R*$qrbW|^DPk$r)ID}xCT&yaVriH#+r*Pj)t%GHd}v#(CS|%6 zB~ins2s=mW-n50%4@Z^CWnl5ItrV5meUcn9Lv6-`?R=CTvhY3I2CiQ#%k{*oL#lcZ zR5M~6pShvVT(%A~?Phm6HEN%@GaU1Df+-1&+0VOza9!nRSdzu63lpVa97Ji^gZP?HJrzrewal|d99{BOzY1_`5CWD`)hOV+N z?GTRSQo~*J)M)$r&sT1?jK^}7wYoX}j7>PamN`A2%2)HxtQ?oRKbqw*qSa*OW(d5 z^Ys2#*%M}Tl)OtGw-`>p9rz3TIQgeyMWEaX)azJ_p#4KNGvU2tI>c1%$o8bjiS!E#^s#tQyn$=d@I#$>s%k(VdZeCU&V%cpGtY)CJE(2 zW91<7c-j%SO1PEHSMT+{1W zdRY28yeiykJNI;TTLQPr5qGV+K4ut3A|u^*daY_R1zVVQm7PJwd3Pk%l)Px$mXWI} zKR(zlh97TSn!!J-hYanCQvu93t$nj1i=|<~;?R*c@)pvVS<|Vhv8QWVKVzt#gT(MV zw=7M9jP?nWscU!HvmW;K-i@VAC@^-K%fY-`|9z1(zXNw49>2Tfgnq|$nBH!sm&{Z9 zc}A8{>)(TwyzIfn*2uV>qqH{n^X|6{1px&B0=AE#DB_u&i^su!SDai;-sR}Y{Iqz{ zU4d6UTzGw0Dcf;{wmT!sb_eWlAT-W+1fT1_+q!~%JmrAw*ejJ+(+vbDJjMV(jh zEUJB19?0vlp&;#ep1jsbq9g<9zGdl0au>05H`jORTU$wI6Cii*_@nLW*$qGLEQ7C? z4SJs~3l$hUs+Eh5a*6%m_RKjC2m#Vh>q(%@!OW&b!&&oISvN<74HP(R0KA54_~U!~ z_~FQrDH_=@9JJ-21A*U-1pt0@o9PNCeiSJlb-LQ)9_~t4%>`JDJWo=jr~*?8A|fINUjV%%{)oPs4P7I>vgse6l|X zPxlAA#=;{bBRk73cQxohl zZ11j5CbPcNA3Q$s_22d0FTtaYSILmSYCfFhp`zpuD*x-^LgkKLPh-M;Z7ANaul}Eo z4u7QJ0N%W$vghtwv{cjeHh^P&ynM(AQi16Bn1ovE1mhbjHlqFXK&C;c!wV uMb&rX2j1~kV^S%lloE`!3k!c|soE%(mse0;&cbBj>#x6VhvVUg9}WPk=o?@F literal 0 HcmV?d00001 diff --git a/Resources/Audio/Effects/Footsteps/tacsuit_step_02.ogg b/Resources/Audio/Effects/Footsteps/tacsuit_step_02.ogg new file mode 100644 index 0000000000000000000000000000000000000000..22dc965533b4a6cde2cc902705cb7d4c411739d5 GIT binary patch literal 29865 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 LX=^SGk^lezy8?ml literal 0 HcmV?d00001 diff --git a/Resources/Prototypes/DeltaV/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/DeltaV/Entities/Clothing/OuterClothing/hardsuits.yml index 041a1482b88..36a132e88b1 100644 --- a/Resources/Prototypes/DeltaV/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/DeltaV/Entities/Clothing/OuterClothing/hardsuits.yml @@ -1,6 +1,6 @@ # Standard Combat Hardsuits - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseMedium id: ClothingOuterHardsuitCombatStandard name: combat hardsuit description: A purpose-built combat suit designed to protect its user against all manner of enemy combatants in low pressure environments. @@ -44,7 +44,7 @@ # Medical Combat Hardsuits - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseMedium id: ClothingOuterHardsuitCombatMedical name: medical combat hardsuit description: A purpose-built combat suit designed to allow its user greater mobility for superior support of friendly units in active combat zones. @@ -88,7 +88,7 @@ # Riot Combat Hardsuits - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseHeavy id: ClothingOuterHardsuitCombatRiot name: riot combat hardsuit description: A purpose-built combat suit designed for crowd control against armed combatants in low pressure environments. @@ -132,7 +132,7 @@ # Advanced Combat Hardsuits - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseHeavy id: ClothingOuterHardsuitCombatAdvanced name: advanced combat hardsuit description: A purpose-built combat suit of second-generation design, providing unparalleled protection against all manner of kinetic forces in low pressure environments. diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml index 74561ef1975..96a5f77c5ee 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml @@ -205,6 +205,80 @@ - ItemMask restitution: 0.3 friction: 0.2 + - type: EmitsSoundOnMove + soundCollection: + collection: FootstepHardsuitLight + requiresWorn: true + distanceWalking: 2 + distanceSprinting: 3 + +- type: entity + abstract: true + parent: ClothingOuterHardsuitBase + id: ClothingOuterHardsuitBaseMedium + name: base hardsuit + components: + - type: EmitsSoundOnMove + soundCollection: + collection: FootstepHardsuitMedium + requiresWorn: true + distanceWalking: 2 + distanceSprinting: 3 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.25,0.25,0.25" + density: 600 + mask: + - ItemMask + restitution: 0.3 + friction: 0.2 + - type: DamageOtherOnHit + damage: + types: + Blunt: 30 + staminaCost: 60 + soundHit: + collection: MetalThud + - type: Clothing + equipDelay: 4 # For stuff like standard Tacsuits and Heavy Hardsuits. + unequipDelay: 4 + +- type: entity + abstract: true + parent: ClothingOuterHardsuitBase + id: ClothingOuterHardsuitBaseHeavy + name: base hardsuit + components: + - type: EmitsSoundOnMove + soundCollection: + collection: FootstepHardsuitHeavy + requiresWorn: true + distanceWalking: 2 + distanceSprinting: 3 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.25,0.25,0.25" + density: 800 + mask: + - ItemMask + restitution: 0.3 + friction: 0.2 + - type: DamageOtherOnHit + damage: + types: + Blunt: 45 + staminaCost: 110 + soundHit: + collection: MetalThud + - type: Clothing + equipDelay: 5 # For stuff like "Heavy" Tacsuits. + unequipDelay: 5 - type: entity abstract: true diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml index 0590e41e6b5..5966c3f579a 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml @@ -222,7 +222,7 @@ - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseMedium id: ClothingOuterHardsuitMaxim name: salvager maxim hardsuit description: Fire. Heat. These things forge great weapons, they also forge great salvagers. @@ -258,7 +258,7 @@ #Security Hardsuit - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseMedium id: ClothingOuterHardsuitSecurity name: security hardsuit description: A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor. @@ -290,7 +290,7 @@ #Brigmedic Hardsuit - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseMedium id: ClothingOuterHardsuitBrigmedic name: corpsman hardsuit # DeltaV - rename brigmedic to corpsman description: Special hardsuit of the guardian angel of the brig. It is the medical version of the security hardsuit. # I will fix the rest of this entry later when I resprite sec suits @@ -319,7 +319,7 @@ #Warden's Hardsuit - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseHeavy id: ClothingOuterHardsuitWarden name: warden's hardsuit description: A specialized riot suit geared to combat low pressure environments. @@ -351,7 +351,7 @@ #Captain's Hardsuit - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseMedium id: ClothingOuterHardsuitCap name: captain's armored spacesuit description: A formal armored spacesuit, made for the station's captain. @@ -387,7 +387,7 @@ #Chief Engineer's Hardsuit - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseMedium id: ClothingOuterHardsuitEngineeringWhite name: chief engineer's hardsuit description: A special hardsuit that protects against hazardous, low pressure environments, made for the chief engineer of the station. @@ -457,7 +457,7 @@ #Research Director's Hardsuit - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseHeavy id: ClothingOuterHardsuitRd name: experimental research hardsuit description: A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor. @@ -590,13 +590,13 @@ clothingPrototype: ClothingHeadHelmetHardsuitShanlinUnpainted - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseMedium id: ClothingOuterHardsuitSyndie name: blood-red hardsuit description: A heavily armored hardsuit designed for work in special operations. Property of Gorlex Marauders. components: - type: Sprite - sprite: Clothing/OuterClothing/Hardsuits/syndicate-base.rsi + sprite: Clothing/OuterClothing/Hardsuits/syndicate.rsi - type: Item size: Huge - type: Clothing @@ -653,7 +653,7 @@ #Syndicate Elite Hardsuit - type: entity - parent: ClothingOuterHardsuitSyndie + parent: ClothingOuterHardsuitSyndieElite id: ClothingOuterHardsuitShiweiUnpainted name: Cybersun tacsuit description: A special suit that protects against hazardous, low pressure environments. Has radiation shielding. @@ -711,7 +711,7 @@ #Syndicate Commander Hardsuit - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseHeavy id: ClothingOuterHardsuitSyndieCommander name: syndicate commander hardsuit description: A bulked up version of the blood-red hardsuit, purpose-built for the commander of a syndicate operative squad. Has significantly improved armor for those deadly front-lines firefights. @@ -745,7 +745,7 @@ #Cybersun Juggernaut Hardsuit - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseHeavy id: ClothingOuterHardsuitJuggernaut name: cybersun juggernaut suit description: A suit made by the cutting edge R&D department at cybersun to be hyper resilient. @@ -1015,7 +1015,7 @@ #Deathsquad - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseHeavy id: ClothingOuterHardsuitDeathsquad name: death squad hardsuit description: An advanced hardsuit favored by commandos for use in special operations. @@ -1051,7 +1051,7 @@ #CBURN Hardsuit - type: entity - parent: ClothingOuterHardsuitBase + parent: ClothingOuterHardsuitBaseMedium id: ClothingOuterHardsuitCBURN name: CBURN exosuit description: A lightweight yet strong exosuit used for special cleanup operations. diff --git a/Resources/Prototypes/SoundCollections/footsteps.yml b/Resources/Prototypes/SoundCollections/footsteps.yml index 66ee06dccbb..bc4fea720fc 100644 --- a/Resources/Prototypes/SoundCollections/footsteps.yml +++ b/Resources/Prototypes/SoundCollections/footsteps.yml @@ -220,3 +220,18 @@ - /Audio/Effects/Footsteps/highheels3.ogg - /Audio/Effects/Footsteps/highheels4.ogg - /Audio/Effects/Footsteps/highheels5.ogg + +- type: soundCollection + id: FootstepHardsuitLight + files: + - /Audio/Effects/Footsteps/tacsuit_step_01.ogg + +- type: soundCollection + id: FootstepHardsuitMedium + files: + - /Audio/Effects/Footsteps/tacsuit_step_02.ogg + +- type: soundCollection + id: FootstepHardsuitHeavy + files: + - /Audio/Effects/Footsteps/tacsuit_step_00.ogg From b7b7d1c7d4009aa51c566a11f68e54eac64f7d51 Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Sat, 1 Feb 2025 17:46:32 +0000 Subject: [PATCH 5/7] Automatic Changelog Update (#1698) --- Resources/Changelog/Changelog.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index fde9221659c..c4376d4aae0 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -11006,3 +11006,23 @@ Entries: id: 6785 time: '2025-01-31T23:42:34.0000000+00:00' url: https://github.com/Simple-Station/Einstein-Engines/pull/1694 +- author: VMSolidus and MajorMoth + changes: + - type: Add + message: Hardsuits now have sounds made when the wearer moves! + - type: Fix + message: >- + Fixed several bugs with EmitSoundOnMove. It no longer plays the same + sound 7 times in a row for the client. It can now differentiate between + items that must be worn to make sounds and otherwise. It can also have + variable distance needed to travel to make a sound. + - type: Add + message: >- + Hardsuits and Tacsuits are now separated into Light, Medium, and Heavy + categories, with each category having its own sound effects, mass, + throwing statistics, and don/doff time. Most hardsuits are Light. Most + Tacsuits are Medium. Some suits like Warden, Juggernaut, Nukie + Commander, and Mysta Bombsuit are heavy. + id: 6786 + time: '2025-02-01T17:46:07.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1698 From ed1bdb31363370c3da596847996cb619103dee15 Mon Sep 17 00:00:00 2001 From: dootythefrooty <137359445+dootythefrooty@users.noreply.github.com> Date: Sat, 1 Feb 2025 14:43:56 -0800 Subject: [PATCH 6/7] Holopad Context Menu Fix (#1699) # Description --- Holopads can finally be right clicked as well as show up in the context menu. Mappers rejoice. --- # Changelog :cl: - fix: Fixed holopads being unable to be right clicked on. --- .../Entities/Structures/Machines/holopad.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Machines/holopad.yml b/Resources/Prototypes/Entities/Structures/Machines/holopad.yml index 84ecb085530..234652ed40f 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/holopad.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/holopad.yml @@ -16,7 +16,8 @@ - SubfloorMask layer: - LowImpassable - hard: false + - type: Physics + canCollide: False - type: ApcPowerReceiver powerLoad: 300 - type: StationAiVision @@ -90,7 +91,7 @@ - type: WiresVisuals - type: Wires boardName: wires-board-name-holopad - layoutId: Holopad + layoutId: Holopad - type: Destructible thresholds: - trigger: @@ -104,7 +105,7 @@ node: machineFrame - !type:DoActsBehavior acts: ["Destruction"] - + - type: entity name: long-range holopad description: "A floor-mounted device for projecting holographic images to similar devices that are far away." @@ -117,7 +118,7 @@ - Map - Unlimited ignoreTelephonesOnSameGrid: true - + - type: entity name: quantum entangling holopad description: "An floor-mounted device for projecting holographic images to similar devices at extreme distances." @@ -151,7 +152,7 @@ id: HolopadHologram name: hologram categories: [ HideSpawnMenu ] - suffix: DO NOT MAP + suffix: DO NOT MAP components: - type: Transform anchored: true @@ -179,4 +180,4 @@ scrollRate: 0.125 - type: Tag tags: - - HideContextMenu \ No newline at end of file + - HideContextMenu From 481f5d1a3f84e0631f5f2919bf26c37e381a04ae Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Sat, 1 Feb 2025 22:44:22 +0000 Subject: [PATCH 7/7] Automatic Changelog Update (#1699) --- Resources/Changelog/Changelog.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c4376d4aae0..b9d1642f8f3 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -11026,3 +11026,10 @@ Entries: id: 6786 time: '2025-02-01T17:46:07.0000000+00:00' url: https://github.com/Simple-Station/Einstein-Engines/pull/1698 +- author: dootythefrooty + changes: + - type: Fix + message: Fixed holopads being unable to be right clicked on. + id: 6787 + time: '2025-02-01T22:43:56.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1699