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
}
]
}