From a98b4ebaaaed630bbab6032bef592acfb4da7fcc Mon Sep 17 00:00:00 2001 From: Fluffiest Floofers Date: Thu, 15 Feb 2024 18:27:23 +0100 Subject: [PATCH] Vulpkanin's Deuteranopia (#837) * Everyone loves dog vision Updated to match the the harpy code * change locale name --- .../Nyanotrasen/Overlays/DogVisionSystem.cs | 19 ++----------------- .../DeltaV/Abilities/DefaultVisionSystem.cs | 1 + .../Locale/en-US/deltav/traits/traits.ftl | 7 +++++++ .../Entities/Mobs/Species/vulpkanin.yml | 1 + .../Prototypes/DeltaV/Traits/altvision.yml | 11 +++++++++-- .../Nyanotrasen/Traits/disabilities.yml | 5 ----- 6 files changed, 20 insertions(+), 24 deletions(-) delete mode 100644 Resources/Prototypes/Nyanotrasen/Traits/disabilities.yml diff --git a/Content.Client/Nyanotrasen/Overlays/DogVisionSystem.cs b/Content.Client/Nyanotrasen/Overlays/DogVisionSystem.cs index 7cd0f69ae57..38dfd79cf30 100644 --- a/Content.Client/Nyanotrasen/Overlays/DogVisionSystem.cs +++ b/Content.Client/Nyanotrasen/Overlays/DogVisionSystem.cs @@ -1,13 +1,10 @@ using Content.Shared.Abilities; -using Robust.Client.GameObjects; using Robust.Client.Graphics; -using Robust.Client.Player; namespace Content.Client.Nyanotrasen.Overlays; public sealed partial class DogVisionSystem : EntitySystem { - [Dependency] private readonly IPlayerManager _player = default!; [Dependency] private readonly IOverlayManager _overlayMan = default!; private DogVisionOverlay _overlay = default!; @@ -19,28 +16,16 @@ public override void Initialize() SubscribeLocalEvent(OnDogVisionInit); SubscribeLocalEvent(OnDogVisionShutdown); - _player.LocalPlayerAttached += OnAttachedChanged; - _player.LocalPlayerDetached += OnAttachedChanged; - _overlay = new(); } - private void OnAttachedChanged(EntityUid uid) - { - _overlayMan.AddOverlay(_overlay); - } - private void OnDogVisionInit(EntityUid uid, DogVisionComponent component, ComponentInit args) { - if (_player.LocalPlayer?.ControlledEntity == uid) - _overlayMan.AddOverlay(_overlay); + _overlayMan.AddOverlay(_overlay); } private void OnDogVisionShutdown(EntityUid uid, DogVisionComponent component, ComponentShutdown args) { - if (_player.LocalPlayer?.ControlledEntity == uid) - { - _overlayMan.RemoveOverlay(_overlay); - } + _overlayMan.RemoveOverlay(_overlay); } } diff --git a/Content.Shared/DeltaV/Abilities/DefaultVisionSystem.cs b/Content.Shared/DeltaV/Abilities/DefaultVisionSystem.cs index 599fc0db140..7c8fc363540 100644 --- a/Content.Shared/DeltaV/Abilities/DefaultVisionSystem.cs +++ b/Content.Shared/DeltaV/Abilities/DefaultVisionSystem.cs @@ -15,5 +15,6 @@ public override void Initialize() private void OnDefaultVisionInit(EntityUid uid, DefaultVisionComponent component, ComponentInit args) { RemComp(uid); + RemComp(uid); } } diff --git a/Resources/Locale/en-US/deltav/traits/traits.ftl b/Resources/Locale/en-US/deltav/traits/traits.ftl index 0eaff0408a4..104c091d02e 100644 --- a/Resources/Locale/en-US/deltav/traits/traits.ftl +++ b/Resources/Locale/en-US/deltav/traits/traits.ftl @@ -1,8 +1,15 @@ trait-scottish-accent-name = Scottish Accent trait-scottish-accent-desc = Fer tha folk who come frae Hielan clan. + +trait-ultravision-name = Ultraviolet Vision trait-ultravision-desc = Whether through custom bionic eyes, random mutation, or being a Harpy, you perceive the world with ultraviolet light. +trait-deuteranopia-name = Deuteranopia +trait-deuteranopia-desc = Whether through custom bionic eyes, random mutation, + or being a Vulpkanin, you have red–green colour blindness. + +trait-defaultvision-name = Normal Vision trait-defaultvision-desc = You lack any vision variation from the norm for a non-human species. trait-uncloneable-name = Uncloneable diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml index daa4d705516..4a187d51b33 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml @@ -96,6 +96,7 @@ Male: MaleVulpkanin Female: FemaleVulpkanin Unsexed: MaleVulpkanin + - type: DogVision - type: entity save: false diff --git a/Resources/Prototypes/DeltaV/Traits/altvision.yml b/Resources/Prototypes/DeltaV/Traits/altvision.yml index cb6c1bfa42d..7606cbf912b 100644 --- a/Resources/Prototypes/DeltaV/Traits/altvision.yml +++ b/Resources/Prototypes/DeltaV/Traits/altvision.yml @@ -1,13 +1,20 @@ - type: trait id: UltraVision - name: Ultraviolet Vision + name: trait-ultravision-name description: trait-ultravision-desc components: - type: UltraVision +- type: trait + id: DogVision + name: trait-deuteranopia-name + description: trait-deuteranopia-desc + components: + - type: DogVision + - type: trait id: DefaultVision - name: Normal Vision + name: trait-defaultvision-name description: trait-defaultvision-desc components: - type: DefaultVision diff --git a/Resources/Prototypes/Nyanotrasen/Traits/disabilities.yml b/Resources/Prototypes/Nyanotrasen/Traits/disabilities.yml deleted file mode 100644 index dda6e58d744..00000000000 --- a/Resources/Prototypes/Nyanotrasen/Traits/disabilities.yml +++ /dev/null @@ -1,5 +0,0 @@ -- type: trait - id: Colorblindness - name: Colorblindness - components: - - type: DogVision