From 29030466368870bad1aa76fd3fa7db9da55cc69c Mon Sep 17 00:00:00 2001 From: BIGZi0348 Date: Sun, 16 Feb 2025 11:22:46 +0300 Subject: [PATCH] Raincoat --- .../FluffColorForClothingSystem.cs | 32 ++++ .../FluffColorForClothingSystem.cs | 57 ++++++ .../FluffColorForClothingComponent.cs | 39 ++++ .../SharedFluffColorForClothingSystem.cs | 104 +++++++++++ .../Entities/Clothing/Head/raincoats_hood.yml | 11 -- .../Entities/Clothing/Neck/raincoat.yml | 41 ----- Resources/Prototypes/_White/Fluff/vkuser.yml | 66 +++++++ .../Raincoats/hoodgreenraincoat.rsi/icon.png | Bin 318 -> 0 bytes .../Raincoats/hoodgreenraincoat.rsi/meta.json | 18 -- .../Raincoats/hoodredraincoat.rsi/icon.png | Bin 321 -> 0 bytes .../Raincoats/hoodredraincoat.rsi/meta.json | 18 -- .../Neck/Raincoats/raincoats.rsi/meta.json | 173 ------------------ .../green-equipped-HELMET.png} | Bin .../vkuser/hoodraincoat.rsi/icon_green.png | Bin 0 -> 374 bytes .../vkuser/hoodraincoat.rsi/icon_red.png | Bin 0 -> 377 bytes .../Fluff/vkuser/hoodraincoat.rsi/meta.json | 25 +++ .../hoodraincoat.rsi/red-equipped-HELMET.png} | Bin .../raincoat.rsi/green-equipped-NECK.png} | Bin .../raincoat.rsi/green-inhand-left.png} | Bin .../raincoat.rsi/green-inhand-right.png} | Bin .../vkuser/raincoat.rsi/icon_green.png} | Bin .../vkuser/raincoat.rsi}/icon_red.png | Bin .../White/Fluff/vkuser/raincoat.rsi/meta.json | 173 ++++++++++++++++++ .../raincoat.rsi}/red-equipped-NECK.png | Bin .../vkuser/raincoat.rsi}/red-inhand-left.png | Bin .../vkuser/raincoat.rsi}/red-inhand-right.png | Bin 26 files changed, 496 insertions(+), 261 deletions(-) create mode 100644 Content.Client/_White/FluffColorForClothing/FluffColorForClothingSystem.cs create mode 100644 Content.Server/_White/FluffColorForClothing/FluffColorForClothingSystem.cs create mode 100644 Content.Shared/_White/FluffColorForClothing/FluffColorForClothingComponent.cs create mode 100644 Content.Shared/_White/FluffColorForClothing/SharedFluffColorForClothingSystem.cs delete mode 100644 Resources/Prototypes/_White/Entities/Clothing/Head/raincoats_hood.yml delete mode 100644 Resources/Prototypes/_White/Entities/Clothing/Neck/raincoat.yml create mode 100644 Resources/Prototypes/_White/Fluff/vkuser.yml delete mode 100644 Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodgreenraincoat.rsi/icon.png delete mode 100644 Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodgreenraincoat.rsi/meta.json delete mode 100644 Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodredraincoat.rsi/icon.png delete mode 100644 Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodredraincoat.rsi/meta.json delete mode 100644 Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/meta.json rename Resources/Textures/White/{Clothing/Head/Hoods/Raincoats/hoodgreenraincoat.rsi/equipped-HELMET.png => Fluff/vkuser/hoodraincoat.rsi/green-equipped-HELMET.png} (100%) create mode 100644 Resources/Textures/White/Fluff/vkuser/hoodraincoat.rsi/icon_green.png create mode 100644 Resources/Textures/White/Fluff/vkuser/hoodraincoat.rsi/icon_red.png create mode 100644 Resources/Textures/White/Fluff/vkuser/hoodraincoat.rsi/meta.json rename Resources/Textures/White/{Clothing/Head/Hoods/Raincoats/hoodredraincoat.rsi/equipped-HELMET.png => Fluff/vkuser/hoodraincoat.rsi/red-equipped-HELMET.png} (100%) rename Resources/Textures/White/{Clothing/Neck/Raincoats/raincoats.rsi/equipped-NECK.png => Fluff/vkuser/raincoat.rsi/green-equipped-NECK.png} (100%) rename Resources/Textures/White/{Clothing/Neck/Raincoats/raincoats.rsi/inhand-left.png => Fluff/vkuser/raincoat.rsi/green-inhand-left.png} (100%) rename Resources/Textures/White/{Clothing/Neck/Raincoats/raincoats.rsi/inhand-right.png => Fluff/vkuser/raincoat.rsi/green-inhand-right.png} (100%) rename Resources/Textures/White/{Clothing/Neck/Raincoats/raincoats.rsi/icon.png => Fluff/vkuser/raincoat.rsi/icon_green.png} (100%) rename Resources/Textures/White/{Clothing/Neck/Raincoats/raincoats.rsi => Fluff/vkuser/raincoat.rsi}/icon_red.png (100%) create mode 100644 Resources/Textures/White/Fluff/vkuser/raincoat.rsi/meta.json rename Resources/Textures/White/{Clothing/Neck/Raincoats/raincoats.rsi => Fluff/vkuser/raincoat.rsi}/red-equipped-NECK.png (100%) rename Resources/Textures/White/{Clothing/Neck/Raincoats/raincoats.rsi => Fluff/vkuser/raincoat.rsi}/red-inhand-left.png (100%) rename Resources/Textures/White/{Clothing/Neck/Raincoats/raincoats.rsi => Fluff/vkuser/raincoat.rsi}/red-inhand-right.png (100%) diff --git a/Content.Client/_White/FluffColorForClothing/FluffColorForClothingSystem.cs b/Content.Client/_White/FluffColorForClothing/FluffColorForClothingSystem.cs new file mode 100644 index 0000000000..a17cd1b50e --- /dev/null +++ b/Content.Client/_White/FluffColorForClothing/FluffColorForClothingSystem.cs @@ -0,0 +1,32 @@ +using Content.Shared.Clothing.Components; +using Content.Shared.Clothing.EntitySystems; +using Content.Shared.Item; +using Robust.Client.GameObjects; + +namespace Content.Shared._White.FluffColorForClothing; + +public sealed class FluffColorForClothingSystem : SharedFluffColorForClothingSystem +{ + [Dependency] private readonly ClothingSystem _clothingSystem = default!; + [Dependency] private readonly SharedItemSystem _itemSystem = default!; + + protected override void UpdateVisuals(EntityUid uid, FluffColorForClothingComponent component) + { + if (!TryComp(uid, out SpriteComponent? sprite)) + return; + + var state = sprite.LayerGetState(0).Name; + if (state == null) + return; + + var prefix = state.Substring(0, state.IndexOf('_')); + sprite.LayerSetState(0, $"{prefix}_{component.CurrentColor}"); + + if (TryComp(uid, out var clothingComp)) + _clothingSystem.SetEquippedPrefix(uid, component.CurrentColor, clothingComp); + + if (TryComp(uid, out var itemComp)) + _itemSystem.SetHeldPrefix(uid, component.CurrentColor, false, itemComp); + } + +} diff --git a/Content.Server/_White/FluffColorForClothing/FluffColorForClothingSystem.cs b/Content.Server/_White/FluffColorForClothing/FluffColorForClothingSystem.cs new file mode 100644 index 0000000000..536ac5a427 --- /dev/null +++ b/Content.Server/_White/FluffColorForClothing/FluffColorForClothingSystem.cs @@ -0,0 +1,57 @@ +using System.Linq; +using Content.Shared.Inventory; +using Robust.Shared.Containers; + +namespace Content.Shared._White.FluffColorForClothing; + +public sealed class FluffColorForClothingSystem : SharedFluffColorForClothingSystem +{ + [Dependency] private readonly InventorySystem _inventory = default!; + [Dependency] private readonly SharedContainerSystem _container = default!; + + private string GetNextColor(FluffColorForClothingComponent component) + { + var index = component.Colors.IndexOf(component.CurrentColor); + var count = component.Colors.Count; + if (index < count - 1) + index++; + else + index = 0; + + var newColor = component.Colors[index]; + + return newColor; + } + + protected override void ChangeColor(EntityUid uid, FluffColorForClothingComponent component) + { + if (component.User != null && _inventory.TryGetContainerSlotEnumerator((EntityUid) component.User, out var containerSlotEnumerator)) + { + while (containerSlotEnumerator.NextItem(out var item, out var _)) + { + if (TryComp(item, out var comp) && !comp.MainItem) + { + comp.CurrentColor = GetNextColor(comp); + Dirty(item, comp); + } + } + } + ChangeCompInside(component); + component.CurrentColor = GetNextColor(component); + Dirty(uid, component); + } + + private void ChangeCompInside(FluffColorForClothingComponent component) + { + if (_container.TryGetContainer(component.Owner, "toggleable-clothing", out var container) && container.ContainedEntities.Any()) + { + var content = container.ContainedEntities.First(); + if (TryComp(content, out var contentComp) && component.Specifier == contentComp.Specifier) + { + contentComp.CurrentColor = GetNextColor(contentComp); + Dirty(contentComp.Owner, contentComp); + } + + } + } +} diff --git a/Content.Shared/_White/FluffColorForClothing/FluffColorForClothingComponent.cs b/Content.Shared/_White/FluffColorForClothing/FluffColorForClothingComponent.cs new file mode 100644 index 0000000000..d08ec90560 --- /dev/null +++ b/Content.Shared/_White/FluffColorForClothing/FluffColorForClothingComponent.cs @@ -0,0 +1,39 @@ +using Content.Shared.Inventory; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared._White.FluffColorForClothing; + +[RegisterComponent, NetworkedComponent] +[AutoGenerateComponentState(true)] +public sealed partial class FluffColorForClothingComponent : Component +{ + [DataField, AutoNetworkedField] + public EntProtoId Action = "ActionFluffColorForClothing"; + + [DataField, AutoNetworkedField] + public EntityUid? ActionEntity; + + [DataField] + [AutoNetworkedField] + public string CurrentColor = "white"; + + [DataField] + public List Colors = new() { "white" }; + + [DataField] + public string VerbText = "Поменять цвет"; + + [DataField] + public string Specifier = "default"; + + [DataField] + public bool MainItem = false; + + [DataField] + public EntityUid? User; + + [DataField("requiredSlot"), AutoNetworkedField] + public SlotFlags RequiredFlags = SlotFlags.NECK; + +} diff --git a/Content.Shared/_White/FluffColorForClothing/SharedFluffColorForClothingSystem.cs b/Content.Shared/_White/FluffColorForClothing/SharedFluffColorForClothingSystem.cs new file mode 100644 index 0000000000..1737584e16 --- /dev/null +++ b/Content.Shared/_White/FluffColorForClothing/SharedFluffColorForClothingSystem.cs @@ -0,0 +1,104 @@ +using Content.Shared.Actions; +using Content.Shared.Inventory.Events; +using Content.Shared.Verbs; +using Robust.Shared.Utility; + +namespace Content.Shared._White.FluffColorForClothing; + +public abstract class SharedFluffColorForClothingSystem : EntitySystem +{ + [Dependency] private readonly SharedActionsSystem _actionsSystem = default!; + [Dependency] private readonly ActionContainerSystem _actionContainer = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent>(OnAddVerb); + SubscribeLocalEvent(OnAfterHandleState); + SubscribeLocalEvent(OnInit); + SubscribeLocalEvent(OnEquipped); + SubscribeLocalEvent(OnUnequipped); + SubscribeLocalEvent(OnEvent); + SubscribeLocalEvent(OnMapInit); + SubscribeLocalEvent(OnGetActions); + SubscribeLocalEvent(OnRemove); + } + + private void OnRemove(Entity ent, ref ComponentRemove args) + { + _actionsSystem.RemoveAction(ent.Comp.ActionEntity); + } + + private void OnGetActions(Entity ent, ref GetItemActionsEvent args) + { + if (ent.Comp.ActionEntity != null && args.SlotFlags == ent.Comp.RequiredFlags) + args.AddAction(ent.Comp.ActionEntity.Value); + } + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + if (_actionContainer.EnsureAction(ent.Owner, ref ent.Comp.ActionEntity, out var action, ent.Comp.Action)) + _actionsSystem.SetEntityIcon(ent.Comp.ActionEntity.Value, ent.Owner, action); + } + + private void OnEvent(Entity ent, ref FluffColorForClothingEvent args) + { + if (args.Handled) + return; + + args.Handled = true; + ChangeColor(ent.Owner, ent.Comp); + } + + private void OnUnequipped(EntityUid uid, FluffColorForClothingComponent component, GotUnequippedEvent args) + { + component.User = null; + } + + private void OnEquipped(EntityUid uid, FluffColorForClothingComponent component, GotEquippedEvent args) + { + component.User = args.Equipee; + } + + private void OnAfterHandleState(EntityUid uid, FluffColorForClothingComponent component, ref AfterAutoHandleStateEvent args) + { + UpdateVisuals(uid, component); + } + + private void OnInit(EntityUid uid, FluffColorForClothingComponent component, ComponentInit args) + { + UpdateVisuals(uid, component); + } + + private void OnAddVerb(EntityUid uid, FluffColorForClothingComponent component, GetVerbsEvent args) + { + if (!args.CanAccess || !args.CanInteract || args.Hands == null || component.Colors.Count < 2 || !component.MainItem) + return; + + AlternativeVerb verb = new() + { + EventTarget = uid, + ExecutionEventArgs = new FluffColorForClothingEvent() { Performer = args.User }, + Text = component.VerbText, + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/rotate_cw.svg.192dpi.png")), + Priority = 0, + }; + + args.Verbs.Add(verb); + } + + protected virtual void UpdateVisuals(EntityUid uid, FluffColorForClothingComponent component) + { + // See client system + } + + protected virtual void ChangeColor(EntityUid uid, FluffColorForClothingComponent component) + { + // See server system + } +} + +public sealed partial class FluffColorForClothingEvent : InstantActionEvent +{ +} diff --git a/Resources/Prototypes/_White/Entities/Clothing/Head/raincoats_hood.yml b/Resources/Prototypes/_White/Entities/Clothing/Head/raincoats_hood.yml deleted file mode 100644 index 64efb9709c..0000000000 --- a/Resources/Prototypes/_White/Entities/Clothing/Head/raincoats_hood.yml +++ /dev/null @@ -1,11 +0,0 @@ -- type: entity - parent: ClothingHeadHatHoodWinterBase - id: ClothingHeadHatHoodRaincoat - noSpawn: true - name: капюшок - description: Если хочешь быть загадочным и привлекательным. - components: - - type: Sprite - sprite: White/Clothing/Head/Hoods/Raincoats/hoodgreenraincoat.rsi - - type: Clothing - sprite: White/Clothing/Head/Hoods/Raincoats/hoodgreenraincoat.rsi diff --git a/Resources/Prototypes/_White/Entities/Clothing/Neck/raincoat.yml b/Resources/Prototypes/_White/Entities/Clothing/Neck/raincoat.yml deleted file mode 100644 index 3922b5884e..0000000000 --- a/Resources/Prototypes/_White/Entities/Clothing/Neck/raincoat.yml +++ /dev/null @@ -1,41 +0,0 @@ -- type: entity - parent: [ClothingNeckBase, BaseFoldable] - id: ClothingOuterWinterRaincoat - name: winter coat with hood - components: - - type: ToggleableClothing - clothingPrototype: ClothingHeadHatHoodRaincoat - requiredSlot: NECK - - type: ContainerContainer - containers: - toggleable-clothing: !type:ContainerSlot {} - storagebase: !type:Container - ents: [] - slot: head - - type: Clothing - sprite: White/Clothing/Neck/Raincoats/raincoats.rsi - - type: EmitSoundOnPickup - sound: - path: /Audio/White/Items/handling/cloth_pickup.ogg - - type: EmitSoundOnDrop - sound: - path: /Audio/White/Items/handling/cloth_drop.ogg - - type: EmitSoundOnLand - sound: - path: /Audio/White/Items/handling/cloth_drop.ogg - - type: Appearance - - type: Foldable - canFoldInsideContainer: true - unfoldVerbText: fold-flip-verb - foldVerbText: fold-flip-verb - - type: FoldableClothing - foldedEquippedPrefix: red - foldedHeldPrefix: red - - type: Sprite - sprite: White/Clothing/Neck/Raincoats/raincoats.rsi - layers: - - state: icon - map: [ "unfoldedLayer" ] - - state: icon_red - map: ["foldedLayer"] - visible: false \ No newline at end of file diff --git a/Resources/Prototypes/_White/Fluff/vkuser.yml b/Resources/Prototypes/_White/Fluff/vkuser.yml new file mode 100644 index 0000000000..89de8781d0 --- /dev/null +++ b/Resources/Prototypes/_White/Fluff/vkuser.yml @@ -0,0 +1,66 @@ +- type: entity + parent: ClothingNeckBase + id: ClothingNeckCloakRaincoat + name: прародительский плащ + suffix: fluff + components: + - type: ToggleableClothing + clothingPrototype: ClothingHeadHatHoodRaincoat + requiredSlot: NECK + - type: ContainerContainer + containers: + toggleable-clothing: !type:ContainerSlot {} + storagebase: !type:Container + ents: [] + slot: head + - type: Clothing + sprite: White/Fluff/vkuser/raincoat.rsi + - type: Sprite + sprite: White/Fluff/vkuser/raincoat.rsi + state: icon_green + - type: Appearance + - type: FluffColorForClothing + mainItem: true + specifier: Raincoat + currentColor: green + colors: + - green + - red + - type: Tag + tags: + - ClothMade + +- type: entity + parent: ClothingHeadBase + id: ClothingHeadHatHoodRaincoat + noSpawn: true + name: прародительский капюшон + suffix: fluff + components: + - type: Sprite + sprite: White/Fluff/vkuser/hoodraincoat.rsi + state: icon_green + - type: Clothing + sprite: White/Fluff/vkuser/hoodraincoat.rsi + - type: Tag + tags: [] # ignore "WhitelistChameleon" tag + - type: HideLayerClothing + slots: + - Hair + - type: FluffColorForClothing + specifier: Raincoat + currentColor: green + colors: + - green + - red + +- type: entity + id: ActionFluffColorForClothing + name: Поменять цвет + description: Меняет цвет вашей экипировки. + noSpawn: true + components: + - type: InstantAction + itemIconStyle: BigItem + useDelay: 1 + event: !type:FluffColorForClothingEvent diff --git a/Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodgreenraincoat.rsi/icon.png b/Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodgreenraincoat.rsi/icon.png deleted file mode 100644 index 675d2813863aa91c67844fb06bb431ab7b22728c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}KRjI=Ln2y} z6C_v{Cy4YkP2`g}c~NEkf^YJ%Zyq*Br_4O+)b})K(xe+p{!M<&G0Eh^kJ~+IG4fsQ z_o_u_RihT}X}a~_f8i|w?`N`UKR*4Hj_GTk-2Je8k}fj{+<&!NWhwilOATlG+{#tOv-!xoa9|iP Nc)I$ztaD0e0swdBjdcJ3 diff --git a/Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodgreenraincoat.rsi/meta.json b/Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodgreenraincoat.rsi/meta.json deleted file mode 100644 index 515e8ab091..0000000000 --- a/Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodgreenraincoat.rsi/meta.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version": 1, - "license": "CC-BY-SA-4.0", - "copyright": "Archestratigus АКА Заступник", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "icon" - }, - { - "name": "equipped-HELMET", - "directions": 4 - } - ] -} \ No newline at end of file diff --git a/Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodredraincoat.rsi/icon.png b/Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodredraincoat.rsi/icon.png deleted file mode 100644 index 24efe39da4ad253f8da9a4d285cfb5057d09f5ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}zdci+jR#(2$ZeE2y%s3#>s$mbdaj?fb)PH?23)?Se)GM``mPLsC6 z(h}8Mj3=gfdwL~J{?-46BZ*OY^lr=Oh`t{#`;Vl90 zXR>KOKK+%B>1&_d{jhwJE;9(+f3=#2|J{9+TZ}488E4A&OT^h#cO+S=vx_tDUm$S! zcxAifk)=;0?ItEEFt^^EFuA$g(Zi$T;Wyb!!tzJ?7PLK0v2KW(W^7>Kz{Q(nz|+Cm z{U<#1piak;7T15;nwlpkCO!NA|9|Is)-6oTapFBz3GlFBc)~xkqW9R&%fNtS@O1Ta JS?83{1OWBLkdXiY literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Fluff/vkuser/hoodraincoat.rsi/icon_red.png b/Resources/Textures/White/Fluff/vkuser/hoodraincoat.rsi/icon_red.png new file mode 100644 index 0000000000000000000000000000000000000000..215aa4b15ef16b70a9dbca55223725045fd2542b GIT binary patch literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oVGw3ym^DX&fq_xm z)5S3)qV?@mZ!cy?fwuqiI8K@zN=WZX5fEmVXaB%t*>XFlxGBe`arPXA+c&G2!s8Aw z|6rKx>o8@aqR}MRpvaE19x)-aTW*FpI+uqB{&x=!UE9HtIxBqDE(VSU1`dV>*}Mfo zr`|=s-8}W9rJU_8hUqU)v1xR@6wGK4!CaZI8?19`f{9=RFU2m)NJuK0@JpKEl zXz2vuNB`MwOtENqzwltB{k0YCB~_cOI;6f%cw}K$bkfu1kKT=GQ~!yBya7Z9gx)F4 Uyz{Th1{9VIp00i_>zopr0P94Wh5!Hn literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Fluff/vkuser/hoodraincoat.rsi/meta.json b/Resources/Textures/White/Fluff/vkuser/hoodraincoat.rsi/meta.json new file mode 100644 index 0000000000..eeb91813c4 --- /dev/null +++ b/Resources/Textures/White/Fluff/vkuser/hoodraincoat.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Archestratigus АКА Заступник", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon_green" + }, + { + "name": "icon_red" + }, + { + "name": "green-equipped-HELMET", + "directions": 4 + }, + { + "name": "red-equipped-HELMET", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodredraincoat.rsi/equipped-HELMET.png b/Resources/Textures/White/Fluff/vkuser/hoodraincoat.rsi/red-equipped-HELMET.png similarity index 100% rename from Resources/Textures/White/Clothing/Head/Hoods/Raincoats/hoodredraincoat.rsi/equipped-HELMET.png rename to Resources/Textures/White/Fluff/vkuser/hoodraincoat.rsi/red-equipped-HELMET.png diff --git a/Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/equipped-NECK.png b/Resources/Textures/White/Fluff/vkuser/raincoat.rsi/green-equipped-NECK.png similarity index 100% rename from Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/equipped-NECK.png rename to Resources/Textures/White/Fluff/vkuser/raincoat.rsi/green-equipped-NECK.png diff --git a/Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/inhand-left.png b/Resources/Textures/White/Fluff/vkuser/raincoat.rsi/green-inhand-left.png similarity index 100% rename from Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/inhand-left.png rename to Resources/Textures/White/Fluff/vkuser/raincoat.rsi/green-inhand-left.png diff --git a/Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/inhand-right.png b/Resources/Textures/White/Fluff/vkuser/raincoat.rsi/green-inhand-right.png similarity index 100% rename from Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/inhand-right.png rename to Resources/Textures/White/Fluff/vkuser/raincoat.rsi/green-inhand-right.png diff --git a/Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/icon.png b/Resources/Textures/White/Fluff/vkuser/raincoat.rsi/icon_green.png similarity index 100% rename from Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/icon.png rename to Resources/Textures/White/Fluff/vkuser/raincoat.rsi/icon_green.png diff --git a/Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/icon_red.png b/Resources/Textures/White/Fluff/vkuser/raincoat.rsi/icon_red.png similarity index 100% rename from Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/icon_red.png rename to Resources/Textures/White/Fluff/vkuser/raincoat.rsi/icon_red.png diff --git a/Resources/Textures/White/Fluff/vkuser/raincoat.rsi/meta.json b/Resources/Textures/White/Fluff/vkuser/raincoat.rsi/meta.json new file mode 100644 index 0000000000..a439ebed3a --- /dev/null +++ b/Resources/Textures/White/Fluff/vkuser/raincoat.rsi/meta.json @@ -0,0 +1,173 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Archestratigus АКА Заступник", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "green-inhand-left", + "directions": 4 + }, + { + "name": "red-inhand-left", + "directions": 4 + }, + { + "name": "green-inhand-right", + "directions": 4 + }, + { + "name": "red-inhand-right", + "directions": 4 + }, + { + "name": "icon_green" + }, + { + "name": "icon_red" + }, + { + "name": "red-equipped-NECK", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "green-equipped-NECK", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/red-equipped-NECK.png b/Resources/Textures/White/Fluff/vkuser/raincoat.rsi/red-equipped-NECK.png similarity index 100% rename from Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/red-equipped-NECK.png rename to Resources/Textures/White/Fluff/vkuser/raincoat.rsi/red-equipped-NECK.png diff --git a/Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/red-inhand-left.png b/Resources/Textures/White/Fluff/vkuser/raincoat.rsi/red-inhand-left.png similarity index 100% rename from Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/red-inhand-left.png rename to Resources/Textures/White/Fluff/vkuser/raincoat.rsi/red-inhand-left.png diff --git a/Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/red-inhand-right.png b/Resources/Textures/White/Fluff/vkuser/raincoat.rsi/red-inhand-right.png similarity index 100% rename from Resources/Textures/White/Clothing/Neck/Raincoats/raincoats.rsi/red-inhand-right.png rename to Resources/Textures/White/Fluff/vkuser/raincoat.rsi/red-inhand-right.png