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, @"(? [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/Polymorph/Systems/SharedChameleonProjectorSystem.cs b/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs index 9944c9ba32..9f9914bca3 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,6 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem [Dependency] private readonly SharedContainerSystem _container = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedTransformSystem _xform = default!; - public override void Initialize() { base.Initialize(); @@ -44,6 +44,7 @@ public abstract class SharedChameleonProjectorSystem : EntitySystem SubscribeLocalEvent(OnDisguiseInteractHand, before: [typeof(SharedItemSystem)]); SubscribeLocalEvent(OnDisguiseDamaged); SubscribeLocalEvent(OnDisguiseShutdown); + SubscribeLocalEvent(OnPickup); // WD SubscribeLocalEvent(OnInteract); SubscribeLocalEvent>(OnGetVerbs); @@ -62,11 +63,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 +90,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 +135,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 +146,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 +258,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 +270,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 +286,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)) 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/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 diff --git a/Resources/Locale/ru-RU/_white/accent/gnome.ftl b/Resources/Locale/ru-RU/_white/accent/gnome.ftl new file mode 100644 index 0000000000..268b5d2717 --- /dev/null +++ b/Resources/Locale/ru-RU/_white/accent/gnome.ftl @@ -0,0 +1,64 @@ +accent-gnome-words-1 = не +accent-gnome-words-replace-1 = гнем +accent-gnome-words-2 = нет +accent-gnome-words-replace-2 = гнемт +accent-gnome-words-3 = нахуй +accent-gnome-words-replace-3 = гнамхуй +accent-gnome-words-4 = пидор +accent-gnome-words-replace-4 = гномер +accent-gnome-words-5 = пидоры +accent-gnome-words-replace-5 = гномеры +accent-gnome-words-6 = пидору +accent-gnome-words-replace-6 = гномеру +accent-gnome-words-7 = пидорам +accent-gnome-words-replace-7 = гномерам +accent-gnome-words-8 = хуесос +accent-gnome-words-replace-8 = гнохусос +accent-gnome-words-9 = хуесосы +accent-gnome-words-replace-9 = гнохусосы +accent-gnome-words-10 = хуесосу +accent-gnome-words-replace-10 = гнохусосу +accent-gnome-words-11 = хуесосам +accent-gnome-words-replace-11 = гнохусосам +accent-gnome-words-12 = ебал +accent-gnome-words-replace-12 = гномил +accent-gnome-words-13 = заебал +accent-gnome-words-replace-13 = загномил +accent-gnome-words-14 = убил +accent-gnome-words-replace-14 = угномил +accent-gnome-words-15 = убили +accent-gnome-words-replace-15 = угномили +accent-gnome-words-16 = убит +accent-gnome-words-replace-16 = угномлен +accent-gnome-words-17 = убиты +accent-gnome-words-replace-17 = угномлены +accent-gnome-words-18 = ебнул +accent-gnome-words-replace-18 = угномил +accent-gnome-words-19 = ебнули +accent-gnome-words-replace-19 = угномили +accent-gnome-words-20 = ёбнул +accent-gnome-words-replace-20 = угномил +accent-gnome-words-21 = ёбнули +accent-gnome-words-replace-21 = угномили +accent-gnome-words-22 = стрелял +accent-gnome-words-replace-22 = стрегномил +accent-gnome-words-23 = стреляли +accent-gnome-words-replace-23 = стрегномили +accent-gnome-words-24 = заколол +accent-gnome-words-replace-24 = сгномил +accent-gnome-words-25 = закололи +accent-gnome-words-replace-25 = сгномили +accent-gnome-words-26 = мой +accent-gnome-words-replace-26 = муй +accent-gnome-words-27 = мое +accent-gnome-words-replace-27 = муе +accent-gnome-words-28 = моё +accent-gnome-words-replace-28 = муё +accent-gnome-words-29 = друг +accent-gnome-words-replace-29 = бро +accent-gnome-words-30 = друзья +accent-gnome-words-replace-30 = друганы +accent-gnome-words-31 = пиздец +accent-gnome-words-replace-31 = гномздец +accent-gnome-words-32 = пизда +accent-gnome-words-replace-32 = гномзда 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/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/Mobs/NPCs/pets.yml b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml index 78c3df0a83..7d7d87c5b9 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml @@ -822,6 +822,7 @@ stealGroup: AnimalTropico +# WD - type: entity #WHY MUST YOU THROW ERRORS HOW DARE YOU name: Gnome #this thing is covered in comments, its for my sanity, ignore them please. parent: [BaseSimpleMob, MobCombat, MobAtmosExposed] @@ -995,6 +996,5 @@ collection: GnomesDeathCollection canOtherHearDeathSound: True - type: Thieving - stripTimeReduction: 4 + stripTimeReduction: 2.5 - type: Pacified - 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 e6529deedb..af3574b06d 100644 --- a/Resources/Prototypes/Loadouts/Jobs/common.yml +++ b/Resources/Prototypes/Loadouts/Jobs/common.yml @@ -319,6 +319,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 a245afbe3a..af9fff7338 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/loadout_groups.yml @@ -745,6 +745,7 @@ - GlovesColorBlack - GlovesFingerless + - type: loadoutGroup # Amour id: AssistentGloves name: loadout-group-gloves @@ -754,6 +755,15 @@ - GlovesColorBlack - GlovesFingerless + +- type: loadoutGroup # WD + id: CommonGlovesSecurity + name: loadout-group-gloves + minLimit: 0 + loadouts: + - GlovesColorBlackSecurity + - GlovesFingerless + - type: loadoutGroup id: CommonShoes name: loadout-group-shoes @@ -1593,7 +1603,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 890e78fbfb..d75dc9c984 100644 --- a/Resources/Prototypes/Loadouts/role_loadouts.yml +++ b/Resources/Prototypes/Loadouts/role_loadouts.yml @@ -506,7 +506,7 @@ - HeadofSecurityNeck - HeadofSecurityJumpsuit - CommonBottom # WD - - CommonGloves # WD + - CommonGlovesSecurity # WD - CommonSecurityBelt # WD - CommonSecurityBackpack - CommonSecurityShoes @@ -528,7 +528,7 @@ - WardenJumpsuit - CommonBottom # WD - CommonSecurityBackpack - - CommonGloves # WD + - CommonGlovesSecurity # WD - CommonSecurityBelt # WD - CommonSecurityShoes - WardenPDA @@ -550,7 +550,7 @@ - CommonSecurityBackpack - SecurityOuterClothing - CommonSecurityBelt # WD - - CommonGloves # WD + - CommonGlovesSecurity # WD - CommonSecurityShoes - SeniorOfficerPDA - CommonSecurityJobTrinkets # WD @@ -588,7 +588,7 @@ - CommonSecurityBackpack - SecurityOuterClothing - CommonSecurityBelt # WD - - CommonGloves # WD + - CommonGlovesSecurity # WD - CommonSecurityShoes - SecurityPDA - CommonSecurityJobTrinkets # WD @@ -628,7 +628,7 @@ - SecurityCadetJumpsuit - CommonBottom # WD - 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/_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 diff --git a/Resources/Prototypes/_White/Accents/word_replacements.yml b/Resources/Prototypes/_White/Accents/word_replacements.yml index 6a0dd31ae0..fedbe5921b 100644 --- a/Resources/Prototypes/_White/Accents/word_replacements.yml +++ b/Resources/Prototypes/_White/Accents/word_replacements.yml @@ -133,3 +133,39 @@ accent-bomzh-words-130: accent-bomzh-words-replace-130 accent-bomzh-words-131: accent-bomzh-words-replace-131 accent-bomzh-words-132: accent-bomzh-words-replace-132 + +- type: accent + id: gnome + wordReplacements: + accent-gnome-words-1: accent-gnome-words-replace-1 + accent-gnome-words-2: accent-gnome-words-replace-2 + accent-gnome-words-3: accent-gnome-words-replace-3 + accent-gnome-words-4: accent-gnome-words-replace-4 + accent-gnome-words-5: accent-gnome-words-replace-5 + accent-gnome-words-6: accent-gnome-words-replace-6 + accent-gnome-words-7: accent-gnome-words-replace-7 + accent-gnome-words-8: accent-gnome-words-replace-8 + accent-gnome-words-9: accent-gnome-words-replace-9 + accent-gnome-words-10: accent-gnome-words-replace-10 + accent-gnome-words-11: accent-gnome-words-replace-11 + accent-gnome-words-12: accent-gnome-words-replace-12 + accent-gnome-words-13: accent-gnome-words-replace-13 + accent-gnome-words-14: accent-gnome-words-replace-14 + accent-gnome-words-15: accent-gnome-words-replace-15 + accent-gnome-words-16: accent-gnome-words-replace-16 + accent-gnome-words-17: accent-gnome-words-replace-17 + accent-gnome-words-18: accent-gnome-words-replace-18 + accent-gnome-words-19: accent-gnome-words-replace-19 + accent-gnome-words-20: accent-gnome-words-replace-20 + accent-gnome-words-21: accent-gnome-words-replace-21 + accent-gnome-words-22: accent-gnome-words-replace-22 + accent-gnome-words-23: accent-gnome-words-replace-23 + accent-gnome-words-24: accent-gnome-words-replace-24 + accent-gnome-words-25: accent-gnome-words-replace-25 + accent-gnome-words-26: accent-gnome-words-replace-26 + accent-gnome-words-27: accent-gnome-words-replace-27 + accent-gnome-words-28: accent-gnome-words-replace-28 + accent-gnome-words-29: accent-gnome-words-replace-29 + accent-gnome-words-30: accent-gnome-words-replace-30 + accent-gnome-words-31: accent-gnome-words-replace-31 + accent-gnome-words-32: accent-gnome-words-replace-32 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..bfe62e1f94 --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Clothing/Hands/gloves.yml @@ -0,0 +1,17 @@ +- 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 + - type: Insulated + coefficient: 0.5 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 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: 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 0000000000..4e6575db2f Binary files /dev/null and b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/equipped-HAND-body-slim.png differ 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 0000000000..5599a2914e Binary files /dev/null and b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/equipped-HAND.png differ diff --git a/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/icon.png b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/icon.png new file mode 100644 index 0000000000..44e5dfe38a Binary files /dev/null and b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/icon.png differ 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 0000000000..8f8953d635 Binary files /dev/null and b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/inhand-left.png differ 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 0000000000..dec3a7db6d Binary files /dev/null and b/Resources/Textures/White/Clothing/Hands/Gloves/blacksecurity.rsi/inhand-right.png differ 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 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 } ] }