From adedcba5b49d924ac07faf88ba98e60aff5c2656 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sat, 3 Aug 2024 13:39:42 +0800 Subject: [PATCH 01/13] feat(traits): start work on Light Step TODO: make the client controlling the Light Steps entity also hear quieter footsteps instead of regular volume footsteps --- .../Movement/Systems/SharedMoverController.cs | 11 +++++++++- .../FootstepVolumeModifierComponent.cs | 22 +++++++++++++++++++ .../Systems/FootstepVolumeModifierSystem.cs | 5 +++++ Resources/Prototypes/Traits/skills.yml | 9 ++++++++ 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs create mode 100644 Content.Shared/Traits/Assorted/Systems/FootstepVolumeModifierSystem.cs diff --git a/Content.Shared/Movement/Systems/SharedMoverController.cs b/Content.Shared/Movement/Systems/SharedMoverController.cs index 0944634db35..ea9772b0439 100644 --- a/Content.Shared/Movement/Systems/SharedMoverController.cs +++ b/Content.Shared/Movement/Systems/SharedMoverController.cs @@ -12,6 +12,7 @@ using Content.Shared.Movement.Events; using Content.Shared.StepTrigger.Components; using Content.Shared.Tag; +using Content.Shared.Traits.Assorted.Components; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Configuration; @@ -261,9 +262,17 @@ protected void HandleMobMovement( TryGetSound(weightless, uid, mover, mobMover, xform, out var sound, tileDef: tileDef)) { var soundModifier = mover.Sprinting ? 3.5f : 1.5f; + var volume = sound.Params.Volume + soundModifier; + + if (_entities.TryGetComponent(uid, out FootstepVolumeModifierComponent? volumeModifier)) + { + volume += mover.Sprinting + ? volumeModifier.SprintingModifier + : volumeModifier.WalkingModifier; + } var audioParams = sound.Params - .WithVolume(sound.Params.Volume + soundModifier) + .WithVolume(volume) .WithVariation(sound.Params.Variation ?? FootstepVariation); // If we're a relay target then predict the sound for all relays. diff --git a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs new file mode 100644 index 00000000000..eae33063b8f --- /dev/null +++ b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs @@ -0,0 +1,22 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Traits.Assorted.Components; + +/// +/// This is used for any trait that modifies footstep volumes. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class FootstepVolumeModifierComponent : Component +{ + /// + /// What to add to the volume of sprinting. + /// + [DataField] + public float SprintingModifier { get; set; } = 0f; + + /// + /// What to add to the volume of walking. + /// + [DataField] + public float WalkingModifier { get; set; } = 0f; +} diff --git a/Content.Shared/Traits/Assorted/Systems/FootstepVolumeModifierSystem.cs b/Content.Shared/Traits/Assorted/Systems/FootstepVolumeModifierSystem.cs new file mode 100644 index 00000000000..6cabdc47cac --- /dev/null +++ b/Content.Shared/Traits/Assorted/Systems/FootstepVolumeModifierSystem.cs @@ -0,0 +1,5 @@ +namespace Content.Shared.Traits.Assorted.Systems; + +public sealed class FootstepVolumeModifierSystem : EntitySystem +{ +} diff --git a/Resources/Prototypes/Traits/skills.yml b/Resources/Prototypes/Traits/skills.yml index 2cfbd244e7e..fa0228ceb4a 100644 --- a/Resources/Prototypes/Traits/skills.yml +++ b/Resources/Prototypes/Traits/skills.yml @@ -31,3 +31,12 @@ inverted: true species: - Felinid + +- type: trait + id: LightStep + category: Auditory + points: -1 + components: + - type: FootstepVolumeModifier + sprintingModifier: -10 + walkingModifier: -10 From e357affd8129b28ccb4d4a2a49322ea0e4554ee4 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sat, 3 Aug 2024 13:53:52 +0800 Subject: [PATCH 02/13] fix(traits): make Light Step footsteps quiet client-side --- .../Assorted/Components/FootstepVolumeModifierComponent.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs index eae33063b8f..4e98e7f0cf1 100644 --- a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs +++ b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs @@ -5,18 +5,18 @@ namespace Content.Shared.Traits.Assorted.Components; /// /// This is used for any trait that modifies footstep volumes. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class FootstepVolumeModifierComponent : Component { /// /// What to add to the volume of sprinting. /// - [DataField] + [DataField, AutoNetworkedField] public float SprintingModifier { get; set; } = 0f; /// /// What to add to the volume of walking. /// - [DataField] + [DataField, AutoNetworkedField] public float WalkingModifier { get; set; } = 0f; } From 6110b0b6330b77efe1f6a4dbd3726079e882d5bc Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sat, 3 Aug 2024 13:56:00 +0800 Subject: [PATCH 03/13] docs(traits): clarify FootstepVolumeModifierComponent fields --- .../Assorted/Components/FootstepVolumeModifierComponent.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs index 4e98e7f0cf1..3756ba4296f 100644 --- a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs +++ b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs @@ -9,13 +9,13 @@ namespace Content.Shared.Traits.Assorted.Components; public sealed partial class FootstepVolumeModifierComponent : Component { /// - /// What to add to the volume of sprinting. + /// What to add to the volume of sprinting, in terms of decibels. /// [DataField, AutoNetworkedField] public float SprintingModifier { get; set; } = 0f; /// - /// What to add to the volume of walking. + /// What to add to the volume of walking, in terms of decibels. /// [DataField, AutoNetworkedField] public float WalkingModifier { get; set; } = 0f; From 3bae08058d5c5e68767ced71cb5af183180aa3d6 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sat, 3 Aug 2024 15:21:42 +0800 Subject: [PATCH 04/13] feat(traits): reduce audio distance for Light Step --- .../Movement/Systems/SharedMoverController.cs | 7 +++++++ .../Components/FootstepVolumeModifierComponent.cs | 12 ++++++++++++ Resources/Prototypes/Traits/skills.yml | 2 ++ 3 files changed, 21 insertions(+) diff --git a/Content.Shared/Movement/Systems/SharedMoverController.cs b/Content.Shared/Movement/Systems/SharedMoverController.cs index ea9772b0439..e1824e98a16 100644 --- a/Content.Shared/Movement/Systems/SharedMoverController.cs +++ b/Content.Shared/Movement/Systems/SharedMoverController.cs @@ -427,6 +427,13 @@ private bool TryGetSound( var coordinates = xform.Coordinates; var distanceNeeded = mover.Sprinting ? StepSoundMoveDistanceRunning : StepSoundMoveDistanceWalking; + if (_entities.TryGetComponent(uid, out FootstepVolumeModifierComponent? volumeModifier)) + { + distanceNeeded *= mover.Sprinting + ? volumeModifier.SprintDistanceMultiplier + : volumeModifier.WalkDistanceMultiplier; + } + // Handle footsteps. if (!weightless) { diff --git a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs index 3756ba4296f..8e0b33529ad 100644 --- a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs +++ b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs @@ -19,4 +19,16 @@ public sealed partial class FootstepVolumeModifierComponent : Component /// [DataField, AutoNetworkedField] public float WalkingModifier { get; set; } = 0f; + + /// + /// What to multiply the distance needed to hear sprinting by. + /// + [DataField, AutoNetworkedField] + public float SprintDistanceMultiplier { get; set; } = 1f; + + /// + /// What to multiply the distance needed to hear walking by. + /// + [DataField, AutoNetworkedField] + public float WalkDistanceMultiplier { get; set; } = 1f; } diff --git a/Resources/Prototypes/Traits/skills.yml b/Resources/Prototypes/Traits/skills.yml index fa0228ceb4a..92aa664078c 100644 --- a/Resources/Prototypes/Traits/skills.yml +++ b/Resources/Prototypes/Traits/skills.yml @@ -40,3 +40,5 @@ - type: FootstepVolumeModifier sprintingModifier: -10 walkingModifier: -10 + sprintDistanceMultiplier: 0.85 + walkDistanceMultiplier: 0.85 From 08ef0b07d16fe2c4c0f5d1cfae0dae2ae2cf97ca Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sun, 4 Aug 2024 09:41:05 +0800 Subject: [PATCH 05/13] revert "feat(traits): reduce audio distance for Light Step" This reverts commit 3bae08058d5c5e68767ced71cb5af183180aa3d6. --- .../Movement/Systems/SharedMoverController.cs | 7 ------- .../Components/FootstepVolumeModifierComponent.cs | 12 ------------ Resources/Prototypes/Traits/skills.yml | 2 -- 3 files changed, 21 deletions(-) diff --git a/Content.Shared/Movement/Systems/SharedMoverController.cs b/Content.Shared/Movement/Systems/SharedMoverController.cs index e1824e98a16..ea9772b0439 100644 --- a/Content.Shared/Movement/Systems/SharedMoverController.cs +++ b/Content.Shared/Movement/Systems/SharedMoverController.cs @@ -427,13 +427,6 @@ private bool TryGetSound( var coordinates = xform.Coordinates; var distanceNeeded = mover.Sprinting ? StepSoundMoveDistanceRunning : StepSoundMoveDistanceWalking; - if (_entities.TryGetComponent(uid, out FootstepVolumeModifierComponent? volumeModifier)) - { - distanceNeeded *= mover.Sprinting - ? volumeModifier.SprintDistanceMultiplier - : volumeModifier.WalkDistanceMultiplier; - } - // Handle footsteps. if (!weightless) { diff --git a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs index 8e0b33529ad..3756ba4296f 100644 --- a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs +++ b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs @@ -19,16 +19,4 @@ public sealed partial class FootstepVolumeModifierComponent : Component /// [DataField, AutoNetworkedField] public float WalkingModifier { get; set; } = 0f; - - /// - /// What to multiply the distance needed to hear sprinting by. - /// - [DataField, AutoNetworkedField] - public float SprintDistanceMultiplier { get; set; } = 1f; - - /// - /// What to multiply the distance needed to hear walking by. - /// - [DataField, AutoNetworkedField] - public float WalkDistanceMultiplier { get; set; } = 1f; } diff --git a/Resources/Prototypes/Traits/skills.yml b/Resources/Prototypes/Traits/skills.yml index 92aa664078c..fa0228ceb4a 100644 --- a/Resources/Prototypes/Traits/skills.yml +++ b/Resources/Prototypes/Traits/skills.yml @@ -40,5 +40,3 @@ - type: FootstepVolumeModifier sprintingModifier: -10 walkingModifier: -10 - sprintDistanceMultiplier: 0.85 - walkDistanceMultiplier: 0.85 From dc9b5e01d9f49d60b7a0d815184dc07aeb1077ef Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sun, 4 Aug 2024 09:49:02 +0800 Subject: [PATCH 06/13] refactor(traits): rename `sprintingModifier` to `sprintModifier` --- Content.Shared/Movement/Systems/SharedMoverController.cs | 4 ++-- .../Assorted/Components/FootstepVolumeModifierComponent.cs | 4 ++-- Resources/Prototypes/Traits/skills.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Content.Shared/Movement/Systems/SharedMoverController.cs b/Content.Shared/Movement/Systems/SharedMoverController.cs index ea9772b0439..9e69e64b5b7 100644 --- a/Content.Shared/Movement/Systems/SharedMoverController.cs +++ b/Content.Shared/Movement/Systems/SharedMoverController.cs @@ -267,8 +267,8 @@ protected void HandleMobMovement( if (_entities.TryGetComponent(uid, out FootstepVolumeModifierComponent? volumeModifier)) { volume += mover.Sprinting - ? volumeModifier.SprintingModifier - : volumeModifier.WalkingModifier; + ? volumeModifier.sprintModifier + : volumeModifier.walkModifier; } var audioParams = sound.Params diff --git a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs index 3756ba4296f..e3cfdd483ce 100644 --- a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs +++ b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs @@ -12,11 +12,11 @@ public sealed partial class FootstepVolumeModifierComponent : Component /// What to add to the volume of sprinting, in terms of decibels. /// [DataField, AutoNetworkedField] - public float SprintingModifier { get; set; } = 0f; + public float SprintModifier { get; set; } = 0f; /// /// What to add to the volume of walking, in terms of decibels. /// [DataField, AutoNetworkedField] - public float WalkingModifier { get; set; } = 0f; + public float WalkModifier { get; set; } = 0f; } diff --git a/Resources/Prototypes/Traits/skills.yml b/Resources/Prototypes/Traits/skills.yml index fa0228ceb4a..de252645910 100644 --- a/Resources/Prototypes/Traits/skills.yml +++ b/Resources/Prototypes/Traits/skills.yml @@ -38,5 +38,5 @@ points: -1 components: - type: FootstepVolumeModifier - sprintingModifier: -10 - walkingModifier: -10 + sprintModifier: -10 + walkModifier: -10 From aff5c5190c05e31b0f52991b763d99c4de0f3fb4 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sun, 4 Aug 2024 10:01:45 +0800 Subject: [PATCH 07/13] feat(traits): add locale strings for Light Step --- Resources/Locale/en-US/traits/traits.ftl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Resources/Locale/en-US/traits/traits.ftl b/Resources/Locale/en-US/traits/traits.ftl index cd5d1782ba3..7f31c01123e 100644 --- a/Resources/Locale/en-US/traits/traits.ftl +++ b/Resources/Locale/en-US/traits/traits.ftl @@ -55,3 +55,8 @@ trait-name-Foreigner = Foreigner trait-description-Foreigner = For one reason or another you do not speak this station's primary language. Instead, you have a translator issued to you that only you can use. + +trait-name-LightStep = Light Step +trait-description-LightStep = + You move with a quiet step, making it easier for you to elude detection. + Your footsteps are roughly 50% quieter. From 2740dadfd05ccc3234da1dc2a2851928d5e46c89 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sun, 4 Aug 2024 10:59:47 +0800 Subject: [PATCH 08/13] refactor(traits): rename fields of FootstepVolumeModifierComponent --- Content.Shared/Movement/Systems/SharedMoverController.cs | 4 ++-- .../Assorted/Components/FootstepVolumeModifierComponent.cs | 4 ++-- Resources/Prototypes/Traits/skills.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Content.Shared/Movement/Systems/SharedMoverController.cs b/Content.Shared/Movement/Systems/SharedMoverController.cs index 9e69e64b5b7..3cc35e7bc67 100644 --- a/Content.Shared/Movement/Systems/SharedMoverController.cs +++ b/Content.Shared/Movement/Systems/SharedMoverController.cs @@ -267,8 +267,8 @@ protected void HandleMobMovement( if (_entities.TryGetComponent(uid, out FootstepVolumeModifierComponent? volumeModifier)) { volume += mover.Sprinting - ? volumeModifier.sprintModifier - : volumeModifier.walkModifier; + ? volumeModifier.SprintVolumeModifier + : volumeModifier.WalkVolumeModifier; } var audioParams = sound.Params diff --git a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs index e3cfdd483ce..86f2c20d63a 100644 --- a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs +++ b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs @@ -12,11 +12,11 @@ public sealed partial class FootstepVolumeModifierComponent : Component /// What to add to the volume of sprinting, in terms of decibels. /// [DataField, AutoNetworkedField] - public float SprintModifier { get; set; } = 0f; + public float SprintVolumeModifier { get; set; } = 0f; /// /// What to add to the volume of walking, in terms of decibels. /// [DataField, AutoNetworkedField] - public float WalkModifier { get; set; } = 0f; + public float WalkVolumeModifier { get; set; } = 0f; } diff --git a/Resources/Prototypes/Traits/skills.yml b/Resources/Prototypes/Traits/skills.yml index de252645910..6c452985ae8 100644 --- a/Resources/Prototypes/Traits/skills.yml +++ b/Resources/Prototypes/Traits/skills.yml @@ -38,5 +38,5 @@ points: -1 components: - type: FootstepVolumeModifier - sprintModifier: -10 - walkModifier: -10 + sprintVolumeModifier: -10 + walkVolumeModifier: -10 From d8464f5dcbee110c28c8d38fdc16143e1a728ae4 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sun, 4 Aug 2024 11:01:19 +0800 Subject: [PATCH 09/13] tweak(traits) set FootstepVolumeModifierComponent setters to private --- .../Assorted/Components/FootstepVolumeModifierComponent.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs index 86f2c20d63a..876152349bf 100644 --- a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs +++ b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs @@ -12,11 +12,11 @@ public sealed partial class FootstepVolumeModifierComponent : Component /// What to add to the volume of sprinting, in terms of decibels. /// [DataField, AutoNetworkedField] - public float SprintVolumeModifier { get; set; } = 0f; + public float SprintVolumeModifier { get; private set; } = 0f; /// /// What to add to the volume of walking, in terms of decibels. /// [DataField, AutoNetworkedField] - public float WalkVolumeModifier { get; set; } = 0f; + public float WalkVolumeModifier { get; private set; } = 0f; } From 50c7948339253cefad39a1a3250b72aad281d286 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sun, 4 Aug 2024 11:02:27 +0800 Subject: [PATCH 10/13] refactor(traits): remove unused footstep volume system --- .../Traits/Assorted/Systems/FootstepVolumeModifierSystem.cs | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 Content.Shared/Traits/Assorted/Systems/FootstepVolumeModifierSystem.cs diff --git a/Content.Shared/Traits/Assorted/Systems/FootstepVolumeModifierSystem.cs b/Content.Shared/Traits/Assorted/Systems/FootstepVolumeModifierSystem.cs deleted file mode 100644 index 6cabdc47cac..00000000000 --- a/Content.Shared/Traits/Assorted/Systems/FootstepVolumeModifierSystem.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace Content.Shared.Traits.Assorted.Systems; - -public sealed class FootstepVolumeModifierSystem : EntitySystem -{ -} From 29fc22d7efd08a357aae1a0fe0699c15455ff380 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sun, 4 Aug 2024 11:42:22 +0800 Subject: [PATCH 11/13] fix(traits): make FootstepVolumeModifierComponent setters public --- .../Assorted/Components/FootstepVolumeModifierComponent.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs index 876152349bf..8c7e763692c 100644 --- a/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs +++ b/Content.Shared/Traits/Assorted/Components/FootstepVolumeModifierComponent.cs @@ -12,11 +12,11 @@ public sealed partial class FootstepVolumeModifierComponent : Component /// What to add to the volume of sprinting, in terms of decibels. /// [DataField, AutoNetworkedField] - public float SprintVolumeModifier { get; private set; } = 0f; + public float SprintVolumeModifier; /// /// What to add to the volume of walking, in terms of decibels. /// [DataField, AutoNetworkedField] - public float WalkVolumeModifier { get; private set; } = 0f; + public float WalkVolumeModifier; } From 5b8c2d8c6bd9c99cd165bdf3a65d053804c3eaa1 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sun, 4 Aug 2024 17:53:46 +0800 Subject: [PATCH 12/13] tweak(traits): simplify description for Light Step --- Resources/Locale/en-US/traits/traits.ftl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Resources/Locale/en-US/traits/traits.ftl b/Resources/Locale/en-US/traits/traits.ftl index 479d6f84f57..c861a1b86d0 100644 --- a/Resources/Locale/en-US/traits/traits.ftl +++ b/Resources/Locale/en-US/traits/traits.ftl @@ -60,8 +60,7 @@ trait-name-Voracious = Voracious trait-description-Voracious = Nothing gets between you and your food. Your endless consumption of food and drinks is twice as fast. - + trait-name-LightStep = Light Step trait-description-LightStep = - You move with a quiet step, making it easier for you to elude detection. - Your footsteps are roughly 50% quieter. \ No newline at end of file + You move with a gentle step, making your footsteps quieter. From a9c62b0eb35b63b95c01a76146000efe21df6a99 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Sun, 4 Aug 2024 17:55:13 +0800 Subject: [PATCH 13/13] tweak(traits): prevent felinids from selecting Light Step --- Resources/Prototypes/Traits/skills.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Traits/skills.yml b/Resources/Prototypes/Traits/skills.yml index 0e2285ac2ab..51eeadfcada 100644 --- a/Resources/Prototypes/Traits/skills.yml +++ b/Resources/Prototypes/Traits/skills.yml @@ -48,4 +48,9 @@ components: - type: FootstepVolumeModifier sprintVolumeModifier: -10 - walkVolumeModifier: -10 \ No newline at end of file + walkVolumeModifier: -10 + requirements: + - !type:CharacterSpeciesRequirement + inverted: true + species: + - Felinid