From 739ba46be8e2cd43fbc62b6f40d9a0b441017b75 Mon Sep 17 00:00:00 2001 From: Farrellka-dev Date: Thu, 7 Nov 2024 17:13:29 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=BF=D1=81=D1=82=D1=80=D0=B8=D0=BC=2050?= =?UTF-8?q?%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Corvax/TTS/HumanoidProfileEditor.TTS.cs | 2 +- .../Lobby/UI/HumanoidProfileEditor.xaml.cs | 36 -------- .../VoiceMask/VoiceMaskBoundUserInterface.cs | 2 +- .../VoiceMaskNameChangeWindow.xaml.cs | 5 +- Content.Server/Chat/Systems/ChatSystem.cs | 14 +++ .../Corvax/TTS/VoiceMaskSystem.TTS.cs | 86 ++++++++++--------- .../Managers/ServerPreferencesManager.cs | 2 +- .../VoiceMask/VoiceMaskComponent.cs | 9 +- Content.Server/VoiceMask/VoiceMaskSystem.cs | 3 +- .../SharedHumanoidAppearanceSystem.cs | 3 +- .../Preferences/HumanoidCharacterProfile.cs | 64 +++++++------- .../VoiceMask/SharedVoiceMaskSystem.cs | 6 +- .../CharacterItemGroups/securityGroups.yml | 2 - .../Mobs/Customization/Markings/reptilian.yml | 11 --- .../Prototypes/Voice/speech_emote_sounds.yml | 34 ++++---- .../_LostParadise/Loadouts/Jobs/security.yml | 16 ---- .../Head/Hardsuits/atmospherics.rsi/meta.json | 4 - .../Head/Hardsuits/cybersun.rsi/meta.json | 29 +++---- .../Head/Hardsuits/deathsquad.rsi/meta.json | 12 +-- .../Head/Hardsuits/engineering.rsi/meta.json | 10 +-- .../Head/Hardsuits/medical.rsi/meta.json | 14 +-- .../Clothing/Head/Hardsuits/rd.rsi/meta.json | 14 ++- .../Head/Hardsuits/salvage.rsi/meta.json | 10 +-- .../Head/Hardsuits/security-red.rsi/meta.json | 6 +- .../Head/Hardsuits/security.rsi/meta.json | 10 +-- .../Hardsuits/syndiecommander.rsi/meta.json | 8 -- .../Head/Hardsuits/syndieelite.rsi/meta.json | 8 -- .../Head/Hardsuits/syndiemedic.rsi/meta.json | 8 -- .../Head/Hardsuits/wizard.rsi/meta.json | 4 - .../Head/Helmets/security.rsi/meta.json | 4 - .../Clothing/Head/Hoods/Bio/bio.rsi/meta.json | 4 - .../Clothing/Head/Hoods/Bio/cmo.rsi/meta.json | 4 - .../Head/Hoods/Bio/general.rsi/meta.json | 4 - .../Head/Hoods/Bio/janitor.rsi/meta.json | 4 - .../Head/Hoods/Bio/scientist.rsi/meta.json | 4 - .../Head/Hoods/Bio/security.rsi/meta.json | 4 - .../Head/Hoods/Bio/virology.rsi/meta.json | 4 - .../Clothing/Mask/breath.rsi/meta.json | 8 -- .../Clothing/Mask/gassecurity.rsi/meta.json | 4 - .../OuterClothing/Hardsuits/rd.rsi/meta.json | 4 - .../Uniforms/Jumpsuit/prisoner.rsi/meta.json | 4 - .../Hardsuits/NPZspecops/helm.rsi/meta.json | 8 -- 42 files changed, 151 insertions(+), 341 deletions(-) diff --git a/Content.Client/Corvax/TTS/HumanoidProfileEditor.TTS.cs b/Content.Client/Corvax/TTS/HumanoidProfileEditor.TTS.cs index a6cee65256c..cebe4b8a297 100644 --- a/Content.Client/Corvax/TTS/HumanoidProfileEditor.TTS.cs +++ b/Content.Client/Corvax/TTS/HumanoidProfileEditor.TTS.cs @@ -4,7 +4,7 @@ using Content.Shared.Corvax.TTS; using Content.Shared.Preferences; -namespace Content.Client.Preferences.UI; +namespace Content.Client.Lobby.UI; public sealed partial class HumanoidProfileEditor { diff --git a/Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs b/Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs index a9bd714a644..5fd677bb053 100644 --- a/Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs +++ b/Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs @@ -853,42 +853,6 @@ private void ToggleLoadouts(BaseButton.ButtonEventArgs _) //_controller.UpdateCharacterUI(); } - private void OnDummyUpdate(EntityUid value) - { - _previewSpriteView.SetEntity(value); - } - - private void UpdateAntagRequirements() - { - _antagList.DisposeAllChildren(); - _antagPreferences.Clear(); - - foreach (var antag in _prototypeManager.EnumeratePrototypes().OrderBy(a => Loc.GetString(a.Name))) - { - if (!antag.SetPreference) - continue; - - var selector = new AntagPreferenceSelector(antag, - _jobPriorities.FirstOrDefault(j => j.Priority == JobPriority.High)?.HighJob - ?? new()) - { Margin = new Thickness(3f, 3f, 3f, 0f) }; - _antagList.AddChild(selector); - _antagPreferences.Add(selector); - if (selector.Disabled) - { - Profile = Profile?.WithAntagPreference(antag.ID, false); - IsDirty = true; - } - - selector.PreferenceChanged += preference => - { - Profile = Profile?.WithAntagPreference(antag.ID, preference); - IsDirty = true; - }; - } - - } - private void UpdateRoleRequirements() { JobList.DisposeAllChildren(); diff --git a/Content.Client/VoiceMask/VoiceMaskBoundUserInterface.cs b/Content.Client/VoiceMask/VoiceMaskBoundUserInterface.cs index b35842885ea..a2f55cc8085 100644 --- a/Content.Client/VoiceMask/VoiceMaskBoundUserInterface.cs +++ b/Content.Client/VoiceMask/VoiceMaskBoundUserInterface.cs @@ -40,7 +40,7 @@ protected override void UpdateState(BoundUserInterfaceState state) return; } - _window.UpdateState(cast.Name, cast.Voice, cast.Verb); // LPP-TTS + _window.UpdateState(cast.Name, /*cast.Voice, */cast.Verb); // LPP-TTS } protected override void Dispose(bool disposing) diff --git a/Content.Client/VoiceMask/VoiceMaskNameChangeWindow.xaml.cs b/Content.Client/VoiceMask/VoiceMaskNameChangeWindow.xaml.cs index 77519c4464b..a79cf70efae 100644 --- a/Content.Client/VoiceMask/VoiceMaskNameChangeWindow.xaml.cs +++ b/Content.Client/VoiceMask/VoiceMaskNameChangeWindow.xaml.cs @@ -97,7 +97,7 @@ private void ReloadVoices(IPrototypeManager proto) } // LPP-TTS-End - public void UpdateState(string name, string voice, string? verb) // LPP-TTS + public void UpdateState(string name, /*string voice, */string? verb) // LPP-TTS { NameSelector.Text = name; _verb = verb; @@ -110,11 +110,12 @@ public void UpdateState(string name, string voice, string? verb) // LPP-TTS break; } } - +/* // LPP-TTS-Start var voiceIdx = _voices.FindIndex(v => v.ID == voice); if (voiceIdx != -1) VoiceSelector.Select(voiceIdx); // LPP-TTS-End +*/ } } diff --git a/Content.Server/Chat/Systems/ChatSystem.cs b/Content.Server/Chat/Systems/ChatSystem.cs index e24e256c4a9..6833ba02ec2 100644 --- a/Content.Server/Chat/Systems/ChatSystem.cs +++ b/Content.Server/Chat/Systems/ChatSystem.cs @@ -1054,6 +1054,20 @@ public record ExpandICChatRecipientstEvent(EntityUid Source, float VoiceRange, D { } +public sealed class TransformSpeakerNameEvent : EntityEventArgs +{ + public EntityUid Sender; + public string Name; + public string? SpeechVerb; + + public TransformSpeakerNameEvent(EntityUid sender, string name, string? speechVerb = null) + { + Sender = sender; + Name = name; + SpeechVerb = speechVerb; + } +} + /// /// Raised broadcast in order to transform speech.transmit /// diff --git a/Content.Server/Corvax/TTS/VoiceMaskSystem.TTS.cs b/Content.Server/Corvax/TTS/VoiceMaskSystem.TTS.cs index 0f33893fef1..f85f4fbb588 100644 --- a/Content.Server/Corvax/TTS/VoiceMaskSystem.TTS.cs +++ b/Content.Server/Corvax/TTS/VoiceMaskSystem.TTS.cs @@ -1,42 +1,44 @@ -using Content.Server.Corvax.TTS; -using Content.Shared.VoiceMask; - -namespace Content.Server.VoiceMask; - -public partial class VoiceMaskSystem -{ - private void InitializeTTS() - { - SubscribeLocalEvent(OnSpeakerVoiceTransform); - SubscribeLocalEvent(OnChangeVoice); - } - - private void OnSpeakerVoiceTransform(EntityUid uid, VoiceMaskComponent component, TransformSpeakerVoiceEvent args) - { - if (component.Enabled) - args.VoiceId = component.VoiceId; - } - - private void OnChangeVoice(EntityUid uid, VoiceMaskComponent component, VoiceMaskChangeVoiceMessage message) - { - component.VoiceId = message.Voice; - - _popupSystem.PopupEntity(Loc.GetString("voice-mask-voice-popup-success"), uid); - - TrySetLastKnownVoice(uid, message.Voice); - - UpdateUI(uid, component); - } - - private void TrySetLastKnownVoice(EntityUid maskWearer, string? voiceId) - { - if (!HasComp(maskWearer) - || !_inventory.TryGetSlotEntity(maskWearer, MaskSlot, out var maskEntity) - || !TryComp(maskEntity, out var maskComp)) - { - return; - } - - maskComp.LastSetVoice = voiceId; - } -} +// Я хз как заставить работать после этого: https://github.com/Simple-Station/Einstein-Engines/pull/1147 + +// using Content.Server.Corvax.TTS; +// using Content.Shared.VoiceMask; + +// namespace Content.Server.VoiceMask; + +// public partial class VoiceMaskSystem +// { +// private void InitializeTTS() +// { +// SubscribeLocalEvent(OnSpeakerVoiceTransform); +// SubscribeLocalEvent(OnChangeVoice); +// } + +// private void OnSpeakerVoiceTransform(EntityUid uid, VoiceMaskComponent component, TransformSpeakerVoiceEvent args) +// { +// if (component.Enabled) +// args.VoiceId = component.VoiceId; +// } + +// private void OnChangeVoice(EntityUid uid, VoiceMaskComponent component, VoiceMaskChangeVoiceMessage message) +// { +// component.VoiceId = message.Voice; + +// _popupSystem.PopupEntity(Loc.GetString("voice-mask-voice-popup-success"), uid); + +// TrySetLastKnownVoice(uid, message.Voice); + +// UpdateUI(uid, component); +// } + +// private void TrySetLastKnownVoice(EntityUid maskWearer, string? voiceId) +// { +// if (!HasComp(maskWearer) +// || !_inventory.TryGetSlotEntity(maskWearer, MaskSlot, out var maskEntity) +// || !TryComp(maskEntity, out var maskComp)) +// { +// return; +// } + +// maskComp.LastSetVoice = voiceId; +// } +// } diff --git a/Content.Server/Preferences/Managers/ServerPreferencesManager.cs b/Content.Server/Preferences/Managers/ServerPreferencesManager.cs index d41f15b09c2..ef3e8dedf9e 100644 --- a/Content.Server/Preferences/Managers/ServerPreferencesManager.cs +++ b/Content.Server/Preferences/Managers/ServerPreferencesManager.cs @@ -134,7 +134,7 @@ public async Task SetProfile(NetUserId userId, int slot, ICharacterProfile profi var tier = sponsor.Tier > 5 ? 5 : sponsor.Tier; allowedMarkings = allowedMarkings.Concat(Loc.GetString($"sponsor-markings-tier-{tier}").Split(";", StringSplitOptions.RemoveEmptyEntries)).ToArray(); } - profile.EnsureValid(session, collection, allowedMarkings); + profile.EnsureValid(session, _dependencies, allowedMarkings); #else profile.EnsureValid(session, _dependencies); #endif diff --git a/Content.Server/VoiceMask/VoiceMaskComponent.cs b/Content.Server/VoiceMask/VoiceMaskComponent.cs index 7fca7ea909b..14dadb02e50 100644 --- a/Content.Server/VoiceMask/VoiceMaskComponent.cs +++ b/Content.Server/VoiceMask/VoiceMaskComponent.cs @@ -1,6 +1,5 @@ using Content.Shared.Speech; using Robust.Shared.Prototypes; -using Content.Shared.Humanoid; namespace Content.Server.VoiceMask; @@ -33,15 +32,9 @@ public sealed partial class VoiceMaskComponent : Component [DataField] public EntProtoId Action = "ActionChangeVoiceMask"; - // LPP-TTS-Start - [DataField] - [ViewVariables(VVAccess.ReadWrite)] - public string VoiceId = SharedHumanoidAppearanceSystem.DefaultVoice; - // LPP-TTS-End - /// /// Reference to the action. /// [DataField] public EntityUid? ActionEntity; -} +} \ No newline at end of file diff --git a/Content.Server/VoiceMask/VoiceMaskSystem.cs b/Content.Server/VoiceMask/VoiceMaskSystem.cs index 8e50c6f8576..261c7786095 100644 --- a/Content.Server/VoiceMask/VoiceMaskSystem.cs +++ b/Content.Server/VoiceMask/VoiceMaskSystem.cs @@ -30,7 +30,6 @@ public override void Initialize() SubscribeLocalEvent(OnChangeVerb); SubscribeLocalEvent(OnEquip); SubscribeLocalEvent(OpenUI); - InitializeTTS(); // LPP-TTS } private void OnTransformSpeakerName(Entity entity, ref InventoryRelayedEvent args) @@ -113,4 +112,4 @@ private string GetCurrentVoiceName(Entity entity) return entity.Comp.VoiceMaskName ?? Loc.GetString("voice-mask-default-name-override"); } #endregion -} +} \ No newline at end of file diff --git a/Content.Shared/Humanoid/SharedHumanoidAppearanceSystem.cs b/Content.Shared/Humanoid/SharedHumanoidAppearanceSystem.cs index fb5160db56e..a452dd3d4da 100644 --- a/Content.Shared/Humanoid/SharedHumanoidAppearanceSystem.cs +++ b/Content.Shared/Humanoid/SharedHumanoidAppearanceSystem.cs @@ -87,7 +87,8 @@ public HumanoidCharacterProfile FromStream(Stream stream, ICommonSession session var profile = export.Profile; var collection = IoCManager.Instance; - profile.EnsureValid(session, collection!); + var sponsorPrototypes = Array.Empty(); //LPP ?? + profile.EnsureValid(session, collection!, sponsorPrototypes); // сломалось, Я хз почему return profile; } diff --git a/Content.Shared/Preferences/HumanoidCharacterProfile.cs b/Content.Shared/Preferences/HumanoidCharacterProfile.cs index 5e5503d4d28..1492c459cd7 100644 --- a/Content.Shared/Preferences/HumanoidCharacterProfile.cs +++ b/Content.Shared/Preferences/HumanoidCharacterProfile.cs @@ -118,7 +118,7 @@ public HumanoidCharacterProfile( string name, string flavortext, string species, - string voice, // LPP-Tstring customspeciename, + string voice, // LPP-TTS string customspeciename, float height, float width, @@ -233,11 +233,11 @@ public static HumanoidCharacterProfile RandomWithSpecies(string species = Shared } // LPP-TTS-Start - var voiceId = random.Pick(prototypeManager - .EnumeratePrototypes() - .Where(o => CanHaveVoice(o, sex)).ToArray() - ).ID; - // LPP-TTS-End + var voiceId = random.Pick(prototypeManager + .EnumeratePrototypes() + .Where(o => CanHaveVoice(o, sex)).ToArray() + ).ID; + // LPP-TTS-End var gender = Gender.Epicene; @@ -379,10 +379,10 @@ IDependencyCollection collection || (speciesPrototype.SponsorOnly && !sponsorPrototypes.Contains(Species)) // _LostParadise-Sponsors #endif ) - { - Species = SharedHumanoidAppearanceSystem.DefaultSpecies; - speciesPrototype = prototypeManager.Index(Species); - } + { + Species = SharedHumanoidAppearanceSystem.DefaultSpecies; + speciesPrototype = prototypeManager.Index(Species); + } var sex = Sex switch { @@ -510,37 +510,37 @@ IDependencyCollection collection _traitPreferences.UnionWith(traits); // LPP-TTS-Start - prototypeManager.TryIndex(Voice, out var voice); - if (voice is null || !CanHaveVoice(voice, Sex)) - Voice = SharedHumanoidAppearanceSystem.DefaultSexVoice[sex]; - // LPP-TTS-End + prototypeManager.TryIndex(Voice, out var voice); + if (voice is null || !CanHaveVoice(voice, Sex)) + Voice = SharedHumanoidAppearanceSystem.DefaultSexVoice[sex]; + // LPP-TTS-End - _loadoutPreferences.Clear(); - _loadoutPreferences.UnionWith(loadouts); + _loadoutPreferences.Clear(); + _loadoutPreferences.UnionWith(loadouts); } // LPP-TTS-Start - public static bool CanHaveVoice(TTSVoicePrototype voice, Sex sex) - { - return voice.RoundStart && sex == Sex.Unsexed || (voice.Sex == sex || voice.Sex == Sex.Unsexed); - } - // LPP-TTS-End + public static bool CanHaveVoice(TTSVoicePrototype voice, Sex sex) + { + return voice.RoundStart && sex == Sex.Unsexed || (voice.Sex == sex || voice.Sex == Sex.Unsexed); + } + // LPP-TTS-End - public ICharacterProfile Validated(ICommonSession session, - IDependencyCollection collection + public ICharacterProfile Validated(ICommonSession session, + IDependencyCollection collection #if LPP_Sponsors - , string[] sponsorPrototypes// _LostParadise-Sponsors + , string[] sponsorPrototypes// _LostParadise-Sponsors #endif - ) - { - var profile = new HumanoidCharacterProfile(this); - profile.EnsureValid(session, collection + ) + { + var profile = new HumanoidCharacterProfile(this); + profile.EnsureValid(session, collection #if LPP_Sponsors - , sponsorPrototypes// _LostParadise-Sponsors + , sponsorPrototypes// _LostParadise-Sponsors #endif - ); - return profile; - } + ); + return profile; + } // Sorry this is kind of weird and duplicated, // Working inside these non entity systems is a bit wack diff --git a/Content.Shared/VoiceMask/SharedVoiceMaskSystem.cs b/Content.Shared/VoiceMask/SharedVoiceMaskSystem.cs index f8d70c308d9..0c953314def 100644 --- a/Content.Shared/VoiceMask/SharedVoiceMaskSystem.cs +++ b/Content.Shared/VoiceMask/SharedVoiceMaskSystem.cs @@ -13,13 +13,13 @@ public sealed class VoiceMaskBuiState : BoundUserInterfaceState { public readonly string Name; public readonly string? Verb; - public readonly string Voice; // LPP-TTS + //public readonly string Voice; // LPP-TTS - public VoiceMaskBuiState(string name, string voice, string? verb) + public VoiceMaskBuiState(string name, /*string voice, */string? verb) { Name = name; Verb = verb; - Voice = voice; // LPP-TTS + //Voice = voice; // LPP-TTS } } diff --git a/Resources/Prototypes/CharacterItemGroups/securityGroups.yml b/Resources/Prototypes/CharacterItemGroups/securityGroups.yml index ec6baa94a76..cf3ce848dd5 100644 --- a/Resources/Prototypes/CharacterItemGroups/securityGroups.yml +++ b/Resources/Prototypes/CharacterItemGroups/securityGroups.yml @@ -279,8 +279,6 @@ id: LoadoutSecurityPistolSvalin - type: loadout id: LoadoutSecurityEnergyGunMini - - type: loadout - id: LoadoutSecurityEnergyGunPistol - type: loadout id: LoadoutSecurityPistolPollock - type: loadout diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/reptilian.yml index 4cdef03076b..f235d010011 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/reptilian.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/reptilian.yml @@ -368,14 +368,3 @@ sprites: - sprite: Mobs/Customization/reptilian_parts.rsi state: tail_dtiger_wagging - -- type: marking - id: LizardSnoutSplotch - bodyPart: Snout - markingCategory: Snout - speciesRestriction: [Reptilian] - sprites: - - sprite: Mobs/Customization/reptilian_parts.rsi - state: snout_splotch_primary - - sprite: Mobs/Customization/reptilian_parts.rsi - state: snout_splotch_secondary diff --git a/Resources/Prototypes/Voice/speech_emote_sounds.yml b/Resources/Prototypes/Voice/speech_emote_sounds.yml index 1a19edab26b..44aca73a7b6 100644 --- a/Resources/Prototypes/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/Voice/speech_emote_sounds.yml @@ -109,23 +109,23 @@ Hiss: collection: FelinidHisses -- type: emoteSounds - id: FemaleReptilian - params: - variation: 0.125 - sounds: - Scream: - path: /Audio/Voice/Reptilian/reptilian_scream.ogg - Laugh: - path: /Audio/Animals/lizard_happy.ogg - Honk: - collection: BikeHorn - Whistle: - collection: Whistles - Crying: - collection: FemaleCry - Weh: - collection: Weh +# - type: emoteSounds +# id: FemaleReptilian +# params: +# variation: 0.125 +# sounds: +# Scream: +# path: /Audio/Voice/Reptilian/reptilian_scream.ogg +# Laugh: +# path: /Audio/Animals/lizard_happy.ogg +# Honk: +# collection: BikeHorn +# Whistle: +# collection: Whistles +# Crying: +# collection: FemaleCry +# Weh: +# collection: Weh - type: emoteSounds id: MaleSlime diff --git a/Resources/Prototypes/_LostParadise/Loadouts/Jobs/security.yml b/Resources/Prototypes/_LostParadise/Loadouts/Jobs/security.yml index 751f41e1b3d..a599e6d2ea4 100644 --- a/Resources/Prototypes/_LostParadise/Loadouts/Jobs/security.yml +++ b/Resources/Prototypes/_LostParadise/Loadouts/Jobs/security.yml @@ -419,22 +419,6 @@ items: - WeaponPistolUniversal -- type: loadout - id: LoadoutSecurityEnergyGunPistol - category: JobsSecurity - cost: 6 - requirements: - - !type:CharacterDepartmentTimeRequirement - department: Security - min: 29000 # 1 hours - - !type:CharacterItemGroupRequirement - group: LoadoutWeaponSecurity - - !type:CharacterDepartmentRequirement - departments: - - Security - items: - - WeaponEnergyGunPistol - - type: loadout id: LoadoutSecurityPanther category: JobsSecurity diff --git a/Resources/Textures/Clothing/Head/Hardsuits/atmospherics.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/atmospherics.rsi/meta.json index 62ce0605484..170be78f24c 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/atmospherics.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/atmospherics.rsi/meta.json @@ -17,10 +17,6 @@ "name": "on-inhand-left", "directions": 4 }, - { - "name": "off-inhand-left", - "directions": 4 - }, { "name": "on-inhand-right", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/meta.json index 6072136bd16..a08f941781c 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/meta.json @@ -77,21 +77,18 @@ "name": "on-equipped-HELMET-reptilian", "directions": 4 }, - { - "name": "icon" - }, - { - "name": "equipped-HELMET", - "directions": 4 - }, - { - "name": "equipped-HELMET-harpy", - "directions": 4 - }, - { - "name": "equipped-HELMET-vox", - "directions": 4 - } - ] + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "equipped-HELMET-harpy", + "directions": 4 + }, + { + "name": "equipped-HELMET-vox", + "directions": 4 + } + ] } diff --git a/Resources/Textures/Clothing/Head/Hardsuits/deathsquad.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/deathsquad.rsi/meta.json index 708a23e2b1a..e1055dc3d79 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/deathsquad.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/deathsquad.rsi/meta.json @@ -33,13 +33,9 @@ "name": "off-inhand-right", "directions": 4 }, - { - "name": "equipped-HELMET-vulpkanin", - "directions": 4 - }, - { - "name": "equipped-HELMET-vox", - "directions": 4 - } + { + "name": "equipped-HELMET-vox", + "directions": 4 + } ] } diff --git a/Resources/Textures/Clothing/Head/Hardsuits/engineering.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/engineering.rsi/meta.json index 92d873fb40d..1c70bc344cf 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/engineering.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/engineering.rsi/meta.json @@ -32,17 +32,9 @@ { "name": "off-equipped-HELMET-reptilian", "directions": 4 - }, - { - "name": "off-equipped-HELMET-vox", - "directions": 4 }, { - "name": "on-equipped-HELMET-vox", - "directions": 4 - }, - { - "name": "on-equipped-HELMET", + "name": "on-equipped-HELMET", "directions": 4 }, { diff --git a/Resources/Textures/Clothing/Head/Hardsuits/medical.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/medical.rsi/meta.json index 05129bcf8e9..d5eeda33872 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/medical.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/medical.rsi/meta.json @@ -46,19 +46,7 @@ "directions": 4 }, { - "name": "on-equipped-HELMET", - "directions": 4 - }, - { - "name": "on-equipped-HELMET-vox", - "directions": 4 - }, - { - "name": "off-equipped-HELMET-vox", - "directions": 4 - }, - { - "name": "on-equipped-HELMET-vulpkanin", + "name": "on-equipped-HELMET-vulpkanin", "directions": 4 }, { diff --git a/Resources/Textures/Clothing/Head/Hardsuits/rd.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/rd.rsi/meta.json index aefafb2ce8f..7fb6195ef77 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/rd.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/rd.rsi/meta.json @@ -45,11 +45,7 @@ "name": "off-inhand-right", "directions": 4 }, - { - "name": "on-equipped-HELMET", - "directions": 4 - }, - { + { "name": "on-equipped-HELMET-vox", "directions": 4 }, @@ -61,10 +57,10 @@ "name": "on-equipped-HELMET-vulpkanin", "directions": 4 }, - { - "name": "off-equipped-HELMET-vulpkanin", - "directions": 4 - }, + { + "name": "off-equipped-HELMET-vulpkanin", + "directions": 4 + }, { "name": "on-equipped-HELMET-tajaran", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hardsuits/salvage.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/salvage.rsi/meta.json index c8e45ee22c5..52811bd757e 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/salvage.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/salvage.rsi/meta.json @@ -42,14 +42,10 @@ "directions": 4 }, { - "name": "on-equipped-HELMET-vox", - "directions": 4 + "name": "on-equipped-HELMET", + "directions": 4 }, - { - "name": "on-equipped-HELMET", - "directions": 4 - }, - { + { "name": "on-equipped-HELMET-vox", "directions": 4 }, diff --git a/Resources/Textures/Clothing/Head/Hardsuits/security-red.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/security-red.rsi/meta.json index 81f463a6467..b0bb0d71db1 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/security-red.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/security-red.rsi/meta.json @@ -45,11 +45,7 @@ "name": "off-equipped-HELMET-vox", "directions": 4 }, - { - "name": "on-equipped-HELMET", - "directions": 4 - }, - { + { "name": "on-equipped-HELMET-vulpkanin", "directions": 4 }, diff --git a/Resources/Textures/Clothing/Head/Hardsuits/security.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/security.rsi/meta.json index c11fab503c2..3d47865512b 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/security.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/security.rsi/meta.json @@ -14,8 +14,8 @@ "name": "icon-flash" }, { - "name": "on-equipped-HELMET", - "directions": 4 + "name": "on-equipped-HELMET", + "directions": 4 }, { "name": "off-equipped-HELMET", @@ -37,11 +37,7 @@ "name": "off-equipped-HELMET-reptilian", "directions": 4 }, - { - "name": "on-equipped-HELMET", - "directions": 4 - }, - { + { "name": "on-equipped-HELMET-vox", "directions": 4 }, diff --git a/Resources/Textures/Clothing/Head/Hardsuits/syndiecommander.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/syndiecommander.rsi/meta.json index de47508b7f3..bdc47b582ce 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/syndiecommander.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/syndiecommander.rsi/meta.json @@ -34,14 +34,6 @@ "name": "off-equipped-HELMET-reptilian", "directions": 4 }, - { - "name": "off-inhand-left", - "directions": 4 - }, - { - "name": "off-inhand-right", - "directions": 4 - }, { "name": "on-equipped-HELMET", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hardsuits/syndieelite.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/syndieelite.rsi/meta.json index 29adf717a70..f36eeb33270 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/syndieelite.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/syndieelite.rsi/meta.json @@ -34,14 +34,6 @@ "name": "off-equipped-HELMET-reptilian", "directions": 4 }, - { - "name": "off-inhand-left", - "directions": 4 - }, - { - "name": "off-inhand-right", - "directions": 4 - }, { "name": "on-equipped-HELMET", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hardsuits/syndiemedic.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/syndiemedic.rsi/meta.json index 4a2d97a0e6a..a857755adea 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/syndiemedic.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/syndiemedic.rsi/meta.json @@ -33,14 +33,6 @@ "name": "off-equipped-HELMET-reptilian", "directions": 4 }, - { - "name": "off-inhand-left", - "directions": 4 - }, - { - "name": "off-inhand-right", - "directions": 4 - }, { "name": "on-equipped-HELMET", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hardsuits/wizard.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/wizard.rsi/meta.json index ae363ca58c5..a88cb8716f3 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/wizard.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/wizard.rsi/meta.json @@ -25,10 +25,6 @@ "name": "off-equipped-HELMET-vulpkanin", "directions": 4 }, - { - "name": "on-equipped-HELMET", - "directions": 4 - }, { "name": "on-equipped-HELMET-vulpkanin", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Helmets/security.rsi/meta.json b/Resources/Textures/Clothing/Head/Helmets/security.rsi/meta.json index a0653e5c65f..da724b8d57d 100644 --- a/Resources/Textures/Clothing/Head/Helmets/security.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Helmets/security.rsi/meta.json @@ -18,10 +18,6 @@ "name": "equipped-HELMET-vox", "directions": 4 }, - { - "name": "light-equipped-HELMET", - "directions": 4 - }, { "name": "lighton-equipped-HELMET", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hoods/Bio/bio.rsi/meta.json b/Resources/Textures/Clothing/Head/Hoods/Bio/bio.rsi/meta.json index fd2c470dc4b..cb4605bbf92 100644 --- a/Resources/Textures/Clothing/Head/Hoods/Bio/bio.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hoods/Bio/bio.rsi/meta.json @@ -22,10 +22,6 @@ "name": "inhand-right", "directions": 4 }, - { - "name": "equipped-HELMET-vulpkanin", - "directions": 4 - }, { "name": "equipped-HELMET-vox", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hoods/Bio/cmo.rsi/meta.json b/Resources/Textures/Clothing/Head/Hoods/Bio/cmo.rsi/meta.json index 2db2b944b7c..a449e693c55 100644 --- a/Resources/Textures/Clothing/Head/Hoods/Bio/cmo.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hoods/Bio/cmo.rsi/meta.json @@ -22,10 +22,6 @@ "name": "inhand-right", "directions": 4 }, - { - "name": "equipped-HELMET-vulpkanin", - "directions": 4 - }, { "name": "equipped-HELMET-vox", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hoods/Bio/general.rsi/meta.json b/Resources/Textures/Clothing/Head/Hoods/Bio/general.rsi/meta.json index 2db2b944b7c..a449e693c55 100644 --- a/Resources/Textures/Clothing/Head/Hoods/Bio/general.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hoods/Bio/general.rsi/meta.json @@ -22,10 +22,6 @@ "name": "inhand-right", "directions": 4 }, - { - "name": "equipped-HELMET-vulpkanin", - "directions": 4 - }, { "name": "equipped-HELMET-vox", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hoods/Bio/janitor.rsi/meta.json b/Resources/Textures/Clothing/Head/Hoods/Bio/janitor.rsi/meta.json index 2db2b944b7c..a449e693c55 100644 --- a/Resources/Textures/Clothing/Head/Hoods/Bio/janitor.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hoods/Bio/janitor.rsi/meta.json @@ -22,10 +22,6 @@ "name": "inhand-right", "directions": 4 }, - { - "name": "equipped-HELMET-vulpkanin", - "directions": 4 - }, { "name": "equipped-HELMET-vox", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hoods/Bio/scientist.rsi/meta.json b/Resources/Textures/Clothing/Head/Hoods/Bio/scientist.rsi/meta.json index 2db2b944b7c..a449e693c55 100644 --- a/Resources/Textures/Clothing/Head/Hoods/Bio/scientist.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hoods/Bio/scientist.rsi/meta.json @@ -22,10 +22,6 @@ "name": "inhand-right", "directions": 4 }, - { - "name": "equipped-HELMET-vulpkanin", - "directions": 4 - }, { "name": "equipped-HELMET-vox", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hoods/Bio/security.rsi/meta.json b/Resources/Textures/Clothing/Head/Hoods/Bio/security.rsi/meta.json index a3bb911247a..910ffa98437 100644 --- a/Resources/Textures/Clothing/Head/Hoods/Bio/security.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hoods/Bio/security.rsi/meta.json @@ -22,10 +22,6 @@ "name": "inhand-right", "directions": 4 }, - { - "name": "equipped-HELMET-vulpkanin", - "directions": 4 - }, { "name": "equipped-HELMET-vox", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hoods/Bio/virology.rsi/meta.json b/Resources/Textures/Clothing/Head/Hoods/Bio/virology.rsi/meta.json index 2db2b944b7c..a449e693c55 100644 --- a/Resources/Textures/Clothing/Head/Hoods/Bio/virology.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hoods/Bio/virology.rsi/meta.json @@ -22,10 +22,6 @@ "name": "inhand-right", "directions": 4 }, - { - "name": "equipped-HELMET-vulpkanin", - "directions": 4 - }, { "name": "equipped-HELMET-vox", "directions": 4 diff --git a/Resources/Textures/Clothing/Mask/breath.rsi/meta.json b/Resources/Textures/Clothing/Mask/breath.rsi/meta.json index 29f221f6f14..b100de45075 100644 --- a/Resources/Textures/Clothing/Mask/breath.rsi/meta.json +++ b/Resources/Textures/Clothing/Mask/breath.rsi/meta.json @@ -101,14 +101,6 @@ { "name": "up-equipped-MASK-vulpkanin", "directions": 4 - }, - { - "name": "equipped-MASK-vox", - "directions": 4 - }, - { - "name": "up-equipped-MASK-vox", - "directions": 4 } ] } diff --git a/Resources/Textures/Clothing/Mask/gassecurity.rsi/meta.json b/Resources/Textures/Clothing/Mask/gassecurity.rsi/meta.json index f656d7eb9c8..640e64c1e0d 100644 --- a/Resources/Textures/Clothing/Mask/gassecurity.rsi/meta.json +++ b/Resources/Textures/Clothing/Mask/gassecurity.rsi/meta.json @@ -38,10 +38,6 @@ "name": "up-equipped-MASK", "directions": 4 }, - { - "name": "equipped-MASK-vulpkanin", - "directions": 4 - }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Clothing/OuterClothing/Hardsuits/rd.rsi/meta.json b/Resources/Textures/Clothing/OuterClothing/Hardsuits/rd.rsi/meta.json index dd8a0b887b5..bcd99e9275f 100644 --- a/Resources/Textures/Clothing/OuterClothing/Hardsuits/rd.rsi/meta.json +++ b/Resources/Textures/Clothing/OuterClothing/Hardsuits/rd.rsi/meta.json @@ -34,10 +34,6 @@ "name": "equipped-OUTERCLOTHING-vulpkanin", "directions": 4 }, - { - "name": "equipped-OUTERCLOTHING-vox", - "directions": 4 - }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/prisoner.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpsuit/prisoner.rsi/meta.json index 1fb9cf1b666..450762e0809 100644 --- a/Resources/Textures/Clothing/Uniforms/Jumpsuit/prisoner.rsi/meta.json +++ b/Resources/Textures/Clothing/Uniforms/Jumpsuit/prisoner.rsi/meta.json @@ -14,10 +14,6 @@ "name": "equipped-INNERCLOTHING", "directions": 4 }, - { - "name": "equipped-INNERCLOTHING-monkey", - "directions": 4 - }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/_LostParadise/Clothing/OuterClothing/Hardsuits/NPZspecops/helm.rsi/meta.json b/Resources/Textures/_LostParadise/Clothing/OuterClothing/Hardsuits/NPZspecops/helm.rsi/meta.json index e5b897a7080..2f485bab472 100644 --- a/Resources/Textures/_LostParadise/Clothing/OuterClothing/Hardsuits/NPZspecops/helm.rsi/meta.json +++ b/Resources/Textures/_LostParadise/Clothing/OuterClothing/Hardsuits/NPZspecops/helm.rsi/meta.json @@ -17,14 +17,6 @@ "name": "off-equipped-HELMET", "directions": 4 }, - { - "name": "off-inhand-left", - "directions": 4 - }, - { - "name": "off-inhand-right", - "directions": 4 - }, { "name": "on-equipped-HELMET", "directions": 4