From 742b2ce04e4ec1f813bc12c74b8ee43ffeaa147c Mon Sep 17 00:00:00 2001 From: RavmorganButOnCocaine Date: Sun, 8 Sep 2024 04:01:35 +0000 Subject: [PATCH 01/19] Automatic changelog update --- Resources/Changelog/ChangelogWhite.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index d84d24addd..94149018e6 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -1,13 +1,4 @@ Entries: -- author: HitPanda - changes: - - message: "\u041D\u043E\u0432\u044B\u0439 \u0440\u0435\u0436\u0438\u043C \u0441\ - \u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u0434\u043B\u044F \u043F\ - \u0440\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0438\u0432\u0435\u043D\ - \u0442\u043E\u0432" - type: Add - id: 40 - time: '2023-01-21T21:40:22.0000000+00:00' - author: RavMorgan changes: - message: "\u0423\u0434\u0430\u043B\u0435\u043D\u043E \u0432\u0441\u044F\u043A\u043E\ @@ -8711,3 +8702,11 @@ id: 539 time: '2024-09-07T15:41:55.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/688 +- author: Valtos + changes: + - message: "\u0424\u0438\u043A\u0441 \u043A\u0440\u0430\u0448\u0435\u0439 \u043F\ + \u0440\u0438 \u0437\u0430\u0445\u043E\u0434\u0435." + type: Fix + id: 540 + time: '2024-09-08T04:00:32.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/689 From 0c859628af3e451810daae612ff0d60cf502e1be Mon Sep 17 00:00:00 2001 From: Valtos Date: Tue, 10 Sep 2024 10:04:25 +0300 Subject: [PATCH 02/19] Update PULL_REQUEST_TEMPLATE.md --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4d5db5747f..3b998ddbeb 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -25,7 +25,7 @@ Для записей в списке изменений есть 4 значка: add, remove, tweak, fix. Думаю, вы сможете разобраться с остальным. Вы можете поставить свое имя после символа :cl:, чтобы изменить имя, которое будет отображаться в журнале изменений (в противном случае будет использоваться ваше имя пользователя GitHub) -Например: ":cl: DVOniksWyvern". +Например: ":cl: Amongus". Как правило, в журналы изменений следует помещать только то, что действительно важно игрокам. Вещи вроде "Рефактор системы X, но изменений вы не увидите" - не должны быть в журнале изменений, эти изменения обычные игроки не смогут заметить. From 3aeaba186516cb1e3c6636289bf8a4c912c6af8d Mon Sep 17 00:00:00 2001 From: BIGZi0348 <118811750+BIGZi0348@users.noreply.github.com> Date: Tue, 10 Sep 2024 20:20:56 +0300 Subject: [PATCH 03/19] Even smaller stuff (#690) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 45 to 44 * Фикс ошибки перевода * Voice mask translate --- Content.Server/VoiceMask/VoiceMaskerComponent.cs | 4 ++-- Resources/Locale/ru-RU/locales-new/autotranslate-21.ftl | 2 +- Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Content.Server/VoiceMask/VoiceMaskerComponent.cs b/Content.Server/VoiceMask/VoiceMaskerComponent.cs index a209393bf8..b0eb874ff2 100644 --- a/Content.Server/VoiceMask/VoiceMaskerComponent.cs +++ b/Content.Server/VoiceMask/VoiceMaskerComponent.cs @@ -7,7 +7,7 @@ namespace Content.Server.VoiceMask; public sealed partial class VoiceMaskerComponent : Component { [ViewVariables(VVAccess.ReadWrite), DataField] - public string LastSetName = "Unknown"; + public string LastSetName = "Неизвестный"; // WD translate [ViewVariables(VVAccess.ReadWrite)] public string? LastSetVoice; // tts @@ -20,4 +20,4 @@ public sealed partial class VoiceMaskerComponent : Component [DataField] public EntityUid? ActionEntity; -} \ No newline at end of file +} diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-21.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-21.ftl index b3a980910a..83a83889ff 100644 --- a/Resources/Locale/ru-RU/locales-new/autotranslate-21.ftl +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-21.ftl @@ -2,7 +2,7 @@ ent-ToyFigurineBoxer = фигурка боксёра .desc = Статуэтка, изображающая боксера в красных перчатках. ent-ToyFigurineCaptain = фигурка капитана .desc = Статуэтка, изображающая стандартную экипировку капитана, принадлежащего гражданскому судну Nanotrasen. -ent-ToyFigurineHeadOfSecurity = фигурка главый службы безопасности +ent-ToyFigurineHeadOfSecurity = фигурка главы службы безопасности .desc = Статуэтка, изображающая славного начальника отдела безопасности. ent-ToyFigurineWarden = фигурка надзирателя .desc = Статуэтка, изображающая надзирателя, готового в любой момент посадить кого-нибудь в тюрьму. diff --git a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml index 900479b660..4e02adf438 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml @@ -9,7 +9,7 @@ - type: Item size: Normal sprite: Objects/Tanks/generic.rsi - storedRotation: 45 + storedRotation: 44 # WD fixing some rare texture bug - type: Clothing quickEquip: false sprite: Objects/Tanks/generic.rsi From d596a6030d3209ca71b4c8f0ce68d1fa9294abaa Mon Sep 17 00:00:00 2001 From: RavmorganButOnCocaine Date: Tue, 10 Sep 2024 17:22:00 +0000 Subject: [PATCH 04/19] Automatic changelog update --- Resources/Changelog/ChangelogWhite.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index 94149018e6..c08890fd2a 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -1,11 +1,4 @@ Entries: -- author: RavMorgan - changes: - - message: "\u0423\u0434\u0430\u043B\u0435\u043D\u043E \u0432\u0441\u044F\u043A\u043E\ - \u0435!" - type: Add - id: 41 - time: '2023-01-22T11:26:16.0000000+00:00' - author: RavMorgan changes: - message: "\u041A\u043E\u043D\u0441\u043E\u043B\u044C \u0445\u043E\u043F\u0430\ @@ -8710,3 +8703,11 @@ id: 540 time: '2024-09-08T04:00:32.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/689 +- author: BIG_Zi_348 + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u044B \u043C\u0435\ + \u043B\u043E\u0447\u0438" + type: Fix + id: 541 + time: '2024-09-10T17:20:56.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/690 From fa5037e093c9540a56ed90474e8172c8ca72527f Mon Sep 17 00:00:00 2001 From: BIGZi0348 <118811750+BIGZi0348@users.noreply.github.com> Date: Thu, 12 Sep 2024 21:29:30 +0300 Subject: [PATCH 05/19] =?UTF-8?q?=D0=9B=D0=BE=D0=BA=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D1=88=D0=B5=D0=BF=D0=B5=D0=BB?= =?UTF-8?q?=D1=8F=D0=B2=D0=BE=D1=81=D1=82=D0=B8=20(#691)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Speech/EntitySystems/FrontalLispSystem.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Content.Server/Speech/EntitySystems/FrontalLispSystem.cs b/Content.Server/Speech/EntitySystems/FrontalLispSystem.cs index 1508a8b2d4..7d55cd491d 100644 --- a/Content.Server/Speech/EntitySystems/FrontalLispSystem.cs +++ b/Content.Server/Speech/EntitySystems/FrontalLispSystem.cs @@ -10,6 +10,12 @@ public sealed class FrontalLispSystem : EntitySystem private static readonly Regex RegexLowerTh = new(@"[t]+[s]+|[s]+[c]+(?=[iey]+)|[c]+(?=[iey]+)|[p][s]+|([s]+[t]+|[t]+)(?=[i]+[o]+[u]*[n]*)|[c]+[h]+(?=[i]*[e]*)|[z]+|[s]+|[x]+(?=[e]+)"); private static readonly Regex RegexUpperEcks = new(@"[E]+[Xx]+[Cc]*|[X]+"); private static readonly Regex RegexLowerEcks = new(@"[e]+[x]+[c]*|[x]+"); + // WD start + private static readonly Regex RegexUpperS = new(@"С"); + private static readonly Regex RegexLowerS = new(@"с"); + private static readonly Regex RegexUpperZ = new(@"З"); + private static readonly Regex RegexLowerZ = new(@"з"); + // WD end // @formatter:on public override void Initialize() @@ -29,6 +35,13 @@ public sealed class FrontalLispSystem : EntitySystem message = RegexUpperEcks.Replace(message, "EKTH"); message = RegexLowerEcks.Replace(message, "ekth"); + // WD start + message = RegexUpperS.Replace(message, "Ш"); + message = RegexLowerS.Replace(message, "ш"); + message = RegexUpperZ.Replace(message, "Ж"); + message = RegexLowerZ.Replace(message, "ж"); + // WD end + args.Message = message; } } From 3c7cc82f36268130edc1a21d2239adc7f6838874 Mon Sep 17 00:00:00 2001 From: Jabak <163307958+Jabaks@users.noreply.github.com> Date: Thu, 12 Sep 2024 21:30:03 +0300 Subject: [PATCH 06/19] =?UTF-8?q?=D0=91=D0=A3=D0=9C!!!!!!!!=20(#692)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Content.Server/Nuke/NukeSystem.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Content.Server/Nuke/NukeSystem.cs b/Content.Server/Nuke/NukeSystem.cs index db425b491e..fbc25027d0 100644 --- a/Content.Server/Nuke/NukeSystem.cs +++ b/Content.Server/Nuke/NukeSystem.cs @@ -4,6 +4,7 @@ using Content.Server.Chat.Systems; using Content.Server.Explosion.EntitySystems; using Content.Server.Pinpointer; using Content.Server.Popups; +using Content.Server.RoundEnd; using Content.Server.Station.Systems; using Content.Shared.Audio; using Content.Shared.Containers.ItemSlots; @@ -43,6 +44,7 @@ public sealed class NukeSystem : EntitySystem [Dependency] private readonly StationSystem _station = default!; [Dependency] private readonly UserInterfaceSystem _ui = default!; [Dependency] private readonly AppearanceSystem _appearance = default!; + [Dependency] private readonly RoundEndSystem _roundEndSystem = default!; /// /// Used to calculate when the nuke song should start playing for maximum kino with the nuke sfx @@ -568,6 +570,8 @@ public sealed class NukeSystem : EntitySystem _sound.StopStationEventMusic(uid, StationEventMusicType.Nuke); Del(uid); + + _roundEndSystem.EndRound(TimeSpan.FromSeconds(30)); //Giedi EDIT } /// From 52fdb873d92b8742483c94fb9bd177091581be4e Mon Sep 17 00:00:00 2001 From: RavmorganButOnCocaine Date: Thu, 12 Sep 2024 18:31:06 +0000 Subject: [PATCH 07/19] Automatic changelog update --- Resources/Changelog/ChangelogWhite.yml | 35 +++++++++++++------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index c08890fd2a..b884adf7bb 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -1,21 +1,4 @@ Entries: -- author: RavMorgan - changes: - - message: "\u041A\u043E\u043D\u0441\u043E\u043B\u044C \u0445\u043E\u043F\u0430\ - \ \u0442\u0435\u043F\u0435\u0440\u044C \u043D\u043E\u0440\u043C\u0430\u043B\u044C\ - \u043D\u043E \u043E\u0442\u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\ - \u043D\u0430!" - type: Add - id: 42 - time: '2023-01-22T11:28:17.0000000+00:00' -- author: RavMorgan - changes: - - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u0440\u0435\u0437\ - \u043D\u044F \u0432 \u043A\u043E\u043D\u0446\u0435 \u0440\u0430\u0443\u043D\u0434\ - \u0430!" - type: Add - id: 43 - time: '2023-01-22T12:11:03.0000000+00:00' - author: RavMorgan changes: - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u0431\u043B\u043E\ @@ -8711,3 +8694,21 @@ id: 541 time: '2024-09-10T17:20:56.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/690 +- author: Jabak + changes: + - message: "\u042F\u0434\u0435\u0440\u043A\u0430 \u0434\u0435\u043B\u0430\u0435\u0442\ + \ \u0411\u0423\u041C!!! \u0420\u0430\u0443\u043D\u0434 \u0437\u0430\u043A\u0430\ + \u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F." + type: Fix + id: 542 + time: '2024-09-12T18:30:03.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/692 +- author: BIG_Zi + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u043F\u0435\u0440\u0435\ + \u0432\u043E\u0434 \u0430\u043A\u0446\u0435\u043D\u0442\u0430 \u0448\u0435\u043F\ + \u0435\u043B\u044F\u0432\u043E\u0441\u0442\u0438." + type: Add + id: 543 + time: '2024-09-12T18:29:30.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/691 From 724e4e0e3c602f1d28a1ad562e7f738d07e8d4e9 Mon Sep 17 00:00:00 2001 From: ThereDrD <88589686+ThereDrD0@users.noreply.github.com> Date: Thu, 12 Sep 2024 21:52:04 +0300 Subject: [PATCH 08/19] =?UTF-8?q?=D0=91=D0=BE=D0=BB=D1=8C=D1=88=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=80=D0=B5=D0=B1=D0=B0=D0=BB=D0=B0=D0=BD=D1=81=20?= =?UTF-8?q?=D0=BC=D0=B8=D0=BB=D0=B8=D1=88=D0=BA=D0=B8=20(#681)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * MeleeThrowOnHit rework * buff baseball bat * better mjolnir * telebaton system unhardcode + refactor + transform TelescopicBatonComponent to KnockDownOnHitComponent * fix telebaton prototype * darova * fix KnockDownOnHitSystem * chaplain weapons rebalance * fix nullrod hit sound * BloodstreamSystem cleanup * bleeding rebalance * damage rebalance * small baseball bat fix --- .../Body/Systems/BloodstreamSystem.cs | 40 +-- .../Components/ItemToggleComponent.cs | 8 + .../Item/ItemToggle/SharedItemToggleSystem.cs | 23 ++ .../StatusEffect/StatusEffectsSystem.cs | 24 ++ .../Stunnable/KnockedDownComponent.cs | 12 +- Content.Shared/Stunnable/SharedStunSystem.cs | 34 ++- .../Components/MeleeThrowOnHitComponent.cs | 12 +- .../Weapons/Melee/MeleeThrowOnHitSystem.cs | 53 +++- .../KnockDownOnHit/KnockDownOnHitComponent.cs | 17 ++ .../KnockDownOnHit/KnockDownOnHitSystem.cs | 49 ++++ .../TelescopicBatonComponent.cs | 8 - .../TelescopicBaton/TelescopicBatonSystem.cs | 56 ---- .../Locale/ru-RU/_white/object/telebaton.ftl | 3 + Resources/Prototypes/Damage/modifier_sets.yml | 8 +- .../Objects/Weapons/Melee/baseball_bat.yml | 13 +- .../Entities/Objects/Weapons/Melee/cane.yml | 2 +- .../Entities/Objects/Weapons/Melee/cult.yml | 8 +- .../Objects/Weapons/Melee/daggers.yml | 6 +- .../Objects/Weapons/Melee/e_sword.yml | 12 +- .../Objects/Weapons/Melee/fireaxe.yml | 6 +- .../Entities/Objects/Weapons/Melee/knife.yml | 20 +- .../Entities/Objects/Weapons/Melee/sword.yml | 18 +- .../Objects/Weapons/Melee/tagilla_hammer.yml | 6 +- .../Weapons/Throwable/throwing_stars.yml | 2 +- .../Objects/Weapons/chaplain_weapons.yml | 263 ++++++++++++------ .../Objects/Weapons/telescopic_baton.yml | 4 +- Resources/Prototypes/_White/Fluff/fluff.yml | 2 +- .../Prototypes/_White/Wizard/magic_items.yml | 3 +- 28 files changed, 466 insertions(+), 246 deletions(-) create mode 100644 Content.Shared/_White/Item/KnockDownOnHit/KnockDownOnHitComponent.cs create mode 100644 Content.Shared/_White/Item/KnockDownOnHit/KnockDownOnHitSystem.cs delete mode 100644 Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonComponent.cs delete mode 100644 Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonSystem.cs diff --git a/Content.Server/Body/Systems/BloodstreamSystem.cs b/Content.Server/Body/Systems/BloodstreamSystem.cs index fdf29d659d..3262514b96 100644 --- a/Content.Server/Body/Systems/BloodstreamSystem.cs +++ b/Content.Server/Body/Systems/BloodstreamSystem.cs @@ -1,6 +1,5 @@ using Content.Server._White.Accent.Bloodloss; using Content.Server.Body.Components; -using Content.Server.Chemistry.Containers.EntitySystems; using Content.Server.Chemistry.ReactionEffects; using Content.Server.Fluids.EntitySystems; using Content.Server.Forensics; @@ -13,7 +12,6 @@ using Content.Shared.Chemistry.EntitySystems; using Content.Shared.Chemistry.Reaction; using Content.Shared.Damage; using Content.Shared.Damage.Components; -using Content.Shared.Damage.Prototypes; using Content.Shared.Drunk; using Content.Shared.FixedPoint; using Content.Shared.Mobs; @@ -23,7 +21,6 @@ using Content.Shared.Mobs.Systems; using Content.Shared.Movement.Systems; using Content.Shared.Popups; using Content.Shared.Rejuvenate; -using Content.Shared.Speech.EntitySystems; using Robust.Server.Audio; using Robust.Shared.Prototypes; using Robust.Shared.Random; @@ -42,8 +39,7 @@ public sealed class BloodstreamSystem : EntitySystem [Dependency] private readonly PuddleSystem _puddleSystem = default!; [Dependency] private readonly MobStateSystem _mobStateSystem = default!; [Dependency] private readonly SharedDrunkSystem _drunkSystem = default!; - [Dependency] private readonly SolutionContainerSystem _solutionContainerSystem = default!; - [Dependency] private readonly SharedStutteringSystem _stutteringSystem = default!; + [Dependency] private readonly SharedSolutionContainerSystem _solutionContainerSystem = default!; [Dependency] private readonly AlertsSystem _alertsSystem = default!; [Dependency] private readonly ForensicsSystem _forensicsSystem = default!; [Dependency] private readonly MovementSpeedModifierSystem _speed = default!; // WD @@ -188,12 +184,23 @@ public sealed class BloodstreamSystem : EntitySystem private void OnComponentInit(Entity entity, ref ComponentInit args) { - var chemicalSolution = _solutionContainerSystem.EnsureSolution(entity.Owner, entity.Comp.ChemicalSolutionName); - var bloodSolution = _solutionContainerSystem.EnsureSolution(entity.Owner, entity.Comp.BloodSolutionName); - var tempSolution = _solutionContainerSystem.EnsureSolution(entity.Owner, entity.Comp.BloodTemporarySolutionName); + _solutionContainerSystem.EnsureSolution(entity.Owner, entity.Comp.ChemicalSolutionName, out var chemicalSolution); + _solutionContainerSystem.EnsureSolution(entity.Owner, entity.Comp.BloodSolutionName, out var bloodSolution); + _solutionContainerSystem.EnsureSolution(entity.Owner, entity.Comp.BloodTemporarySolutionName, out var tempSolution); + + if (chemicalSolution == null) + return; chemicalSolution.MaxVolume = entity.Comp.ChemicalMaxVolume; + + if (bloodSolution == null) + return; + bloodSolution.MaxVolume = entity.Comp.BloodMaxVolume; + + if (tempSolution == null) + return; + tempSolution.MaxVolume = entity.Comp.BleedPuddleThreshold * 4; // give some leeway, for chemstream as well // Fill blood solution with BLOOD @@ -203,12 +210,10 @@ public sealed class BloodstreamSystem : EntitySystem private void OnDamageChanged(Entity ent, ref DamageChangedEvent args) { if (args.DamageDelta is null || !args.DamageIncreased) - { return; - } // TODO probably cache this or something. humans get hurt a lot - if (!_prototypeManager.TryIndex(ent.Comp.DamageBleedModifiers, out var modifiers)) + if (!_prototypeManager.TryIndex(ent.Comp.DamageBleedModifiers, out var modifiers)) return; var bloodloss = DamageSpecifier.ApplyModifierSet(args.DamageDelta, modifiers); @@ -222,11 +227,12 @@ public sealed class BloodstreamSystem : EntitySystem var totalFloat = total.Float(); TryModifyBleedAmount(ent, totalFloat, ent); - /// - /// Critical hit. Causes target to lose blood, using the bleed rate modifier of the weapon, currently divided by 5 - /// The crit chance is currently the bleed rate modifier divided by 25. - /// Higher damage weapons have a higher chance to crit! - /// + /* + Critical hit. Causes target to lose blood, using the bleed rate modifier of the weapon, currently divided by 5 + The crit chance is currently the bleed rate modifier divided by 25. + Higher damage weapons have a higher chance to crit! + */ + var prob = Math.Clamp(totalFloat / 25, 0, 1); if (totalFloat > 0 && _robustRandom.Prob(prob)) { @@ -413,7 +419,7 @@ public sealed class BloodstreamSystem : EntitySystem if (HasComp(uid)) // WD { - if (component.BleedAmount == 0f) + if (component.BleedAmount == 0) RemComp(uid); _speed.RefreshMovementSpeedModifiers(uid); diff --git a/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs b/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs index 620ddfd194..be8f1b5912 100644 --- a/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs +++ b/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs @@ -51,6 +51,14 @@ public sealed partial class ItemToggleComponent : Component /// [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] public bool ToggleLight = true; + + // WD added start + [DataField] + public string ActivatedDescription = "comp-item-toggle-on"; // fallback/standard text + + [DataField] + public string DeactivatedDescription = "comp-item-toggle-off"; // fallback/standard text + // WD added end } /// diff --git a/Content.Shared/Item/ItemToggle/SharedItemToggleSystem.cs b/Content.Shared/Item/ItemToggle/SharedItemToggleSystem.cs index 4ef614f298..5b69bca6b9 100644 --- a/Content.Shared/Item/ItemToggle/SharedItemToggleSystem.cs +++ b/Content.Shared/Item/ItemToggle/SharedItemToggleSystem.cs @@ -1,3 +1,4 @@ +using Content.Shared.Examine; using Content.Shared.Interaction.Events; using Content.Shared.Item.ItemToggle.Components; using Content.Shared.Popups; @@ -23,6 +24,8 @@ public abstract class SharedItemToggleSystem : EntitySystem [Dependency] private readonly INetManager _netManager = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SharedItemSystem _item = default!; // WD + public override void Initialize() { base.Initialize(); @@ -35,6 +38,9 @@ public abstract class SharedItemToggleSystem : EntitySystem SubscribeLocalEvent(OnIsHotEvent); SubscribeLocalEvent(UpdateActiveSound); + + SubscribeLocalEvent(OnExamined); // WD + SubscribeLocalEvent(UpdatePrefix); // WD } private void OnStartup(Entity ent, ref ComponentStartup args) @@ -255,4 +261,21 @@ public abstract class SharedItemToggleSystem : EntitySystem activeSound.PlayingStream = _audio.Stop(activeSound.PlayingStream); } } + + // WD added start + private void OnExamined(Entity ent, ref ExaminedEvent args) + { + var onMsg = IsActivated(ent.Owner) + ? Loc.GetString(ent.Comp.ActivatedDescription) + : Loc.GetString(ent.Comp.DeactivatedDescription); + + args.PushMarkup(onMsg); + } + + private void UpdatePrefix(Entity ent, ref ItemToggledEvent args) + { + _item.SetHeldPrefix(ent.Owner, args.Activated ? "on" : "off"); + } + + // WD added end } diff --git a/Content.Shared/StatusEffect/StatusEffectsSystem.cs b/Content.Shared/StatusEffect/StatusEffectsSystem.cs index f3e3e12bd8..50435d9fa9 100644 --- a/Content.Shared/StatusEffect/StatusEffectsSystem.cs +++ b/Content.Shared/StatusEffect/StatusEffectsSystem.cs @@ -123,6 +123,30 @@ namespace Content.Shared.StatusEffect return false; } + // WD added start + // May god forgive us + public bool TryAddStatusEffect(EntityUid uid, string key, TimeSpan time, bool refresh, Component component, + StatusEffectsComponent? status = null) + where T : IComponent, new() + { + if (!Resolve(uid, ref status, false)) + return false; + + if (TryAddStatusEffect(uid, key, time, refresh, status)) + { + // If they already have the comp, we just won't bother updating anything. + if (!EntityManager.HasComponent(uid)) + { + EntityManager.AddComponent(uid, component); + status.ActiveEffects[key].RelevantComponent = _componentFactory.GetComponentName(component.GetType()); + } + return true; + } + + return false; + } + // WD added end + public bool TryAddStatusEffect(EntityUid uid, string key, TimeSpan time, bool refresh, string component, StatusEffectsComponent? status = null) { diff --git a/Content.Shared/Stunnable/KnockedDownComponent.cs b/Content.Shared/Stunnable/KnockedDownComponent.cs index e4f11b8cda..cd1d8077c2 100644 --- a/Content.Shared/Stunnable/KnockedDownComponent.cs +++ b/Content.Shared/Stunnable/KnockedDownComponent.cs @@ -1,18 +1,24 @@ +using Content.Shared.Standing.Systems; using Robust.Shared.Audio; using Robust.Shared.GameStates; -using Robust.Shared.Serialization; namespace Content.Shared.Stunnable; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(SharedStunSystem))] public sealed partial class KnockedDownComponent : Component { - [DataField("helpInterval"), AutoNetworkedField] + [DataField, AutoNetworkedField] public float HelpInterval = 1f; - [DataField("helpAttemptSound")] + [DataField] public SoundSpecifier StunAttemptSound = new SoundPathSpecifier("/Audio/Effects/thudswoosh.ogg"); [ViewVariables, AutoNetworkedField] public float HelpTimer = 0f; + + // WD added start + // Holy shit why is this so long + [DataField, AutoNetworkedField] + public SharedStandingStateSystem.DropHeldItemsBehavior KnockDownBehavior = SharedStandingStateSystem.DropHeldItemsBehavior.DropIfStanding; + // WD added end } diff --git a/Content.Shared/Stunnable/SharedStunSystem.cs b/Content.Shared/Stunnable/SharedStunSystem.cs index 6053086196..7b3866791d 100644 --- a/Content.Shared/Stunnable/SharedStunSystem.cs +++ b/Content.Shared/Stunnable/SharedStunSystem.cs @@ -106,25 +106,25 @@ public abstract class SharedStunSystem : EntitySystem private void OnKnockInit(EntityUid uid, KnockedDownComponent component, ComponentInit args) { - RaiseNetworkEvent(new CheckAutoGetUpEvent()); // WD EDIT - _standingState.TryLieDown(uid, null, SharedStandingStateSystem.DropHeldItemsBehavior.DropIfStanding); + RaiseNetworkEvent(new CheckAutoGetUpEvent()); // WD edit + _standingState.TryLieDown(uid, null, component.KnockDownBehavior); // WD edit } private void OnKnockShutdown(EntityUid uid, KnockedDownComponent component, ComponentShutdown args) { - // WD EDIT START + // WD edit start // Don't stand up if we can lie down via keybind - if (!TryComp(uid, out StandingStateComponent? standing) || !(!standing.CanLieDown || standing.AutoGetUp)) // WD EDIT + if (!TryComp(uid, out StandingStateComponent? standing) || !(!standing.CanLieDown || standing.AutoGetUp)) // WD edit return; - if (standing.AutoGetUp && !_container.IsEntityInContainer(uid)) // WD EDIT + if (standing.AutoGetUp && !_container.IsEntityInContainer(uid)) // WD edit { _standingState.TryStandUp(uid, standing); return; } _standingState.Stand(uid, standing); - // WD EDIT END + // WD edit end } private void OnStandAttempt(EntityUid uid, KnockedDownComponent component, StandAttemptEvent args) @@ -178,7 +178,7 @@ public abstract class SharedStunSystem : EntitySystem /// Knocks down the entity, making it fall to the ground. /// public bool TryKnockdown(EntityUid uid, TimeSpan time, bool refresh, - StatusEffectsComponent? status = null) + StatusEffectsComponent? status = null, SharedStandingStateSystem.DropHeldItemsBehavior? behavior = null) { if (time <= TimeSpan.Zero) return false; @@ -186,8 +186,24 @@ public abstract class SharedStunSystem : EntitySystem if (!Resolve(uid, ref status, false)) return false; - if (!_statusEffect.TryAddStatusEffect(uid, "KnockedDown", time, refresh)) - return false; + // WD added start + // May god forgive us + if (behavior.HasValue && !HasComp(uid)) + { + var knockedDownComponent = new KnockedDownComponent + { + KnockDownBehavior = behavior.Value + }; + + if (!_statusEffect.TryAddStatusEffect(uid, "KnockedDown", time, refresh, knockedDownComponent)) + return false; + } + else + { + if (!_statusEffect.TryAddStatusEffect(uid, "KnockedDown", time, refresh)) + return false; + } + // WD added end var ev = new KnockedDownEvent(); RaiseLocalEvent(uid, ref ev); diff --git a/Content.Shared/Weapons/Melee/Components/MeleeThrowOnHitComponent.cs b/Content.Shared/Weapons/Melee/Components/MeleeThrowOnHitComponent.cs index 43425ad798..f63941569a 100644 --- a/Content.Shared/Weapons/Melee/Components/MeleeThrowOnHitComponent.cs +++ b/Content.Shared/Weapons/Melee/Components/MeleeThrowOnHitComponent.cs @@ -48,7 +48,7 @@ public sealed partial class MeleeThrowOnHitComponent : Component [AutoNetworkedField] public bool Enabled = true; - // WD START + // WD added [DataField, ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] public float StunTime; @@ -56,7 +56,15 @@ public sealed partial class MeleeThrowOnHitComponent : Component [DataField, ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] public bool ThrowOnThrowHit; - // WD END + + [DataField, ViewVariables(VVAccess.ReadWrite)] + [AutoNetworkedField] + public bool FallAfterHit; + + [DataField, ViewVariables(VVAccess.ReadWrite)] + [AutoNetworkedField] + public bool RequireWield = true; + // WD added } /// diff --git a/Content.Shared/Weapons/Melee/MeleeThrowOnHitSystem.cs b/Content.Shared/Weapons/Melee/MeleeThrowOnHitSystem.cs index 65693dc506..c6b5bcf277 100644 --- a/Content.Shared/Weapons/Melee/MeleeThrowOnHitSystem.cs +++ b/Content.Shared/Weapons/Melee/MeleeThrowOnHitSystem.cs @@ -1,9 +1,11 @@ using System.Numerics; using Content.Shared.Construction.Components; +using Content.Shared.Standing.Systems; using Content.Shared.Stunnable; using Content.Shared.Throwing; using Content.Shared.Weapons.Melee.Components; using Content.Shared.Weapons.Melee.Events; +using Content.Shared.Wieldable.Components; using Robust.Shared.Physics; using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Events; @@ -20,8 +22,9 @@ public sealed class MeleeThrowOnHitSystem : EntitySystem [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly SharedPhysicsSystem _physics = default!; - [Dependency] private readonly SharedStunSystem _stun = default!; // WD - [Dependency] private readonly ThrownItemSystem _thrownItem = default!; // WD + [Dependency] private readonly SharedStunSystem _stun = default!; // WD added + [Dependency] private readonly ThrownItemSystem _thrownItem = default!; // WD added + [Dependency] private readonly SharedStandingStateSystem _standingState = default!; // WD added /// public override void Initialize() @@ -36,8 +39,10 @@ public sealed class MeleeThrowOnHitSystem : EntitySystem private void OnDoHit(Entity ent, ref ThrowDoHitEvent args) // WD { + // WD edit start if (!ent.Comp.ThrowOnThrowHit) return; + // WD edit end if (!CanThrowOnHit(ent, args.Target)) return; @@ -55,9 +60,15 @@ public sealed class MeleeThrowOnHitSystem : EntitySystem MinLifetime = ent.Comp.MinLifetime }; AddComp(args.Target, thrownComp); + + // WD added start if (ent.Comp.StunTime != 0f) _stun.TryParalyze(args.Target, TimeSpan.FromSeconds(ent.Comp.StunTime), true); + else if (ent.Comp.FallAfterHit) + _standingState.TryLieDown(ent, null, SharedStandingStateSystem.DropHeldItemsBehavior.DropIfStanding); + // WD added end + _thrownItem.LandComponent(ent, args.Component, physics, false); _physics.SetLinearVelocity(ent, Vector2.Zero); } @@ -67,14 +78,24 @@ public sealed class MeleeThrowOnHitSystem : EntitySystem if (args.Handled) // WD return; - var (_, comp) = ent; if (!args.IsHit) return; - // WD START - var stunTime = comp.StunTime; - var speed = comp.Speed; - var lifetime = comp.Lifetime; + // WD added start + if (ent.Comp.RequireWield) + { + if (!TryComp(args.Weapon, out var weapon)) + return; + + if (!weapon.Wielded) + return; + } + // WD added end + + // WD edit start + var stunTime = ent.Comp.StunTime; + var speed = ent.Comp.Speed; + var lifetime = ent.Comp.Lifetime; if (args.Direction != null) // Heavy attack { @@ -82,7 +103,7 @@ public sealed class MeleeThrowOnHitSystem : EntitySystem speed *= 0.5f; lifetime *= 0.5f; } - // WD END + // WD edit end var mapPos = _transform.GetMapCoordinates(args.User).Position; foreach (var hit in args.HitEntities) @@ -95,7 +116,7 @@ public sealed class MeleeThrowOnHitSystem : EntitySystem if (!CanThrowOnHit(ent, hit)) continue; - if (comp.UnanchorOnHit && HasComp(hit)) + if (ent.Comp.UnanchorOnHit && HasComp(hit)) { _transform.Unanchor(hit, Transform(hit)); } @@ -105,13 +126,19 @@ public sealed class MeleeThrowOnHitSystem : EntitySystem RaiseLocalEvent(hit, ref ev); var thrownComp = new MeleeThrownComponent { - Velocity = angle.Normalized() * speed, // WD EDIT - Lifetime = lifetime, // WD EDIT - MinLifetime = comp.MinLifetime + Velocity = angle.Normalized() * speed, // WD edit + Lifetime = lifetime, // WD edit + MinLifetime = ent.Comp.MinLifetime }; AddComp(hit, thrownComp); + + // WD added end if (stunTime != 0f) _stun.TryParalyze(hit, TimeSpan.FromSeconds(stunTime), true); + + else if (ent.Comp.FallAfterHit) + _standingState.TryLieDown(hit); + // WD added start } } @@ -126,9 +153,11 @@ public sealed class MeleeThrowOnHitSystem : EntitySystem comp.PreviousStatus = body.BodyStatus; comp.ThrownEndTime = _timing.CurTime + TimeSpan.FromSeconds(comp.Lifetime); comp.MinLifetimeTime = _timing.CurTime + TimeSpan.FromSeconds(comp.MinLifetime); + _physics.SetBodyStatus(ent, body, BodyStatus.InAir); _physics.SetLinearVelocity(ent, Vector2.Zero, body: body); _physics.ApplyLinearImpulse(ent, comp.Velocity * body.Mass, body: body); + Dirty(ent, ent.Comp); } diff --git a/Content.Shared/_White/Item/KnockDownOnHit/KnockDownOnHitComponent.cs b/Content.Shared/_White/Item/KnockDownOnHit/KnockDownOnHitComponent.cs new file mode 100644 index 0000000000..16ecba2f9f --- /dev/null +++ b/Content.Shared/_White/Item/KnockDownOnHit/KnockDownOnHitComponent.cs @@ -0,0 +1,17 @@ +using Content.Shared.Standing.Systems; +using Robust.Shared.GameStates; + +namespace Content.Shared._White.Item.KnockDownOnHit; + +[RegisterComponent, NetworkedComponent] +public sealed partial class KnockDownOnHitComponent : Component +{ + [DataField, ViewVariables(VVAccess.ReadWrite)] + public TimeSpan KnockdownTime = TimeSpan.FromSeconds(1.5f); + + [DataField] + public SharedStandingStateSystem.DropHeldItemsBehavior? KnockDownBehavior; + + [DataField] + public bool RequireWield; +} diff --git a/Content.Shared/_White/Item/KnockDownOnHit/KnockDownOnHitSystem.cs b/Content.Shared/_White/Item/KnockDownOnHit/KnockDownOnHitSystem.cs new file mode 100644 index 0000000000..891049ae98 --- /dev/null +++ b/Content.Shared/_White/Item/KnockDownOnHit/KnockDownOnHitSystem.cs @@ -0,0 +1,49 @@ +using Content.Shared.Damage.Events; +using Content.Shared.Item.ItemToggle; +using Content.Shared.Stunnable; +using Content.Shared.Weapons.Melee.Events; +using Content.Shared.Wieldable.Components; + +namespace Content.Shared._White.Item.KnockDownOnHit; + +public sealed class KnockDownOnHitSystem : EntitySystem +{ + + [Dependency] private readonly SharedStunSystem _stun = default!; + [Dependency] private readonly SharedItemToggleSystem _itemToggle = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnStaminaHitAttempt); + SubscribeLocalEvent(OnHit); + } + + private void OnHit(Entity ent, ref MeleeHitEvent args) + { + var time = ent.Comp.KnockdownTime; + if (time <= TimeSpan.Zero) + return; + + foreach (var uid in args.HitEntities) + { + if (ent.Comp.RequireWield) + { + if (!TryComp(args.Weapon, out var weapon)) + continue; + + if (!weapon.Wielded) + continue; + } + + _stun.TryKnockdown(uid, time, true, behavior: ent.Comp.KnockDownBehavior); + } + } + + private void OnStaminaHitAttempt(Entity entity, ref StaminaDamageOnHitAttemptEvent args) + { + if (!_itemToggle.IsActivated(entity.Owner)) + args.Cancelled = true; + } +} diff --git a/Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonComponent.cs b/Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonComponent.cs deleted file mode 100644 index b8811c8a23..0000000000 --- a/Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonComponent.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Content.Shared._White.Item.TelescopicBaton; - -[RegisterComponent] -public sealed partial class TelescopicBatonComponent : Component -{ - [DataField, ViewVariables(VVAccess.ReadWrite)] - public TimeSpan KnockdownTime = TimeSpan.FromSeconds(1.5f); -} diff --git a/Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonSystem.cs b/Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonSystem.cs deleted file mode 100644 index f341059862..0000000000 --- a/Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonSystem.cs +++ /dev/null @@ -1,56 +0,0 @@ -using Content.Shared.Damage.Events; -using Content.Shared.Examine; -using Content.Shared.Item; -using Content.Shared.Item.ItemToggle; -using Content.Shared.Item.ItemToggle.Components; -using Content.Shared.Stunnable; - -namespace Content.Shared._White.Item.TelescopicBaton; - -public sealed class TelescopicBatonSystem : EntitySystem -{ - [Dependency] private readonly SharedItemSystem _item = default!; - [Dependency] private readonly SharedStunSystem _stun = default!; - [Dependency] private readonly SharedItemToggleSystem _itemToggle = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnExamined); - SubscribeLocalEvent(OnStaminaHitAttempt); - SubscribeLocalEvent(ToggleDone); - SubscribeLocalEvent(OnHit); - } - - private void OnHit(Entity ent, ref StaminaMeleeHitEvent args) - { - var time = ent.Comp.KnockdownTime; - if (time <= TimeSpan.Zero) - return; - - foreach (var (uid, _) in args.HitList) - { - _stun.TryKnockdown(uid, time, true); - } - } - - private void OnStaminaHitAttempt(Entity entity, ref StaminaDamageOnHitAttemptEvent args) - { - if (!_itemToggle.IsActivated(entity.Owner)) - args.Cancelled = true; - } - - private void OnExamined(Entity entity, ref ExaminedEvent args) - { - var onMsg = _itemToggle.IsActivated(entity.Owner) - ? Loc.GetString("comp-telebaton-examined-on") - : Loc.GetString("comp-telebaton-examined-off"); - args.PushMarkup(onMsg); - } - - private void ToggleDone(Entity entity, ref ItemToggledEvent args) - { - _item.SetHeldPrefix(entity.Owner, args.Activated ? "on" : "off"); - } -} diff --git a/Resources/Locale/ru-RU/_white/object/telebaton.ftl b/Resources/Locale/ru-RU/_white/object/telebaton.ftl index 31327974e4..e0681828d2 100644 --- a/Resources/Locale/ru-RU/_white/object/telebaton.ftl +++ b/Resources/Locale/ru-RU/_white/object/telebaton.ftl @@ -3,3 +3,6 @@ ent-TelescopicBaton = телескопическая дубинка comp-telebaton-examined-on = Дубинка в боевом положении. comp-telebaton-examined-off = Дубинка сложена. + +comp-item-toggle-on = Активировано +comp-item-toggle-off = Деактивировано diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index 35a95b58e5..3971053cbe 100644 --- a/Resources/Prototypes/Damage/modifier_sets.yml +++ b/Resources/Prototypes/Damage/modifier_sets.yml @@ -241,10 +241,10 @@ # in relation to how they cause bleed rate. - type: damageModifierSet id: BloodlossHuman - coefficients: - Blunt: 0.05 - Slash: 0.25 - Piercing: 0.2 + coefficients: # WD edit alert!! Weapons rebalanced - only slash and piercing damage should cast bleeding + Blunt: 0.0 + Slash: 0.45 # WD + Piercing: 0.3 # WD Shock: 0.0 Cold: 0.0 Heat: -0.5 # heat damage cauterizes wounds, but will still hurt obviously. diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml index c1ba38ac0f..02bd2b5f0d 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml @@ -11,15 +11,16 @@ wideAnimationRotation: -135 damage: types: - Blunt: 10 + Blunt: 8 # WD Structural: 5 soundHit: path: "/Audio/Weapons/smash.ogg" + canHeavyAttack: false - type: Wieldable - type: IncreaseDamageOnWield damage: types: - Blunt: 5 + Blunt: 4 # WD Structural: 10 - type: Item size: Normal @@ -42,6 +43,14 @@ - type: Tag tags: - BaseballBat + - type: MeleeThrowOnHit # WD + lifetime: 0.2 + speed: 5 + requireWield: true + - type: KnockDownOnHit + knockDownBehavior: NoDrop + knockdownTime: 0.5 + requireWield: true - type: entity name: incomplete baseball bat diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/cane.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/cane.yml index 5c26020d72..eb66e095a3 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/cane.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/cane.yml @@ -41,7 +41,7 @@ attackRate: 1.5 damage: types: - Slash: 14 + Slash: 12 # WD soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/cult.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/cult.yml index 73eb55cdf4..cfc6202d17 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/cult.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/cult.yml @@ -13,7 +13,7 @@ attackRate: 1.5 damage: types: - Slash: 12 + Slash: 9 # WD soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item @@ -66,7 +66,7 @@ attackRate: 0.75 damage: types: - Slash: 33 + Slash: 27 # WD soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item @@ -104,7 +104,7 @@ damage: types: Blunt: 10 - Slash: 20 + Slash: 18 # WD Structural: 5 soundHit: path: "/Audio/Weapons/smash.ogg" @@ -113,7 +113,7 @@ damage: types: Blunt: 4 - Slash: 12 + Slash: 10 # WD Structural: 10 - type: Item size: Ginormous diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/daggers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/daggers.yml index 9828b66e0a..becaa862e7 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/daggers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/daggers.yml @@ -13,7 +13,7 @@ attackRate: 1.3 damage: types: - Slash: 10.5 + Slash: 10.5 # WD soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item @@ -45,7 +45,7 @@ attackRate: 1.5 damage: types: - Slash: 17.5 + Slash: 15 # WD soundHit: path: /Audio/Weapons/bladeslice.ogg - type: EmbeddableProjectile @@ -55,7 +55,7 @@ - type: DamageOtherOnHit damage: types: - Slash: 20 + Slash: 44 # WD - type: Item size: Small - type: DisarmMalus diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml index 649c26b5bb..558f53cd02 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml @@ -36,8 +36,7 @@ variation: 0.125 activatedDamage: types: - Slash: 15 - Heat: 15 + Slash: 41 # WD Structural: 20 - type: Sprite sprite: Objects/Weapons/Melee/e_sword.rsi @@ -131,8 +130,7 @@ variation: 0.250 activatedDamage: types: - Slash: 10 - Heat: 10 + Slash: 23 # WD deactivatedSecret: true - type: ItemToggleActiveSound activeSound: @@ -263,8 +261,7 @@ - type: IncreaseDamageOnWield damage: types: - Slash: 15 - Heat: 15 + Slash: 30 # WD - type: Reflect reflectProb: 1 enabled: false @@ -299,8 +296,7 @@ variation: 0.125 activatedDamage: types: - Slash: 15 - Heat: 15 + Slash: 33 # WD Structural: 20 - type: Reflect reflectProb: 0.8 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml index 047c6b12bf..f905047b2f 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml @@ -18,8 +18,8 @@ damage: types: # axes are kinda like sharp hammers, you know? - Blunt: 5 - Slash: 13 + Blunt: 3 # WD + Slash: 10 # WD Structural: 10 soundHit: path: "/Audio/Weapons/smash.ogg" @@ -28,7 +28,7 @@ damage: types: Blunt: 2.5 - Slash: 10.5 + Slash: 8 # WD Structural: 60 - type: Item size: Ginormous diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml index 8e93fccaee..6652b98efe 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml @@ -14,7 +14,7 @@ wideAnimationRotation: -135 damage: types: - Slash: 12 + Slash: 10 # WD soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Sprite @@ -42,6 +42,10 @@ - type: Item sprite: Objects/Weapons/Melee/kitchen_knife.rsi storedRotation: -45 + - type: DamageOtherOnHit # WD + damage: + types: + Piercing: 20 - type: GuideHelp guides: - Chef @@ -68,7 +72,7 @@ attackRate: 1.5 damage: types: - Slash: 12 + Slash: 13 # WD - type: Item size: Normal sprite: Objects/Weapons/Melee/cleaver.rsi @@ -100,7 +104,7 @@ - type: DamageOtherOnHit damage: types: - Slash: 10 + Piercing: 27 # WD - type: Item sprite: Objects/Weapons/Melee/combat_knife.rsi storedRotation: -45 @@ -136,7 +140,11 @@ attackRate: 1.0 damage: types: - Slash: 18 # Same DPS as combat knife + Slash: 12 # WD + - type: DamageOtherOnHit # WD + damage: + types: + Piercing: 44 - type: Item sprite: Objects/Weapons/Melee/kukri_knife.rsi @@ -159,7 +167,7 @@ - type: DamageOtherOnHit damage: types: - Slash: 10 + Piercing: 10 # WD - type: Sprite sprite: Clothing/Head/Hats/greyflatcap.rsi - type: Clothing @@ -289,7 +297,7 @@ damage: types: Slash: 10 - Piercing: 15 + Piercing: 35 # WD - type: Item sprite: Objects/Weapons/Melee/throwing_knife.rsi storedRotation: -45 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml index b3f4362f02..0bcd987881 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml @@ -13,7 +13,7 @@ attackRate: 1.5 damage: types: - Slash: 19 + Slash: 14 # WD # WD edit sounds start soundHit: path: /Audio/White/Items/hit/sabre_hit2.ogg @@ -27,12 +27,12 @@ storedRotation: 44 # It just works shape: - 0, 0, 4, 0 - - type: Tag - tags: - - CaptainSabre - type: DisarmMalus - type: MeleeBlock delay: 6.1 + - type: Tag + tags: + - CaptainSabre - type: entity name: katana @@ -51,7 +51,7 @@ wideAnimationRotation: -135 damage: types: - Slash: 24 + Slash: 20 # WD soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item @@ -80,7 +80,7 @@ wideAnimationRotation: -60 damage: types: - Slash: 30 + Slash: 33 # WD - type: Item size: Huge sprite: Objects/Weapons/Melee/energykatana.rsi @@ -123,7 +123,7 @@ wideAnimationRotation: -135 damage: types: - Slash: 20 + Slash: 17 # WD soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item @@ -155,7 +155,7 @@ attackRate: 0.75 damage: types: - Slash: 30 + Slash: 21 # WD soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item @@ -191,7 +191,7 @@ wideAnimationRotation: -135 damage: types: - Slash: 20 + Slash: 20 # WD soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/tagilla_hammer.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/tagilla_hammer.yml index b21bfd08d3..52b02eb7e2 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/tagilla_hammer.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/tagilla_hammer.yml @@ -14,8 +14,7 @@ attackRate: 0.75 damage: types: - Blunt: 5 - Slash: 5 + Blunt: 10 Structural: 10 soundHit: path: "/Audio/Weapons/sledgehammer_hit_1.ogg" @@ -23,8 +22,7 @@ - type: IncreaseDamageOnWield damage: types: - Blunt: 10 - Slash: 5 + Blunt: 15 Structural: 40 - type: Item size: Ginormous diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/throwing_stars.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/throwing_stars.yml index 788e95e8e1..c70683e6c9 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/throwing_stars.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/throwing_stars.yml @@ -77,7 +77,7 @@ damage: types: Slash: 8 - Piercing: 10 + Piercing: 16 # WD - type: StaminaDamageOnCollide damage: 45 - type: StaminaDamageOnEmbed diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/chaplain_weapons.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/chaplain_weapons.yml index 0a29e7b361..8bb031ba6d 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Weapons/chaplain_weapons.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/chaplain_weapons.yml @@ -1,5 +1,21 @@ +# Так как мечей много, а смысла в них не очень - я буду писать в комментариях геймдизайнерских прикол каждого из них + - type: entity parent: BaseItem + id: BaseHolyWeapon + abstract: true + components: + - type: HolyWeapon + - type: Sprite + sprite: White/Objects/Weapons/Chaplain/forceweapon.rsi + state: icon + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/bladeslice.ogg + +# Базовая палка, чтобы как можно быстрее сменить ее. +- type: entity + parent: BaseHolyWeapon id: NullRod name: жезл нулификации description: Жезл из чистого обсидиана. Само его присутствие разрушает и ослабляет "магические силы". Во всяком случае так написано в путеводителе. @@ -11,6 +27,8 @@ damage: types: Blunt: 18 + soundHit: + collection: MetalThud - type: Item size: Normal sprite: White/Objects/Weapons/Chaplain/nullrod.rsi @@ -43,10 +61,10 @@ - UnholyPitchfork - WarHammer - HyperTool - - type: HolyWeapon +# Прикольно выглядящая рука, нельзя снять и бьет ожогами. - type: entity - parent: BaseItem + parent: BaseHolyWeapon id: GodHand name: божья длань description: Эта рука сияет с потрясающей силой! @@ -63,26 +81,22 @@ wideAnimationRotation: 180 damage: types: - Heat: 18 + Heat: 15 - type: Item size: Ginormous sprite: White/Objects/Weapons/Chaplain/godhand.rsi - type: Unremoveable deleteOnDrop: true - - type: HolyWeapon +# Типичный меч, база базовая. Может блокировать, острый. - type: entity - parent: Claymore + parent: BaseHolyWeapon id: HolyClaymore name: священный клеймор description: Оружие, подходящее для крестового похода! components: - type: Sprite sprite: White/Objects/Weapons/Chaplain/claymore.rsi - - type: MeleeWeapon - damage: - types: - Slash: 33 - type: Clothing sprite: White/Objects/Weapons/Chaplain/claymore.rsi slots: @@ -91,29 +105,45 @@ - suitStorage - type: Item sprite: White/Objects/Weapons/Chaplain/claymore.rsi - - type: HolyWeapon + - type: MeleeWeapon + damage: + types: + Slash: 15 + - type: Sharp + - type: MeleeBlock + delay: 12.1 +# Отсылка на вархаммер, больше всего урона, так как не может блокировать - type: entity - parent: HolyClaymore + parent: BaseHolyWeapon id: Chainsword name: цепной меч description: Не позволь еретику жить. components: - type: Sprite sprite: White/Objects/Weapons/Chaplain/chainsword.rsi + state: icon + - type: Clothing + sprite: White/Objects/Weapons/Chaplain/chainsword.rsi + slots: + - back + - belt + - suitStorage + - type: Item + sprite: White/Objects/Weapons/Chaplain/chainsword.rsi - type: MeleeWeapon soundHit: path: /Audio/Weapons/chainsaw.ogg - - type: Clothing - sprite: White/Objects/Weapons/Chaplain/chainsword.rsi - - type: Item - sprite: White/Objects/Weapons/Chaplain/chainsword.rsi + damage: + types: + Slash: 21 - type: Tool qualities: - Sawing speed: 0.5 - - type: HolyWeapon + - type: Sharp +# Он светится - type: entity parent: HolyClaymore id: SwordGlowing @@ -130,10 +160,10 @@ color: lightblue - type: Item sprite: White/Objects/Weapons/Chaplain/forceweapon.rsi - - type: HolyWeapon +# Позволяет блокировать быстрее, средненький урон. - type: entity - parent: Katana + parent: BaseHolyWeapon id: HolyKatana name: лезвие ханзо description: Способен прорезать святой клеймор. @@ -148,10 +178,24 @@ - suitStorage - type: Item sprite: White/Objects/Weapons/Chaplain/katana.rsi - - type: HolyWeapon + - type: MeleeWeapon + wideAnimationRotation: -135 + damage: + types: + Slash: 13 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: DisarmMalus + - type: MeleeBlock + delay: 8.1 + - type: Sharp + - type: Tag + tags: + - Katana +# Смешной меч с разбросом дамага - type: entity - parent: HolyKatana + parent: BaseHolyWeapon id: MultiverseBlade name: внепространственный клинок description: Будучи когда-то предвестником межпространственной войны, его острота сильно колеблется. Наносит от 1 до 50 урона. @@ -170,10 +214,11 @@ - type: Item sprite: White/Objects/Weapons/Chaplain/multiverse.rsi - type: RandomDamage - - type: HolyWeapon + - type: Sharp +# Пробивает броню - type: entity - parent: HolyClaymore + parent: BaseHolyWeapon id: VorpalScythe name: коса жнеца description: И жрец, и жнец, и на дуде игрец! Коса способна пробить броню противника. @@ -184,7 +229,7 @@ ignoreResistances: true damage: types: - Slash: 24 + Slash: 14 - type: Clothing sprite: White/Objects/Weapons/Chaplain/scythe.rsi slots: @@ -192,8 +237,9 @@ - suitStorage - type: Item sprite: White/Objects/Weapons/Chaplain/scythe-inhands.rsi - - type: HolyWeapon + - type: Sharp +# Может пиздеть - type: entity parent: HolyKatana id: PossessedBlade @@ -218,10 +264,10 @@ - type: Examiner - type: Item sprite: White/Objects/Weapons/Chaplain/possessed.rsi - - type: HolyWeapon +# Приклеен к руке, быстро и громко бьет - type: entity - parent: BaseItem + parent: BaseHolyWeapon id: ChainsawHand name: рука-бензопила description: Добро? Зло? Ты парень с бензопилой в руке. @@ -251,10 +297,10 @@ qualities: - Sawing speed: 0.5 - - type: HolyWeapon +# Нокдаунит при ударе - type: entity - parent: BaseItem + parent: BaseHolyWeapon id: HolyWhip name: священная плеть description: Какая ужасная ночь на космической станции 14. @@ -265,10 +311,11 @@ - type: MeleeWeapon soundHit: path: /Audio/White/Items/hit/chainhit.ogg - range: 2.5 + range: 1.5 + attackRate: 0.5 damage: types: - Blunt: 18 + Blunt: 10 - type: Item size: Normal sprite: White/Objects/Weapons/Chaplain/whip.rsi @@ -277,10 +324,13 @@ slots: - belt - type: DisarmMalus - - type: HolyWeapon + - type: KnockDownOnHit + knockDownBehavior: NoDrop + knockdownTime: 0.4 +# Отбрасывает при ударе и может блокировать, требует держать себя в двух руках для отброса - type: entity - parent: BaseItem + parent: BaseHolyWeapon id: HolyStaff name: посох монаха description: Длинный высокий посох из полированного дерева. Традиционно используемый в боевых искусствах древней Земли, теперь он используется для преследования клоуна. @@ -288,11 +338,6 @@ - type: Sprite sprite: White/Objects/Weapons/Chaplain/staff.rsi state: icon - - type: MeleeWeapon - wideAnimationRotation: 135 - damage: - types: - Blunt: 10 - type: Item size: Huge sprite: White/Objects/Weapons/Chaplain/staff.rsi @@ -301,23 +346,64 @@ slots: - back - suitStorage + - type: MeleeWeapon + wideAnimationRotation: 135 + damage: + types: + Blunt: 6 + soundHit: + collection: MetalThud - type: Wieldable - type: IncreaseDamageOnWield damage: types: Blunt: 8 + - type: MeleeThrowOnHit + lifetime: 0.2 + speed: 5 + fallAfterHit: true + requireWield: true - type: UseDelay - - type: DisarmMalus - type: MeleeBlock - delay: 6.1 - - type: HolyWeapon + delay: 8.1 +# Можно кинуть, если попасть нанесет ебать как много, не попадет - ты проебал ее. Далеко бьет - type: entity - parent: BaseItem + parent: BaseHolyWeapon id: UnholyPitchfork name: нечестивые вилы description: Держа это, ты выглядишь абсолютно по дьявольски. components: + - type: Sprite + sprite: White/Objects/Weapons/Chaplain/pitchfork.rsi + state: icon + - type: Item + sprite: White/Objects/Weapons/Chaplain/pitchfork.rsi + size: Huge + - type: Clothing + sprite: White/Objects/Weapons/Chaplain/pitchfork.rsi + slots: + - back + - suitStorage + - type: MeleeWeapon + range: 2 + wideAnimationRotation: -135 + damage: + types: + Piercing: 8 + angle: 0 + animation: WeaponArcThrust + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: DamageOtherOnHit + damage: + types: + Piercing: 77 + - type: Wieldable + - type: IncreaseDamageOnWield + damage: + types: + Piercing: 4 - type: EmbeddableProjectile offset: 0.15,0.15 - type: ThrowingAngle @@ -337,42 +423,12 @@ restitution: 0.3 friction: 0.2 - type: Sharp - - type: Sprite - sprite: White/Objects/Weapons/Chaplain/pitchfork.rsi - state: icon - - type: MeleeWeapon - range: 2 - wideAnimationRotation: -135 - damage: - types: - Piercing: 15 - angle: 0 - animation: WeaponArcThrust - soundHit: - path: /Audio/Weapons/bladeslice.ogg - - type: DamageOtherOnHit - damage: - types: - Piercing: 25 - - type: Item - sprite: White/Objects/Weapons/Chaplain/pitchfork.rsi - size: Huge - - type: Clothing - sprite: White/Objects/Weapons/Chaplain/pitchfork.rsi - slots: - - back - - suitStorage - - type: Wieldable - - type: IncreaseDamageOnWield - damage: - types: - Piercing: 9 - type: UseDelay - type: DisarmMalus - - type: HolyWeapon +# Высокий структурный урон - type: entity - parent: BaseItem + parent: BaseHolyWeapon id: WarHammer name: реликтовый боевой молот description: Этот боевой молот обошелся священнику в сорок тысяч кредитов. @@ -380,17 +436,6 @@ - type: Sprite sprite: White/Objects/Weapons/Chaplain/hammer.rsi state: icon - - type: MeleeWeapon - wideAnimationRotation: -135 - attackRate: 0.75 - damage: - types: - Blunt: 24 - Structural: 40 - soundHit: - collection: HammerHit - soundSwing: - collection: HammerMiss - type: Item size: Huge sprite: White/Objects/Weapons/Chaplain/hammer.rsi @@ -400,14 +445,25 @@ - belt - back - suitStorage + - type: MeleeWeapon + wideAnimationRotation: -135 + attackRate: 0.75 + damage: + types: + Blunt: 16 + Structural: 40 + soundHit: + collection: HammerHit + soundSwing: + collection: HammerMiss - type: DisarmMalus - - type: HolyWeapon +# Имеет все инструменты в себе, но работает медленно и почти не наносит урона - type: entity - parent: BaseItem + parent: BaseHolyWeapon id: HyperTool name: гиперинструмент - description: Инструмент настолько мощный, что даже вы не можете им идеально пользоваться. + description: Кто-то додумался склеить все инструменты вместе и вот, что вышло. Настолько продуманный, что вы не понимаете, как этим адекватно пользоваться components: - type: Sprite sprite: White/Objects/Weapons/Chaplain/hypertool.rsi @@ -417,9 +473,9 @@ canHeavyAttack: false damage: types: - Blunt: 0 - - type: StaminaDamageOnHit - damage: 40 + Blunt: 4 + soundHit: + collection: HyperToolUsing - type: Item size: Normal sprite: White/Objects/Weapons/Chaplain/hypertool.rsi @@ -428,4 +484,29 @@ slots: - belt - type: DisarmMalus - - type: HolyWeapon + - type: Tool + qualities: + - Screwing + - Prying + - Anchoring + - Cutting + - Pulsing + speed: 0.7 + useSound: + collection: HyperToolUsing + +- type: soundCollection + id: HyperToolUsing + files: + - /Audio/Effects/RingtoneNotes/a.ogg + - /Audio/Effects/RingtoneNotes/asharp.ogg + - /Audio/Effects/RingtoneNotes/b.ogg + - /Audio/Effects/RingtoneNotes/c.ogg + - /Audio/Effects/RingtoneNotes/csharp.ogg + - /Audio/Effects/RingtoneNotes/d.ogg + - /Audio/Effects/RingtoneNotes/dsharp.ogg + - /Audio/Effects/RingtoneNotes/e.ogg + - /Audio/Effects/RingtoneNotes/f.ogg + - /Audio/Effects/RingtoneNotes/fsharp.ogg + - /Audio/Effects/RingtoneNotes/g.ogg + - /Audio/Effects/RingtoneNotes/gsharp.ogg diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/telescopic_baton.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/telescopic_baton.yml index da46efab0d..1ea81d0778 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Weapons/telescopic_baton.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/telescopic_baton.yml @@ -4,7 +4,6 @@ name: telescopic baton description: A compact yet robust personal defense weapon. Can be concealed when folded. components: - - type: TelescopicBaton - type: Sprite sprite: White/Objects/Weapons/telebaton.rsi layers: @@ -23,6 +22,8 @@ path: /Audio/Weapons/telescopicoff.ogg params: volume: -5 + activatedDescription: comp-telebaton-examined-on + deactivatedDescription: comp-telebaton-examined-off - type: Appearance - type: GenericVisualizer visuals: @@ -64,3 +65,4 @@ - Belt - type: StaticPrice price: 150 + - type: KnockDownOnHit diff --git a/Resources/Prototypes/_White/Fluff/fluff.yml b/Resources/Prototypes/_White/Fluff/fluff.yml index fb3db181aa..67d5624465 100644 --- a/Resources/Prototypes/_White/Fluff/fluff.yml +++ b/Resources/Prototypes/_White/Fluff/fluff.yml @@ -824,7 +824,7 @@ wideAnimationRotation: -135 damage: types: - Slash: 18 + Slash: 14 soundHit: path: /Audio/Weapons/bladeslice.ogg - type: HolyWeapon diff --git a/Resources/Prototypes/_White/Wizard/magic_items.yml b/Resources/Prototypes/_White/Wizard/magic_items.yml index aecf11ac6c..7bc0ef44c9 100644 --- a/Resources/Prototypes/_White/Wizard/magic_items.yml +++ b/Resources/Prototypes/_White/Wizard/magic_items.yml @@ -11,7 +11,7 @@ attackRate: 5 damage: types: - Slash: 10 + Slash: 25 - type: Clothing sprite: White/Objects/Weapons/Chaplain/hfrequency.rsi slots: @@ -101,6 +101,7 @@ minLifetime: 0.01 speed: 20 stunTime: 1.5 + fallAfterHit: true throwOnThrowHit: true - type: DamageOtherOnHit sound: From 794d014027675f1b57aa8e6c13ac0dee2cf8de37 Mon Sep 17 00:00:00 2001 From: RavmorganButOnCocaine Date: Thu, 12 Sep 2024 18:53:07 +0000 Subject: [PATCH 09/19] Automatic changelog update --- Resources/Changelog/ChangelogWhite.yml | 33 ++++++++------------------ 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index b884adf7bb..a87350aee7 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -1,27 +1,4 @@ Entries: -- author: RavMorgan - changes: - - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u0431\u043B\u043E\ - \u043A\u0438\u0440\u043E\u0432\u043A\u0430 \u043F\u0440\u043E\u0444\u0435\u0441\ - \u0441\u0438\u0439 \u0434\u043B\u044F \u043E\u043F\u0440\u0435\u0434\u0435\u043B\ - \u0435\u043D\u043D\u044B\u0445 \u0432\u0438\u0434\u043E\u0432. \u0415\u0441\u043B\ - \u0438 \u0432\u0430\u0448\u0435\u0433\u043E \u0432\u0438\u0434\u0430 \u043D\u0435\ - \u0442 \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u0440\u0430\u0437\u0440\u0435\ - \u0448\u0435\u043D\u043D\u044B\u0445 \u0432 \u0432\u044B\u0431\u0440\u0430\u043D\ - \u043D\u043E\u0439 \u0432\u0430\u043C\u0438 \u043F\u0440\u043E\u0444\u0435\u0441\ - \u0441\u0438\u0438, \u0442\u043E \u0432\u0430\u0448\u0430 \u0432\u043D\u0435\ - \u0448\u043D\u043E\u0441\u0442\u044C \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\ - \u043C\u0435\u043D\u0435\u043D\u0430 \u043D\u0430 \u0440\u0430\u043D\u0434\u043E\ - \u043C\u043D\u0443\u044E \u0432\u043D\u0435\u0448\u043D\u043E\u0441\u0442\u044C\ - \ \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u043F\u043E\u0434\u0445\ - \u043E\u0434\u044F\u0449\u0438\u0445 \u0432\u0438\u0434\u043E\u0432, \u043B\u0438\ - \u0431\u043E \u0436\u0435 \u043D\u0430 \u043E\u0434\u043D\u043E\u0433\u043E\ - \ \u0438\u0437 \u0432\u0430\u0448\u0438\u0445 \u043F\u0435\u0440\u0441\u043E\ - \u043D\u0430\u0436\u0435\u0439, \u0435\u0441\u043B\u0438 \u0435\u0433\u043E\ - \ \u0432\u0438\u0434 \u043F\u043E\u0434\u0445\u043E\u0434\u0438\u0442!" - type: Add - id: 44 - time: '2023-01-23T11:45:06.0000000+00:00' - author: BronyUraj changes: - message: "\u0421\u043A\u0440\u0443\u0431\u0431\u0435\u0440 \u0440\u0430\u0431\u043E\ @@ -8712,3 +8689,13 @@ id: 543 time: '2024-09-12T18:29:30.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/691 +- author: ThereDrD0 + changes: + - message: "\u041C\u0438\u043B\u0438 \u043E\u0440\u0443\u0436\u0438\u0435 \u043F\ + \u0435\u0440\u0435\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E. \u0422\u0435\ + \u043F\u0435\u0440\u044C \u0432\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u043F\ + \u043E-\u0434\u0440\u0443\u0433\u043E\u043C\u0443." + type: Add + id: 544 + time: '2024-09-12T18:52:04.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/681 From 8076be41a7d1b128b470e96cf42200e4d3bb3050 Mon Sep 17 00:00:00 2001 From: BIGZi0348 <118811750+BIGZi0348@users.noreply.github.com> Date: Thu, 12 Sep 2024 23:06:30 +0300 Subject: [PATCH 10/19] Chaplain armor fix (#693) --- .../_White/Entities/Clothing/OuterClothing/chaplain_armor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_White/Entities/Clothing/OuterClothing/chaplain_armor.yml b/Resources/Prototypes/_White/Entities/Clothing/OuterClothing/chaplain_armor.yml index 4267448a7d..7de4eea0e0 100644 --- a/Resources/Prototypes/_White/Entities/Clothing/OuterClothing/chaplain_armor.yml +++ b/Resources/Prototypes/_White/Entities/Clothing/OuterClothing/chaplain_armor.yml @@ -1,5 +1,5 @@ - type: entity - parent: ClothingOuterBaseLarge + parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing] id: ClothingOuterArmorTemplar name: доспехи крестоносца description: Бог желает этого! From f0f9676b812e2fb9885ad9e3164a2e46208e25cd Mon Sep 17 00:00:00 2001 From: BIGZi0348 <118811750+BIGZi0348@users.noreply.github.com> Date: Sat, 14 Sep 2024 07:28:25 +0300 Subject: [PATCH 11/19] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BE=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D1=8F=20(#696)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Resources/Locale/ru-RU/implant/implant.ftl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Resources/Locale/ru-RU/implant/implant.ftl b/Resources/Locale/ru-RU/implant/implant.ftl index f79a2f79a7..2d4f4e2973 100644 --- a/Resources/Locale/ru-RU/implant/implant.ftl +++ b/Resources/Locale/ru-RU/implant/implant.ftl @@ -12,7 +12,8 @@ implanter-inject-text = Установка implanter-empty-text = Пусто -implanter-label = [color=white]Имплант: { $implantName }{ $lineBreak }Режим: { $modeString }[/color] +implanter-label = [color=white]{$implantName} + Режим: {$modeString}[/color] implanter-contained-implant-text = [color=green]{ $desc }[/color] From 40ef35ce47018ff16ec76f5d745fa1646c0cf63f Mon Sep 17 00:00:00 2001 From: BIGZi0348 <118811750+BIGZi0348@users.noreply.github.com> Date: Sat, 14 Sep 2024 10:16:24 +0300 Subject: [PATCH 12/19] No passengers on this military complex (#695) --- .../Locale/ru-RU/_white/locales-new/autotranslate-67.ftl | 4 ++-- .../Locale/ru-RU/_white/locales-new/autotranslate-96.ftl | 6 +++--- Resources/Locale/ru-RU/locales-new/autotranslate-8.ftl | 2 +- .../ss14-ru/prototypes/entities/clothing/ears/headsets.ftl | 2 +- .../ss14-ru/prototypes/entities/clothing/ears/specific.ftl | 2 +- .../prototypes/entities/objects/devices/holoprojectors.ftl | 2 +- .../objects/specific/service/vending_machine_restock.ftl | 2 +- Resources/Locale/ru-RU/store/uplink-catalog.ftl | 2 +- Resources/Prototypes/Datasets/ion_storm.yml | 2 +- Resources/ServerInfo/Guidebook/Jobs.xml | 4 ++-- 10 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-67.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-67.ftl index 25b141dd17..11ef580b35 100644 --- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-67.ftl +++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-67.ftl @@ -27,8 +27,8 @@ ent-SpawnMobSyndicateFootSoldier = генератор пехотинца син .desc = "генератор пехотинца синдиката" ent-SpawnMobSyndicateFootsoldierPilot = генератор пилота челнока синдиката .desc = "генератор пилота челнока синдиката" -ent-SpawnPointPassenger = пассажир - .desc = "пассажир" +ent-SpawnPointPassenger = ассистент + .desc = "ассистент" ent-SpawnPointInspector = инспектор .desc = "инспектор" ent-SpawnPointBomzh = бомж diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-96.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-96.ftl index 88494d33be..ae9e23f5bd 100644 --- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-96.ftl +++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-96.ftl @@ -20,8 +20,8 @@ ent-ERTMedicIDCard = удостоверение личности медика ER .desc = "удостоверение личности медика ERT" ent-ERTSecurityIDCard = удостоверение личности службы безопасности ERT .desc = "удостоверение личности службы безопасности ERT" -ent-NukieAgentIDCard = пропуск пассажира - .desc = "пропуск пассажира" +ent-NukieAgentIDCard = ID карта ассистента + .desc = "Карта, необходимая для доступа в различные области станции." .suffix = Нюки ent-PirateIDCard = пиратское удостоверение личности .desc = "пиратское удостоверение личности" @@ -39,4 +39,4 @@ ent-LandMineAspectExplosive = мина аспекта ent-KoboldCubeBox = коробка с кубиками кобольдов .desc = Сжатые кобольды в кубе. Просто добавьте воды! ent-VariantCubeBox = коробка с вариативными кубиками - .desc = И кобольды, и обезьяны в кубиках. Просто добавьте воды! + .desc = И кобольды, и обезьяны в кубиках. Просто добавьте воды! diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-8.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-8.ftl index 3d7af70c72..fbfaca8d29 100644 --- a/Resources/Locale/ru-RU/locales-new/autotranslate-8.ftl +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-8.ftl @@ -23,7 +23,7 @@ ent-ClothingUniformJumpsuitSeniorSalvageSpecialist = комбинезон охо ent-ClothingUniformJumpsuitRecruitNT = комбинезон новобранца .desc = Стильный серый комбинезон с синей отделкой. Идеально подходит для достойного помощника. ent-ClothingUniformJumpsuitRecruitSyndie = комбинезон новобранца синдиката - .desc = Сомнительный темно-серый комбинезон. Как будто пассажиры и без того недостаточно сомневались. + .desc = Сомнительный темно-серый комбинезон. Как будто ассистенты и без того недостаточно сомневались. ent-ClothingUniformJumpsuitRepairmanNT = комбинезон ремонтника .desc = Комбинезон, который напоминает вам об определенной рабочей должности в секторе экипажа. Надеюсь, тебе не придется выполнять ту же работу, что и ЭТИМ уродам. ent-ClothingUniformJumpsuitRepairmanSyndie = комбинезон ремонтника синдиката diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/ears/headsets.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/ears/headsets.ftl index 3493910f12..fede15a463 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/ears/headsets.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/ears/headsets.ftl @@ -43,7 +43,7 @@ ent-ClothingHeadsetSecurity = охранная гарнитура ent-ClothingHeadsetService = сервисная гарнитура .desc = Гарнитура, используемая обслуживающим персоналом, задачей которого является поддержание станции в полноценном, счастливом и чистом состоянии. .suffix = { "" } -ent-ClothingHeadsetGrey = гарнитура пассажира +ent-ClothingHeadsetGrey = гарнитура ассистента .desc = Модифицированный модульный интерком, надеваемый на голову. Принимает ключи шифрования. .suffix = { "" } ent-ClothingHeadsetFreelance = гарнитура наемника diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/ears/specific.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/ears/specific.ftl index dda22145dd..baf7945c46 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/ears/specific.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/ears/specific.ftl @@ -1,3 +1,3 @@ -ent-ClothingHeadsetChameleon = гарнитура пассажира +ent-ClothingHeadsetChameleon = гарнитура ассистента .desc = Модифицированный модульный интерком, надеваемый на голову. Принимает ключи шифрования. .suffix = Хамелеон diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/devices/holoprojectors.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/devices/holoprojectors.ftl index 34e740a667..a52746bb46 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/devices/holoprojectors.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/devices/holoprojectors.ftl @@ -2,5 +2,5 @@ ent-Holoprojector = проектор голографических знаков .desc = Удобный голографический проектор, отображающий табличку уборщика. .suffix = { "" } ent-HolofanProjector = атмос голопроектор - .desc = Останавливает суицидально настроеных пассажиров от убийства остальных во время разгерметизации. + .desc = Останавливает суицидально настроеных ассистентов от убийства остальных во время разгерметизации. .suffix = { "" } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/service/vending_machine_restock.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/service/vending_machine_restock.ftl index e1575f317c..f1158c434a 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/service/vending_machine_restock.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/service/vending_machine_restock.ftl @@ -2,7 +2,7 @@ ent-BaseVendingMachineRestock = набор пополнения Торгомат .desc = Набор для пополнения торговых автоматов фирменными товарами. .suffix = { "" } ent-VendingMachineRestockBooze = набор пополнения АлкоМат - .desc = Поместите в АлкоМат чтобы начать вечеринку! Не для продажи пассажирам, не достигшим совершеннолетия. + .desc = Поместите в АлкоМат чтобы начать вечеринку! Не для продажи ассистентам, не достигшим совершеннолетия. .suffix = { "" } ent-VendingMachineRestockChang = набор пополнения Мистер Чанг .desc = Коробка, покрытая белыми наклейками с крупными красными китайскими иероглифами, готовая к загрузке в ближайший торгомат Мистер Чанг. diff --git a/Resources/Locale/ru-RU/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/store/uplink-catalog.ftl index e06be4c31d..0e742cfba7 100644 --- a/Resources/Locale/ru-RU/store/uplink-catalog.ftl +++ b/Resources/Locale/ru-RU/store/uplink-catalog.ftl @@ -349,7 +349,7 @@ uplink-cigarettes-name = Пачка сигарет Синдиката uplink-cigarettes-desc = Элитные сигареты для элитных агентов. Насыщенные лекарствами, когда вам нужно больше, чем просто успокоить нервы. uplink-clothing-conducting-gloves-name = Токопроводящие перчатки -uplink-clothing-conducting-gloves-desc = Выглядят как изолированные перчатки, но удар током нанесёт вам гораздо больше повреждений, чем если бы у вас вообще ничего не было на руках! Лучше всего подойдут в качестве подарка пассажирам, которых вы искренне недолюбливаете. +uplink-clothing-conducting-gloves-desc = Выглядят как изолированные перчатки, но удар током нанесёт вам гораздо больше повреждений, чем если бы у вас вообще ничего не было на руках! Лучше всего подойдут в качестве подарка ассистентам, которых вы искренне недолюбливаете. uplink-snack-box-name = Коробка закусок Синдиката uplink-snack-box-desc = Коробка с вкусными закусками и напитками, которые можно съесть в одиночку или разделить с командой. Включает одну нежеланную игрушку. diff --git a/Resources/Prototypes/Datasets/ion_storm.yml b/Resources/Prototypes/Datasets/ion_storm.yml index fffef4145b..c3638219e2 100644 --- a/Resources/Prototypes/Datasets/ion_storm.yml +++ b/Resources/Prototypes/Datasets/ion_storm.yml @@ -315,7 +315,7 @@ - ВРАЧИ - МИМЫ - ПАРАМЕДИКИ - - ПАССАЖИРЫ + - АССИСТЕНТЫ - КВАРТИРМЕЙСТЕРЫ - НАУЧНЫЕ РУКОВОДИТЕЛИ - РОБОТОТЕХНИКИ diff --git a/Resources/ServerInfo/Guidebook/Jobs.xml b/Resources/ServerInfo/Guidebook/Jobs.xml index 6e01381c40..4717ba143a 100644 --- a/Resources/ServerInfo/Guidebook/Jobs.xml +++ b/Resources/ServerInfo/Guidebook/Jobs.xml @@ -4,9 +4,9 @@ SS14 имеет большое количество должностей, разделенных на семь основных отделов: ## Сервисный -В этот отдел входят уборщик, пассажиры, клоун, мим, музыкант, шеф-повар, бармен, начальник персонала и другие работники, которые существуют для обслуживания станции. +В этот отдел входят уборщик, ассистенты, клоун, мим, музыкант, шеф-повар, бармен, начальник персонала и другие работники, которые существуют для обслуживания станции. -В первую очередь это люди, которые развлекают, убирают и обслуживают остальную команду, за исключением пассажиров, у которых нет никакой конкретной работы. +В первую очередь это люди, которые развлекают, убирают и обслуживают остальную команду, за исключением ассистентов, у которых нет никакой конкретной работы. ## Карго Снабжения или карго состоит из грузчиков, утилизаторов и квартирмейстера. Как отдел, он отвечает за распределение ресурсов и торговлю, способен покупать и продавать вещи на галактическом рынке. From 93de71264fedd0b94d18184758dc86e74217308c Mon Sep 17 00:00:00 2001 From: RavmorganButOnCocaine Date: Sat, 14 Sep 2024 07:17:27 +0000 Subject: [PATCH 13/19] Automatic changelog update --- Resources/Changelog/ChangelogWhite.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index a87350aee7..0324355b8f 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -1,11 +1,4 @@ Entries: -- author: BronyUraj - changes: - - message: "\u0421\u043A\u0440\u0443\u0431\u0431\u0435\u0440 \u0440\u0430\u0431\u043E\ - \u0442\u0430\u0435\u0442 \u0431\u044B\u0441\u0442\u0440\u0435\u0435" - type: Add - id: 45 - time: '2023-01-23T18:17:29.0000000+00:00' - author: BronyUraj changes: - message: "\u041C\u0435\u0434\u0432\u0435\u0434\u0438 \u0442\u0435\u043F\u0435\u0440\ @@ -8699,3 +8692,11 @@ id: 544 time: '2024-09-12T18:52:04.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/681 +- author: BIG_Zi + changes: + - message: "\u0423\u0431\u0440\u0430\u043D\u044B \u043F\u0430\u0441\u0441\u0430\u0436\ + \u0438\u0440\u044B." + type: Remove + id: 545 + time: '2024-09-14T07:16:24.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/695 From ddc6dd3a9f0faada86512c602285eee6da0a8cee Mon Sep 17 00:00:00 2001 From: BIGZi0348 <118811750+BIGZi0348@users.noreply.github.com> Date: Sun, 15 Sep 2024 15:22:04 +0300 Subject: [PATCH 14/19] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=D1=8B=20(#698)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Пепеводы * Очепятки --- .../StationEvents/Events/IonStormRule.cs | 4 +++- .../Locale/ru-RU/locales-new/autotranslate-43.ftl | 4 ++-- .../ru-RU/mind/components/mind-component.ftl | 4 ++-- .../ru-RU/station-events/events/ion-storm.ftl | 1 + Resources/Locale/ru-RU/white/something.ftl | 14 +++++++------- Resources/Maps/White/Triumph.yml | 4 ++-- 6 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs index 8361cc6048..0523e0669d 100644 --- a/Content.Server/StationEvents/Events/IonStormRule.cs +++ b/Content.Server/StationEvents/Events/IonStormRule.cs @@ -234,6 +234,8 @@ public sealed class IonStormRule : StationEventSystem if (plural) feeling = feelingPlural; + var subjects = RobustRandom.Prob(0.5f) ? objectsThreats : Loc.GetString("ion-storm-people"); // WD ahead of wizden upstream + // message logic!!! return RobustRandom.Next(0, 36) switch { @@ -265,7 +267,7 @@ public sealed class IonStormRule : StationEventSystem 26 => Loc.GetString("ion-storm-law-crew-must-go", ("who", crewAll), ("area", area)), 27 => Loc.GetString("ion-storm-law-crew-only-1", ("who", crew1), ("part", part)), 28 => Loc.GetString("ion-storm-law-crew-only-2", ("who", crew1), ("other", crew2), ("part", part)), - 29 => Loc.GetString("ion-storm-law-crew-only-subjects", ("adjective", adjective), ("subjects", RobustRandom.Prob(0.5f) ? objectsThreats : "PEOPLE"), ("part", part)), + 29 => Loc.GetString("ion-storm-law-crew-only-subjects", ("adjective", adjective), ("subjects", subjects), ("part", part)), // WD ahead of wizden upstream 30 => Loc.GetString("ion-storm-law-crew-must-do", ("must", must), ("part", part)), 31 => Loc.GetString("ion-storm-law-crew-must-have", ("adjective", adjective), ("objects", objects), ("part", part)), 32 => Loc.GetString("ion-storm-law-crew-must-eat", ("who", who), ("adjective", adjective), ("food", food), ("part", part)), diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-43.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-43.ftl index b1b831c97b..12339e2ee7 100644 --- a/Resources/Locale/ru-RU/locales-new/autotranslate-43.ftl +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-43.ftl @@ -25,9 +25,9 @@ ent-ParticleAcceleratorUnfinishedBase = "" .desc = "" ent-ParticleAcceleratorEmitterPort = правый эмиттер УЧ .desc = Это запускает альфа-частицы, возможно, они не захотят стоять рядом с этим концом. -ent-ParticleAcceleratorEmitterFore = центральный эммитер УЧ +ent-ParticleAcceleratorEmitterFore = центральный эмиттер УЧ .desc = Это запускает альфа-частицы, возможно, они не захотят стоять рядом с этим концом. -ent-ParticleAcceleratorEmitterStarboard = левый эммитер УЧ +ent-ParticleAcceleratorEmitterStarboard = левый эмиттер УЧ .desc = Это запускает альфа-частицы, возможно, они не захотят стоять рядом с этим концом. ent-ParticleAcceleratorEmitterPortUnfinished = { ent-ParticleAcceleratorEmitterPort } .desc = Это запускает альфа-частицы, возможно, они не захотят стоять рядом с этим концом. Он выглядит незаконченным. diff --git a/Resources/Locale/ru-RU/mind/components/mind-component.ftl b/Resources/Locale/ru-RU/mind/components/mind-component.ftl index 41a5de8e61..305720479b 100644 --- a/Resources/Locale/ru-RU/mind/components/mind-component.ftl +++ b/Resources/Locale/ru-RU/mind/components/mind-component.ftl @@ -6,11 +6,11 @@ comp-mind-ghosting-prevented = Вы не можете стать призрак comp-mind-examined-catatonic = { CAPITALIZE(SUBJECT($ent)) } в кататоническом ступоре. Стрессы жизни в глубоком космосе, должно быть, оказались слишком тяжелы для { OBJECT($ent) }. Восстановление маловероятно. comp-mind-examined-dead = { CAPITALIZE(POSS-PRONOUN($ent)) } душа покинула тело. -comp-mind-examined-ssd = { CAPITALIZE(SUBJECT($ent)) } рассеяно смотрит в пустоту и ни на что не реагирует. { CAPITALIZE(SUBJECT($ent)) } может скоро придти в себя. +comp-mind-examined-ssd = { CAPITALIZE(SUBJECT($ent)) } рассеяно смотрит в пустоту и ни на что не реагирует. { CAPITALIZE(SUBJECT($ent)) } может скоро прийти в себя. comp-mind-examined-dead-and-ssd = { CAPITALIZE(POSS-ADJ($ent)) } душа дремлет и может скоро вернуться. comp-mind-examined-dead-and-irrecoverable = { CAPITALIZE(POSS-ADJ($ent)) } душа покинула тело и пропала. Восстановление маловероятно. mind-component-no-mind-and-alive-text = { CAPITALIZE(SUBJECT($ent)) } в кататоническом ступоре. Стрессы жизни в глубоком космосе, должно быть, оказались слишком тяжелы для него. Восстановление маловероятно. mind-component-no-mind-and-dead-text = { CAPITALIZE(POSS-PRONOUN($ent)) } душа покинула тело и пропала. Восстановление маловероятно. -mind-component-mind-and-no-session-text = { CAPITALIZE(SUBJECT($ent)) } рассеяно смотрит в пустоту и ни на что не реагирует. { CAPITALIZE(SUBJECT($ent)) } может скоро придти в себя. +mind-component-mind-and-no-session-text = { CAPITALIZE(SUBJECT($ent)) } рассеяно смотрит в пустоту и ни на что не реагирует. { CAPITALIZE(SUBJECT($ent)) } может скоро прийти в себя. diff --git a/Resources/Locale/ru-RU/station-events/events/ion-storm.ftl b/Resources/Locale/ru-RU/station-events/events/ion-storm.ftl index 6546057323..3d5a48449e 100644 --- a/Resources/Locale/ru-RU/station-events/events/ion-storm.ftl +++ b/Resources/Locale/ru-RU/station-events/events/ion-storm.ftl @@ -9,6 +9,7 @@ ion-storm-the-job = { CAPITALIZE($job) } ion-storm-clowns = КЛОУНЫ ion-storm-heads = ГЛАВЫ ion-storm-crew = ЭКИПАЖ +ion-storm-people = ЛЮДИ ion-storm-adjective-things = {$adjective} ОБЪЕКТЫ ion-storm-x-and-y = {$x} И {$y} diff --git a/Resources/Locale/ru-RU/white/something.ftl b/Resources/Locale/ru-RU/white/something.ftl index 4a3a292e92..cf3a8e3cdc 100644 --- a/Resources/Locale/ru-RU/white/something.ftl +++ b/Resources/Locale/ru-RU/white/something.ftl @@ -88,13 +88,13 @@ character-information-ui-flavor-text-disabled = На этом сервере о # sm -supermatter-self = Supermatter -supermatter-danger-message = Danger! Crystal hyperstructure integrity faltering! Integrity: { $integrity }% -supermatter-warning-message = WARNING! Crystal hyperstructure integrity reaching critical levels! Integrity: { $integrity }% -supermatter-safe-alert = Crystalline hyperstructure returning to safe operating parameters. Failsafe has been Disengaged. Integrity: { $integrity }% -supermatter-delamination-overmass = The Supermatter has Reached Critical Mass Falure. Singularity formation Imminent -supermatter-delamination-default = The Supermatter has Reached Critical Integrity Falure. Emergency Causality Destabilization Field has been Activated. -supermatter-seconds-before-delam = { $Seconds } Seconds Remain Before Delamination. +supermatter-self = Суперматерия +supermatter-danger-message = Опасность! Нарушение целостности кристаллической гиперструктуры! Целостность: { $integrity }% +supermatter-warning-message = ВНИМАНИЕ! Целостность кристаллической гиперструктуры достигает критических уровней! Целостность: { $integrity }% +supermatter-safe-alert = Кристаллическая гиперструктура возвращается к безопасным рабочим параметрам. Предохранитель отключён. Целостность: { $integrity }% +supermatter-delamination-overmass = Суперматерия достигла уровня критической массы. Обнаружена угроза формирования сингулярности. +supermatter-delamination-default = Суперматерия достигла уровня критической целостности. Активироанно экстренное поле дестабилизации причинности. +supermatter-seconds-before-delam = { $Seconds } секунд осталось до деламинации. # MobStateShit diff --git a/Resources/Maps/White/Triumph.yml b/Resources/Maps/White/Triumph.yml index 8a42879a54..0cd0a27a09 100644 --- a/Resources/Maps/White/Triumph.yml +++ b/Resources/Maps/White/Triumph.yml @@ -256120,8 +256120,8 @@ entities: - uid: 38080 components: - type: MetaData - desc: Переключает работу эмитеров. - name: переключатель эммитеров + desc: Переключает работу эмиттеров. + name: переключатель эмиттеров - type: Transform rot: 3.141592653589793 rad pos: -157.5,71.5 From b454cd8606a67c39295fa664167053ffd29a51ee Mon Sep 17 00:00:00 2001 From: BIGZi0348 <118811750+BIGZi0348@users.noreply.github.com> Date: Sun, 15 Sep 2024 15:23:31 +0300 Subject: [PATCH 15/19] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B6=D0=B5=D0=BA=D1=82=D0=BE=D1=80=D0=B0=20=D0=B8=20?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D1=80=D1=83=D1=82=D0=BA=D0=B0=20=D1=86=D0=B8?= =?UTF-8?q?=D1=84=D1=80=20(#697)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Melochi * Фикс хамелеона * Переводы денег мне на карту --- .../Laws/Components/IonStormTargetComponent.cs | 8 ++++---- .../en-US/chameleon-projector/chameleon-projector.ftl | 6 ++++++ .../ru-RU/chameleon-projector/chameleon-projector.ftl | 10 ++++++++++ .../Entities/Objects/Consumable/Food/Baked/misc.yml | 10 +++++----- 4 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 Resources/Locale/ru-RU/chameleon-projector/chameleon-projector.ftl diff --git a/Content.Shared/Silicons/Laws/Components/IonStormTargetComponent.cs b/Content.Shared/Silicons/Laws/Components/IonStormTargetComponent.cs index 2d44408b8d..70fa460dec 100644 --- a/Content.Shared/Silicons/Laws/Components/IonStormTargetComponent.cs +++ b/Content.Shared/Silicons/Laws/Components/IonStormTargetComponent.cs @@ -26,25 +26,25 @@ public sealed partial class IonStormTargetComponent : Component /// Chance to replace the lawset with a random one /// [DataField, ViewVariables(VVAccess.ReadWrite)] - public float RandomLawsetChance = 0.40f; // WD was 0.25f + public float RandomLawsetChance = 0.25f; /// /// Chance to remove a random law. /// [DataField, ViewVariables(VVAccess.ReadWrite)] - public float RemoveChance = 0.15f; // WD was 0.20f + public float RemoveChance = 0.20f; /// /// Chance to replace a random law with the new one, rather than have it be a glitched-order law. /// [DataField, ViewVariables(VVAccess.ReadWrite)] - public float ReplaceChance = 0.15f; // WD was 0.20f + public float ReplaceChance = 0.20f; /// /// Chance to shuffle laws after everything is done. /// [DataField, ViewVariables(VVAccess.ReadWrite)] - public float ShuffleChance = 0.15f; // WD was 0.20f + public float ShuffleChance = 0.20f; } /// diff --git a/Resources/Locale/en-US/chameleon-projector/chameleon-projector.ftl b/Resources/Locale/en-US/chameleon-projector/chameleon-projector.ftl index b525c9da1a..c9a96b7f7d 100644 --- a/Resources/Locale/en-US/chameleon-projector/chameleon-projector.ftl +++ b/Resources/Locale/en-US/chameleon-projector/chameleon-projector.ftl @@ -2,3 +2,9 @@ chameleon-projector-inside-container = There's no room to scan that! chameleon-projector-invalid = You can't disguise as that! chameleon-projector-success = Projected new disguise. chameleon-projector-set-disguise = Set Disguise + +# Actions +ent-ActionDisguiseNoRot = Toggle Rotation + .desc = Use this to prevent your disguise from rotating, making it easier to hide in some scenarios. +ent-ActionDisguiseAnchor = Toggle Anchored + .desc = For many objects you will want to be anchored to not be completely obvious. diff --git a/Resources/Locale/ru-RU/chameleon-projector/chameleon-projector.ftl b/Resources/Locale/ru-RU/chameleon-projector/chameleon-projector.ftl new file mode 100644 index 0000000000..ee41964332 --- /dev/null +++ b/Resources/Locale/ru-RU/chameleon-projector/chameleon-projector.ftl @@ -0,0 +1,10 @@ +chameleon-projector-inside-container = Здесь нет места для сканирования! +chameleon-projector-invalid = Неверный объект для маскировки! +chameleon-projector-success = Маскировка выполнена успешно. +chameleon-projector-set-disguise = Выбрать для маскировки + +# Actions +ent-ActionDisguiseNoRot = Переключить вращение + .desc = Используйте это, чтобы предотвратить вращение вашей маскировки, что упрощает маскировку в некоторых ситуациях. +ent-ActionDisguiseAnchor = Переключить закрепление + .desc = Для многих объектов вам надо быть закреплённым, чтобы быть менее заметным. diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml index b1bbdfb530..235b07057d 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml @@ -228,13 +228,13 @@ layers: - state: pancakes1 map: ["pancakes1"] - visible: false + visible: true # WD changed to fix chameleon projector bug - state: pancakes2 map: ["pancakes2"] - visible: false + visible: true # WD changed to fix chameleon projector bug - state: pancakes3 map: ["pancakes3"] - visible: false + visible: true # WD changed to fix chameleon projector bug - state: pancakes4 map: ["pancakes4"] visible: false @@ -277,7 +277,7 @@ layers: - state: pancakesbb1 map: ["pancakesbb1"] - visible: false + visible: true # WD changed to fix chameleon projector bug - state: pancakesbb2 map: ["pancakesbb2"] visible: false @@ -309,7 +309,7 @@ layers: - state: pancakescc1 map: ["pancakescc1"] - visible: false + visible: true # WD changed to fix chameleon projector bug - state: pancakescc2 map: ["pancakescc2"] visible: false From 51ed0bece9ae1b6d5a837cdf3aef4d4b4206dccb Mon Sep 17 00:00:00 2001 From: RavmorganButOnCocaine Date: Sun, 15 Sep 2024 12:24:34 +0000 Subject: [PATCH 16/19] Automatic changelog update --- Resources/Changelog/ChangelogWhite.yml | 27 ++++++++------------------ 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index 0324355b8f..ed9ed8fe7b 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -1,23 +1,4 @@ Entries: -- author: BronyUraj - changes: - - message: "\u041C\u0435\u0434\u0432\u0435\u0434\u0438 \u0442\u0435\u043F\u0435\u0440\ - \u044C \u043F\u0440\u043E\u0445\u043E\u0434\u044F\u0442 \u0432 \u0434\u0432\u0435\ - \u0440\u0438." - type: Add - - message: "\u0413\u043E\u0440\u0438\u043B\u043B\u044B \u0441\u0442\u0430\u043B\u0438\ - \ \u0430\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043D\u044B\u043C\u0438." - type: Add - - message: "\u0420\u0435\u0430\u0433\u0435\u043D\u0442 \u043F\u0447\u0435\u043B\ - \ \u0441\u0442\u0430\u043B \u0441\u043F\u0430\u0432\u043D\u0438\u0442\u044C\ - \ \u0437\u043B\u044B\u0445 \u043F\u0447\u0435\u043B." - type: Add - - message: "\u041F\u0447\u0435\u043B\u044B \u0438\u0437\u0434\u0430\u044E\u0442\ - \ \u0437\u0432\u0443\u043A (\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\ - \u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u0435)" - type: Add - id: 46 - time: '2023-01-24T07:41:12.0000000+00:00' - author: RavMorgan changes: - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u0432\u0441\ @@ -8700,3 +8681,11 @@ id: 545 time: '2024-09-14T07:16:24.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/695 +- author: BIG_Zi_348 + changes: + - message: "\u041F\u0435\u0440\u0435\u0432\u043E\u0434\u044B \u043C\u0435\u043B\u043E\ + \u0447\u0435\u0439." + type: Add + id: 546 + time: '2024-09-15T12:23:31.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/697 From 276915fb44304c6605c17fe86864c97e99f50c6b Mon Sep 17 00:00:00 2001 From: BIGZi0348 <118811750+BIGZi0348@users.noreply.github.com> Date: Tue, 17 Sep 2024 20:41:24 +0300 Subject: [PATCH 17/19] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=80=D1=8F=D0=B4=D0=BE=D0=B2=20=D0=A0=D0=A6=D0=94=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D1=8F=20=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=BA=D0=B8=20=D1=80=D0=B5=D1=81=D1=83=D1=80=D1=81=D0=BE?= =?UTF-8?q?=D0=B2=20(#699)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Фиксики * Спасли Валеру от банкротства --- Content.Shared/RCD/Systems/RCDAmmoSystem.cs | 17 ++++++++++++++++- .../en-US/rcd/components/rcd-ammo-component.ftl | 1 + .../ru-RU/rcd/components/rcd-ammo-component.ftl | 3 ++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Content.Shared/RCD/Systems/RCDAmmoSystem.cs b/Content.Shared/RCD/Systems/RCDAmmoSystem.cs index 159da03d1b..b1d1f2d233 100644 --- a/Content.Shared/RCD/Systems/RCDAmmoSystem.cs +++ b/Content.Shared/RCD/Systems/RCDAmmoSystem.cs @@ -63,6 +63,21 @@ public sealed class RCDAmmoSystem : EntitySystem var user = args.User; args.Handled = true; + + // WD edit start + TryComp(uid, out var stackComponent); + if (stackComponent != null) + { + var realValue = (int) (stackComponent.Count * comp.ChargeCountModifier); + comp.Charges = realValue; + if (realValue == 0) + { + _popup.PopupClient(Loc.GetString("rcd-ammo-component-after-interact-not-enough"), target, user); + return; + } + } + // WD edit end + var count = Math.Min(charges.MaxCharges - charges.Charges, comp.Charges); if (count <= 0) { @@ -73,7 +88,7 @@ public sealed class RCDAmmoSystem : EntitySystem _popup.PopupClient(Loc.GetString("rcd-ammo-component-after-interact-refilled"), target, user); // WD edit start - if (TryComp(uid, out var stackComponent)) + if (stackComponent != null) { var spent = (int) (count / comp.ChargeCountModifier) == 0 ? 1 : (int) (count / comp.ChargeCountModifier); _stack.SetCount(uid, stackComponent.Count - spent); diff --git a/Resources/Locale/en-US/rcd/components/rcd-ammo-component.ftl b/Resources/Locale/en-US/rcd/components/rcd-ammo-component.ftl index e65a9b3147..20039ecafb 100644 --- a/Resources/Locale/en-US/rcd/components/rcd-ammo-component.ftl +++ b/Resources/Locale/en-US/rcd/components/rcd-ammo-component.ftl @@ -1,3 +1,4 @@ rcd-ammo-component-on-examine = It holds {$charges} charges. rcd-ammo-component-after-interact-full = The RCD is full! rcd-ammo-component-after-interact-refilled = You refill the RCD. +rcd-ammo-component-after-interact-not-enough = Not enough material for charge. diff --git a/Resources/Locale/ru-RU/rcd/components/rcd-ammo-component.ftl b/Resources/Locale/ru-RU/rcd/components/rcd-ammo-component.ftl index b16b4b88ad..7c95fa6b0b 100644 --- a/Resources/Locale/ru-RU/rcd/components/rcd-ammo-component.ftl +++ b/Resources/Locale/ru-RU/rcd/components/rcd-ammo-component.ftl @@ -1,6 +1,7 @@ rcd-ammo-component-on-examine = Оно содержит { $charges } зарядов. -rcd-ammo-component-after-interact-full = РЦд полностью заряжена! +rcd-ammo-component-after-interact-full = РЦД полностью заряжен! rcd-ammo-component-after-interact-refilled = Вы перезаряжаете РЦД. rcd-ammo-component-on-examine-text = Содержит { $ammo } зарядов. rcd-ammo-component-after-interact-full-text = РЦД полностью заряжен! rcd-ammo-component-after-interact-refilled-text = Вы перезаряжаете РЦД. +rcd-ammo-component-after-interact-not-enough = Недостаточно материала для заряда. From bafacb36c8a578851d00bdb69c71f8d47048a93e Mon Sep 17 00:00:00 2001 From: BIGZi0348 <118811750+BIGZi0348@users.noreply.github.com> Date: Tue, 17 Sep 2024 21:00:13 +0300 Subject: [PATCH 18/19] Very hot man (#700) --- Resources/Locale/ru-RU/burning/bodyburn.ftl | 1 + 1 file changed, 1 insertion(+) create mode 100644 Resources/Locale/ru-RU/burning/bodyburn.ftl diff --git a/Resources/Locale/ru-RU/burning/bodyburn.ftl b/Resources/Locale/ru-RU/burning/bodyburn.ftl new file mode 100644 index 0000000000..009cf26939 --- /dev/null +++ b/Resources/Locale/ru-RU/burning/bodyburn.ftl @@ -0,0 +1 @@ +bodyburn-text-others = {$name} сгорел до тла! From 7160a894ac43a7528c2fd921ae9f1e63f28eda39 Mon Sep 17 00:00:00 2001 From: RavmorganButOnCocaine Date: Tue, 17 Sep 2024 18:01:17 +0000 Subject: [PATCH 19/19] Automatic changelog update --- Resources/Changelog/ChangelogWhite.yml | 46 ++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index ed9ed8fe7b..f503e29ec3 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -1,11 +1,4 @@ Entries: -- author: RavMorgan - changes: - - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u0432\u0441\ - \u044F\u043A\u043E\u0435!" - type: Add - id: 47 - time: '2023-01-24T09:28:49.0000000+00:00' - author: RavMorgan changes: - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043D\u043E\u0432\ @@ -8689,3 +8682,42 @@ id: 546 time: '2024-09-15T12:23:31.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/697 +- author: BIG_Zi_348 + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u043F\u0435\u0440\u0435\ + \u0432\u043E\u0434 \u0441\u0443\u043F\u0435\u0440\u043C\u0430\u0442\u0435\u0440\ + \u0438\u0438 \u0438 \u0432\u0441\u0435\u0445 \u0435\u0451 \u0441\u0438\u0441\ + \u0442\u0435\u043C." + type: Add + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u043F\u0435\u0440\u0435\ + \u0432\u043E\u0434 \u043F\u0440\u043E\u0436\u0435\u043A\u0442\u043E\u0440\u0430\ + \ \u0445\u0430\u043C\u0435\u043B\u0435\u043E\u043D\u0430 \u0438 \u0432\u0441\ + \u0435\u0445 \u0435\u0433\u043E \u0441\u0438\u0441\u0442\u0435\u043C." + type: Add + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u043E\u0448\ + \u0438\u0431\u043A\u0430 \u043B\u043E\u043A\u0430\u043B\u0438\u0437\u0430\u0446\ + \u0438\u0438 \u0437\u0430\u043A\u043E\u043D\u0430 \u0431\u043E\u0440\u0433\u043E\ + \u0432 \u043E\u0442 \u0438\u043E\u043D\u043D\u043E\u0433\u043E \u0448\u0442\u043E\ + \u0440\u043C\u0430." + type: Fix + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u043E\u043F\ + \u0438\u0441\u0430\u043D\u0438\u0435 \u0438\u043C\u043F\u043B\u0430\u043D\u0442\ + \u0435\u0440\u043E\u0432 \u0432 \u0440\u0443\u043A\u0435." + type: Fix + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u044B \u043E\u043F\ + \u0435\u0447\u0430\u0442\u043A\u0438 \u0432 \u043D\u0435\u043A\u043E\u0442\u043E\ + \u0440\u044B\u0445 \u043C\u0435\u0441\u0442\u0430\u0445." + type: Fix + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D \u0431\u0430\u0433\ + \ \u0441 \u0431\u043B\u0438\u043D\u0447\u0438\u043A\u0430\u043C\u0438." + type: Fix + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u043B\u043E\ + \u0433\u0438\u043A\u0430 \u043F\u043E\u043F\u043E\u043B\u043D\u0435\u043D\u0438\ + \u044F \u0437\u0430\u0440\u044F\u0434\u043E\u0432 \u0420\u0426\u0414." + type: Fix + - message: "\u041F\u043E\u0434\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u044B \u043C\ + \u0435\u043B\u043E\u0447\u0438." + type: Tweak + id: 547 + time: '2024-09-17T18:00:13.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/700