From 9568ad2af28e15dccb424b9851e2e8f40da220f8 Mon Sep 17 00:00:00 2001 From: keslik Date: Sun, 12 Jan 2025 14:58:05 +0300 Subject: [PATCH 01/11] Tweak: direction --- .../Textures/White/Ghosts/Feda_Plevajecki-ghost.rsi/meta.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Textures/White/Ghosts/Feda_Plevajecki-ghost.rsi/meta.json b/Resources/Textures/White/Ghosts/Feda_Plevajecki-ghost.rsi/meta.json index 6debd6afad..5def4621a9 100644 --- a/Resources/Textures/White/Ghosts/Feda_Plevajecki-ghost.rsi/meta.json +++ b/Resources/Textures/White/Ghosts/Feda_Plevajecki-ghost.rsi/meta.json @@ -9,7 +9,7 @@ "states": [ { "name": "animated", - "directions": 4 + "directions": 1 } ] } From 75ce95044d0c8b56a87082ba69535afef62f1380 Mon Sep 17 00:00:00 2001 From: BIGZi0348 Date: Sun, 12 Jan 2025 16:27:27 +0300 Subject: [PATCH 02/11] =?UTF-8?q?=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=20=D0=B0=D0=BA=D1=86=D0=B5=D0=BD=D1=82=D0=B0=20?= =?UTF-8?q?=D0=B3=D0=BD=D0=BE=D0=BC=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Speech/Components/GnomeAccentComponent.cs | 2 +- .../Speech/EntitySystems/GnomeAccentSystem.cs | 20 ------ .../Locale/ru-RU/_white/accent/gnome.ftl | 64 +++++++++++++++++++ .../Prototypes/Entities/Mobs/NPCs/pets.yml | 4 +- .../_White/Accents/word_replacements.yml | 36 +++++++++++ 5 files changed, 103 insertions(+), 23 deletions(-) create mode 100644 Resources/Locale/ru-RU/_white/accent/gnome.ftl diff --git a/Content.Server/Speech/Components/GnomeAccentComponent.cs b/Content.Server/Speech/Components/GnomeAccentComponent.cs index 939df9f753..a9e2741870 100644 --- a/Content.Server/Speech/Components/GnomeAccentComponent.cs +++ b/Content.Server/Speech/Components/GnomeAccentComponent.cs @@ -5,4 +5,4 @@ namespace Content.Server.Speech.Components; /// [RegisterComponent] public sealed partial class GnomeAccentComponent : Component -{} +{ } diff --git a/Content.Server/Speech/EntitySystems/GnomeAccentSystem.cs b/Content.Server/Speech/EntitySystems/GnomeAccentSystem.cs index 0ea3a311cc..e4a26044fd 100644 --- a/Content.Server/Speech/EntitySystems/GnomeAccentSystem.cs +++ b/Content.Server/Speech/EntitySystems/GnomeAccentSystem.cs @@ -1,5 +1,4 @@ using Content.Server.Speech.Components; -using System.Text.RegularExpressions; namespace Content.Server.Speech.EntitySystems; @@ -22,25 +21,6 @@ public sealed class GnomeAccentSystem : EntitySystem msg = _replacement.ApplyReplacements(msg, "gnome"); - // Пиздец, а не код - - msg = Regex.Replace(msg, @"(? Date: Sun, 12 Jan 2025 17:04:20 +0300 Subject: [PATCH 03/11] =?UTF-8?q?=D0=B7=D0=B2=D1=83=D0=BA=20=D1=81=D0=B2?= =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B2=D0=BE=D0=BC=D1=83=20=D0=BA=D0=BE=D0=BF?= =?UTF-8?q?=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_White/Entities/Objects/Weapons/hardlight_spear.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/hardlight_spear.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/hardlight_spear.yml index d49691ba08..7ddb03780c 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Weapons/hardlight_spear.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/hardlight_spear.yml @@ -14,7 +14,7 @@ Piercing: 18 Heat: 18 soundHit: - path: /Audio/Weapons/smash.ogg + path: /Audio/Weapons/eblade1.ogg - type: DamageOtherOnHit damage: types: From a26414dd374f7949f70bb93dd8fb2d24ac1ba205 Mon Sep 17 00:00:00 2001 From: BIGZi0348 Date: Sun, 12 Jan 2025 18:14:10 +0300 Subject: [PATCH 04/11] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=20=D1=85=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=B5=D0=BE=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Systems/SharedChameleonProjectorSystem.cs | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs b/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs index 9944c9ba32..fa62d68d5e 100644 --- a/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs +++ b/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs @@ -16,6 +16,7 @@ using Robust.Shared.Network; using Robust.Shared.Physics.Components; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.Manager; +using Robust.Shared.Timing; using System.Diagnostics.CodeAnalysis; namespace Content.Shared.Polymorph.Systems; @@ -36,7 +37,7 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem [Dependency] private readonly SharedContainerSystem _container = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedTransformSystem _xform = default!; - + [Dependency] private readonly IGameTiming _gameTiming = default!; // WD public override void Initialize() { base.Initialize(); @@ -44,6 +45,7 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem SubscribeLocalEvent(OnDisguiseInteractHand, before: [typeof(SharedItemSystem)]); SubscribeLocalEvent(OnDisguiseDamaged); SubscribeLocalEvent(OnDisguiseShutdown); + SubscribeLocalEvent(OnPickup); // WD SubscribeLocalEvent(OnInteract); SubscribeLocalEvent>(OnGetVerbs); @@ -62,11 +64,19 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem args.Handled = true; } + /// + /// WD. Horrible fix, but functional. + /// + private void OnPickup(Entity ent, ref GotEquippedHandEvent args) + { + Timer.Spawn(100, () => TryReveal(ent.Comp.User)); + } + private void OnDisguiseDamaged(Entity ent, ref DamageChangedEvent args) { // anything that would damage both like an explosion gets doubled // feature? projector makes your atoms weaker or some bs - if (args.DamageDelta is {} damage) + if (args.DamageDelta is { } damage) _damageable.TryChangeDamage(ent.Comp.User, damage); } @@ -81,7 +91,7 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem private void OnInteract(Entity ent, ref AfterInteractEvent args) { - if (args.Handled || !args.CanReach || args.Target is not {} target) + if (args.Handled || !args.CanReach || args.Target is not { } target) return; args.Handled = true; @@ -126,7 +136,7 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem private void OnToggleNoRot(Entity ent, ref DisguiseToggleNoRotEvent args) { - if (ent.Comp.Disguised is not {} uid) + if (ent.Comp.Disguised is not { } uid) return; var xform = Transform(uid); @@ -137,7 +147,7 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem private void OnToggleAnchored(Entity ent, ref DisguiseToggleAnchoredEvent args) { - if (ent.Comp.Disguised is not {} uid) + if (ent.Comp.Disguised is not { } uid) return; var xform = Transform(uid); @@ -249,7 +259,7 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem /// public void RevealProjector(Entity ent) { - if (ent.Comp.Disguised is {} user) + if (ent.Comp.Disguised is { } user) TryReveal(user); } @@ -261,7 +271,7 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem /// /// This would probably be a good thing to add to engine in the future. /// - protected bool CopyComp(Entity ent) where T: Component, new() + protected bool CopyComp(Entity ent) where T : Component, new() { if (!GetSrcComp(ent.Comp, out var src)) return true; @@ -277,13 +287,13 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem /// /// Try to get a single component from the source entity/prototype. /// - private bool GetSrcComp(ChameleonDisguiseComponent comp, [NotNullWhen(true)] out T? src) where T: Component + private bool GetSrcComp(ChameleonDisguiseComponent comp, [NotNullWhen(true)] out T? src) where T : Component { src = null; if (TryComp(comp.SourceEntity, out src)) return true; - if (comp.SourceProto is not {} protoId) + if (comp.SourceProto is not { } protoId) return false; if (!_proto.TryIndex(protoId, out var proto)) From 6d5e8e5273fb22fd51f594478a2f4e7f744139a2 Mon Sep 17 00:00:00 2001 From: BIGZi0348 Date: Sun, 12 Jan 2025 20:37:45 +0300 Subject: [PATCH 05/11] =?UTF-8?q?=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Resources/Prototypes/_Honk/Catalog/Cargo/cargo_armory.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_Honk/Catalog/Cargo/cargo_armory.yml b/Resources/Prototypes/_Honk/Catalog/Cargo/cargo_armory.yml index a4e8105171..dc697bfb32 100644 --- a/Resources/Prototypes/_Honk/Catalog/Cargo/cargo_armory.yml +++ b/Resources/Prototypes/_Honk/Catalog/Cargo/cargo_armory.yml @@ -1,7 +1,7 @@ - type: cargoProduct id: ArmoryKLMG icon: - sprite: _Honk/Objects/Weapons/Guns/LMGs/klmg-icons.rsi + sprite: White/_Honk/Objects/Weapons/Guns/LMGs/klmg-icons.rsi state: icon product: CrateArmoryKLMG cost: 14000 From a867f549b160cb5c0fdc37521d0724c2364a7f39 Mon Sep 17 00:00:00 2001 From: BIGZi0348 Date: Sun, 12 Jan 2025 22:45:08 +0300 Subject: [PATCH 06/11] =?UTF-8?q?=D0=A3=D0=BB=D1=83=D1=87=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=9E=D0=91=D0=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ERTRecruitment/ERTRecruitmentRule.cs | 2 +- .../ERTRecruitmentRuleComponent.cs | 5 +++ .../GhostRecruitmentSystem.cs | 35 +++++++++++++++---- .../GhostRecruitmentSpawnPointComponent.cs | 5 ++- .../_White/Entities/Markers/Spawners/ERT.yml | 10 ++++++ 5 files changed, 48 insertions(+), 9 deletions(-) diff --git a/Content.Server/_White/ERTRecruitment/ERTRecruitmentRule.cs b/Content.Server/_White/ERTRecruitment/ERTRecruitmentRule.cs index 70d4c2b002..03fa050b42 100644 --- a/Content.Server/_White/ERTRecruitment/ERTRecruitmentRule.cs +++ b/Content.Server/_White/ERTRecruitment/ERTRecruitmentRule.cs @@ -104,7 +104,7 @@ public sealed class ERTRecruitmentRule : StationEventSystem [DataField] public int MinPlayers = 3; + /// + /// Minimal playtime to be eligible for recruitment. + /// + [DataField] public TimeSpan OverallPlaytime = TimeSpan.FromHours(10); + public static SoundSpecifier ERTYes = new SoundPathSpecifier("/Audio/Announcements/ert_yes.ogg"); public static SoundSpecifier ERTNo = new SoundPathSpecifier("/Audio/Announcements/ert_no.ogg"); diff --git a/Content.Server/_White/GhostRecruitment/GhostRecruitmentSystem.cs b/Content.Server/_White/GhostRecruitment/GhostRecruitmentSystem.cs index c917ec24cf..27b9e98f71 100644 --- a/Content.Server/_White/GhostRecruitment/GhostRecruitmentSystem.cs +++ b/Content.Server/_White/GhostRecruitment/GhostRecruitmentSystem.cs @@ -11,6 +11,12 @@ using Robust.Server.GameObjects; using Robust.Server.Player; using Robust.Shared.Player; using Robust.Shared.Random; +using Content.Shared.Roles; +using Content.Server.Roles; +using Content.Shared.Roles.Jobs; +using Content.Server.Station.Systems; +using Robust.Shared.Prototypes; +using Content.Server.Players.PlayTimeTracking; namespace Content.Server._White.GhostRecruitment; @@ -23,18 +29,26 @@ public sealed class GhostRecruitmentSystem : EntitySystem [Dependency] private readonly MindSystem _mind = default!; [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly IPlayerManager _playerManager = default!; + [Dependency] private readonly SharedRoleSystem _roleSystem = default!; + [Dependency] private readonly StationSpawningSystem _spawningSystem = default!; + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly IPlayTimeTrackingManager _playTimeTracking = default!; private readonly Dictionary _openUis = new(); /// /// starts recruiting ghosts, showing them a menu with a choice to recruit. /// - /// name of recruitment. - public void StartRecruitment(string recruitmentName) + /// Name of recruitment. + /// Minimal playtime to be eligible for recruitment. + public void StartRecruitment(string recruitmentName, TimeSpan? overallPlaytime) { var query = EntityQueryEnumerator(); while (query.MoveNext(out var uid, out _, out var actorComponent)) { + if (overallPlaytime != null && _playTimeTracking.GetOverallPlaytime(actorComponent.PlayerSession) < overallPlaytime) + continue; + OpenEui(uid, recruitmentName, actorComponent); } } @@ -121,13 +135,20 @@ public sealed class GhostRecruitmentSystem : EntitySystem if (!entityUid.HasValue) return; - var mind = actorComponent.PlayerSession.GetMind(); + var userId = actorComponent.PlayerSession.UserId; + var entityName = EntityManager.GetComponent((EntityUid) entityUid).EntityName; - if (!mind.HasValue) - return; + var newMind = _mind.CreateMind(userId, entityName); - _mind.TransferTo(mind.Value, entityUid.Value); - _mind.UnVisit(mind.Value); + var job = new JobComponent { Prototype = component.JobId }; + + _roleSystem.MindAddRole(newMind, job); + _mind.SetUserId(newMind, userId); + _mind.TransferTo(newMind, entityUid); + + _prototypeManager.TryIndex(job.Prototype, out var jobProto); + if (jobProto != null) + _spawningSystem.SetPdaAndIdCardData((EntityUid) entityUid, entityName, jobProto, null); } private EntityUid? Spawn(EntityUid spawnerUid, GhostRecruitmentSpawnPointComponent? component = null) diff --git a/Content.Shared/_White/GhostRecruitment/GhostRecruitmentSpawnPointComponent.cs b/Content.Shared/_White/GhostRecruitment/GhostRecruitmentSpawnPointComponent.cs index fe3d68ee0e..53905900a0 100644 --- a/Content.Shared/_White/GhostRecruitment/GhostRecruitmentSpawnPointComponent.cs +++ b/Content.Shared/_White/GhostRecruitment/GhostRecruitmentSpawnPointComponent.cs @@ -6,11 +6,14 @@ namespace Content.Shared._White.GhostRecruitment; [RegisterComponent] public sealed partial class GhostRecruitmentSpawnPointComponent : Component { - [DataField("prototype", customTypeSerializer:typeof(PrototypeIdSerializer),required:true)] + [DataField("prototype", customTypeSerializer: typeof(PrototypeIdSerializer), required: true)] public string EntityPrototype = default!; [DataField("recruitmentName")] public string RecruitmentName = "default"; [DataField("priority")] public int Priority = 5; + + [DataField] + public string JobId = "Passenger"; } diff --git a/Resources/Prototypes/_White/Entities/Markers/Spawners/ERT.yml b/Resources/Prototypes/_White/Entities/Markers/Spawners/ERT.yml index b3e1804323..430a1291a4 100644 --- a/Resources/Prototypes/_White/Entities/Markers/Spawners/ERT.yml +++ b/Resources/Prototypes/_White/Entities/Markers/Spawners/ERT.yml @@ -17,6 +17,7 @@ prototype: RandomHumanoidSpawnerERTLeader recruitmentName: ERTRecruitment priority: 1 + jobId: ERTLeader - type: Sprite layers: - state: green @@ -31,6 +32,7 @@ prototype: RandomHumanoidSpawnerERTLeaderEVA recruitmentName: ERTRecruitment priority: 1 + jobId: ERTLeader - type: Sprite layers: - state: green @@ -44,6 +46,7 @@ - type: GhostRecruitmentSpawnPoint prototype: RandomHumanoidSpawnerERTJanitor recruitmentName: ERTRecruitment + jobId: ERTJanitor - type: Sprite layers: - state: green @@ -57,6 +60,7 @@ - type: GhostRecruitmentSpawnPoint prototype: RandomHumanoidSpawnerERTJanitorEVA recruitmentName: ERTRecruitment + jobId: ERTJanitor - type: Sprite layers: - state: green @@ -71,6 +75,7 @@ prototype: RandomHumanoidSpawnerERTEngineer recruitmentName: ERTRecruitment priority: 2 + jobId: ERTEngineer - type: Sprite layers: - state: green @@ -85,6 +90,7 @@ prototype: RandomHumanoidSpawnerERTEngineerEVA recruitmentName: ERTRecruitment priority: 2 + jobId: ERTEngineer - type: Sprite layers: - state: green @@ -99,6 +105,7 @@ prototype: RandomHumanoidSpawnerERTSecurity recruitmentName: ERTRecruitment priority: 2 + jobId: ERTSecurity - type: Sprite layers: - state: green @@ -113,6 +120,7 @@ prototype: RandomHumanoidSpawnerERTSecurityEVA recruitmentName: ERTRecruitment priority: 2 + jobId: ERTSecurity - type: Sprite layers: - state: green @@ -127,6 +135,7 @@ prototype: RandomHumanoidSpawnerERTMedical recruitmentName: ERTRecruitment priority: 2 + jobId: ERTMedical - type: Sprite layers: - state: green @@ -141,6 +150,7 @@ prototype: RandomHumanoidSpawnerERTMedicalEVA recruitmentName: ERTRecruitment priority: 2 + jobId: ERTMedical - type: Sprite layers: - state: green From c3ac0a52a4858d18d51d0c2dc9d658f537d4bb9c Mon Sep 17 00:00:00 2001 From: BIGZi0348 Date: Sun, 12 Jan 2025 23:39:38 +0300 Subject: [PATCH 07/11] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Catalog/Fills/Backpacks/duffelbag.yml | 2 +- .../Catalog/Fills/Lockers/security.yml | 2 +- .../VendingMachines/Inventories/detdrobe.yml | 2 +- .../VendingMachines/Inventories/secdrobe.yml | 2 +- .../Entities/Markers/Spawners/Random/loot.yml | 2 +- .../Prototypes/Entities/White/mag-gloves.yml | 1 + Resources/Prototypes/Loadouts/Jobs/common.yml | 10 ++++++ .../Prototypes/Loadouts/loadout_groups.yml | 10 +++++- .../Prototypes/Loadouts/role_loadouts.yml | 10 +++--- .../Roles/Jobs/Command/centcom_official.yml | 2 +- .../_White/Entities/Clothing/Hands/gloves.yml | 15 +++++++++ .../Structures/Storage/SenorsLockers.yml | 2 +- .../equipped-HAND-body-slim.png | Bin 0 -> 1990 bytes .../blacksecurity.rsi/equipped-HAND.png | Bin 0 -> 360 bytes .../Hands/Gloves/blacksecurity.rsi/icon.png | Bin 0 -> 365 bytes .../Gloves/blacksecurity.rsi/inhand-left.png | Bin 0 -> 205 bytes .../Gloves/blacksecurity.rsi/inhand-right.png | Bin 0 -> 214 bytes .../Hands/Gloves/blacksecurity.rsi/meta.json | 30 ++++++++++++++++++ 18 files changed, 77 insertions(+), 13 deletions(-) create mode 100644 Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml create mode 100644 Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/equipped-HAND-body-slim.png create mode 100644 Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/equipped-HAND.png create mode 100644 Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/icon.png create mode 100644 Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/inhand-left.png create mode 100644 Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/inhand-right.png create mode 100644 Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/meta.json diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml index 58b04be377..c11edbe3e5 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml @@ -165,7 +165,7 @@ - id: ClothingEyesGlassesSunglasses - id: ClothingUniformJumpsuitCentcomOfficial - id: ClothingShoesBootsJack - - id: ClothingHandsGlovesColorBlack + - id: ClothingHandsGlovesColorBlackSecurity # WD - id: ClothingHeadsetAltCentComFake - id: Paper - id: Pen diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml index fa6d20fa7e..30178008d4 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml @@ -65,7 +65,7 @@ prob: 0.5 - id: ClothingEyesGlassesSecurity - id: ClothingHeadsetAltSecurity # WD - - id: ClothingHandsGlovesColorBlack + - id: ClothingHandsGlovesColorBlackSecurity # WD - id: ClothingShoesBootsJack - id: WeaponMeleeNeedle prob: 0.1 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml index 70417b5074..8ff37c2064 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml @@ -17,7 +17,7 @@ ClothingNeckTieDet: 2 ClothingShoesLeather: 2 ClothingShoesColorBrown: 2 - ClothingHandsGlovesColorBlack: 2 + ClothingHandsGlovesColorBlackSecurity: 2 # WD ClothingHandsGlovesLatex: 2 CigPackGreen: 4 SmokingPipeFilledTobacco: 1 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/secdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/secdrobe.yml index a9b01ba045..7c5966de73 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/secdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/secdrobe.yml @@ -19,7 +19,7 @@ ClothingUniformJumpskirtSec: 4 ClothingUniformJumpsuitSecGrey: 4 ClothingUniformJumpsuitSecBlue: 4 - ClothingHandsGlovesColorBlack: 4 + ClothingHandsGlovesColorBlackSecurity: 4 # WD ClothingShoesBootsJack: 4 ClothingShoesBootsCombat: 4 ClothingHeadHatBeretSecurity: 3 diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/loot.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/loot.yml index 364cdf3057..93a6b5e18a 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/loot.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/loot.yml @@ -135,7 +135,7 @@ - WeaponDisabler - ClothingOuterArmorBulletproof - FlashlightSeclite - - ClothingHandsGlovesColorBlack + - ClothingHandsGlovesColorBlackSecurity # WD - ClothingHeadHelmetBasic - Handcuffs - Zipties diff --git a/Resources/Prototypes/Entities/White/mag-gloves.yml b/Resources/Prototypes/Entities/White/mag-gloves.yml index ff87e36ddb..7c682087d9 100644 --- a/Resources/Prototypes/Entities/White/mag-gloves.yml +++ b/Resources/Prototypes/Entities/White/mag-gloves.yml @@ -23,6 +23,7 @@ - type: Fiber fiberMaterial: fibers-nanomachines - type: FingerprintMask + - type: Insulated - type: MagneticGloves glovesActiveTime: 60 glovesCooldown: 60 diff --git a/Resources/Prototypes/Loadouts/Jobs/common.yml b/Resources/Prototypes/Loadouts/Jobs/common.yml index 514d4c7bac..172cfd48d4 100644 --- a/Resources/Prototypes/Loadouts/Jobs/common.yml +++ b/Resources/Prototypes/Loadouts/Jobs/common.yml @@ -173,6 +173,16 @@ equipment: gloves: ClothingHandsGlovesColorBlack + +- type: itemLoadout # WD + id: GlovesColorBlackSecurity + equipment: GlovesColorBlackSecurity +- type: startingGear + id: GlovesColorBlackSecurity + equipment: + gloves: ClothingHandsGlovesColorBlackSecurity + + - type: itemLoadout id: GlovesColorWhite equipment: GlovesColorWhite diff --git a/Resources/Prototypes/Loadouts/loadout_groups.yml b/Resources/Prototypes/Loadouts/loadout_groups.yml index 8418716349..40297b8caa 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/loadout_groups.yml @@ -745,6 +745,14 @@ - GlovesColorBlack - GlovesFingerless +- type: loadoutGroup # WD + id: CommonGlovesSecurity + name: loadout-group-gloves + minLimit: 0 + loadouts: + - GlovesColorBlackSecurity + - GlovesFingerless + - type: loadoutGroup id: CommonShoes name: loadout-group-shoes @@ -1584,7 +1592,7 @@ minLimit: 0 loadouts: - GlovesLatex - - GlovesColorBlack + - GlovesColorBlackSecurity # WD - GlovesForensic - type: loadoutGroup diff --git a/Resources/Prototypes/Loadouts/role_loadouts.yml b/Resources/Prototypes/Loadouts/role_loadouts.yml index 48a7055a24..95106396ff 100644 --- a/Resources/Prototypes/Loadouts/role_loadouts.yml +++ b/Resources/Prototypes/Loadouts/role_loadouts.yml @@ -481,7 +481,7 @@ - CommonSecurityCommandMask # WD - HeadofSecurityNeck - HeadofSecurityJumpsuit - - CommonGloves # WD + - CommonGlovesSecurity # WD - CommonSecurityBelt # WD - CommonSecurityBackpack - CommonSecurityShoes @@ -502,7 +502,7 @@ - CommonSecurityNeck - WardenJumpsuit - CommonSecurityBackpack - - CommonGloves # WD + - CommonGlovesSecurity # WD - CommonSecurityBelt # WD - CommonSecurityShoes - WardenPDA @@ -523,7 +523,7 @@ - CommonSecurityBackpack - SecurityOuterClothing - CommonSecurityBelt # WD - - CommonGloves # WD + - CommonGlovesSecurity # WD - CommonSecurityShoes - SeniorOfficerPDA - CommonSecurityJobTrinkets # WD @@ -560,7 +560,7 @@ - CommonSecurityBackpack - SecurityOuterClothing - CommonSecurityBelt # WD - - CommonGloves # WD + - CommonGlovesSecurity # WD - CommonSecurityShoes - SecurityPDA - CommonSecurityJobTrinkets # WD @@ -596,7 +596,7 @@ - CommonSecurityNeck - SecurityCadetJumpsuit - CommonSecurityBackpack - - CommonGloves # WD + - CommonGlovesSecurity # WD - CommonSecurityShoes - SecurityCadetPDA - CommonSecurityJobTrinkets # WD diff --git a/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml b/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml index 37c73f38e0..158d61c601 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml @@ -20,7 +20,7 @@ shoes: ClothingShoesBootsCombatFilled head: ClothingHeadHatCentcom eyes: ClothingEyesGlassesSunglasses - gloves: ClothingHandsGlovesColorBlack + gloves: ClothingHandsGlovesColorBlackSecurity # WD outerClothing: ClothingOuterArmorBasic id: CentcomPDA ears: ClothingHeadsetAltCentCom diff --git a/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml b/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml new file mode 100644 index 0000000000..ba7e67e5ad --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml @@ -0,0 +1,15 @@ +- type: entity + parent: ClothingHandsGlovesColorBlack + id: ClothingHandsGlovesColorBlackSecurity + name: офицерские перчатки + description: Кожанные чёрные перчатки, которые не спасут вас от поджаривания. + components: + - type: Sprite + sprite: White/Clothing/Hands/Gloves/blacksecurity.rsi + - type: Clothing + sprite: White/Clothing/Hands/Gloves/blacksecurity.rsi + - type: Fiber + fiberMaterial: fibers-leather + fiberColor: fibers-black + - type: Item + sprite: White/Clothing/Hands/Gloves/blacksecurity.rsi diff --git a/Resources/Prototypes/_White/Entities/Structures/Storage/SenorsLockers.yml b/Resources/Prototypes/_White/Entities/Structures/Storage/SenorsLockers.yml index d35766275d..778d343bfb 100644 --- a/Resources/Prototypes/_White/Entities/Structures/Storage/SenorsLockers.yml +++ b/Resources/Prototypes/_White/Entities/Structures/Storage/SenorsLockers.yml @@ -39,7 +39,7 @@ prob: 0.5 - id: ClothingEyesGlassesSecurity - id: ClothingHeadsetAltSecurity - - id: ClothingHandsGlovesColorBlack + - id: ClothingHandsGlovesColorBlackSecurity # WD - id: ClothingShoesBootsJack - id: WeaponMeleeNeedle prob: 0.1 diff --git a/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/equipped-HAND-body-slim.png b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/equipped-HAND-body-slim.png new file mode 100644 index 0000000000000000000000000000000000000000..4e6575db2fbfdf233fbe3e7fc65efc62ff277ae1 GIT binary patch literal 1990 zcma)7du-Hn9PcFKF(fg7fsi0gXMDu<`s?G`Yr`?NyNzAk@z^c`{-OS^{q?TdwLRKy zcN-y0Q9zzi5>Z){n8;&6f`1rLVnB@#RW>pacF(uX%ZNcyP{ylL#e)bwGe#Wm!*{0<#K}??J-xb80Ju?ZS zvfoH7^OnV%71cHaP_vULkTseEoBPljLE|+!v+9jntosfwClB?5jVy}yNS*$Vp@=Ew>v7r@ahqALkG58 zis2r}4IRkx%50fM#flBPRTmFuf{a9PXR3lW{1;SAa6l16g_HjQ#pgzY9{gXhrYgGa zm=Jf6VZsz*vQ~;B%LP&*cE)zFVeB36_kOWdQREmMNNaR#lPol^VvLbE4Ip0DIFSZA z7or7(iw1$r(y9b>DJb)zAPH27uZ=2t@$};rocs|_1U7`zE~vDqgCL!hgdh#Mq(<`` z6lI>31u@A}OxeXI!^NfOEFJh(w4x+s3~Ujf7zL{S;SEzR#F6-J_={tOac}i6@^fi~ zRhH{`XK{)!*VerpbWmLi_xYWz!U+L(be|MSY8qN8gr_M}2$S*0PBAW~Se22G3wxtR z6pp>Hgy)_wmM1R$D9>zUVbuM84$!W(@`_{ky>W!V_`t}eCvAOE5Lj3Z5 z^VD%)oPF}bP3^VwR*(DZHTQ!y^~|nqy}g^})V{s@hxhm1f9uePw}sUUeqT_Tzi@N< z>~kCEe6r-~w(Z?RmCu~*;g35fs=80jcx5}I-rfbzc(EPp%#=K_}T%Rq}E-X`qrvk&7w`eq`IrV zx^?v2^p#@&mdv}KUoiL1zBpy=ivyMW4{p3Vxckp@*OTuBBeff9R~|Uue6;$sRCi*@ z0O6co`3SrcCjU6~W!Lq=hxZ*GXs*9D^-^o!oTWETq_&(qdFa{kS318w^3bYuZ#F^9 l?ryB?t4NoH4KprHeq-u48z!Bc5cmJIv4(}w{q@hi@HfB1rRx9y literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/equipped-HAND.png b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/equipped-HAND.png new file mode 100644 index 0000000000000000000000000000000000000000..5599a2914e70ecee06431d6545cbd13ffa136a6c GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TR! zr;B4q#hkaZHu4=Z;Bn#aTqwNe0L!2M=8VD{F0G87*skNDvTpK$g74Q<%6`AnYTnCc zDa25u!tlg{;lxCS3CfHL?o1ASEDbW843XCl_FJDh zY@jfA_dUI%#{bW}U&X-vOjR}C^ZXw@#+Td`9>1f!Ud*)DK5**zsSD9{ZErUl`8*Fi zsQ*b^Tj7(?z4osctoP?JqFIB}{taIoR;K5_-s*cX=H2-lTR(F=OHF z`ux4y$NMLo7N5Ey0;uf%CewGFvDWz!-V|^}=3Y2A{^$Qd6o>**U}-!7=Fl^>4w|==00000 LNkvXXu0mjfE&P!8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/inhand-left.png b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..8f8953d6350a9eaafc02aae11628dea79f4f41c6 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Q#@T9Ln`LHy|t0|umKN?gXLVa zhyN}Y2v7A(Wm)%`PvJ>kL;HtGT17lSwG0jVAy;<>ztffs3w=JvxbDXCqT?K50io&T z^4V)co}7)!F8MxDPciI3=?=?utxwOY81L4q6fcfX=sEAJYCOLt5@ZGg!vVQ{bH$Fg zFWx`phV+eX4Oi?AZDU>XO>mp;gHK27m>B+anqQu7cUvs?|9p^YPgg&ebxsLQ0Mmj` A*#H0l literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/inhand-right.png b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..dec3a7db6d67a6c1eff1564080f53fa59d5f1212 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=b3I)gLn`LHy=BOE$biQoaJsJf z$-n-OXQ$`{i?_4{tIS&T{aeU2|Lqn`K*bCXdhh+N`^qD_x!7)%eC}FZ`G;rbEM*WB zOzt^xCig1G-tV@?+YOIh*;&-EI43Rd^5wq=3N6=eU0J-8A^lX`(;va>=P`qfVPN=o za+Us3<5TMouYb46_`}JU41%xU^MurhCVZXS*marl-4bMIK|3DV-} L>gTe~DWM4fmf=_r literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/meta.json b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/meta.json new file mode 100644 index 0000000000..453d7e2ce4 --- /dev/null +++ b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HAND", + "directions": 4 + }, + { + "name": "equipped-HAND-body-slim", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file From eb04a78f39f5f1256afb9a94e0eba87513fad3fe Mon Sep 17 00:00:00 2001 From: BIGZi0348 Date: Sun, 12 Jan 2025 23:41:14 +0300 Subject: [PATCH 08/11] =?UTF-8?q?=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Resources/Locale/ru-RU/clothing/underwear.ftl | 2 +- Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Locale/ru-RU/clothing/underwear.ftl b/Resources/Locale/ru-RU/clothing/underwear.ftl index ddd60a277c..560afe9053 100644 --- a/Resources/Locale/ru-RU/clothing/underwear.ftl +++ b/Resources/Locale/ru-RU/clothing/underwear.ftl @@ -4,7 +4,7 @@ ent-ClothingUnderwearBottomBoxersWhite = боксеры .desc = Белые. ent-ClothingUnderwearBottomBoxersCap = капитанские боксеры .desc = Боксеры капитана. -ent-ClothingUnderwearBottomBoxersInspector = кожанные трусы инспектора +ent-ClothingUnderwearBottomBoxersInspector = кожаные трусы инспектора .desc = Обтягивающие кожаные трусы инспектора на подтяжках, весьма экстравагантно... но зачем? ent-ClothingUnderwearBottomBoxersCE = боксеры старшего инженера .desc = Боксеры старшего инженера. diff --git a/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml b/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml index ba7e67e5ad..a142958955 100644 --- a/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml +++ b/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml @@ -2,7 +2,7 @@ parent: ClothingHandsGlovesColorBlack id: ClothingHandsGlovesColorBlackSecurity name: офицерские перчатки - description: Кожанные чёрные перчатки, которые не спасут вас от поджаривания. + description: Кожаные чёрные перчатки, которые не спасут вас от поджаривания. components: - type: Sprite sprite: White/Clothing/Hands/Gloves/blacksecurity.rsi From 9e52cd22f85a6924dc3b60f79ddff0a1693cfec6 Mon Sep 17 00:00:00 2001 From: BIGZi0348 Date: Sun, 12 Jan 2025 23:57:16 +0300 Subject: [PATCH 09/11] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BA?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Prototypes/_White/Entities/Clothing/Hands/gloves.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml b/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml index a142958955..bfe62e1f94 100644 --- a/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml +++ b/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml @@ -2,7 +2,7 @@ parent: ClothingHandsGlovesColorBlack id: ClothingHandsGlovesColorBlackSecurity name: офицерские перчатки - description: Кожаные чёрные перчатки, которые не спасут вас от поджаривания. + description: Кожаные чёрные перчатки, которые немного спасут вас от поджаривания. components: - type: Sprite sprite: White/Clothing/Hands/Gloves/blacksecurity.rsi @@ -13,3 +13,5 @@ fiberColor: fibers-black - type: Item sprite: White/Clothing/Hands/Gloves/blacksecurity.rsi + - type: Insulated + coefficient: 0.5 From e86f5601617b712dfe12db236fc1435ec25d91eb Mon Sep 17 00:00:00 2001 From: BIGZi0348 Date: Mon, 13 Jan 2025 20:20:53 +0300 Subject: [PATCH 10/11] =?UTF-8?q?=D0=A7=D0=B8=D1=81=D1=82=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Polymorph/Systems/SharedChameleonProjectorSystem.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs b/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs index fa62d68d5e..9f9914bca3 100644 --- a/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs +++ b/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs @@ -37,7 +37,6 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem [Dependency] private readonly SharedContainerSystem _container = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedTransformSystem _xform = default!; - [Dependency] private readonly IGameTiming _gameTiming = default!; // WD public override void Initialize() { base.Initialize(); From ec01f74350ea886358d597f45bd97fa014d36516 Mon Sep 17 00:00:00 2001 From: RavmorganButOnCocaine Date: Mon, 13 Jan 2025 18:22:24 +0000 Subject: [PATCH 11/11] Automatic changelog update --- Resources/Changelog/ChangelogWhite.yml | 39 ++++++++++++++++++++------ 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index a77f9c9d50..f9683abd36 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -1,13 +1,4 @@ Entries: -- author: RedFoxIV - changes: - - message: "\u041D\u0438\u0447\u0435\u0433\u043E. \u041C\u0435\u043D\u044C\u0448\ - \u0435 \u0437\u043D\u0430\u0435\u0448\u044C, \u043A\u0440\u0435\u043F\u0447\u0435\ - \ \u0441\u043F\u0438\u0448\u044C." - type: Add - id: 158 - time: '2024-02-27T11:58:54.0000000+00:00' - url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/133 - author: Aviu changes: - message: "\u0410\u043D\u0442\u0430\u0433\u043E\u043D\u0438\u0441\u0442\u0430\u043C\ @@ -8930,3 +8921,33 @@ id: 657 time: '2025-01-11T21:05:59.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/880 +- author: BIG_Zi_348 + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043E\u0444\u0438\ + \u0446\u0435\u0440\u0441\u043A\u0438\u0435 \u043F\u0435\u0440\u0447\u0430\u0442\ + \u043A\u0438 \u0441\u043E \u0441\u0440\u0435\u0434\u043D\u0435\u0439 \u0437\u0430\ + \u0449\u0438\u0442\u043E\u0439 \u043E\u0442 \u0442\u043E\u043A\u0430." + type: Add + - message: "\u0414\u043E\u0440\u0430\u0431\u043E\u0442\u0430\u043D \u0438\u0432\u0435\ + \u043D\u0442 \u0432\u044B\u0437\u043E\u0432\u0430 \u041E\u0411\u0420." + type: Tweak + - message: "\u0422\u0435\u043F\u0435\u0440\u044C \u0434\u043B\u044F \u043F\u043E\ + \u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043F\u0440\u0438\u0433\u043B\u0430\ + \u0448\u0435\u043D\u0438\u044F \u0432 \u041E\u0411\u0420, \u0442\u0440\u0435\ + \u0431\u0443\u0435\u0442\u0441\u044F \u043D\u0435 \u043C\u0435\u043D\u0435\u0435\ + \ 10 \u0447\u0430\u0441\u043E\u0432 \u0438\u0433\u0440\u043E\u0432\u043E\u0433\ + \u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438." + type: Tweak + - message: "\u041F\u0435\u0440\u0435\u0440\u0430\u0431\u043E\u0442\u0430\u043D \u0430\ + \u043A\u0446\u0435\u043D\u0442 \u0433\u043D\u043E\u043C\u0430." + type: Tweak + - message: "\u041D\u0435\u0440\u0444 \u0432\u043E\u0440\u043E\u0432\u0430\u0442\u0435\ + \u043B\u044C\u043D\u043E\u0439 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\ + \u0441\u0442\u0438 \u0433\u043D\u043E\u043C\u043E\u0432." + type: Tweak + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u044B \u043C\u0435\ + \u043B\u043E\u0447\u0438." + type: Fix + id: 658 + time: '2025-01-13T18:21:18.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/883