diff --git a/Content.Client/_Wega/BloodCult/BloodCultSystem.cs b/Content.Client/_Wega/BloodCult/BloodCultSystem.cs new file mode 100644 index 0000000000..1ce2472b15 --- /dev/null +++ b/Content.Client/_Wega/BloodCult/BloodCultSystem.cs @@ -0,0 +1,109 @@ + +using System.Numerics; +using Content.Shared.Blood.Cult; +using Content.Shared.Blood.Cult.Components; +using Content.Shared.StatusIcon.Components; +using Robust.Client.GameObjects; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; +using Robust.Shared.Utility; + +namespace Content.Client.Blood.Cult +{ + public sealed class BloodCultSystem : SharedBloodCultSystem + { + [Dependency] private readonly AppearanceSystem _appearance = default!; + [Dependency] private readonly IPrototypeManager _prototype = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly SpriteSystem _sprite = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnRuneAppearanceChanged); + SubscribeLocalEvent(OnRuneAppearanceChanged); + SubscribeLocalEvent(GetCultistIcons); + SubscribeLocalEvent(GetHalo); + SubscribeLocalEvent(RemoveHalo); + SubscribeLocalEvent(OnSoulStoneAppearanceChanged); + } + + private void OnRuneAppearanceChanged(Entity entity, ref AppearanceChangeEvent args) + { + if (!_appearance.TryGetData(entity, RuneColorVisuals.Color, out Color color)) + return; + + _sprite.SetColor(entity.Owner, color); + } + + private void OnRuneAppearanceChanged(Entity entity, ref AppearanceChangeEvent args) + { + if (!_appearance.TryGetData(entity, RuneColorVisuals.Color, out Color color)) + return; + + _sprite.SetColor(entity.Owner, color); + } + + private void GetCultistIcons(Entity ent, ref GetStatusIconsEvent args) + { + var iconPrototype = _prototype.Index(ent.Comp.StatusIcon); + args.StatusIcons.Add(iconPrototype); + } + + private void GetHalo(EntityUid uid, PentagramDisplayComponent component, ComponentStartup args) + { + if (!TryComp(uid, out var sprite)) + return; + + if (_sprite.LayerMapTryGet(uid, PentagramKey.Halo, out _, true)) + return; + + var haloVariant = _random.Next(1, 6); + var haloState = $"halo{haloVariant}"; + + var bounds = _sprite.GetLocalBounds((uid, sprite)); + var adj = bounds.Height / 2 + 1.0f / 32 * 6.0f; + + var layerData = new PrototypeLayerData + { + Shader = "unshaded", + RsiPath = "_Wega/Interface/Misc/bloodcult_halo.rsi", + State = haloState, + Offset = new Vector2(0.0f, adj) + }; + + var layer = _sprite.AddLayer(uid, layerData, null); + _sprite.LayerMapSet(uid, PentagramKey.Halo, layer); + } + + private void RemoveHalo(EntityUid uid, PentagramDisplayComponent component, ComponentShutdown args) + { + if (_sprite.LayerMapTryGet(uid, PentagramKey.Halo, out var layer, true)) + { + _sprite.RemoveLayer(uid, layer); + } + } + + private void OnSoulStoneAppearanceChanged(EntityUid uid, StoneSoulComponent component, ref AppearanceChangeEvent args) + { + if (!_appearance.TryGetData(uid, StoneSoulVisuals.HasSoul, out bool hasSoul)) + hasSoul = false; + + _sprite.LayerSetVisible(uid, StoneSoulVisualLayers.Soul, hasSoul); + if (!hasSoul) + { + _sprite.LayerSetVisible(uid, StoneSoulVisualLayers.Base, true); + } + else + { + _sprite.LayerSetVisible(uid, StoneSoulVisualLayers.Base, false); + } + } + + private enum PentagramKey + { + Halo + } + } +} diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodConstructMenu.xaml b/Content.Client/_Wega/BloodCult/Ui/BloodConstructMenu.xaml new file mode 100644 index 0000000000..5acb1720ab --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodConstructMenu.xaml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodConstructMenu.xaml.cs b/Content.Client/_Wega/BloodCult/Ui/BloodConstructMenu.xaml.cs new file mode 100644 index 0000000000..81c261e10f --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodConstructMenu.xaml.cs @@ -0,0 +1,49 @@ +using Content.Client.UserInterface.Controls; +using Content.Shared.Blood.Cult; +using Robust.Client.AutoGenerated; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Player; + +namespace Content.Client.Select.Construct.UI; + +[GenerateTypedNameReferences] +public sealed partial class BloodConstructMenu : RadialMenu +{ + [Dependency] private readonly IEntityManager _entityManager = default!; + [Dependency] private readonly IEntityNetworkManager _entityNetworkManager = default!; + [Dependency] private readonly ISharedPlayerManager _playerManager = default!; + + public event Action? OnSelectConstruct; + private NetEntity _constructUid; + private NetEntity _mindUid; + + public BloodConstructMenu() + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + + InitializeButtons(); + } + + private void InitializeButtons() + { + BloodJuggernautButton.OnButtonUp += _ => HandleRitesSelection("MobConstructJuggernaut"); + BloodWraithButton.OnButtonUp += _ => HandleRitesSelection("MobConstructWraith"); + BloodArtificerButton.OnButtonUp += _ => HandleRitesSelection("MobConstructArtificer"); + BloodProteonButton.OnButtonUp += _ => HandleRitesSelection("MobConstructProteon"); + } + + public void SetData(NetEntity constructUid, NetEntity mindUid) + { + _constructUid = constructUid; + _mindUid = mindUid; + } + + private void HandleRitesSelection(string constructName) + { + OnSelectConstruct?.Invoke(constructName); + var netEntity = _entityManager.GetNetEntity(_playerManager.LocalSession?.AttachedEntity ?? EntityUid.Invalid); + _entityNetworkManager.SendSystemNetworkMessage(new BloodConstructMenuClosedEvent(netEntity, _constructUid, _mindUid, constructName)); + Close(); + } +} diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodConstructUIController.cs b/Content.Client/_Wega/BloodCult/Ui/BloodConstructUIController.cs new file mode 100644 index 0000000000..94dad53fe3 --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodConstructUIController.cs @@ -0,0 +1,52 @@ +using Content.Shared.Blood.Cult; +using Robust.Client.Player; +using Robust.Client.UserInterface; +using Robust.Client.UserInterface.Controllers; +using Timer = Robust.Shared.Timing.Timer; + +namespace Content.Client.Select.Construct.UI +{ + public sealed class BloodConstructMenuUIController : UIController + { + [Dependency] private readonly IUserInterfaceManager _uiManager = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; + + private BloodConstructMenu? _menu; + + public override void Initialize() + { + base.Initialize(); + SubscribeNetworkEvent(OnConstructMenuReceived); + } + + private void OnConstructMenuReceived(OpenConstructMenuEvent args, EntitySessionEventArgs eventArgs) + { + var session = IoCManager.Resolve().LocalSession; + var userEntity = _entityManager.GetEntity(args.Uid); + + if (session?.AttachedEntity.HasValue == true && session.AttachedEntity.Value == userEntity) + { + if (_menu is null) + { + _menu = _uiManager.CreateWindow(); + + _menu.SetData(args.ConstructUid, args.Mind); + + _menu.OpenCentered(); + } + else + { + _menu.OpenCentered(); + } + + Timer.Spawn(30000, () => + { + if (_menu != null) + { + _menu.Close(); + } + }); + } + } + } +} diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodMagicMenu.xaml b/Content.Client/_Wega/BloodCult/Ui/BloodMagicMenu.xaml new file mode 100644 index 0000000000..05f96f511d --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodMagicMenu.xaml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodMagicMenu.xaml.cs b/Content.Client/_Wega/BloodCult/Ui/BloodMagicMenu.xaml.cs new file mode 100644 index 0000000000..c18c4038fc --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodMagicMenu.xaml.cs @@ -0,0 +1,48 @@ +using Content.Client.UserInterface.Controls; +using Content.Shared.Blood.Cult; +using Robust.Client.AutoGenerated; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Player; + +namespace Content.Client.Blood.Magic.UI; + +[GenerateTypedNameReferences] +public sealed partial class BloodMagicMenu : RadialMenu +{ + [Dependency] private readonly IEntityManager _entityManager = default!; + [Dependency] private readonly IEntityNetworkManager _entityNetworkManager = default!; + [Dependency] private readonly ISharedPlayerManager _playerManager = default!; + + public event Action? OnSelectSpell; + + public BloodMagicMenu() + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + + InitializeButtons(); + } + + private void InitializeButtons() + { + StunButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultStun"); + TeleportButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultTeleport"); + ElectromagneticPulseButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultElectromagneticPulse"); + ShadowShacklesButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultShadowShackles"); + TwistedConstructionButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultTwistedConstruction"); + SummonEquipmentButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultSummonEquipment"); + SummonDaggerButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultSummonDagger"); + HallucinationsButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultHallucinations"); + ConcealPresenceButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultConcealPresence"); + BloodRitesButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultBloodRites"); + } + + private void HandleSpellSelection(string spellName) + { + OnSelectSpell?.Invoke(spellName); + var netEntity = _entityManager.GetNetEntity(_playerManager.LocalSession?.AttachedEntity ?? EntityUid.Invalid); + _entityNetworkManager.SendSystemNetworkMessage(new BloodMagicMenuClosedEvent(netEntity, spellName)); + Close(); + } +} + diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodMagicUIController.cs b/Content.Client/_Wega/BloodCult/Ui/BloodMagicUIController.cs new file mode 100644 index 0000000000..49721973ff --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodMagicUIController.cs @@ -0,0 +1,45 @@ +using Content.Shared.Blood.Cult; +using Robust.Client.Player; +using Robust.Client.UserInterface; +using Robust.Client.UserInterface.Controllers; + +namespace Content.Client.Blood.Magic.UI +{ + public sealed class BloodMagicMenuUIController : UIController + { + [Dependency] private readonly IUserInterfaceManager _uiManager = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; + + private BloodMagicMenu? _menu; + + public override void Initialize() + { + base.Initialize(); + SubscribeNetworkEvent(OnBloodMagicMenuReceived); + } + + private void OnBloodMagicMenuReceived(BloodMagicPressedEvent args, EntitySessionEventArgs eventArgs) + { + var session = IoCManager.Resolve().LocalSession; + var userEntity = _entityManager.GetEntity(args.Uid); + if (session?.AttachedEntity.HasValue == true && session.AttachedEntity.Value == userEntity) + { + if (_menu is null) + { + _menu = _uiManager.CreateWindow(); + _menu.OnClose += OnMenuClosed; + _menu.OpenCentered(); + } + else + { + _menu.OpenCentered(); + } + } + } + + private void OnMenuClosed() + { + _menu = null; + } + } +} diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodRitesMenu.xaml b/Content.Client/_Wega/BloodCult/Ui/BloodRitesMenu.xaml new file mode 100644 index 0000000000..f943415e73 --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodRitesMenu.xaml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodRitesMenu.xaml.cs b/Content.Client/_Wega/BloodCult/Ui/BloodRitesMenu.xaml.cs new file mode 100644 index 0000000000..1d6f22ead8 --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodRitesMenu.xaml.cs @@ -0,0 +1,42 @@ +using Content.Client.UserInterface.Controls; +using Content.Shared.Blood.Cult; +using Robust.Client.AutoGenerated; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Player; + +namespace Content.Client.Blood.Rites.UI; + +[GenerateTypedNameReferences] +public sealed partial class BloodRitesMenu : RadialMenu +{ + [Dependency] private readonly IEntityManager _entityManager = default!; + [Dependency] private readonly IEntityNetworkManager _entityNetworkManager = default!; + [Dependency] private readonly ISharedPlayerManager _playerManager = default!; + + public event Action? OnSelectRites; + + public BloodRitesMenu() + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + + InitializeButtons(); + } + + private void InitializeButtons() + { + BloodOrbButton.OnButtonUp += _ => HandleRitesSelection("ActionBloodCultOrb"); + BloodRechargeButton.OnButtonUp += _ => HandleRitesSelection("ActionBloodCultRecharge"); + BloodSpearButton.OnButtonUp += _ => HandleRitesSelection("ActionBloodCultSpear"); + BloodBoltBarrageButton.OnButtonUp += _ => HandleRitesSelection("ActionBloodCultBoltBarrage"); + } + + private void HandleRitesSelection(string ritesName) + { + OnSelectRites?.Invoke(ritesName); + var netEntity = _entityManager.GetNetEntity(_playerManager.LocalSession?.AttachedEntity ?? EntityUid.Invalid); + _entityNetworkManager.SendSystemNetworkMessage(new BloodRitesMenuClosedEvent(netEntity, ritesName)); + Close(); + } +} + diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodRitesUIController.cs b/Content.Client/_Wega/BloodCult/Ui/BloodRitesUIController.cs new file mode 100644 index 0000000000..104175b056 --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodRitesUIController.cs @@ -0,0 +1,45 @@ +using Content.Shared.Blood.Cult; +using Robust.Client.Player; +using Robust.Client.UserInterface; +using Robust.Client.UserInterface.Controllers; + +namespace Content.Client.Blood.Rites.UI +{ + public sealed class BloodRitesMenuUIController : UIController + { + [Dependency] private readonly IUserInterfaceManager _uiManager = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; + + private BloodRitesMenu? _menu; + + public override void Initialize() + { + base.Initialize(); + SubscribeNetworkEvent(OnBloodMagicMenuReceived); + } + + private void OnBloodMagicMenuReceived(BloodRitesPressedEvent args, EntitySessionEventArgs eventArgs) + { + var session = IoCManager.Resolve().LocalSession; + var userEntity = _entityManager.GetEntity(args.Uid); + if (session?.AttachedEntity.HasValue == true && session.AttachedEntity.Value == userEntity) + { + if (_menu is null) + { + _menu = _uiManager.CreateWindow(); + _menu.OnClose += OnMenuClosed; + _menu.OpenCentered(); + } + else + { + _menu.OpenCentered(); + } + } + } + + private void OnMenuClosed() + { + _menu = null; + } + } +} diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodStructureMenu.xaml b/Content.Client/_Wega/BloodCult/Ui/BloodStructureMenu.xaml new file mode 100644 index 0000000000..ab3b82e370 --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodStructureMenu.xaml @@ -0,0 +1,14 @@ + + + + + + diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodStructureMenu.xaml.cs b/Content.Client/_Wega/BloodCult/Ui/BloodStructureMenu.xaml.cs new file mode 100644 index 0000000000..6ed14c0591 --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodStructureMenu.xaml.cs @@ -0,0 +1,82 @@ +using System.Numerics; +using Content.Client.UserInterface.Controls; +using Content.Shared.Blood.Cult; +using Content.Shared.Blood.Cult.Components; +using Robust.Client.AutoGenerated; +using Robust.Client.UserInterface.Controls; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Player; +using Robust.Shared.Prototypes; + +namespace Content.Client.Structure.UI; + +[GenerateTypedNameReferences] +public sealed partial class BloodStructureMenu : RadialMenu +{ + [Dependency] private readonly IEntityManager _entityManager = default!; + [Dependency] private readonly IEntityNetworkManager _entityNetworkManager = default!; + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly ISharedPlayerManager _playerManager = default!; + + public event Action? OnSelectItem; + private NetEntity _structure; + + public BloodStructureMenu() + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + } + + public void SetData(NetEntity structure) + { + _structure = structure; + InitializeButtons(); + } + + private void InitializeButtons() + { + var structure = _entityManager.GetEntity(_structure); + if (!_entityManager.TryGetComponent(structure, out var structureComp) + || structureComp.StructureGear.Count == 0) + return; + + foreach (var prototypeId in structureComp.StructureGear) + { + if (!_prototypeManager.TryIndex(prototypeId, out var prototype)) + continue; + + var button = new RadialMenuButton + { + ToolTip = prototype.Name, + SetSize = new Vector2(64, 64), + }; + + button.StyleClasses.Add("RadialMenuButton"); + + var entityView = new EntityPrototypeView + { + Scale = new Vector2(2, 2), + SetSize = new Vector2(64, 64), + Margin = new Thickness(4) + }; + entityView.SetPrototype(prototype.ID); + + button.AddChild(entityView); + + button.OnPressed += _ => + { + HandleItemSelection(prototype.ID); + }; + + Main.AddChild(button); + } + } + + private void HandleItemSelection(string name) + { + OnSelectItem?.Invoke(name); + var netEntity = _entityManager.GetNetEntity(_playerManager.LocalSession?.AttachedEntity ?? EntityUid.Invalid); + _entityNetworkManager.SendSystemNetworkMessage(new BloodStructureMenuClosedEvent(netEntity, name, _structure)); + Close(); + } +} diff --git a/Content.Client/_Wega/BloodCult/Ui/BloodStructureUIController.cs b/Content.Client/_Wega/BloodCult/Ui/BloodStructureUIController.cs new file mode 100644 index 0000000000..7807859b33 --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/BloodStructureUIController.cs @@ -0,0 +1,57 @@ +using Content.Shared.Blood.Cult; +using Robust.Client.Player; +using Robust.Client.UserInterface; +using Robust.Client.UserInterface.Controllers; +using Timer = Robust.Shared.Timing.Timer; + +namespace Content.Client.Structure.UI +{ + public sealed class BloodStructureMenuUIController : UIController + { + [Dependency] private readonly IUserInterfaceManager _uiManager = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; + + private BloodStructureMenu? _menu; + + public override void Initialize() + { + base.Initialize(); + SubscribeNetworkEvent(OnStructureMenuReceived); + } + + private void OnStructureMenuReceived(OpenStructureMenuEvent args, EntitySessionEventArgs eventArgs) + { + var session = IoCManager.Resolve().LocalSession; + var userEntity = _entityManager.GetEntity(args.Uid); + if (session?.AttachedEntity.HasValue == true && session.AttachedEntity.Value == userEntity) + { + if (_menu is null) + { + _menu = _uiManager.CreateWindow(); + _menu.OnClose += OnMenuClosed; + + _menu.SetData(args.Structure); + + _menu.OpenCentered(); + } + else + { + _menu.OpenCentered(); + } + + Timer.Spawn(30000, () => + { + if (_menu != null) + { + _menu.Close(); + } + }); + } + } + + private void OnMenuClosed() + { + _menu = null; + } + } +} diff --git a/Content.Client/_Wega/BloodCult/Ui/EmpoweringRuneMenu.xaml b/Content.Client/_Wega/BloodCult/Ui/EmpoweringRuneMenu.xaml new file mode 100644 index 0000000000..4c49f3253a --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/EmpoweringRuneMenu.xaml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Content.Client/_Wega/BloodCult/Ui/RunesMenu.xaml b/Content.Client/_Wega/BloodCult/Ui/RunesMenu.xaml new file mode 100644 index 0000000000..dd85b9490a --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/RunesMenu.xaml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + diff --git a/Content.Client/_Wega/BloodCult/Ui/RunesMenu.xaml.cs b/Content.Client/_Wega/BloodCult/Ui/RunesMenu.xaml.cs new file mode 100644 index 0000000000..33213acbcd --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/RunesMenu.xaml.cs @@ -0,0 +1,162 @@ +using System.Numerics; +using Content.Client.UserInterface.Controls; +using Content.Shared.Blood.Cult; +using Content.Shared.Blood.Cult.Components; +using Robust.Client.AutoGenerated; +using Robust.Client.UserInterface.Controls; +using Robust.Client.UserInterface.CustomControls; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Player; + +namespace Content.Client.Runes.Panel.Ui; + +public sealed partial class RunesPanelMenu : DefaultWindow +{ + [Dependency] private readonly IEntityManager _entityManager = default!; + [Dependency] private readonly IEntityNetworkManager _entityNetworkManager = default!; + [Dependency] private readonly ISharedPlayerManager _playerManager = default!; + + public event Action? OnRuneSelected; + public BoxContainer RunesContainer => this.FindControl("RunesContainer"); + + public RunesPanelMenu() + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + + InitializeRunes(); + } + + private void InitializeRunes() + { + AddRuneButton(Loc.GetString("offering-rune"), "BloodRuneOffering"); + AddRuneButton(Loc.GetString("teleport-rune"), "BloodRuneTeleport"); + AddRuneButton(Loc.GetString("empowering-rune"), "BloodRuneEmpowering"); + AddRuneButton(Loc.GetString("revive-rune"), "BloodRuneRevive"); + AddRuneButton(Loc.GetString("barrier-rune"), "BloodRuneBarrier"); + AddRuneButton(Loc.GetString("summoning-rune"), "BloodRuneSummoning"); + AddRuneButton(Loc.GetString("bloodboil-rune"), "BloodRuneBloodBoil"); + AddRuneButton(Loc.GetString("spiritrealm-rune"), "BloodRuneSpiritealm"); + AddRuneButton(Loc.GetString("ritual-dimensional-rending-rune"), "BloodRuneRitualDimensionalRending"); + } + + private void AddRuneButton(string runeName, string protoId) + { + var button = new Button + { + Text = runeName, + MinSize = new Vector2(300, 32), + MaxSize = new Vector2(300, 32), + HorizontalAlignment = HAlignment.Center, + VerticalAlignment = VAlignment.Center, + }; + + button.OnPressed += _ => HandleRuneSelection(protoId); + + RunesContainer.AddChild(button); + } + + private void HandleRuneSelection(string protoId) + { + OnRuneSelected?.Invoke(protoId); + var netEntity = _entityManager.GetNetEntity(_playerManager.LocalSession?.AttachedEntity ?? EntityUid.Invalid); + _entityNetworkManager.SendSystemNetworkMessage(new RuneSelectEvent(netEntity, protoId)); + Close(); + } + + public new void Close() + { + base.Close(); + } +} + +[GenerateTypedNameReferences] +public sealed partial class EmpoweringRuneMenu : RadialMenu +{ + [Dependency] private readonly IEntityManager _entityManager = default!; + [Dependency] private readonly IEntityNetworkManager _entityNetworkManager = default!; + [Dependency] private readonly ISharedPlayerManager _playerManager = default!; + + public event Action? OnSelectSpell; + + public EmpoweringRuneMenu() + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + + InitializeButtons(); + } + + private void InitializeButtons() + { + StunButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultStun"); + TeleportButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultTeleport"); + ElectromagneticPulseButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultElectromagneticPulse"); + ShadowShacklesButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultShadowShackles"); + TwistedConstructionButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultTwistedConstruction"); + SummonEquipmentButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultSummonEquipment"); + SummonDaggerButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultSummonDagger"); + HallucinationsButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultHallucinations"); + ConcealPresenceButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultConcealPresence"); + BloodRitesButton.OnButtonUp += _ => HandleSpellSelection("ActionBloodCultBloodRites"); + } + + private void HandleSpellSelection(string spellName) + { + OnSelectSpell?.Invoke(spellName); + var netEntity = _entityManager.GetNetEntity(_playerManager.LocalSession?.AttachedEntity ?? EntityUid.Invalid); + _entityNetworkManager.SendSystemNetworkMessage(new EmpoweringRuneMenuClosedEvent(netEntity, spellName)); + Close(); + } +} + +public sealed partial class SummoningRunePanelMenu : DefaultWindow +{ + [Dependency] private readonly IEntityManager _entityManager = default!; + [Dependency] private readonly IEntityNetworkManager _entityNetworkManager = default!; + [Dependency] private readonly ISharedPlayerManager _playerManager = default!; + + public BoxContainer CultistsContainer => this.FindControl("CultistsContainer"); + + public SummoningRunePanelMenu() + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + + InitializeButtons(); + } + + private void InitializeButtons() + { + var cultistQuery = _entityManager.EntityQueryEnumerator(); + while (cultistQuery.MoveNext(out var uid, out _, out var metaData)) + { + var entityName = metaData.EntityName; + AddCultistButton(entityName, uid); + } + } + + private void AddCultistButton(string cultistName, EntityUid cultistUid) + { + var button = new Button + { + Text = cultistName, + HorizontalAlignment = HAlignment.Center, + VerticalAlignment = VAlignment.Center, + MinSize = new Vector2(300, 32), + MaxSize = new Vector2(300, 32) + }; + + button.OnPressed += _ => HandleCultistSelection(cultistUid); + + CultistsContainer.AddChild(button); + } + + private void HandleCultistSelection(EntityUid cultistUid) + { + var netTargerEntity = _entityManager.GetNetEntity(cultistUid); + var netEntity = _entityManager.GetNetEntity(_playerManager.LocalSession?.AttachedEntity ?? EntityUid.Invalid); + _entityNetworkManager.SendSystemNetworkMessage(new SummoningSelectedEvent(netEntity, netTargerEntity)); + Close(); + } +} diff --git a/Content.Client/_Wega/BloodCult/Ui/RunesMenuUIController.cs b/Content.Client/_Wega/BloodCult/Ui/RunesMenuUIController.cs new file mode 100644 index 0000000000..3d57eea8c1 --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/RunesMenuUIController.cs @@ -0,0 +1,144 @@ +using Content.Shared.Blood.Cult; +using Robust.Client.Player; +using Robust.Client.UserInterface; +using Robust.Client.UserInterface.Controllers; +using Timer = Robust.Shared.Timing.Timer; + +namespace Content.Client.Runes.Panel.Ui +{ + public sealed class RunesMenuUIController : UIController + { + [Dependency] private readonly IUserInterfaceManager _uiManager = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; + + private RunesPanelMenu? _panel; + + public override void Initialize() + { + base.Initialize(); + + SubscribeNetworkEvent(OnRunesMenuReceived); + } + + private void OnRunesMenuReceived(RunesMenuOpenedEvent args, EntitySessionEventArgs eventArgs) + { + var session = IoCManager.Resolve().LocalSession; + var userEntity = _entityManager.GetEntity(args.Uid); + if (session?.AttachedEntity.HasValue == true && session.AttachedEntity.Value == userEntity) + { + if (_panel is null) + { + _panel = _uiManager.CreateWindow(); + _panel.OnClose += OnMenuClosed; + _panel.OpenCentered(); + } + else + { + _panel.OpenCentered(); + } + } + } + + private void OnMenuClosed() + { + _panel = null; + } + } + + public sealed class EmpoweringRuneMenuUIController : UIController + { + [Dependency] private readonly IUserInterfaceManager _uiManager = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; + + private EmpoweringRuneMenu? _menu; + private bool _menuDisposed = false; + + public override void Initialize() + { + base.Initialize(); + + SubscribeNetworkEvent(OnRuneMenuReceived); + } + + private void OnRuneMenuReceived(EmpoweringRuneMenuOpenedEvent args, EntitySessionEventArgs eventArgs) + { + var session = IoCManager.Resolve().LocalSession; + var userEntity = _entityManager.GetEntity(args.Uid); + if (session?.AttachedEntity.HasValue == true && session.AttachedEntity.Value == userEntity) + { + if (_menu is null) + { + _menu = _uiManager.CreateWindow(); + _menu.OnClose += OnMenuClosed; + _menu.OpenCentered(); + } + else + { + _menu.OpenCentered(); + } + } + + Timer.Spawn(30000, () => + { + if (_menu != null && !_menuDisposed) + { + _menu.Close(); + } + }); + } + + private void OnMenuClosed() + { + _menuDisposed = true; + _menu = null; + } + + } + + public sealed class SummoningRuneMenuUIController : UIController + { + [Dependency] private readonly IUserInterfaceManager _uiManager = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; + + private SummoningRunePanelMenu? _panel; + + public override void Initialize() + { + base.Initialize(); + + SubscribeNetworkEvent(OnRuneMenuReceived); + } + + private void OnRuneMenuReceived(SummoningRuneMenuOpenedEvent args, EntitySessionEventArgs eventArgs) + { + var session = IoCManager.Resolve().LocalSession; + var userEntity = _entityManager.GetEntity(args.Uid); + if (session?.AttachedEntity.HasValue == true && session.AttachedEntity.Value == userEntity) + { + if (_panel is null) + { + _panel = _uiManager.CreateWindow(); + _panel.OnClose += OnMenuClosed; + _panel.OpenCentered(); + } + else + { + _panel.OpenCentered(); + } + + Timer.Spawn(30000, () => + { + if (_panel != null) + { + _panel.Close(); + } + }); + } + } + + private void OnMenuClosed() + { + _panel = null; + } + } +} diff --git a/Content.Client/_Wega/BloodCult/Ui/SummoningRuneMenu.xaml b/Content.Client/_Wega/BloodCult/Ui/SummoningRuneMenu.xaml new file mode 100644 index 0000000000..da5f6502ef --- /dev/null +++ b/Content.Client/_Wega/BloodCult/Ui/SummoningRuneMenu.xaml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + diff --git a/Content.Client/_Wega/Dirt/DirtVisualsSystem.cs b/Content.Client/_Wega/Dirt/DirtVisualsSystem.cs new file mode 100644 index 0000000000..7ae786095c --- /dev/null +++ b/Content.Client/_Wega/Dirt/DirtVisualsSystem.cs @@ -0,0 +1,71 @@ +using Content.Client.Clothing; +using Content.Shared.DirtVisuals; +using Content.Shared.Foldable; +using Content.Shared.Inventory; +using Robust.Client.GameObjects; +using Robust.Shared.GameStates; +using Robust.Shared.Utility; + +namespace Content.Client.DirtVisuals; + +public sealed class DirtVisualsSystem : EntitySystem +{ + [Dependency] private readonly AppearanceSystem _appearance = default!; + [Dependency] private readonly SpriteSystem _sprite = default!; + [Dependency] private readonly ClientClothingSystem _clothing = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnHandleState); + } + + private void OnHandleState(EntityUid uid, DirtableComponent comp, ref ComponentHandleState args) + { + if (args.Current is not DirtableComponentState state) + return; + + comp.CurrentDirtLevel = state.CurrentDirtLevel; + comp.DirtColor = state.DirtColor; + UpdateDirtVisuals(uid, comp); + } + + private void UpdateDirtVisuals(EntityUid uid, DirtableComponent comp) + { + if (!HasComp(uid)) + return; + + var isFolded = false; + if (HasComp(uid) && _appearance.TryGetData(uid, FoldableSystem.FoldedVisuals.State, out var folded)) + isFolded = folded; + + var layerKey = $"dirt_{uid}"; + var dirtState = isFolded && !string.IsNullOrEmpty(comp.FoldingDirtState) + ? comp.FoldingDirtState + : comp.DirtState; + + if (comp.IsDirty) + { + if (!_sprite.LayerMapTryGet(uid, layerKey, out var layerIndex, false)) + { + layerIndex = _sprite.AddLayer(uid, new SpriteSpecifier.Rsi( + new ResPath(comp.DirtSpritePath), + dirtState + )); + _sprite.LayerMapSet(uid, layerKey, layerIndex); + } + + _sprite.LayerSetVisible(uid, layerIndex, true); + _sprite.LayerSetColor(uid, layerIndex, comp.DirtColor); + + _sprite.LayerSetRsiState(uid, layerIndex, dirtState); + } + else if (_sprite.LayerMapTryGet(uid, layerKey, out var layerIndex, false)) + { + _sprite.LayerSetVisible(uid, layerIndex, false); + } + + if (TryComp(Transform(uid).ParentUid, out InventoryComponent? inventory)) + _clothing.InitClothing(Transform(uid).ParentUid, inventory); + } +} diff --git a/Content.Client/_Wega/ItemSelector/ItemSelectorBoundUserInterface.cs b/Content.Client/_Wega/ItemSelector/ItemSelectorBoundUserInterface.cs new file mode 100644 index 0000000000..3c31870b73 --- /dev/null +++ b/Content.Client/_Wega/ItemSelector/ItemSelectorBoundUserInterface.cs @@ -0,0 +1,39 @@ +using Content.Shared.Item.Selector.UI; +using JetBrains.Annotations; +using Robust.Client.UserInterface; +using Robust.Shared.Player; + +namespace Content.Client._Wega.Item.Selector.UI; + +[UsedImplicitly] +public sealed class ItemSelectorBoundUserInterface : BoundUserInterface +{ + [Dependency] private readonly ISharedPlayerManager _playerManager = default!; + + [ViewVariables] + private ItemSelectorWindow? _window; + + public ItemSelectorBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) { } + + protected override void Open() + { + base.Open(); + + _window = this.CreateWindow(); + + _window.OnItemSelected += (selectedId) => + { + var netEntity = EntMan.GetNetEntity(_playerManager.LocalSession?.AttachedEntity ?? EntityUid.Invalid); + SendMessage(new ItemSelectorSelectionMessage(netEntity, selectedId)); + _window.Close(); + }; + } + + protected override void ReceiveMessage(BoundUserInterfaceMessage message) + { + if (_window == null || message is not ItemSelectorUserMessage msg) + return; + + _window.Populate(msg); + } +} diff --git a/Content.Client/_Wega/ItemSelector/ItemSelectorWindow.xaml b/Content.Client/_Wega/ItemSelector/ItemSelectorWindow.xaml new file mode 100644 index 0000000000..bc1accb385 --- /dev/null +++ b/Content.Client/_Wega/ItemSelector/ItemSelectorWindow.xaml @@ -0,0 +1,15 @@ + + + + + + diff --git a/Content.Client/_Wega/ItemSelector/ItemSelectorWindow.xaml.cs b/Content.Client/_Wega/ItemSelector/ItemSelectorWindow.xaml.cs new file mode 100644 index 0000000000..5c992813df --- /dev/null +++ b/Content.Client/_Wega/ItemSelector/ItemSelectorWindow.xaml.cs @@ -0,0 +1,59 @@ +using System.Numerics; +using Content.Client.UserInterface.Controls; +using Content.Shared.Item.Selector.UI; +using Robust.Client.AutoGenerated; +using Robust.Client.UserInterface.Controls; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Prototypes; + +namespace Content.Client._Wega.Item.Selector.UI; + +[GenerateTypedNameReferences] +public sealed partial class ItemSelectorWindow : RadialMenu +{ + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + + public event Action? OnItemSelected; + + public ItemSelectorWindow() + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + } + + public void Populate(ItemSelectorUserMessage message) + { + MainContainer.RemoveAllChildren(); + + foreach (var prototypeId in message.Items) + { + if (!_prototypeManager.TryIndex(prototypeId, out var prototype)) + continue; + + var button = new RadialMenuContextualCentralTextureButton + { + ToolTip = prototype.Name, + SetSize = new Vector2(64, 64), + }; + + button.StyleClasses.Add("RadialMenuButton"); + + var entityView = new EntityPrototypeView + { + Scale = new Vector2(2, 2), + SetSize = new Vector2(64, 64), + Margin = new Thickness(4) + }; + entityView.SetPrototype(prototype.ID); + + button.AddChild(entityView); + + button.OnPressed += _ => + { + OnItemSelected?.Invoke(prototype.ID); + }; + + MainContainer.AddChild(button); + } + } +} diff --git a/Content.Server/Bed/Cryostorage/CryostorageSystem.cs b/Content.Server/Bed/Cryostorage/CryostorageSystem.cs index 7cadc3bb8f..0664176a86 100644 --- a/Content.Server/Bed/Cryostorage/CryostorageSystem.cs +++ b/Content.Server/Bed/Cryostorage/CryostorageSystem.cs @@ -220,6 +220,11 @@ public sealed class CryostorageSystem : SharedCryostorageSystem UpdateCryostorageUIState((cryostorageEnt.Value, cryostorageComponent)); AdminLog.Add(LogType.Action, LogImpact.High, $"{ToPrettyString(ent):player} was entered into cryostorage inside of {ToPrettyString(cryostorageEnt.Value)}"); + // Corvax-Wega-BloodCult-start + var ev = new CryostorageEnterEvent(ent.Owner); + RaiseLocalEvent(ent.Owner, ref ev); + // Corvax-Wega-BloodCult-end + if (!TryComp(station, out var stationRecords)) return; @@ -347,3 +352,12 @@ public sealed class CryostorageSystem : SharedCryostorageSystem } } } + +// Corvax-Wega-BloodCult-start +/// +/// Raised when an entity enters cryostorage. +/// Used by Blood Cult to reassign targets when sacrifice targets go into cryo. +/// +[ByRefEvent] +public record struct CryostorageEnterEvent(EntityUid Uid); +// Corvax-Wega-BloodCult-end diff --git a/Content.Server/_Wega/BloodCult/BloodCultSystem.Abilities.cs b/Content.Server/_Wega/BloodCult/BloodCultSystem.Abilities.cs new file mode 100644 index 0000000000..d041b75b69 --- /dev/null +++ b/Content.Server/_Wega/BloodCult/BloodCultSystem.Abilities.cs @@ -0,0 +1,918 @@ +using System.Linq; +using Content.Server.Administration; +using Content.Server.Administration.Logs; +using Content.Server.Body.Systems; +using Content.Server.Chat.Systems; +using Content.Server.Emp; +using Content.Server.Flash; +using Content.Server.Hallucinations; +using Content.Shared.Bed.Sleep; +using Content.Shared.Blood.Cult; +using Content.Shared.Blood.Cult.Components; +using Content.Shared.Chemistry.Components; +using Content.Shared.Clothing; +using Content.Shared.Cuffs; +using Content.Shared.Cuffs.Components; +using Content.Shared.Damage; +using Content.Shared.Damage.Components; +using Content.Shared.DoAfter; +using Content.Shared.Doors.Components; +using Content.Shared.Database; +using Content.Shared.FixedPoint; +using Content.Shared.Fluids.Components; +using Content.Shared.Hands.EntitySystems; +using Content.Shared.Humanoid; +using Content.Shared.Interaction; +using Content.Shared.Interaction.Events; +using Content.Shared.Inventory; +using Content.Shared.Mobs; +using Content.Shared.Mobs.Components; +using Content.Shared.Popups; +using Content.Shared.Roles; +using Content.Shared.Stacks; +using Content.Shared.Standing; +using Content.Shared.Speech.Muting; +using Content.Shared.Stunnable; +using Content.Shared.Timing; +using Robust.Server.GameObjects; +using Robust.Shared.Containers; +using Robust.Shared.Physics.Components; +using Robust.Shared.Physics.Systems; +using Robust.Shared.Prototypes; +using Robust.Shared.Player; +using Robust.Shared.Timing; +using Content.Shared.Flash.Components; +using Content.Shared.Body.Components; +using Content.Shared.NullRod.Components; +using Content.Shared.Chat; +using Content.Shared.Damage.Systems; + +namespace Content.Server.Blood.Cult; + +public sealed partial class BloodCultSystem +{ + [Dependency] private readonly BloodstreamSystem _blood = default!; + [Dependency] private readonly ChatSystem _chat = default!; + [Dependency] private readonly DamageableSystem _damage = default!; + [Dependency] private readonly EmpSystem _emp = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; + [Dependency] private readonly EntityLookupSystem _entityLookup = default!; + [Dependency] private readonly FixtureSystem _fixtures = default!; + [Dependency] private readonly FlashSystem _flash = default!; + [Dependency] private readonly HallucinationsSystem _hallucinations = default!; + [Dependency] private readonly IAdminLogManager _admin = default!; + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly InventorySystem _inventorySystem = default!; + [Dependency] private readonly QuickDialogSystem _quickDialog = default!; + [Dependency] private readonly SharedCuffableSystem _cuff = default!; + [Dependency] private readonly SharedHandsSystem _hands = default!; + [Dependency] private readonly SharedPhysicsSystem _physics = default!; + [Dependency] private readonly SharedStackSystem _stack = default!; + [Dependency] private readonly SharedStunSystem _stun = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly UseDelaySystem _useDelay = default!; + [Dependency] private readonly VisibilitySystem _visibility = default!; + [Dependency] private readonly LoadoutSystem _loadout = default!; + + private void InitializeBloodAbilities() + { + // Blood Magic + SubscribeLocalEvent(OnBloodMagic); + SubscribeNetworkEvent(AfterSpellSelect); + SubscribeLocalEvent(DoAfterSpellSelect); + + // Abilities + SubscribeLocalEvent(OnCultCommune); + SubscribeLocalEvent(OnInteract); + SubscribeLocalEvent(OnRecallDagger); + + SubscribeLocalEvent(OnStun); + SubscribeLocalEvent(OnTeleport); + SubscribeLocalEvent(OnTeleportDoAfter); + SubscribeLocalEvent(OnElectromagneticPulse); + SubscribeLocalEvent(OnShadowShackles); + SubscribeLocalEvent(OnTwistedConstruction); + SubscribeLocalEvent(OnSummonEquipment); + SubscribeLocalEvent(OnSummonDagger); + SubscribeLocalEvent(OnHallucinations); + SubscribeLocalEvent(OnConcealPresence); + SubscribeLocalEvent(OnBloodRites); + + SubscribeLocalEvent(BloodRites); + SubscribeNetworkEvent(BloodRitesSelect); + SubscribeLocalEvent(OnBloodOrb); + SubscribeLocalEvent(OnBloodOrbAbsorbed); + SubscribeLocalEvent(OnBloodRecharge); + SubscribeLocalEvent(OnBloodSpear); + SubscribeLocalEvent(OnRecallSpear); + SubscribeLocalEvent(OnBloodBoltBarrage); + } + + #region Blood Magic + private void OnBloodMagic(EntityUid uid, BloodCultistComponent component, BloodCultBloodMagicActionEvent args) + { + var netEntity = _entityManager.GetNetEntity(uid); + RaiseNetworkEvent(new BloodMagicPressedEvent(netEntity)); + args.Handled = true; + } + + private void AfterSpellSelect(BloodMagicMenuClosedEvent args, EntitySessionEventArgs eventArgs) + { + var uid = _entityManager.GetEntity(args.Uid); + if (!TryComp(uid, out var cult)) + return; + + if (!cult.BloodMagicActive) + { + _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, uid, TimeSpan.FromSeconds(10f), new BloodMagicDoAfterEvent(args.SelectedSpell), uid) + { + BreakOnMove = true, + BreakOnDamage = true, + MovementThreshold = 0.01f, + NeedHand = true + }); + } + else + { + var remSpell = cult.SelectedSpell; + if (remSpell != null) + _action.RemoveAction(uid, remSpell); + cult.SelectedSpell = null; + cult.BloodMagicActive = false; + + _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, uid, TimeSpan.FromSeconds(10f), new BloodMagicDoAfterEvent(args.SelectedSpell), uid) + { + BreakOnMove = true, + BreakOnDamage = true, + MovementThreshold = 0.01f, + NeedHand = true + }); + } + } + + private void DoAfterSpellSelect(EntityUid cultist, BloodCultistComponent component, BloodMagicDoAfterEvent args) + { + if (args.Cancelled) return; + + var actionEntityUid = _action.AddAction(cultist, args.SelectedSpell); + if (actionEntityUid.HasValue) + component.SelectedSpell = actionEntityUid.Value; + else + component.SelectedSpell = null; + + ExtractBlood(cultist, -20, 10); + component.BloodMagicActive = true; + } + #endregion + + #region Abilities + private void OnCultCommune(BloodCultCommuneActionEvent args) + { + var uid = args.Performer; + if (!TryComp(uid, out var playerActor)) + return; + + // Админ логика, зато как просто + var playerSession = playerActor.PlayerSession; + _quickDialog.OpenDialog(playerSession, Loc.GetString("cult-commune-title"), "", + (string message) => + { + var finalMessage = string.IsNullOrWhiteSpace(message) + ? "" + : message; + + var senderName = Name(uid) ?? "Unknown"; + var popupMessage = Loc.GetString("cult-commune-massage", ("name", senderName), ("massage", finalMessage)); + + var cultistQuery = EntityQueryEnumerator(); + while (cultistQuery.MoveNext(out var cultistUid, out var actorComp, out var cultistComp)) + { + if (actorComp == playerActor) continue; + + _prayerSystem.SendSubtleMessage(actorComp.PlayerSession, actorComp.PlayerSession, string.Empty, popupMessage); + } + + var constructQuery = EntityQueryEnumerator(); + while (constructQuery.MoveNext(out var constructUid, out var actorComp, out var constructComp)) + { + if (actorComp == playerActor) continue; + + _prayerSystem.SendSubtleMessage(actorComp.PlayerSession, actorComp.PlayerSession, string.Empty, popupMessage); + } + + _admin.Add(LogType.Chat, LogImpact.Low, $"{ToPrettyString(uid):user} saying the: {finalMessage} in cult commune"); + _chat.TrySendInGameICMessage(uid, finalMessage, InGameICChatType.Whisper, ChatTransmitRange.Normal, checkRadioPrefix: false); + }); + args.Handled = true; + } + + private void OnRecallDagger(EntityUid cultist, BloodCultistComponent component, RecallBloodDaggerEvent args) + { + if (component.RecallDaggerActionEntity is not { } dagger || !HasComp(dagger)) + { + _popup.PopupEntity(Loc.GetString("blood-cult-dagger-not-found"), cultist, cultist, PopupType.SmallCaution); + args.Handled = true; + return; + } + + var cultistPosition = _transform.GetWorldPosition(cultist); + _transform.SetWorldPosition(dagger, cultistPosition); + _popup.PopupEntity(Loc.GetString("blood-cult-dagger-recalled"), cultist, cultist); + _hands.TryPickupAnyHand(cultist, dagger); + args.Handled = true; + } + + private void OnStun(EntityUid cultist, BloodCultistComponent component, BloodCultStunActionEvent args) + { + var spellGear = new ProtoId("BloodCultSpellStunGear"); + + var dropEvent = new DropHandItemsEvent(); + RaiseLocalEvent(cultist, ref dropEvent); + List> gear = new() { spellGear }; + _loadout.Equip(cultist, gear, null); + + args.Handled = true; + EmpoweringCheck(args.Action, component); + } + + private void OnTeleport(EntityUid cultist, BloodCultistComponent component, BloodCultTeleportActionEvent args) + { + var spellGear = new ProtoId("BloodCultSpellTeleportGear"); + + var dropEvent = new DropHandItemsEvent(); + RaiseLocalEvent(cultist, ref dropEvent); + List> gear = new() { spellGear }; + _loadout.Equip(cultist, gear, null); + + args.Handled = true; + EmpoweringCheck(args.Action, component); + } + + private void OnElectromagneticPulse(EntityUid cultist, BloodCultistComponent component, BloodCultElectromagneticPulseActionEvent args) + { + var coords = _transform.GetMapCoordinates(cultist); + var exclusions = new List(); + var entitiesInRange = _entityLookup.GetEntitiesInRange(coords, 5f); + foreach (var uid in entitiesInRange) + { + if (HasComp(uid)) + exclusions.Add(uid); + } + _emp.EmpPulseExclusions(coords, 5f, 100000f, 60f, exclusions); + + args.Handled = true; + EmpoweringCheck(args.Action, component); + } + + private void OnShadowShackles(EntityUid cultist, BloodCultistComponent component, BloodCultShadowShacklesActionEvent args) + { + var spellGear = new ProtoId("BloodCultSpellShadowShacklesGear"); + + var dropEvent = new DropHandItemsEvent(); + RaiseLocalEvent(cultist, ref dropEvent); + List> gear = new() { spellGear }; + _loadout.Equip(cultist, gear, null); + + args.Handled = true; + EmpoweringCheck(args.Action, component); + } + + private void OnTwistedConstruction(EntityUid cultist, BloodCultistComponent component, BloodCultTwistedConstructionActionEvent args) + { + var spellGear = new ProtoId("BloodCultSpellTwistedConstructionGear"); + + var dropEvent = new DropHandItemsEvent(); + RaiseLocalEvent(cultist, ref dropEvent); + List> gear = new() { spellGear }; + _loadout.Equip(cultist, gear, null); + + args.Handled = true; + EmpoweringCheck(args.Action, component); + } + + private void OnSummonEquipment(EntityUid cultist, BloodCultistComponent component, BloodCultSummonEquipmentActionEvent args) + { + var spellGear = new ProtoId("BloodCultSpellSummonEquipmentGear"); + + var dropEvent = new DropHandItemsEvent(); + RaiseLocalEvent(cultist, ref dropEvent); + List> gear = new() { spellGear }; + _loadout.Equip(cultist, gear, null); + + args.Handled = true; + EmpoweringCheck(args.Action, component); + } + + private void OnSummonDagger(EntityUid cultist, BloodCultistComponent component, BloodCultSummonDaggerActionEvent args) + { + if (_entityManager.EntityExists(component.RecallDaggerActionEntity)) + { + _popup.PopupEntity(Loc.GetString("blood-cult-blood-dagger-exists"), cultist, cultist, PopupType.SmallCaution); + args.Handled = true; + return; + } + + var cultistCoords = Transform(cultist).Coordinates; + string selectedDagger = GetCurrentGod() switch + { + "Narsie" => "WeaponBloodDagger", + "Reaper" => "WeaponDeathDagger", + "Kharin" => "WeaponHellDagger", + _ => "WeaponBloodDagger" + }; + + var dagger = _entityManager.SpawnEntity(selectedDagger, cultistCoords); + component.RecallDaggerActionEntity = dagger; + _hands.TryPickupAnyHand(cultist, dagger); + + args.Handled = true; + EmpoweringCheck(args.Action, component); + } + + private void OnHallucinations(EntityUid cultist, BloodCultistComponent component, BloodCultHallucinationsActionEvent args) + { + if (!HasComp(args.Target)) + _hallucinations.StartHallucinations(args.Target, "Hallucinations", TimeSpan.FromSeconds(30f), true, "MindBreaker"); + + args.Handled = true; + EmpoweringCheck(args.Action, component); + } + + private void OnConcealPresence(EntityUid cultist, BloodCultistComponent component, BloodCultConcealPresenceActionEvent args) + { + var transform = _entityManager.GetComponent(cultist); + var runes = _entityLookup.GetEntitiesInRange(transform.Coordinates, 4f); + var structures = _entityLookup.GetEntitiesInRange(transform.Coordinates, 4f); + + if (runes.Count > 0) + { + foreach (var rune in runes) + { + if (EntityManager.TryGetComponent(rune.Owner, out BloodRuneComponent? bloodRuneComp)) + { + if (EntityManager.TryGetComponent(rune.Owner, out VisibilityComponent? visibilityComp)) + { + var entity = new Entity(rune.Owner, visibilityComp); + if (bloodRuneComp.IsActive) + _visibility.SetLayer(entity, 6); + else + _visibility.SetLayer(entity, 1); + } + else + { + var newVisibilityComp = EntityManager.AddComponent(rune.Owner); + var entity = new Entity(rune.Owner, newVisibilityComp); + if (bloodRuneComp.IsActive) + _visibility.SetLayer(entity, 6); + else + _visibility.SetLayer(entity, 1); + } + + bloodRuneComp.IsActive = !bloodRuneComp.IsActive; + } + } + } + + if (structures.Count > 0) + { + foreach (var structure in structures) + { + if (EntityManager.TryGetComponent(structure.Owner, out BloodStructureComponent? bloodStructureComp)) + { + if (EntityManager.TryGetComponent(structure.Owner, out VisibilityComponent? visibilityComp)) + { + var entity = new Entity(structure.Owner, visibilityComp); + if (bloodStructureComp.IsActive) + _visibility.SetLayer(entity, 6); + else + _visibility.SetLayer(entity, 1); + } + else + { + var newVisibilityComp = EntityManager.AddComponent(structure.Owner); + var entity = new Entity(structure.Owner, newVisibilityComp); + if (bloodStructureComp.IsActive) + _visibility.SetLayer(entity, 6); + else + _visibility.SetLayer(entity, 1); + } + + if (EntityManager.TryGetComponent(structure.Owner, out PhysicsComponent? physicsComp)) + { + var fixture = _fixtures.GetFixtureOrNull(structure.Owner, bloodStructureComp.FixtureId); + if (fixture != null) + { + _physics.SetHard(structure.Owner, fixture, !bloodStructureComp.IsActive); + } + } + + bloodStructureComp.IsActive = !bloodStructureComp.IsActive; + } + } + } + args.Handled = true; + EmpoweringCheck(args.Action, component); + } + #region Blood Rites + private void OnBloodRites(EntityUid cultist, BloodCultistComponent component, BloodCultBloodRitesActionEvent args) + { + var spellGear = new ProtoId("BloodCultSpellBloodRitesGear"); + + var dropEvent = new DropHandItemsEvent(); + RaiseLocalEvent(cultist, ref dropEvent); + List> gear = new() { spellGear }; + _loadout.Equip(cultist, gear, null); + + args.Handled = true; + EmpoweringCheck(args.Action, component); + } + + private void BloodRites(Entity ent, ref UseInHandEvent args) + { + if (!TryComp(ent, out var comp) || comp.Prototype.FirstOrDefault() != "bloodrites") + return; + + args.Handled = true; + _entityManager.DeleteEntity(ent); + var netEntity = _entityManager.GetNetEntity(args.User); + RaiseNetworkEvent(new BloodRitesPressedEvent(netEntity)); + } + + private void BloodRitesSelect(BloodRitesMenuClosedEvent args, EntitySessionEventArgs eventArgs) + { + var uid = _entityManager.GetEntity(args.Uid); + if (!HasComp(uid)) + return; + + _action.AddAction(uid, args.SelectedRites); + } + + private void OnBloodOrb(EntityUid cultist, BloodCultistComponent component, BloodCultBloodOrbActionEvent args) + { + if (!TryComp(cultist, out var playerActor)) + return; + + var playerSession = playerActor.PlayerSession; + _quickDialog.OpenDialog(playerSession, Loc.GetString("blood-orb-dialog-title"), Loc.GetString("blood-orb-dialog-prompt"), + (string input) => + { + if (!int.TryParse(input, out var inputValue) || inputValue <= 0) + { + _popup.PopupEntity(Loc.GetString("blood-orb-invalid-input"), cultist, cultist, PopupType.Medium); + return; + } + + if (inputValue > component.BloodCount) + { + _popup.PopupEntity(Loc.GetString("blood-orb-not-enough-blood"), cultist, cultist, PopupType.Medium); + } + else + { + component.BloodCount -= inputValue; + + var bloodOrb = _entityManager.SpawnEntity("BloodCultOrb", Transform(cultist).Coordinates); + EnsureComp(bloodOrb, out var orb); + orb.Blood = inputValue; + + _action.RemoveAction(cultist, args.Action!); + _popup.PopupEntity(Loc.GetString("blood-orb-success", ("amount", inputValue)), cultist, cultist, PopupType.Medium); + } + }); + + args.Handled = true; + } + + private void OnBloodOrbAbsorbed(Entity ent, ref UseInHandEvent args) + { + var cultist = args.User; + if (!TryComp(cultist, out var cultistcomp) + || !TryComp(ent, out var component)) + return; + + var addedBlood = component.Blood; + cultistcomp.BloodCount += addedBlood; + _popup.PopupEntity(Loc.GetString("blood-orb-absorbed"), cultist, cultist, PopupType.Small); + _entityManager.DeleteEntity(ent); + } + + private void OnBloodRecharge(EntityUid cultist, BloodCultistComponent component, BloodCultBloodRechargeActionEvent args) + { + var target = args.Target; + if (TryComp(target, out var veilShifterComponent)) + { + var totalActivations = veilShifterComponent.ActivationsCount; + veilShifterComponent.ActivationsCount = Math.Min(totalActivations + 4, 4); + } + + _action.RemoveAction(cultist, args.Action!); + } + + private void OnBloodSpear(EntityUid cultist, BloodCultistComponent component, BloodCultBloodSpearActionEvent args) + { + var totalBlood = component.BloodCount; + if (totalBlood < 150) + { + _popup.PopupEntity(Loc.GetString("blood-cult-spear-failed"), cultist, cultist, PopupType.SmallCaution); + return; + } + + if (component.RecallSpearActionEntity != null) + { + _entityManager.DeleteEntity(component.RecallSpearActionEntity); + component.RecallSpearActionEntity = null; + + _action.RemoveAction(cultist, component.RecallSpearAction); + component.RecallSpearAction = null; + } + + var spear = _entityManager.SpawnEntity("BloodCultSpear", Transform(cultist).Coordinates); + component.RecallSpearActionEntity = spear; + _hands.TryPickupAnyHand(cultist, spear); + + var action = _action.AddAction(cultist, BloodCultistComponent.RecallBloodSpear); + component.RecallSpearAction = action; + + totalBlood -= 150; + component.BloodCount = totalBlood; + _action.RemoveAction(cultist, args.Action!); + args.Handled = true; + } + + private void OnRecallSpear(EntityUid cultist, BloodCultistComponent component, RecallBloodSpearEvent args) + { + if (component.RecallSpearActionEntity is not { } spear || !_entityManager.EntityExists(spear)) + { + _popup.PopupEntity(Loc.GetString("cult-spear-not-found"), cultist, cultist); + component.RecallSpearActionEntity = null; + _action.RemoveAction(cultist, component.RecallSpearAction); + component.RecallSpearAction = null; + args.Handled = true; + return; + } + + var cultistPosition = _transform.GetWorldPosition(cultist); + var spearPosition = _transform.GetWorldPosition(spear); + var distance = (spearPosition - cultistPosition).Length(); + if (distance > 10f) + { + _popup.PopupEntity(Loc.GetString("cult-spear-too-far"), cultist, cultist); + return; + } + + _transform.SetWorldPosition(spear, cultistPosition); + _hands.TryPickupAnyHand(cultist, spear); + _popup.PopupEntity(Loc.GetString("cult-spear-recalled"), cultist, cultist); + args.Handled = true; + } + + private void OnBloodBoltBarrage(EntityUid cultist, BloodCultistComponent component, BloodCultBloodBoltBarrageActionEvent args) + { + var totalBlood = component.BloodCount; + if (totalBlood < 300) + { + _popup.PopupEntity(Loc.GetString("blood-cult-bolt-barrage-failed"), cultist, cultist, PopupType.SmallCaution); + return; + } + + var boltBarrageGear = new ProtoId("BloodCultSpellBloodBarrageGear"); + var dropEvent = new DropHandItemsEvent(); + RaiseLocalEvent(cultist, ref dropEvent); + List> gear = new() { boltBarrageGear }; + _loadout.Equip(cultist, gear, null); + + totalBlood -= 300; + component.BloodCount = totalBlood; + _action.RemoveAction(cultist, args.Action!); + args.Handled = true; + } + #endregion Blood Rites + #endregion Abilities + + #region Other + private void OnInteract(Entity entity, ref AfterInteractEvent args) + { + if (args.Handled || !args.CanReach || args.Target is not { Valid: true } target + || !TryComp(entity, out var spellComp)) + return; + + var user = args.User; + switch (spellComp.Prototype.FirstOrDefault()) + { + case "stun": + if (!HasComp(target) && !HasComp(target)) + { + ExtractBlood(user, -10, 6); + if (!HasComp(target)) + { + EnsureComp(target); + Timer.Spawn(10000, () => { RemComp(target); }); + } + + _stun.TryUpdateParalyzeDuration(target, TimeSpan.FromSeconds(4f)); + if (!TryComp(target, out var flash)) + _flash.Flash(target, user, entity, TimeSpan.FromSeconds(2f), 1f); + _entityManager.DeleteEntity(entity); + } + break; + case "teleport": + ExtractBlood(user, -7, 5); + if (HasComp(target)) + break; + + _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, TimeSpan.FromSeconds(3f), new TeleportSpellDoAfterEvent(), user, target, entity) + { + BreakOnMove = true, + BreakOnDamage = true, + MovementThreshold = 0.01f, + NeedHand = true + }); + break; + case "shadowshackles": + if (!HasComp(target) && !HasComp(target)) + { + if (TryComp(target, out var mobstate) && mobstate.CurrentState != MobState.Alive && mobstate.CurrentState != MobState.Invalid + || HasComp(target) || TryComp(target, out var stamina) && stamina.StaminaDamage >= stamina.CritThreshold * 0.9f) + { + if (TryComp(target, out var cuffable) && cuffable.CanStillInteract) + { + var handcuffs = _entityManager.SpawnEntity("Handcuffs", Transform(target).Coordinates); + if (TryComp(handcuffs, out var handcuffsComp)) + { + if (_cuff.TryAddNewCuffs(target, user, handcuffs, cuffable, handcuffsComp)) + { + _cuff.CuffUsed(handcuffsComp); + EnsureComp(target); + Timer.Spawn(12000, () => { RemComp(target); }); + _entityManager.DeleteEntity(entity); + } + else + { + _popup.PopupEntity(Loc.GetString("blood-cult-shadow-shackles-failed"), user, user, PopupType.SmallCaution); + _entityManager.DeleteEntity(handcuffs); + } + } + } + else + { + _popup.PopupEntity(Loc.GetString("blood-cult-shadow-shackles-failed"), user, user, PopupType.SmallCaution); + } + } + } + break; + case "twistedconstruction": + if (HasComp(target)) + { + ExtractBlood(user, -12, 8); + _entityManager.DeleteEntity(entity); + + var airlockTransform = Transform(target).Coordinates; + _entityManager.DeleteEntity(target); + _entityManager.SpawnEntity("AirlockBloodCult", airlockTransform); + } + else if (TryComp(target, out var stack)) + { + if (_prototypeManager.TryIndex(stack.StackTypeId, out var stackPrototype)) + { + if (stackPrototype.ID is "Steel" || stackPrototype.ID is "Plasteel") + { + ExtractBlood(user, -12, 8); + var coords = Transform(target).Coordinates; + if (stackPrototype.ID is "Steel" && stack.Count >= 30) + { + _stack.ReduceCount(target, 30); + if (stack.Count > 0) + { + _entityManager.SpawnEntity("BloodCultConstruct", coords); + } + else + { + _entityManager.DeleteEntity(target); + _entityManager.SpawnEntity("BloodCultConstruct", coords); + } + } + if (stackPrototype.ID is "Plasteel") + { + var count = stack.Count; + var runeSteel = _entityManager.SpawnEntity("SheetRuneMetal1", coords); + _entityManager.DeleteEntity(target); + if (TryComp(runeSteel, out var newStack)) + { + _stack.SetCount((runeSteel, newStack), count); + } + } + + _entityManager.DeleteEntity(entity); + } + } + } + else + { + _popup.PopupEntity(Loc.GetString("blood-cult-twisted-failed"), user, user, PopupType.SmallCaution); + _entityManager.DeleteEntity(entity); + } + break; + case "summonequipment": + _entityManager.DeleteEntity(entity); + var dropEvent = new DropHandItemsEvent(); + RaiseLocalEvent(target, ref dropEvent); + ProtoId selectedGear = GetCurrentGod() switch + { + "Narsie" => new ProtoId("BloodCultWeaponBloodGear"), + "Reaper" => new ProtoId("BloodCultWeaponDeathGear"), + "Kharin" => new ProtoId("BloodCultWeaponHellGear"), + _ => new ProtoId("BloodCultWeaponBloodGear") + }; + + List> gear = new() { selectedGear }; + _loadout.Equip(target, gear, null); + if (TryComp(target, out var targetInventory)) + { + var specificSlots = new[] { "outerClothing", "jumpsuit", "back", "shoes" }; + foreach (var slot in specificSlots) + { + if (!_inventorySystem.TryGetSlotEntity(target, slot, out var slotEntity, targetInventory)) + { + switch (slot) + { + case "outerClothing": + var outerClothingGear = new ProtoId("BloodCultOuterGear"); + List> outerClothing = new() { outerClothingGear }; + _loadout.Equip(target, outerClothing, null); + break; + case "jumpsuit": + var jumpsuitGear = new ProtoId("BloodCultJumpsuitGear"); + List> jumpsuit = new() { jumpsuitGear }; + _loadout.Equip(target, jumpsuit, null); + break; + case "back": + var backGear = new ProtoId("BloodCultBackpackGear"); + List> back = new() { backGear }; + _loadout.Equip(target, back, null); + break; + case "shoes": + var shoesGear = new ProtoId("BloodCultShoesGear"); + List> shoes = new() { shoesGear }; + _loadout.Equip(target, shoes, null); + break; + default: + break; + } + } + } + _entityManager.DeleteEntity(entity); + } + break; + case "bloodrites": + if (!TryComp(user, out var cultist)) + { + _entityManager.DeleteEntity(entity); + return; + } + + if (!TryComp(entity, out var useDelay) || _useDelay.IsDelayed((entity, useDelay))) + return; + + if (HasComp(target)) + { + if (!TryComp(target, out var damage)) + return; + + var totalBlood = cultist.BloodCount; + var prioritizedDamageTypes = new[] { "Blunt", "Piercing", "Heat", "Slash", "Caustic" }; + foreach (var damageType in prioritizedDamageTypes) + { + if (totalBlood <= 0) + break; + + if (damage.Damage.DamageDict.TryGetValue(damageType, out var currentDamage) && currentDamage > 0) + { + var healAmount = FixedPoint2.Min(currentDamage, totalBlood); + var healSpecifier = new DamageSpecifier { DamageDict = { { damageType, -healAmount } } }; + _damage.TryChangeDamage(target, healSpecifier, true); + totalBlood -= healAmount.Int(); + } + } + cultist.BloodCount = totalBlood; + args.Handled = true; + } + else if (HasComp(target) && !HasComp(target)) + { + if (!TryComp(target, out var blood) || HasComp(target)) + return; + + if (_blood.GetBloodLevel(target) > 0.6) + { + _blood.TryModifyBloodLevel(target, -50); + cultist.BloodCount += 50; + } + else + { + _popup.PopupEntity(Loc.GetString("blood-cult-blood-rites-failed"), user, user, PopupType.SmallCaution); + } + args.Handled = true; + } + else if (TryComp(target, out var puddle)) + { + var puddlesInRange = _entityLookup + .GetEntitiesInRange(Transform(user).Coordinates, 4f) + .Where(puddle => TryComp(puddle.Owner, out ContainerManagerComponent? containerManager) && + containerManager.Containers.TryGetValue("solution@puddle", out var container) && + container.ContainedEntities.Any(containedEntity => + TryComp(containedEntity, out SolutionComponent? solutionComponent) && + solutionComponent.Solution.Contents.Any(r => + r.Reagent.Prototype == "Blood" || r.Reagent.Prototype == "CopperBlood"))) + .ToList(); + + var absorbedBlood = 0; + foreach (var bloodPuddle in puddlesInRange) + { + if (TryComp(bloodPuddle.Owner, out ContainerManagerComponent? containerManager) && + containerManager.Containers.TryGetValue("solution@puddle", out var container)) + { + foreach (var containedEntity in container.ContainedEntities.ToList()) + { + if (TryComp(containedEntity, out SolutionComponent? solutionComponent)) + { + foreach (var reagent in solutionComponent.Solution.Contents.ToList()) + { + if (reagent.Reagent.Prototype == "Blood" || reagent.Reagent.Prototype == "CopperBlood") + { + absorbedBlood += reagent.Quantity.Int(); + solutionComponent.Solution.RemoveReagent(reagent.Reagent, reagent.Quantity); + } + } + + _entityManager.SpawnEntity("BloodCultFloorGlowEffect", Transform(bloodPuddle.Owner).Coordinates); + if (solutionComponent.Solution.Contents.Count == 0) + _entityManager.DeleteEntity(bloodPuddle.Owner); + } + } + } + } + cultist.BloodCount += absorbedBlood; + args.Handled = true; + } + else + { + _popup.PopupEntity(Loc.GetString("blood-cult-blood-rites-failed"), user, user, PopupType.SmallCaution); + args.Handled = true; + } + _useDelay.TryResetDelay((entity, useDelay)); + break; + default: + _popup.PopupEntity(Loc.GetString("blood-cult-spell-failed"), user, user, PopupType.SmallCaution); + break; + } + } + + private void ExtractBlood(EntityUid cultist, int extractBlood, FixedPoint2 bloodDamage) + { + if (TryComp(cultist, out var blood) && _blood.GetBloodLevel(cultist) > 0) + _blood.TryModifyBloodLevel(cultist, extractBlood); + else + { + var damage = new DamageSpecifier { DamageDict = { { "Slash", bloodDamage } } }; + _damage.TryChangeDamage(cultist, damage, true); + } + } + + private void OnTeleportDoAfter(EntityUid cultist, BloodCultistComponent component, TeleportSpellDoAfterEvent args) + { + if (args.Cancelled || args.Target == null || args.Used == null) + return; + + _entityManager.DeleteEntity(args.Used); + + var runes = new List(); + var runeQuery = EntityQueryEnumerator(); + + while (runeQuery.MoveNext(out var runeUid, out var runeComp)) + { + if (runeComp.Prototype == "teleport") + runes.Add(runeUid); + } + + if (runes.Count > 0) + { + var randomRune = runes[_random.Next(runes.Count)]; + var runeTransform = _entityManager.GetComponent(randomRune); + var targetCoords = Transform(args.Target.Value).Coordinates; + _entityManager.SpawnEntity("BloodCultOutEffect", targetCoords); + _transform.SetCoordinates(args.Target.Value, runeTransform.Coordinates); + _entityManager.SpawnEntity("BloodCultInEffect", runeTransform.Coordinates); + _entityManager.DeleteEntity(randomRune); + } + } + + private void EmpoweringCheck(EntityUid spell, BloodCultistComponent component) + { + if (component.SelectedEmpoweringSpells.Contains(spell)) + { + component.Empowering--; + component.SelectedEmpoweringSpells.Remove(spell); + + _action.RemoveAction(spell); + } + } + #endregion +} diff --git a/Content.Server/_Wega/BloodCult/BloodCultSystem.cs b/Content.Server/_Wega/BloodCult/BloodCultSystem.cs new file mode 100644 index 0000000000..cf4db51fea --- /dev/null +++ b/Content.Server/_Wega/BloodCult/BloodCultSystem.cs @@ -0,0 +1,868 @@ +using System.Linq; +using System.Numerics; +using Content.Server.Bed.Cryostorage; +using Content.Server.Body.Components; +using Content.Server.Body.Systems; +using Content.Server.GameTicking.Rules.Components; +using Content.Server.Prayer; +using Content.Server.RoundEnd; +using Content.Shared.Actions; +using Content.Shared.Blood.Cult; +using Content.Shared.Blood.Cult.Components; +using Content.Shared.Body.Components; +using Content.Shared.Chemistry.Components.SolutionManager; +using Content.Shared.Chemistry.EntitySystems; +using Content.Shared.Chemistry.Reagent; +using Content.Shared.Containers.ItemSlots; +using Content.Shared.Damage; +using Content.Shared.DoAfter; +using Content.Shared.FixedPoint; +using Content.Shared.Humanoid; +using Content.Shared.IdentityManagement; +using Content.Shared.Interaction; +using Content.Shared.Interaction.Components; +using Content.Shared.Interaction.Events; +using Content.Shared.Mind; +using Content.Shared.Mind.Components; +using Content.Shared.Mindshield.Components; +using Content.Shared.Mobs; +using Content.Shared.Mobs.Components; +using Content.Shared.Popups; +using Content.Shared.Standing; +using Content.Shared.Weapons.Melee; +using Content.Shared.Weapons.Ranged.Events; +using Robust.Server.Audio; +using Robust.Server.GameObjects; +using Robust.Shared.Audio; +using Robust.Shared.Containers; +using Robust.Shared.Player; +using Robust.Shared.Random; +using Robust.Shared.Timing; + +namespace Content.Server.Blood.Cult; + +public sealed partial class BloodCultSystem : SharedBloodCultSystem +{ + [Dependency] private readonly AudioSystem _audio = default!; + [Dependency] private readonly BodySystem _body = default!; + [Dependency] private readonly IGameTiming _gameTiming = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly SharedActionsSystem _action = default!; + [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly SharedContainerSystem _container = default!; + [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; + [Dependency] private readonly SharedMindSystem _mind = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SharedSolutionContainerSystem _solution = default!; + [Dependency] private readonly PrayerSystem _prayerSystem = default!; + [Dependency] private readonly RoundEndSystem _roundEndSystem = default!; + + private readonly List _selectedTargets = new(); + private bool _firstTriggered = false; + private bool _secondTriggered = false; + private bool _conductedComplete = false; + private bool _ritualStage = false; + private int _curses = 2; + + public override void Initialize() + { + SubscribeLocalEvent(OnRuleShutdown); + SubscribeLocalEvent(OnCheckObjective); + SubscribeLocalEvent(OnComponentStartup); + SubscribeLocalEvent(OnShotAttempted); // Corvax-Wega-Testing + SubscribeLocalEvent(OnComponentStartup); + SubscribeLocalEvent(OnComponentShutdown); + SubscribeLocalEvent(OnCryostorageEnter); + SubscribeLocalEvent(OnInteract); + SubscribeLocalEvent(OnAttackAttempt); + + SubscribeLocalEvent(OnComponentInit); + SubscribeLocalEvent(OnShutdown); + SubscribeLocalEvent(OnUseInHand); + SubscribeLocalEvent(OnSoulStoneMindAdded); + SubscribeLocalEvent(OnSoulStoneMindRemoved); + + SubscribeLocalEvent(OnShuttleCurse); + + SubscribeLocalEvent(OnVeilShifter); + + SubscribeLocalEvent(OnConstructInteract); + SubscribeNetworkEvent(OnConstructSelect); + + SubscribeLocalEvent(OnStructureInteract); + SubscribeNetworkEvent(OnStructureItemSelect); + + InitializeRunes(); + InitializeBloodAbilities(); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var pylonQuery = EntityQueryEnumerator(); + while (pylonQuery.MoveNext(out var pylon, out var pylonQueryComponent)) + { + if (pylonQueryComponent.NextTimeTick <= 0) + { + pylonQueryComponent.NextTimeTick = 3; + var nearbyCultists = _entityLookup.GetEntitiesInRange(Transform(pylon).Coordinates, 11f) + .Where(cultist => !_entityManager.TryGetComponent(cultist.Owner, out var thresholds) + || thresholds.CurrentThresholdState != MobState.Dead) + .ToList(); + + foreach (var target in nearbyCultists) + { + var heal = new DamageSpecifier { DamageDict = { { "Blunt", -1 }, { "Slash", -1 } } }; + _damage.TryChangeDamage(target.Owner, heal, true); + + if (TryComp(target, out var blood)) + _blood.TryModifyBloodLevel(target.Owner, +1); + } + } + pylonQueryComponent.NextTimeTick -= frameTime; + } + + var ritualQuery = EntityQueryEnumerator(); + while (ritualQuery.MoveNext(out var rune, out var ritualQueryComponent)) + { + if (ritualQueryComponent.Activate) + { + if (!_ritualStage) + { + _ritualStage = true; + CheckStage(); + } + + if (ritualQueryComponent.NextTimeTick <= 0) + { + ritualQueryComponent.NextTimeTick = 1; + if (!CheckRitual(_transform.GetMapCoordinates(rune), 9)) + ritualQueryComponent.Activate = false; + } + ritualQueryComponent.NextTimeTick -= frameTime; + } + } + } + + // Corvax-Wega-Testing-start + // Да я пометил тегами чтобы банально не забыть про это и чо? + private void OnShotAttempted(Entity ent, ref ShotAttemptedEvent args) + { + if (HasComp(args.Used)) + return; + + _popup.PopupEntity(Loc.GetString("gun-disabled"), ent, ent); + args.Cancel(); + } + // Corvax-Wega-Testing-end + + #region Stages Update + private void OnRuleShutdown(EntityUid uid, BloodCultRuleComponent component, ComponentShutdown args) + { + _selectedTargets.Clear(); + _firstTriggered = false; + _secondTriggered = false; + _conductedComplete = false; + _curses = 2; + + _offerings = 3; + _isRitualRuneUnlocked = false; + } + + public void SelectRandomTargets() + { + _selectedTargets.Clear(); + + var candidates = new List(); + var enumerator = EntityQueryEnumerator(); + while (enumerator.MoveNext(out var uid, out _)) + { + candidates.Add(uid); + } + + if (candidates.Count >= 2) + { + var selectedIndices = new HashSet(); + while (selectedIndices.Count < 2) + { + var index = _random.Next(0, candidates.Count); + selectedIndices.Add(index); + } + + foreach (var index in selectedIndices) + { + var target = candidates[index]; + _selectedTargets.Add(target); + EnsureComp(target); + } + return; + } + + _selectedTargets.AddRange(candidates); + foreach (var target in candidates) + { + EnsureComp(target); + } + + var globalCandidates = new List(); + var globalEnumerator = EntityQueryEnumerator(); + while (globalEnumerator.MoveNext(out var uid, out _, out _, out _)) + { + if (_selectedTargets.Contains(uid) || HasComp(uid)) + { + continue; + } + globalCandidates.Add(uid); + } + + while (_selectedTargets.Count < 2 && globalCandidates.Count > 0) + { + var index = _random.Next(0, globalCandidates.Count); + var target = globalCandidates[index]; + _selectedTargets.Add(target); + EnsureComp(target); + globalCandidates.RemoveAt(index); + } + } + + private EntityUid? FindNewRandomTarget(Entity excludedEntity) + { + var candidates = new List(); + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out _, out _, out _)) + { + if (uid == excludedEntity.Owner || HasComp(uid) + || HasComp(uid)) + { + continue; + } + candidates.Add(uid); + } + + if (candidates.Count == 0) + return null; + + var index = _random.Next(0, candidates.Count); + return candidates[index]; + } + + private void CheckTargetsConducted(EntityUid eliminatedTarget) + { + if (_selectedTargets.Contains(eliminatedTarget)) + _selectedTargets.Remove(eliminatedTarget); + + if (_selectedTargets.Count == 0 || !_selectedTargets.Any(IsTargetValid)) + { + _conductedComplete = true; + RaiseLocalEvent(new RitualConductedEvent()); + } + } + + private bool IsTargetValid(EntityUid target) + { + return _entityManager.EntityExists(target); + } + + private void OnCheckObjective(EntityUid uid, BloodCultistComponent component, BloodCultObjectiveActionEvent args) + { + if (!TryComp(uid, out var playerActor)) + return; + + string msg; + if (_selectedTargets.Count == 0 && !_conductedComplete || !_selectedTargets.Any(IsTargetValid) && !_conductedComplete) + { + msg = Loc.GetString("blood-cult-targets-no-select"); + } + else if (_selectedTargets.Count == 0 && IsRitualConducted()) + { + msg = Loc.GetString("blood-cult-ritual-completed-next-objective"); + } + else if (IsGodCalled()) + { + msg = Loc.GetString("blood-cult-objective-complete"); + } + else + { + var targetNames = _selectedTargets + .Where(IsTargetValid) + .Select(target => Name(target)) + .ToList(); + + if (targetNames.Count > 0) + { + msg = Loc.GetString("blood-cult-current-targets", ("targets", string.Join(", ", targetNames))); + } + else + { + msg = Loc.GetString("blood-cult-no-valid-targets"); + } + } + + _prayerSystem.SendSubtleMessage(playerActor.PlayerSession, playerActor.PlayerSession, string.Empty, msg); + args.Handled = true; + } + + private bool IsRitualConducted() + { + var query = EntityManager.EntityQuery(); + foreach (var cult in query) + { + var winConditions = cult.BloodCultWinCondition.ToList(); + if (winConditions.Contains(BloodCultWinType.RitualConducted)) + return true; + } + return false; + } + + private bool IsGodCalled() + { + var query = EntityManager.EntityQuery(); + foreach (var cult in query) + { + var winConditions = cult.BloodCultWinCondition.ToList(); + if (winConditions.Contains(BloodCultWinType.GodCalled)) + return true; + } + return false; + } + + private void OnComponentStartup(Entity entity, ref ComponentStartup args) + { + CheckStage(); + } + + private void OnComponentStartup(Entity entity, ref ComponentStartup args) + { + CheckStage(); + } + + private void OnComponentShutdown(Entity entity, ref ComponentShutdown args) + { + CheckStage(); + } + + private void OnCryostorageEnter(Entity entity, ref CryostorageEnterEvent args) + { + if (!TryComp(args.Uid, out var objectComponent)) + return; + + var newTarget = FindNewRandomTarget((args.Uid, objectComponent)); + if (newTarget != null) + { + _selectedTargets.Add(newTarget.Value); + EnsureComp(newTarget.Value); + } + + _selectedTargets.Remove(args.Uid); + RemComp(args.Uid); + } + + private void CheckStage() + { + var totalCultEntities = GetCultEntities(); + var playerCount = GetPlayerCount(); + + // Second + if (playerCount >= 100 && totalCultEntities >= playerCount * 0.1f || playerCount < 100 && totalCultEntities >= playerCount * 0.2f || _ritualStage) + { + foreach (var cultist in GetAllCultists()) + { + if (!HasComp(cultist)) + { + UpdateCultistEyes(cultist); + AddComp(cultist); + } + } + if (!_firstTriggered) + { + var actorFilter = Filter.Empty(); + var actorQuery = EntityQueryEnumerator(); + while (actorQuery.MoveNext(out var actorUid, out var actor, out _)) + { + if (actorUid != EntityUid.Invalid) + { + actorFilter.AddPlayer(actor.PlayerSession); + _popup.PopupEntity(Loc.GetString("blood-cult-first-warning"), actorUid, actorUid, PopupType.SmallCaution); + } + } + _audio.PlayGlobal(new SoundPathSpecifier("/Audio/_Wega/Ambience/Antag/bloodcult_eyes.ogg"), actorFilter, true); + _firstTriggered = true; + } + } + + // Third + if (playerCount >= 100 && totalCultEntities >= playerCount * 0.2f || playerCount < 100 && totalCultEntities >= playerCount * 0.3f || _ritualStage) + { + foreach (var cultist in GetAllCultists()) + { + if (!HasComp(cultist)) + { + AddComp(cultist); + } + } + if (!_secondTriggered) + { + var actorFilter = Filter.Empty(); + var actorQuery = EntityQueryEnumerator(); + while (actorQuery.MoveNext(out var actorUid, out var actor, out _)) + { + if (actorUid != EntityUid.Invalid) + { + actorFilter.AddPlayer(actor.PlayerSession); + _popup.PopupEntity(Loc.GetString("blood-cult-second-warning"), actorUid, actorUid, PopupType.SmallCaution); + } + } + _audio.PlayGlobal(new SoundPathSpecifier("/Audio/_Wega/Ambience/Antag/bloodcult_halos.ogg"), actorFilter, true); + _secondTriggered = true; + } + } + } + + private void UpdateCultistEyes(EntityUid cultist) + { + if (TryComp(cultist, out var appearanceComponent)) + { + appearanceComponent.EyeColor = Color.FromHex("#E22218FF"); + Dirty(cultist, appearanceComponent); + } + } + + private int GetCultEntities() + { + var totalCultists = GetAllCultists().Count; + var totalConstructs = EntityQuery().Count(); + return totalCultists + totalConstructs; + } + + private int GetPlayerCount() + { + var players = AllEntityQuery(); + int count = 0; + while (players.MoveNext(out _, out _, out _, out _, out _)) + { + count++; + } + return count; + } + + private List GetAllCultists() + { + var cultists = new List(); + var enumerator = EntityQueryEnumerator(); + while (enumerator.MoveNext(out var uid, out _)) + { + cultists.Add(uid); + } + return cultists; + } + #endregion + + #region Dagger + private void OnInteract(EntityUid uid, BloodDaggerComponent component, AfterInteractEvent args) + { + if (args.Handled || !args.CanReach || args.Target is not { Valid: true } target) + return; + + var user = args.User; + if (!HasComp(user)) + { + var dropEvent = new DropHandItemsEvent(); + RaiseLocalEvent(user, ref dropEvent); + var damage = new DamageSpecifier { DamageDict = { { "Slash", 5 } } }; + _damage.TryChangeDamage(user, damage, true); + _popup.PopupEntity(Loc.GetString("blood-dagger-failed-interact"), user, user, PopupType.SmallCaution); + return; + } + + if (HasComp(target)) + { + HandleCultistInteraction(args); + return; + } + + if (HasComp(target)) + { + HandleRuneInteraction(args); + return; + } + + if (HasComp(target)) + { + HandleSharpenerInteraction(uid, component, args); + return; + } + } + + private void HandleCultistInteraction(AfterInteractEvent args) + { + if (!TryComp(args.Target, out var bodyComponent)) + return; + + foreach (var organ in _body.GetBodyOrgans(args.Target.Value, bodyComponent)) + { + if (!HasComp(organ.Id) + || !TryComp(organ.Id, out var stomachComponent) || stomachComponent.Solution == null + || !TryComp(stomachComponent.Solution.Value, out var solutionContainer) + || !_solution.TryGetSolution((stomachComponent.Solution.Value, solutionContainer), null, out var solutionEntity, out var solution)) + continue; + + var holywaterReagentId = new ReagentId("Holywater", new List()); + var holywater = solution.GetReagentQuantity(holywaterReagentId); + + if (holywater <= 0) + continue; + + solution.RemoveReagent(holywaterReagentId, holywater); + + var unholywaterReagentId = new ReagentId("Unholywater", new List()); + var unholywaterQuantity = new ReagentQuantity(unholywaterReagentId, holywater); + if (solutionEntity != null && _solution.TryAddReagent(solutionEntity.Value, unholywaterQuantity, out var addedQuantity) && addedQuantity > 0) + args.Handled = true; + } + } + + private void HandleRuneInteraction(AfterInteractEvent args) + { + var user = args.User; + _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, TimeSpan.FromSeconds(4f), new BloodRuneCleaningDoAfterEvent(), user, args.Target) + { + BreakOnMove = true, + BreakOnDamage = true, + MovementThreshold = 0.01f, + NeedHand = false + }); + } + + private void HandleSharpenerInteraction(EntityUid dagger, BloodDaggerComponent component, AfterInteractEvent args) + { + var user = args.User; + if (!TryComp(dagger, out var meleeWeaponComponent)) + return; + + if (!component.IsSharpered) + { + if (meleeWeaponComponent.Damage.DamageDict.TryGetValue("Slash", out var currentSlashDamage)) + meleeWeaponComponent.Damage.DamageDict["Slash"] = currentSlashDamage + FixedPoint2.New(4); + else + meleeWeaponComponent.Damage.DamageDict["Slash"] = FixedPoint2.New(4); + + component.IsSharpered = true; + _entityManager.DeleteEntity(args.Target); + _entityManager.SpawnEntity("Ash", Transform(user).Coordinates); + _popup.PopupEntity(Loc.GetString("blood-sharpener-success"), user, user, PopupType.Small); + } + else + { + _popup.PopupEntity(Loc.GetString("blood-sharpener-failed"), user, user, PopupType.Small); + } + } + + private void OnAttackAttempt(AttackAttemptEvent args) + { + if (args.Weapon == null || !HasComp(args.Weapon)) + return; + + var user = args.Uid; + if (!HasComp(user)) + { + _popup.PopupEntity(Loc.GetString("blood-cult-failed-attack"), user, user, PopupType.SmallCaution); + args.Cancel(); + } + } + #endregion + + #region Soul Stone + private void OnComponentInit(EntityUid uid, StoneSoulComponent component, ComponentInit args) + { + component.SoulContainer = _container.EnsureContainer(uid, "SoulContainer"); + } + + private void OnShutdown(EntityUid uid, StoneSoulComponent component, ComponentShutdown args) + { + if (component.SoulEntity != null && _entityManager.EntityExists(component.SoulEntity.Value)) + { + QueueDel(component.SoulEntity.Value); + } + } + + private void OnUseInHand(EntityUid uid, StoneSoulComponent component, UseInHandEvent args) + { + if (args.Handled) + return; + + var user = args.User; + if (component.IsSoulSummoned) + { + RetractSoul(uid, component, user); + } + else + { + SummonSoul(uid, component, user); + } + + args.Handled = true; + } + + private void SummonSoul(EntityUid stone, StoneSoulComponent component, EntityUid user) + { + if (!TryComp(stone, out var mindContainer) || mindContainer.Mind == null) + { + _popup.PopupEntity(Loc.GetString("stone-soul-empty"), user, user); + return; + } + + var transformSystem = _entityManager.System(); + var metaDataSystem = _entityManager.System(); + + if (!_mind.TryGetMind(stone, out var mindId, out var mind)) + { + _popup.PopupEntity(Loc.GetString("stone-soul-empty"), user, user); + return; + } + + if (mind.VisitingEntity != default) + { + _popup.PopupEntity(Loc.GetString("stone-soul-already-summoned"), user, user); + return; + } + + var stoneTransform = Transform(stone).Coordinates; + var soul = Spawn(component.SoulProto, stoneTransform); + transformSystem.AttachToGridOrMap(soul, Transform(soul)); + + if (!string.IsNullOrWhiteSpace(mind.CharacterName)) + metaDataSystem.SetEntityName(soul, mind.CharacterName); + + _mind.Visit(mindId, soul, mind); + component.SoulEntity = soul; + component.IsSoulSummoned = true; + + _popup.PopupEntity(Loc.GetString("stone-soul-summoned"), user, user); + } + + private void RetractSoul(EntityUid stone, StoneSoulComponent component, EntityUid user) + { + if (component.SoulEntity == null || !_entityManager.EntityExists(component.SoulEntity.Value)) + { + _popup.PopupEntity(Loc.GetString("stone-soul-empty"), user, user); + return; + } + + if (!_mind.TryGetMind(component.SoulEntity.Value, out var mindId, out var mind)) + { + _popup.PopupEntity(Loc.GetString("stone-soul-empty"), user, user); + return; + } + + _mind.UnVisit(mindId, mind); + QueueDel(component.SoulEntity.Value); + component.SoulEntity = null; + component.IsSoulSummoned = false; + + _popup.PopupEntity(Loc.GetString("stone-soul-retracted"), user); + } + + private void OnSoulStoneMindAdded(Entity entity, ref MindAddedMessage args) + { + _appearance.SetData(entity, StoneSoulVisuals.HasSoul, true); + } + + private void OnSoulStoneMindRemoved(Entity entity, ref MindRemovedMessage args) + { + _appearance.SetData(entity, StoneSoulVisuals.HasSoul, false); + } + #endregion + + #region ShuttleCurse + private void OnShuttleCurse(Entity entity, ref UseInHandEvent args) + { + var user = args.User; + if (args.Handled || !HasComp(user)) + return; + + if (_curses > 0) + { + _roundEndSystem.CancelRoundEndCountdown(user); + _entityManager.DeleteEntity(entity); + _curses--; + } + else + { + _popup.PopupEntity(Loc.GetString("blood-curse-failed"), user, user, PopupType.SmallCaution); + } + args.Handled = true; + } + #endregion + + #region Veil Shifter + private void OnVeilShifter(EntityUid uid, VeilShifterComponent component, UseInHandEvent args) + { + var user = args.User; + if (args.Handled || !HasComp(user)) + { + var dropEvent = new DropHandItemsEvent(); + RaiseLocalEvent(user, ref dropEvent); + return; + } + + if (component.ActivationsCount > 0) + { + component.ActivationsCount--; + var alignedDirection = GetAlignedDirection(user); + var randomDistance = _random.NextFloat(1f, 9f); + + var transform = Transform(user); + var targetPosition = transform.Coordinates.Offset(alignedDirection * randomDistance); + _transform.SetCoordinates(user, targetPosition); + } + else + { + _popup.PopupEntity(Loc.GetString("blood-veil-shifter-failed"), user, user, PopupType.SmallCaution); + } + args.Handled = true; + } + + private Vector2 GetAlignedDirection(EntityUid uid) + { + var transform = Transform(uid); + var direction = transform.LocalRotation.ToWorldVec().Normalized(); + if (Math.Abs(direction.X) > Math.Abs(direction.Y)) + { + return direction.X > 0 ? Vector2.UnitX : -Vector2.UnitX; + } + else + { + return direction.Y > 0 ? Vector2.UnitY : -Vector2.UnitY; + } + } + #endregion + + #region Construct + private void OnConstructInteract(Entity cosntruct, ref InteractHandEvent args) + { + var user = args.User; + if (args.Handled || !HasComp(user)) + return; + + if (TryComp(cosntruct, out var itemSlotsComponent)) + { + foreach (var slot in itemSlotsComponent.Slots.Values) + { + if (slot.HasItem) + { + var containedEntity = slot.Item; + if (containedEntity != null) + { + if (TryComp(containedEntity.Value, out var mindContainer) && mindContainer.Mind != null) + { + var netEntity = _entityManager.GetNetEntity(user); + var netCosntruct = _entityManager.GetNetEntity(cosntruct); + var mind = _entityManager.GetNetEntity(mindContainer.Mind.Value); + RaiseNetworkEvent(new OpenConstructMenuEvent(netEntity, netCosntruct, mind)); + } + else + { + _popup.PopupEntity(Loc.GetString("blood-construct-no-mind"), user, user, PopupType.SmallCaution); + } + } + } + else + { + _popup.PopupEntity(Loc.GetString("blood-construct-failed"), user, user, PopupType.SmallCaution); + } + } + } + else + { + _popup.PopupEntity(Loc.GetString("blood-construct-failed"), user, user, PopupType.SmallCaution); + } + } + + private void OnConstructSelect(BloodConstructMenuClosedEvent args) + { + var user = _entityManager.GetEntity(args.Uid); + var construct = _entityManager.GetEntity(args.ConstructUid); + var mind = _entityManager.GetEntity(args.Mind); + + if (mind == EntityUid.Invalid) + { + _popup.PopupEntity(Loc.GetString("blood-construct-no-mind"), user, user, PopupType.SmallCaution); + return; + } + + var constructMobe = _entityManager.SpawnEntity(args.ConstructProto, Transform(construct).Coordinates); + _mind.TransferTo(mind, constructMobe); + _entityManager.DeleteEntity(construct); + + _popup.PopupEntity(Loc.GetString("blood-construct-succses"), user, user); + } + #endregion + + #region Structures + private void OnStructureInteract(EntityUid structure, BloodStructureComponent component, InteractHandEvent args) + { + var user = args.User; + if (args.Handled || !HasComp(user)) + return; + + if (structure is not { Valid: true } target || !component.CanInteract) + return; + + var currentTime = _gameTiming.RealTime; + if (currentTime < component.ActivateTime) + { + var remainingTime = (component.ActivateTime - currentTime).TotalSeconds; + _popup.PopupEntity(Loc.GetString("blood-structure-failed", ("time", Math.Ceiling(remainingTime))), user, user, PopupType.Small); + return; + } + + var netEntity = _entityManager.GetNetEntity(user); + var netStructureEntity = _entityManager.GetNetEntity(target); + RaiseNetworkEvent(new OpenStructureMenuEvent(netEntity, netStructureEntity)); + } + + private void OnStructureItemSelect(BloodStructureMenuClosedEvent args) + { + var user = _entityManager.GetEntity(args.Uid); + var structure = _entityManager.GetEntity(args.Structure); + if (!TryComp(structure, out var structureComp)) + return; + + var currentTime = _gameTiming.RealTime; + if (currentTime < structureComp.ActivateTime) + { + var remainingTime = (structureComp.ActivateTime - currentTime).TotalSeconds; + _popup.PopupEntity(Loc.GetString("blood-structure-failed", ("time", Math.Ceiling(remainingTime))), user, user, PopupType.Small); + return; + } + + structureComp.ActivateTime = currentTime + TimeSpan.FromMinutes(4); + + var item = _entityManager.SpawnEntity(args.Item, Transform(structure).Coordinates); + _audio.PlayPvs(structureComp.Sound, structure); + + var cultistPosition = _transform.GetWorldPosition(user); + var structurePosition = _transform.GetWorldPosition(structure); + var distance = (structurePosition - cultistPosition).Length(); + if (distance < 3f) + _hands.TryPickupAnyHand(user, item); + } + #endregion + + #region God Check + private string GetCurrentGod() + { + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var cult)) + { + if (cult.SelectedGod == null) + { + return "Narsie"; + } + return cult.SelectedGod; + } + return "Narsie"; + } + #endregion +} diff --git a/Content.Server/_Wega/BloodCult/RuneSystem.cs b/Content.Server/_Wega/BloodCult/RuneSystem.cs new file mode 100644 index 0000000000..bc3916222f --- /dev/null +++ b/Content.Server/_Wega/BloodCult/RuneSystem.cs @@ -0,0 +1,884 @@ +using System.Linq; +using System.Threading.Tasks; +using Content.Server.Atmos.EntitySystems; +using Content.Server.Bible.Components; +using Content.Server.GameTicking; +using Content.Server.Ghost.Roles.Components; +using Content.Server.Pinpointer; +using Content.Server.Station.Components; +using Content.Shared.Administration.Systems; +using Content.Shared.Atmos.Components; +using Content.Shared.Blood.Cult; +using Content.Shared.Blood.Cult.Components; +using Content.Shared.Body.Components; +using Content.Shared.Chat; +using Content.Shared.Chemistry.Reagent; +using Content.Shared.Damage; +using Content.Shared.DoAfter; +using Content.Shared.Ghost; +using Content.Shared.Humanoid; +using Content.Shared.Interaction; +using Content.Shared.Interaction.Events; +using Content.Shared.Mind; +using Content.Shared.Mind.Components; +using Content.Shared.Mindshield.Components; +using Content.Shared.Mobs; +using Content.Shared.Mobs.Components; +using Content.Shared.NullRod.Components; +using Content.Shared.Popups; +using Content.Shared.Silicons.Borgs.Components; +using Content.Shared.Standing; +using Content.Shared.Surgery.Components; +using Content.Shared.Timing; +using Robust.Server.GameObjects; +using Robust.Shared.Audio; +using Robust.Shared.Console; +using Robust.Shared.Map; +using Robust.Shared.Map.Components; +using Robust.Shared.Physics.Components; +using Robust.Shared.Player; +using Robust.Shared.Prototypes; +using Robust.Shared.Timing; +using Robust.Shared.Utility; + +namespace Content.Server.Blood.Cult; + +public sealed partial class BloodCultSystem +{ + [Dependency] private readonly BloodCultSystem _bloodCult = default!; + [Dependency] private readonly IConsoleHost _consoleHost = default!; + [Dependency] private readonly FlammableSystem _flammable = default!; + [Dependency] private readonly NavMapSystem _navMap = default!; + [Dependency] private readonly IMapManager _mapMan = default!; + [Dependency] private readonly RejuvenateSystem _rejuvenate = default!; + [Dependency] private readonly SharedGhostSystem _ghost = default!; + + private static readonly EntProtoId ActionComms = "ActionBloodCultComms"; + private const string BloodCultObserver = "MobObserverIfrit"; + private static int _offerings = 3; + private bool _isRitualRuneUnlocked = false; + + private void InitializeRunes() + { + base.Initialize(); + + SubscribeLocalEvent(UnlockRitual); + + SubscribeNetworkEvent(AfterRuneSelect); + SubscribeLocalEvent(DoAfterRuneSelect); + SubscribeLocalEvent(OnDaggerInteract); + SubscribeLocalEvent(OnRuneInteract); + SubscribeLocalEvent(OnRitualInteract); + SubscribeLocalEvent(OnComponentShutdown); + + SubscribeNetworkEvent(OnEmpoweringSelected); + SubscribeLocalEvent(OnEmpoweringDoAfter); + SubscribeNetworkEvent(OnSummoningSelected); + + SubscribeLocalEvent(DoAfterInteractRune); + SubscribeLocalEvent(DoAfterInteractRune); + } + + #region Runes + private void UnlockRitual(RitualConductedEvent ev) + { + _isRitualRuneUnlocked = true; + } + + private void OnComponentShutdown(EntityUid uid, BloodRitualDimensionalRendingComponent component, ComponentShutdown args) + { + _isRitualRuneUnlocked = false; + } + + private void AfterRuneSelect(RuneSelectEvent args, EntitySessionEventArgs eventArgs) + { + var uid = _entityManager.GetEntity(args.Uid); + if (!HasComp(uid) || IsInSpace(uid)) + return; + + var selectedRune = args.RuneProto; + if (selectedRune == "BloodRuneRitualDimensionalRending" && !_isRitualRuneUnlocked) + { + _popup.PopupEntity(Loc.GetString("rune-ritual-failed"), uid, uid, PopupType.MediumCaution); + return; + } + else if (selectedRune == "BloodRuneRitualDimensionalRending" && _isRitualRuneUnlocked) + { + var xform = Transform(uid); + if (!TryComp(xform.GridUid, out var grid) || !HasComp(xform.GridUid.Value)) + { + _popup.PopupEntity(Loc.GetString("rune-ritual-failed"), uid, uid, PopupType.MediumCaution); + return; + } + + bool isValidSurface = true; + var cultistPosition = _transform.GetMapCoordinates(Transform(uid)); + if (!_mapMan.TryFindGridAt(cultistPosition, out _, out _)) + isValidSurface = false; + + if (isValidSurface) + { + var ritualRune = _entityManager.SpawnEntity(TrySelectRuneEffect(selectedRune), Transform(uid).Coordinates); + _appearance.SetData(ritualRune, RuneColorVisuals.Color, TryFindColor(uid)); + + _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, uid, TimeSpan.FromSeconds(9.75f), + new BloodRuneDoAfterEvent(selectedRune, GetNetEntity(ritualRune)), uid) + { + BreakOnMove = true, + BreakOnDamage = true, + MovementThreshold = 0.01f, + NeedHand = false + }); + } + else + { + _popup.PopupEntity(Loc.GetString("rune-ritual-failed"), uid, uid, PopupType.MediumCaution); + } + return; + } + + var rune = _entityManager.SpawnEntity(TrySelectRuneEffect(selectedRune), Transform(uid).Coordinates); + _appearance.SetData(rune, RuneColorVisuals.Color, TryFindColor(uid)); + + _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, uid, TimeSpan.FromSeconds(4f), + new BloodRuneDoAfterEvent(selectedRune, GetNetEntity(rune)), uid) + { + BreakOnMove = true, + BreakOnDamage = true, + MovementThreshold = 0.01f, + NeedHand = false + }); + } + + private void DoAfterRuneSelect(EntityUid cultist, BloodCultistComponent component, BloodRuneDoAfterEvent args) + { + if (args.Cancelled) + { + _entityManager.DeleteEntity(GetEntity(args.Rune)); + return; + } + + var rune = _entityManager.SpawnEntity(args.SelectedRune, Transform(cultist).Coordinates); + _appearance.SetData(rune, RuneColorVisuals.Color, TryFindColor(cultist)); + + if (args.SelectedRune == "BloodRuneRitualDimensionalRending") + { + var xform = _entityManager.GetComponent(rune); + var msg = Loc.GetString("blood-ritual-warning", + ("location", FormattedMessage.RemoveMarkupOrThrow(_navMap.GetNearestBeaconString((rune, xform))))); + _chat.DispatchGlobalAnnouncement(msg, colorOverride: Color.Red); + + _isRitualRuneUnlocked = false; + } + + if (TryComp(cultist, out var blood) && _blood.GetBloodLevel(cultist) > 0) + _blood.TryModifyBloodLevel(cultist, -5); + else + { + var damage = new DamageSpecifier { DamageDict = { { "Slash", 5 } } }; + _damage.TryChangeDamage(cultist, damage, true); + } + _popup.PopupEntity(Loc.GetString("rune-select-complete"), cultist, cultist, PopupType.SmallCaution); + args.Handled = true; + } + + private void OnRuneInteract(EntityUid rune, BloodRuneComponent component, InteractHandEvent args) + { + if (args.Handled || !HasComp(args.User)) + return; + + if (rune is not { Valid: true } target) + return; + + if (component.Prototype is null) + return; + + OnRuneAfterInteract(target, component, args.User); + args.Handled = true; + } + + private void OnRitualInteract(EntityUid rune, BloodRitualDimensionalRendingComponent component, InteractHandEvent args) + { + if (args.Handled || !HasComp(args.User)) + return; + + var currentTime = _gameTiming.RealTime; + if (currentTime < component.ActivateTime) + { + var remainingTime = component.ActivateTime - currentTime; + _popup.PopupEntity(Loc.GetString("ritual-activate-too-soon", ("time", remainingTime.TotalSeconds)), args.User, args.User, PopupType.LargeCaution); + return; + } + + if (rune is not { Valid: true } target || !CheckRitual(_transform.GetMapCoordinates(target), 9)) + { + _popup.PopupEntity(Loc.GetString("ritual-activate-failed"), args.User, args.User, PopupType.LargeCaution); + return; + } + + component.ActivateTime = currentTime + TimeSpan.FromSeconds(120); + component.Activate = true; + + OnRitualAfterInteract(target, component); + var cultistEntities = _entityLookup.GetEntitiesInRange(_transform.GetMapCoordinates(target), 6f); + foreach (var cultistEntity in cultistEntities) + { + SendCultistMessage(cultistEntity.Owner, "ritual"); + } + args.Handled = true; + } + + private void OnRuneAfterInteract(EntityUid rune, BloodRuneComponent runeComp, EntityUid cultist) + { + var coords = _transform.GetMapCoordinates(rune); + if (!TryComp(rune, out var useDelay) || _useDelay.IsDelayed((rune, useDelay))) + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + return; + } + + switch (runeComp.Prototype) + { + case "offering": + var targets = _entityLookup.GetEntitiesInRange(coords, 1f); + foreach (var targetEntity in targets) + { + var target = targetEntity.Owner; + if (HasComp(target) || HasComp(target) + || HasComp(target)) + continue; + + if (!_entityManager.TryGetComponent(target, out var targetThresholds)) + continue; + + var currentState = targetThresholds.CurrentThresholdState; + if (currentState is MobState.Dead && (HasComp(target) || HasComp(target) + || HasComp(target)) && !HasComp(target)) + { + if (CheckRuneActivate(coords, 3)) + { + var cultistEntities = _entityLookup.GetEntitiesInRange(coords, 2f); + foreach (var cultistEntity in cultistEntities) + { + SendCultistMessage(cultistEntity.Owner, "offering"); + } + + var soulStone = _entityManager.SpawnEntity("BloodCultSoulStone", Transform(target).Coordinates); + if (TryComp(target, out var mindContainer) && mindContainer.Mind != null) + _mind.TransferTo(mindContainer.Mind.Value, soulStone); + + // Gib + if (HasComp(target)) + { + _bloodCult.CheckTargetsConducted(target); + RemComp(target); + } + + var damage = new DamageSpecifier { DamageDict = { { "Blunt", 1000 } } }; + _damage.TryChangeDamage(target, damage, true); + IncrementOfferingsCount(); + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + break; + } + else if (currentState != MobState.Dead && !HasComp(target) && !HasComp(target) + && !HasComp(target)) + { + if (CheckRuneActivate(coords, 2)) + { + var cultistEntities = _entityLookup.GetEntitiesInRange(coords, 2f); + foreach (var cultistEntity in cultistEntities) + { + SendCultistMessage(cultistEntity.Owner, "offering"); + } + + _rejuvenate.PerformRejuvenate(target); + EnsureComp(target); + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + break; + } + else if (currentState is MobState.Dead && !HasComp(target) && !HasComp(target) + && !HasComp(target)) + { + if (CheckRuneActivate(coords, 1)) + { + var cultistEntities = _entityLookup.GetEntitiesInRange(coords, 2f); + foreach (var cultistEntity in cultistEntities) + { + SendCultistMessage(cultistEntity.Owner, "offering"); + } + + var soulStone = _entityManager.SpawnEntity("BloodCultSoulStone", Transform(target).Coordinates); + if (TryComp(target, out var mindContainer) && mindContainer.Mind != null) + _mind.TransferTo(mindContainer.Mind.Value, soulStone); + + // Gib + var damage = new DamageSpecifier { DamageDict = { { "Blunt", 1000 } } }; + _damage.TryChangeDamage(target, damage, true); + IncrementOfferingsCount(); + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + break; + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + } + break; + case "teleport": + var runes = new List(); + var runeQuery = EntityQueryEnumerator(); + while (runeQuery.MoveNext(out var runeUid, out var runeCompQ)) + { + if (runeCompQ.Prototype == "teleport" && runeUid != rune) + runes.Add(runeUid); + } + + if (runes.Any() && CheckRuneActivate(coords, 1)) + { + var randomRuneEntity = runes[_random.Next(runes.Count)]; + var runeTransform = _entityManager.GetComponent(randomRuneEntity); + var runeCoords = runeTransform.Coordinates; + SendCultistMessage(cultist, "teleport"); + + _entityManager.SpawnEntity("BloodCultOutEffect", Transform(cultist).Coordinates); + _transform.SetCoordinates(cultist, runeCoords); + _entityManager.SpawnEntity("BloodCultInEffect", runeCoords); + _entityManager.DeleteEntity(randomRuneEntity); + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + break; + case "empowering": + if (CheckRuneActivate(coords, 1)) + { + if (TryComp(cultist, out var comp) && comp.Empowering < 4) + { + SendCultistMessage(cultist, "empowering"); + + var netEntity = _entityManager.GetNetEntity(cultist); + RaiseNetworkEvent(new EmpoweringRuneMenuOpenedEvent(netEntity)); + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + } + break; + case "revive": + if (CheckRuneActivate(coords, 1)) + { + var revivetarget = _entityLookup.GetEntitiesInRange(coords, 1f); + foreach (var targetEntity in revivetarget) + { + var target = targetEntity.Owner; + if (!_entityManager.TryGetComponent(target, out var targetThresholds) || target == cultist) + continue; + + var currentState = targetThresholds.CurrentThresholdState; + if (HasComp(target) && HasComp(target) + && currentState is MobState.Dead) + { + if (GetOfferingsCount() >= 3) + { + SendCultistMessage(cultist, "revive"); + _rejuvenate.PerformRejuvenate(target); + SubtractOfferingsCount(); + + if (TryComp(target, out var mind) && mind.Mind is null + && !HasComp(target)) + { + var formattedCommand = string.Format( + "makeghostrole {0} {1} {2} {3}", + target, + Loc.GetString("ghost-role-information-cultist"), + Loc.GetString("ghost-role-information-cultist-desc"), + Loc.GetString("ghost-role-information-cultist-rules") + ); + _consoleHost.ExecuteCommand(formattedCommand); + } + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + break; + } + else if (HasComp(target) && HasComp(target) + && TryComp(target, out var mind) && mind.Mind is null && !HasComp(target)) + { + SendCultistMessage(cultist, "revive"); + var formattedCommand = string.Format( + "makeghostrole {0} {1} {2} {3}", + target, + Loc.GetString("ghost-role-information-cultist"), + Loc.GetString("ghost-role-information-cultist-desc"), + Loc.GetString("ghost-role-information-cultist-rules") + ); + _consoleHost.ExecuteCommand(formattedCommand); + } + else if (HasComp(target) && !HasComp(target) && currentState is MobState.Dead + && !HasComp(target) && !HasComp(target) + && !HasComp(target)/*Stop killing humanoid this way*/) + { + SendCultistMessage(cultist, "revive"); + + // Gib + var damage = new DamageSpecifier { DamageDict = { { "Blunt", 1000 } } }; + _damage.TryChangeDamage(target, damage, true); + IncrementOfferingsCount(); + break; + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + } + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + break; + case "barrier": + if (CheckRuneActivate(coords, 1)) + { + if (!runeComp.BarrierActive) + { + runeComp.BarrierActive = true; + SendCultistMessage(cultist, "barrier"); + var nearbyRunes = _entityLookup.GetEntitiesInRange(coords, 1f) + .Where(r => EntityManager.TryGetComponent(r, out BloodRuneComponent? nearbyRuneComp) + && nearbyRuneComp.Prototype == "barrier" && r.Owner != rune) + .ToList(); + + Entity? randomRune = nearbyRunes.Any() + ? nearbyRunes[new Random().Next(nearbyRunes.Count)] + : null; + + if (randomRune != null) + { + var randomRuneUid = randomRune.Value; + if (TryComp(randomRuneUid, out var randomRuneComp) && !randomRuneComp.BarrierActive) + { + randomRuneComp.BarrierActive = true; + if (EntityManager.TryGetComponent(randomRuneUid, out PhysicsComponent? randomPhysicsComp)) + { + var fixture = _fixtures.GetFixtureOrNull(randomRuneUid, "barrier"); + if (fixture != null) + { + _physics.SetHard(randomRuneUid, fixture, randomRuneComp.BarrierActive); + } + } + } + } + + if (EntityManager.TryGetComponent(rune, out PhysicsComponent? physicsComp)) + { + var fixture = _fixtures.GetFixtureOrNull(rune, "barrier"); + if (fixture != null) + { + _physics.SetHard(rune, fixture, runeComp.BarrierActive); + } + } + + var barrierRunes = new List(); + var barrierRuneQuery = EntityQueryEnumerator(); + + while (barrierRuneQuery.MoveNext(out var runeUid, out var runeCompQ)) + { + if (runeCompQ.Prototype == "barrier") + barrierRunes.Add(runeUid); + } + + var damageFormula = 2 * barrierRunes.Count; + var damage = new DamageSpecifier { DamageDict = { { "Slash", damageFormula } } }; + _damage.TryChangeDamage(cultist, damage, true); + } + else + { + runeComp.BarrierActive = false; + SendCultistMessage(cultist, "barrier"); + if (EntityManager.TryGetComponent(rune, out PhysicsComponent? physicsComp)) + { + var fixture = _fixtures.GetFixtureOrNull(rune, "barrier"); + if (fixture != null) + { + _physics.SetHard(rune, fixture, runeComp.BarrierActive); + } + } + } + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + break; + case "summoning": + if (CheckRuneActivate(coords, 2)) + { + var cultistEntities = _entityLookup.GetEntitiesInRange(coords, 2f); + foreach (var cultistEntity in cultistEntities) + { + SendCultistMessage(cultist, "summoning"); + } + + var netEntity = _entityManager.GetNetEntity(cultist); + RaiseNetworkEvent(new SummoningRuneMenuOpenedEvent(netEntity)); + + _entityManager.DeleteEntity(rune); + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + break; + case "bloodboil": + if (CheckRuneActivate(coords, 2)) + { + RemComp(rune); + var cultistEntities = _entityLookup.GetEntitiesInRange(coords, 2f); + foreach (var cultistEntity in cultistEntities) + { + SendCultistMessage(cultistEntity.Owner, "bloodboil"); + } + + Task.Run(async () => + { + var damageValues = new[] { 5, 10, 10 }; + for (int i = 0; i < 3; i++) + { + var targetsFlammable = _entityLookup.GetEntitiesInRange(coords, 10f) + .Where(flammableEntity => + !HasComp(flammableEntity.Owner)) + .ToList(); + + foreach (var targetFlammable in targetsFlammable) + { + if (HasComp(targetFlammable.Owner)) + continue; + + if (TryComp(targetFlammable.Owner, out var flammable)) + { + flammable.FireStacks = 3f; + _flammable.Ignite(targetFlammable.Owner, rune); + + var damage = new DamageSpecifier { DamageDict = { { "Heat", damageValues[i] } } }; + _damage.TryChangeDamage(cultist, damage, false); + } + } + + if (i < 2) + { + await Task.Delay(5000); + } + } + + _entityManager.DeleteEntity(rune); + }); + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + break; + case "spiritrealm": + if (CheckRuneActivate(coords, 1)) + { + SendCultistMessage(cultist, "spiritrealm"); + if (TryComp(cultist, out var mindContainer) && mindContainer.Mind != null) + { + var mindSystem = _entityManager.System(); + var metaDataSystem = _entityManager.System(); + var transformSystem = _entityManager.System(); + var gameTicker = _entityManager.System(); + + if (!mindSystem.TryGetMind(cultist, out var mindId, out var mind)) + return; + + if (mind.VisitingEntity != default && _entityManager.TryGetComponent(mind.VisitingEntity, out var oldGhostComponent)) + { + mindSystem.UnVisit(mindId, mind); + if (oldGhostComponent.CanGhostInteract) + return; + } + + var canReturn = mind.CurrentEntity != null + && !_entityManager.HasComponent(mind.CurrentEntity); + var ghost = _entityManager.SpawnEntity(BloodCultObserver, coords); + transformSystem.AttachToGridOrMap(ghost, _entityManager.GetComponent(ghost)); + + if (canReturn) + { + if (!string.IsNullOrWhiteSpace(mind.CharacterName)) + metaDataSystem.SetEntityName(ghost, mind.CharacterName); + + mindSystem.Visit(mindId, ghost, mind); + } + else + { + metaDataSystem.SetEntityName(ghost, Name(cultist)); + mindSystem.TransferTo(mindId, ghost, mind: mind); + } + + var comp = _entityManager.GetComponent(ghost); + // Wylab: ToggleGhostBarActionEntity doesn't exist (Ghost Bar feature not ported) + // _action.RemoveAction(ghost, comp.ToggleGhostBarActionEntity); // Ghost-Bar-Block + _action.AddAction(ghost, ActionComms); + _ghost.SetCanReturnToBody((ghost, comp), canReturn); + break; + } + else + { + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + } + } + break; + default: + _popup.PopupEntity(Loc.GetString("rune-activate-failed"), cultist, cultist, PopupType.MediumCaution); + break; + } + + if (_entityManager.EntityExists(rune)) + _useDelay.TryResetDelay((rune, useDelay)); + } + + private void OnRitualAfterInteract(EntityUid rune, BloodRitualDimensionalRendingComponent runeComp) + { + var xform = _entityManager.GetComponent(rune); + var msg = Loc.GetString("blood-ritual-activate-warning", + ("location", FormattedMessage.RemoveMarkupOrThrow(_navMap.GetNearestBeaconString((rune, xform))))); + _chat.DispatchGlobalAnnouncement(msg, playSound: false, colorOverride: Color.Red); + _audio.PlayGlobal(new SoundPathSpecifier("/Audio/_Wega/Ambience/Antag/bloodcult_scribe.ogg"), Filter.Broadcast(), true); + Timer.Spawn(TimeSpan.FromSeconds(45), () => + { + if (runeComp.Activate) + { + var coords = Transform(rune).Coordinates; + _entityManager.DeleteEntity(rune); + _entityManager.SpawnEntity("BloodCultDistortedEffect", coords); + string currentGod = GetCurrentGod() switch + { + "Narsie" => "MobNarsieSpawn", + "Reaper" => "MobReaperSpawn", + "Kharin" => "MobKharinSpawn", + _ => "MobNarsieSpawn" + }; + _entityManager.SpawnEntity(currentGod, coords); + RaiseLocalEvent(new GodCalledEvent()); + + var nearbyCultists = _entityLookup.GetEntitiesInRange(coords, 6f) + .ToList(); + + foreach (var target in nearbyCultists) + { + var harvester = _entityManager.SpawnEntity("MobConstructHarvester", Transform(target).Coordinates); + if (TryComp(target, out var mindContainer) && mindContainer.Mind != null) + _mind.TransferTo(mindContainer.Mind.Value, harvester); + + var damage = new DamageSpecifier { DamageDict = { { "Blunt", 1000 } } }; + _damage.TryChangeDamage(target.Owner, damage, true); + } + } + else + { + var cultists = EntityQueryEnumerator(); + while (cultists.MoveNext(out var cultist, out _)) + { + _popup.PopupEntity(Loc.GetString("ritual-failed"), cultist, cultist, PopupType.LargeCaution); + } + } + }); + } + #endregion + + #region Other + private void OnEmpoweringSelected(EmpoweringRuneMenuClosedEvent args) + { + var cultist = _entityManager.GetEntity(args.Uid); + if (!HasComp(cultist)) + return; + + _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, cultist, TimeSpan.FromSeconds(4f), new EmpoweringDoAfterEvent(args.SelectedSpell), cultist) + { + BreakOnMove = true, + BreakOnDamage = true, + MovementThreshold = 0.01f, + NeedHand = true + }); + } + + private void OnEmpoweringDoAfter(EntityUid cultist, BloodCultistComponent component, EmpoweringDoAfterEvent args) + { + if (args.Cancelled) return; + + var actionEntityUid = _action.AddAction(cultist, args.SelectedSpell); + component.SelectedEmpoweringSpells.Add(actionEntityUid); + component.Empowering++; + + if (TryComp(cultist, out var blood) && _blood.GetBloodLevel(cultist) > 0) + _blood.TryModifyBloodLevel(cultist, -5); + else + { + var damage = new DamageSpecifier { DamageDict = { { "Slash", 2 } } }; + _damage.TryChangeDamage(cultist, damage, true); + } + } + + private void OnSummoningSelected(SummoningSelectedEvent args) + { + var user = _entityManager.GetEntity(args.User); + var target = _entityManager.GetEntity(args.Target); + _entityManager.SpawnEntity("BloodCultOutEffect", Transform(target).Coordinates); + _transform.SetCoordinates(target, Transform(user).Coordinates); + _entityManager.SpawnEntity("BloodCultInEffect", Transform(user).Coordinates); + } + + private bool CheckRuneActivate(MapCoordinates coords, int needCount) + { + var constructsCount = _entityLookup.GetEntitiesInRange(coords, 2f).Count(); + var aliveCultistsCount = _entityLookup.GetEntitiesInRange(coords, 2f) + .Count(cultist => !_entityManager.TryGetComponent(cultist.Owner, out var thresholds) + || thresholds.CurrentThresholdState != MobState.Dead); + return aliveCultistsCount + constructsCount >= needCount; + } + + private bool CheckRitual(MapCoordinates coords, int needCount) + { + var aliveCultistsCount = _entityLookup.GetEntitiesInRange(coords, 6f) + .Count(cultist => !_entityManager.TryGetComponent(cultist.Owner, out var thresholds) + || thresholds.CurrentThresholdState != MobState.Dead); + return aliveCultistsCount >= needCount; + } + + private void SendCultistMessage(EntityUid cultist, string messageType) + { + string message = messageType switch + { + "offering" => Loc.GetString("blood-cultist-offering-message"), + "teleport" => Loc.GetString("blood-cultist-teleport-message"), + "empowering" => Loc.GetString("blood-cultist-empowering-message"), + "revive" => Loc.GetString("blood-cultist-revive-message"), + "barrier" => Loc.GetString("blood-cultist-barrier-message"), + "summoning" => Loc.GetString("blood-cultist-summoning-message"), + "bloodboil" => Loc.GetString("blood-cultist-bloodboil-message"), + "spiritrealm" => Loc.GetString("blood-cultist-spiritrealm-message"), + "ritual" => Loc.GetString("blood-cultist-ritual-message"), + _ => Loc.GetString("blood-cultist-default-message") + }; + + _chat.TrySendInGameICMessage(cultist, message, InGameICChatType.Whisper, ChatTransmitRange.Normal, checkRadioPrefix: false); + } + + private string TrySelectRuneEffect(string messageType) + { + string message = messageType switch + { + "BloodRuneOffering" => "BloodRuneOfferingEffect", + "BloodRuneTeleport" => "BloodRuneTeleportEffect", + "BloodRuneEmpowering" => "BloodRuneEmpoweringEffect", + "BloodRuneRevive" => "BloodRuneReviveEffect", + "BloodRuneBarrier" => "BloodRuneBarrierEffect", + "BloodRuneSummoning" => "BloodRuneSummoningEffect", + "BloodRuneBloodBoil" => "BloodRuneBloodBoilEffect", + "BloodRuneSpiritealm" => "BloodRuneSpiritealmEffect", + "BloodRuneRitualDimensionalRending" => "BloodRuneRitualDimensionalRendingEffect", + _ => "BloodRuneOfferingEffect" + }; + return message; + } + + private void OnDaggerInteract(Entity ent, ref UseInHandEvent args) + { + var user = args.User; + if (!HasComp(user)) + { + var dropEvent = new DropHandItemsEvent(); + RaiseLocalEvent(user, ref dropEvent); + var damage = new DamageSpecifier { DamageDict = { { "Slash", 5 } } }; + _damage.TryChangeDamage(user, damage, true); + _popup.PopupEntity(Loc.GetString("blood-dagger-failed-interact"), user, user, PopupType.SmallCaution); + return; + } + + var netEntity = _entityManager.GetNetEntity(args.User); + RaiseNetworkEvent(new RunesMenuOpenedEvent(netEntity)); + args.Handled = true; + } + + private bool IsInSpace(EntityUid cultist) + { + var cultistPosition = _transform.GetMapCoordinates(Transform(cultist)); + if (!_mapMan.TryFindGridAt(cultistPosition, out _, out _)) + return true; + + return false; + } + + private Color TryFindColor(EntityUid cultist) + { + Color bloodColor; + if (TryComp(cultist, out var bloodStreamComponent)) + { + // Use BloodReferenceSolution (upstream renamed from BloodReagents) + var firstReagent = bloodStreamComponent.BloodReferenceSolution.Contents.FirstOrDefault(); + if (firstReagent.Quantity > 0 && + _prototypeManager.TryIndex(firstReagent.Reagent.Prototype, out var reagentPrototype)) + { + bloodColor = reagentPrototype.SubstanceColor; + } + else + { + bloodColor = Color.White; + } + } + else + { + bloodColor = Color.White; + } + return bloodColor; + } + + private void DoAfterInteractRune(BloodRuneCleaningDoAfterEvent args) + { + if (args.Cancelled) return; + + _entityManager.DeleteEntity(args.Target); + } + + private void DoAfterInteractRune(EntityUid cultist, BloodCultistComponent component, BloodRuneCleaningDoAfterEvent args) + { + if (args.Cancelled) return; + + _entityManager.DeleteEntity(args.Target); + } + + private static void IncrementOfferingsCount() + { + _offerings++; + } + + private static void SubtractOfferingsCount() + { + _offerings -= 3; + } + + private static int GetOfferingsCount() + { + return _offerings; + } + #endregion +} diff --git a/Content.Server/_Wega/GameTicking/Rules/BloodCultRuleSystem.cs b/Content.Server/_Wega/GameTicking/Rules/BloodCultRuleSystem.cs new file mode 100644 index 0000000000..0955dab1c7 --- /dev/null +++ b/Content.Server/_Wega/GameTicking/Rules/BloodCultRuleSystem.cs @@ -0,0 +1,282 @@ +using System.Linq; +using Content.Server.Actions; +using Content.Server.Administration.Logs; +using Content.Server.Antag; +using Content.Server.Blood.Cult; +using Content.Server.Body.Components; +using Content.Server.Body.Systems; +using Content.Server.GameTicking.Rules.Components; +using Content.Server.Mind; +using Content.Server.Roles; +using Content.Server.RoundEnd; +using Content.Shared.Blood.Cult; +using Content.Shared.Blood.Cult.Components; +using Content.Shared.Body.Components; +using Content.Shared.Clumsy; +using Content.Shared.CombatMode.Pacification; +using Content.Shared.Database; +using Content.Shared.GameTicking.Components; +using Content.Shared.Hands.EntitySystems; +using Content.Shared.Humanoid; +using Content.Shared.Mobs; +using Content.Shared.NPC.Prototypes; +using Content.Shared.NPC.Systems; +using Content.Shared.Zombies; +using Robust.Shared.Audio; +using Robust.Shared.Player; +using Robust.Shared.Prototypes; +using Robust.Shared.Timing; + +namespace Content.Server.GameTicking.Rules +{ + public sealed class BloodCultRuleSystem : GameRuleSystem + { + [Dependency] private readonly ActionsSystem _action = default!; + [Dependency] private readonly AntagSelectionSystem _antag = default!; + [Dependency] private readonly BodySystem _body = default!; + [Dependency] private readonly BloodCultSystem _cult = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; + [Dependency] private readonly ISharedPlayerManager _player = default!; + [Dependency] private readonly IAdminLogManager _adminLogManager = default!; + [Dependency] private readonly MetabolizerSystem _metabolism = default!; + [Dependency] private readonly MindSystem _mind = default!; + [Dependency] private readonly NpcFactionSystem _npcFaction = default!; + [Dependency] private readonly RoleSystem _role = default!; + [Dependency] private readonly SharedHandsSystem _hands = default!; + [Dependency] private readonly RoundEndSystem _roundEndSystem = default!; + + public readonly ProtoId BloodCultNpcFaction = "BloodCult"; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnRuleStartup); + SubscribeLocalEvent(OnCultistSelected); + + SubscribeLocalEvent(OnGodCalled); + SubscribeLocalEvent(OnRitualConducted); + + SubscribeLocalEvent(OnAutoCultistAdded); + SubscribeLocalEvent(OnComponentRemove); + SubscribeLocalEvent(OnMobStateChanged); + SubscribeLocalEvent(OnOperativeZombified); + } + + private void OnRuleStartup(EntityUid uid, BloodCultRuleComponent component, ComponentStartup args) + { + List gods = new List { "Narsie", "Reaper", "Kharin" }; + component.SelectedGod = gods[new Random().Next(gods.Count)]; + Timer.Spawn(TimeSpan.FromMinutes(1), _cult.SelectRandomTargets); + } + + private void OnCultistSelected(Entity mindId, ref AfterAntagEntitySelectedEvent args) + { + var ent = args.EntityUid; + + MakeCultist(ent); + _antag.SendBriefing(ent, MakeBriefing(ent), Color.Red, null); + } + + private void MakeCultist(EntityUid ent) + { + var actionPrototypes = new[] + { + BloodCultistComponent.CultObjective, + BloodCultistComponent.CultCommunication, + BloodCultistComponent.BloodMagic, + BloodCultistComponent.RecallBloodDagger + }; + + foreach (var actionPrototype in actionPrototypes) + { + _action.AddAction(ent, actionPrototype); + } + + var componentsToRemove = new[] + { + typeof(PacifiedComponent), + typeof(ClumsyComponent) + }; + + foreach (var compType in componentsToRemove) + { + if (HasComp(ent, compType)) + RemComp(ent, compType); + } + + HandleMetabolism(ent); + } + + private string MakeBriefing(EntityUid ent) + { + string selectedGod = Loc.GetString("current-god-narsie"); + var query = QueryActiveRules(); + while (query.MoveNext(out _, out _, out var cult, out _)) + { + selectedGod = cult.SelectedGod switch + { + "Narsie" => Loc.GetString("current-god-narsie"), + "Reaper" => Loc.GetString("current-god-reaper"), + "Kharin" => Loc.GetString("current-god-kharin"), + _ => Loc.GetString("current-god-narsie") + }; + break; + } + + var isHuman = HasComp(ent); + var briefing = isHuman + ? Loc.GetString("blood-cult-role-greeting-human", ("god", selectedGod)) + : Loc.GetString("blood-cult-role-greeting-animal", ("god", selectedGod)); + + return briefing; + } + + private void OnAutoCultistAdded(EntityUid uid, AutoCultistComponent comp, ComponentStartup args) + { + if (!_mind.TryGetMind(uid, out var mindId, out var mind) || HasComp(uid)) + { + RemComp(uid); + return; + } + + _npcFaction.AddFaction(uid, BloodCultNpcFaction); + var culsistComp = EnsureComp(uid); + _adminLogManager.Add(LogType.Mind, LogImpact.Medium, $"{ToPrettyString(uid)} converted into a Blood Cult"); + if (mindId == default || !_role.MindHasRole(mindId)) + _role.MindAddRole(mindId, "MindRoleBloodCultist"); + if (mind is { UserId: not null } && _player.TryGetSessionById(mind.UserId, out var session)) + _antag.SendBriefing(session, MakeBriefing(uid), Color.Red, new SoundPathSpecifier("/Audio/_Wega/Ambience/Antag/bloodcult_start.ogg")); + RemComp(uid); + + MakeCultist(uid); + var query = QueryActiveRules(); + while (query.MoveNext(out _, out _, out var cult, out _)) + { + string selectedDagger = cult.SelectedGod switch + { + "Narsie" => "WeaponBloodDagger", + "Reaper" => "WeaponDeathDagger", + "Kharin" => "WeaponHellDagger", + _ => "WeaponBloodDagger" + }; + + var dagger = _entityManager.SpawnEntity(selectedDagger, Transform(uid).Coordinates); + culsistComp.RecallDaggerActionEntity = dagger; + _hands.TryPickupAnyHand(uid, dagger); + break; + } + } + + private void HandleMetabolism(EntityUid cultist) + { + if (TryComp(cultist, out var bodyComponent)) + { + foreach (var organ in _body.GetBodyOrgans(cultist, bodyComponent)) + { + if (TryComp(organ.Id, out var metabolizer)) + { + if (TryComp(organ.Id, out _)) + _metabolism.ClearMetabolizerTypes(metabolizer); + + _metabolism.TryAddMetabolizerType(metabolizer, "Cultist"); + } + } + } + } + + protected override void AppendRoundEndText(EntityUid uid, + BloodCultRuleComponent component, + GameRuleComponent gameRule, + ref RoundEndTextAppendEvent args) + { + var winText = Loc.GetString($"blood-cult-{component.WinType.ToString().ToLower()}"); + args.AddLine(winText); + + foreach (var cond in component.BloodCultWinCondition) + { + var text = Loc.GetString($"blood-cult-cond-{cond.ToString().ToLower()}"); + args.AddLine(text); + } + + args.AddLine(Loc.GetString("blood-cultist-list-start")); + + var antags = _antag.GetAntagIdentifiers(uid); + foreach (var (_, sessionData, name) in antags) + { + args.AddLine(Loc.GetString("blood-cultist-list-name-user", ("name", name), ("user", sessionData.UserName))); + } + } + + private void OnGodCalled(GodCalledEvent ev) + { + var query = QueryActiveRules(); + while (query.MoveNext(out _, out _, out var cult, out _)) + { + if (cult.BloodCultWinCondition.Contains(BloodCultWinType.RitualConducted)) + cult.BloodCultWinCondition.Remove(BloodCultWinType.RitualConducted); + + cult.WinType = BloodCultWinType.GodCalled; + + if (!cult.BloodCultWinCondition.Contains(BloodCultWinType.GodCalled)) + { + cult.BloodCultWinCondition.Add(BloodCultWinType.GodCalled); + _roundEndSystem.DoRoundEndBehavior(RoundEndBehavior.ShuttleCall, TimeSpan.FromMinutes(1f)); + } + } + } + + private void OnRitualConducted(RitualConductedEvent ev) + { + var query = QueryActiveRules(); + while (query.MoveNext(out _, out _, out var cult, out _)) + { + cult.WinType = BloodCultWinType.RitualConducted; + + if (!cult.BloodCultWinCondition.Contains(BloodCultWinType.RitualConducted)) + cult.BloodCultWinCondition.Add(BloodCultWinType.RitualConducted); + } + } + + private void OnMobStateChanged(EntityUid uid, BloodCultistComponent component, MobStateChangedEvent ev) + { + if (ev.NewMobState == MobState.Dead) + { + var query = QueryActiveRules(); + while (query.MoveNext(out var ruleUid, out _, out var cult, out _)) + { + CheckCultLose(ruleUid, cult); + } + } + } + + private void OnComponentRemove(EntityUid uid, BloodCultistComponent component, ComponentRemove args) + { + var query = QueryActiveRules(); + while (query.MoveNext(out var ruleUid, out _, out var cult, out _)) + { + CheckCultLose(ruleUid, cult); + } + } + + private void OnOperativeZombified(EntityUid uid, BloodCultistComponent component, EntityZombifiedEvent args) + { + var query = QueryActiveRules(); + while (query.MoveNext(out var ruleUid, out _, out var cult, out _)) + { + CheckCultLose(ruleUid, cult); + } + } + + private void CheckCultLose(EntityUid uid, BloodCultRuleComponent cult) + { + var hasLivingCultists = EntityManager.EntityQuery().Any(); + if (!hasLivingCultists && !cult.BloodCultWinCondition.Contains(BloodCultWinType.GodCalled) + && !cult.BloodCultWinCondition.Contains(BloodCultWinType.RitualConducted)) + { + cult.BloodCultWinCondition.Add(BloodCultWinType.CultLose); + cult.WinType = BloodCultWinType.CultLose; + } + } + } +} diff --git a/Content.Server/_Wega/GameTicking/Rules/Components/BloodCultRuleComponent.cs b/Content.Server/_Wega/GameTicking/Rules/Components/BloodCultRuleComponent.cs new file mode 100644 index 0000000000..5d07c74931 --- /dev/null +++ b/Content.Server/_Wega/GameTicking/Rules/Components/BloodCultRuleComponent.cs @@ -0,0 +1,25 @@ +namespace Content.Server.GameTicking.Rules.Components; + +/// +/// Stores data for . +/// +[RegisterComponent, Access(typeof(BloodCultRuleSystem))] +public sealed partial class BloodCultRuleComponent : Component +{ + [DataField] + public string? SelectedGod; + + [DataField] + public BloodCultWinType WinType = BloodCultWinType.Neutral; + + [DataField] + public List BloodCultWinCondition = new(); +} + +public enum BloodCultWinType : byte +{ + GodCalled, + RitualConducted, + Neutral, + CultLose +} diff --git a/Content.Server/_Wega/ItemSelector/ItemSelectorSystem.cs b/Content.Server/_Wega/ItemSelector/ItemSelectorSystem.cs new file mode 100644 index 0000000000..8f7df7b4c5 --- /dev/null +++ b/Content.Server/_Wega/ItemSelector/ItemSelectorSystem.cs @@ -0,0 +1,68 @@ +using System.Linq; +using Content.Shared.Hands.EntitySystems; +using Content.Shared.Item.Selector.UI; +using Content.Shared.Item.Selector.Components; +using Robust.Server.GameObjects; +using Robust.Shared.Prototypes; +using Content.Server.Administration.Logs; +using Content.Shared.Database; + +namespace Content.Server.Item.Selector; + +public sealed partial class ItemSelectorSystem : EntitySystem +{ + [Dependency] private readonly IAdminLogManager _admin = default!; + [Dependency] private readonly UserInterfaceSystem _ui = default!; + [Dependency] private readonly SharedHandsSystem _hands = default!; + [Dependency] private readonly IComponentFactory _componentFactory = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnUiOpened); + SubscribeLocalEvent(OnSelection); + } + + private void OnUiOpened(EntityUid uid, ItemSelectorComponent comp, BoundUIOpenedEvent args) + { + if (!CheckComponents(args.Actor, comp.WhitelistComponents, comp.BlacklistComponents)) + { + _ui.CloseUi(uid, ItemSelectorUiKey.Key); + return; + } + + UpdateUi(uid, comp.Items); + } + + private bool CheckComponents(EntityUid entity, List whitelist, List blacklist) + { + if (whitelist.Count > 0 && !whitelist.All(component => + _componentFactory.TryGetRegistration(component, out var reg) && HasComp(entity, reg.Type))) + return false; + + if (blacklist.Count > 0 && blacklist.Any(component => + _componentFactory.TryGetRegistration(component, out var reg) && HasComp(entity, reg.Type))) + return false; + + return true; + } + + private void UpdateUi(EntityUid uid, List items) + { + if (!_ui.HasUi(uid, ItemSelectorUiKey.Key)) + return; + + _ui.ServerSendUiMessage(uid, ItemSelectorUiKey.Key, + new ItemSelectorUserMessage(items)); + } + + private void OnSelection(EntityUid uid, ItemSelectorComponent comp, ItemSelectorSelectionMessage args) + { + var ent = Spawn(args.SelectedId, Transform(uid).Coordinates); + _hands.TryForcePickupAnyHand(GetEntity(args.User), ent); + + _admin.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(GetEntity(args.User)):user} selects a {ToPrettyString(ent):entity} instead of {ToPrettyString(uid):entity}"); + + QueueDel(uid); + } +} diff --git a/Content.Server/_Wega/Roles/BloodCultistRoleComponent.cs b/Content.Server/_Wega/Roles/BloodCultistRoleComponent.cs new file mode 100644 index 0000000000..335510e6db --- /dev/null +++ b/Content.Server/_Wega/Roles/BloodCultistRoleComponent.cs @@ -0,0 +1,9 @@ +using Content.Shared.Roles.Components; + +namespace Content.Server.Roles; + +/// +/// Added to mind role entities to tag that they are a blood cultist. +/// +[RegisterComponent] +public sealed partial class BloodCultistRoleComponent : BaseMindRoleComponent; diff --git a/Content.Shared/Cuffs/SharedCuffableSystem.cs b/Content.Shared/Cuffs/SharedCuffableSystem.cs index f8efa20afa..1df1976044 100644 --- a/Content.Shared/Cuffs/SharedCuffableSystem.cs +++ b/Content.Shared/Cuffs/SharedCuffableSystem.cs @@ -784,6 +784,17 @@ namespace Content.Shared.Cuffs cuff.Removing = false; } + // Corvax-Wega-BloodCult-start + /// + /// Marks handcuffs as used. Required when applying cuffs programmatically + /// (outside of normal DoAfter flow) to allow uncuffing. + /// + public void CuffUsed(HandcuffComponent cuff) + { + cuff.Used = true; + } + // Corvax-Wega-BloodCult-end + #region ActionBlocker private void CheckAct(EntityUid uid, CuffableComponent component, CancellableEntityEventArgs args) diff --git a/Content.Shared/Emp/SharedEmpSystem.cs b/Content.Shared/Emp/SharedEmpSystem.cs index 7e6ea58dbc..cc52d179b5 100644 --- a/Content.Shared/Emp/SharedEmpSystem.cs +++ b/Content.Shared/Emp/SharedEmpSystem.cs @@ -122,6 +122,25 @@ public abstract class SharedEmpSystem : EntitySystem return ev.Affected; } + // Corvax-Wega-BloodCult-start + /// + /// Triggers an EMP pulse at the given location, excluding specified entities. + /// Used by Blood Cult to let cultists use EMP without affecting fellow cultists. + /// + public void EmpPulseExclusions(MapCoordinates coordinates, float range, float energyConsumption, float duration, IEnumerable exclusions) + { + var exclusionsSet = new HashSet(exclusions); + foreach (var uid in _lookup.GetEntitiesInRange(coordinates, range)) + { + if (exclusionsSet.Contains(uid)) + continue; + TryEmpEffects(uid, energyConsumption, TimeSpan.FromSeconds(duration)); + } + if (_net.IsServer) + Spawn(EmpPulseEffectPrototype, coordinates); + } + // Corvax-Wega-BloodCult-end + public override void Update(float frameTime) { base.Update(frameTime); diff --git a/Content.Shared/_Wega/BloodCult/BloodCultComponents.cs b/Content.Shared/_Wega/BloodCult/BloodCultComponents.cs new file mode 100644 index 0000000000..2e7f6b7401 --- /dev/null +++ b/Content.Shared/_Wega/BloodCult/BloodCultComponents.cs @@ -0,0 +1,180 @@ +using Content.Shared.StatusIcon; +using Robust.Shared.Audio; +using Robust.Shared.Containers; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; + +namespace Content.Shared.Blood.Cult.Components; + +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class BloodCultistComponent : Component +{ + public bool BloodMagicActive = false; + + public EntityUid? SelectedSpell { get; set; } + + public List SelectedEmpoweringSpells = new(); + + [DataField, AutoNetworkedField] + public EntityUid? RecallDaggerActionEntity; + + public EntityUid? RecallSpearAction { get; set; } + + [DataField, AutoNetworkedField] + public EntityUid? RecallSpearActionEntity; + + [DataField] + public int BloodCount = 5; + + [DataField] + public int Empowering = 0; + + public static readonly EntProtoId CultObjective = "ActionBloodCultObjective"; + public static readonly EntProtoId CultCommunication = "ActionBloodCultComms"; + public static readonly EntProtoId BloodMagic = "ActionBloodMagic"; + public static readonly EntProtoId RecallBloodDagger = "ActionRecallBloodDagger"; + public static readonly EntProtoId RecallBloodSpear = "RecallBloodCultSpear"; + + [DataField("cultistStatusIcon")] + public ProtoId StatusIcon { get; set; } = "BloodCultistFaction"; +} + +[RegisterComponent, NetworkedComponent] +public sealed partial class ShowCultistIconsComponent : Component; + +[RegisterComponent] +public sealed partial class AutoCultistComponent : Component; + +[RegisterComponent] +public sealed partial class BloodCultObjectComponent : Component; + +[RegisterComponent] +public sealed partial class BloodDaggerComponent : Component +{ + [DataField] + public bool IsSharpered = false; +} + +[RegisterComponent] +public sealed partial class BloodSpellComponent : Component +{ + [DataField] + public List Prototype = new(); +} + +[RegisterComponent] +public sealed partial class BloodRuneComponent : Component +{ + [DataField] + public string Prototype = default!; + + public bool IsActive = true; + + public bool BarrierActive = false; +} + +[RegisterComponent] +public sealed partial class BloodRitualDimensionalRendingComponent : Component +{ + [ViewVariables(VVAccess.ReadWrite), DataField] + public TimeSpan ActivateTime = TimeSpan.Zero; + + public bool Activate = false; + + public float NextTimeTick { get; set; } +} + +[RegisterComponent, NetworkedComponent] +public sealed partial class BloodStructureComponent : Component +{ + [DataField("structureGear")] + public List StructureGear { get; private set; } = new(); + + [ViewVariables(VVAccess.ReadOnly), DataField] + public TimeSpan ActivateTime = TimeSpan.Zero; + + [DataField("fixture")] + public string FixtureId = string.Empty; + + [DataField] + public SoundSpecifier? Sound { get; private set; } + + [DataField] + public bool CanInteract = true; + + public bool IsActive = true; +} + +[RegisterComponent] +public sealed partial class BloodPylonComponent : Component +{ + public float NextTimeTick { get; set; } +} + +[RegisterComponent] +public sealed partial class BloodOrbComponent : Component +{ + public int Blood = 0; +} + +[RegisterComponent] +public sealed partial class StoneSoulComponent : Component +{ + [DataField("soulProto", required: true)] + public string SoulProto { get; set; } = default!; + + public EntityUid? SoulEntity; + + [ViewVariables] + public ContainerSlot SoulContainer = default!; + + public bool IsSoulSummoned = false; +} + +[RegisterComponent, NetworkedComponent] +public sealed partial class ConstructComponent : Component; + +[RegisterComponent, NetworkedComponent] +public sealed partial class BloodCultConstructComponent : Component; + +[RegisterComponent, NetworkedComponent] +public sealed partial class BloodShuttleCurseComponent : Component; + +[RegisterComponent, NetworkedComponent] +public sealed partial class VeilShifterComponent : Component +{ + [DataField] + public int ActivationsCount = 4; +} + +[RegisterComponent, NetworkedComponent] +public sealed partial class BloodSharpenerComponent : Component; + +/// +/// Заглушка для логики +/// +[RegisterComponent] +public sealed partial class CultistEyesComponent : Component; + +[RegisterComponent, NetworkedComponent] +public sealed partial class PentagramDisplayComponent : Component; + +[Serializable, NetSerializable] +public enum RuneColorVisuals +{ + Color +} + +[Serializable, NetSerializable] +public enum StoneSoulVisualLayers : byte +{ + Base, + Soul +} + +[Serializable, NetSerializable] +public enum StoneSoulVisuals : byte +{ + HasSoul +} diff --git a/Content.Shared/_Wega/BloodCult/BloodCultEvents.cs b/Content.Shared/_Wega/BloodCult/BloodCultEvents.cs new file mode 100644 index 0000000000..69646fe750 --- /dev/null +++ b/Content.Shared/_Wega/BloodCult/BloodCultEvents.cs @@ -0,0 +1,316 @@ +using Content.Shared.Actions; +using Content.Shared.DoAfter; +using Robust.Shared.Serialization; + +namespace Content.Shared.Blood.Cult; + +// Events +public sealed class GodCalledEvent : EntityEventArgs +{ +} + +public sealed class RitualConductedEvent : EntityEventArgs +{ +} + +[Serializable, NetSerializable] +public sealed class BloodMagicPressedEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + + public BloodMagicPressedEvent(NetEntity uid) + { + Uid = uid; + } +} + +[Serializable, NetSerializable] +public sealed class BloodMagicMenuClosedEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + public string SelectedSpell { get; } + + public BloodMagicMenuClosedEvent(NetEntity uid, string selectedSpell) + { + Uid = uid; + SelectedSpell = selectedSpell; + } +} + +[Serializable, NetSerializable] +public sealed partial class BloodMagicDoAfterEvent : SimpleDoAfterEvent +{ + public string SelectedSpell { get; } + + public BloodMagicDoAfterEvent(string selectedSpell) + { + SelectedSpell = selectedSpell; + } +} + +[Serializable, NetSerializable] +public sealed partial class TeleportSpellDoAfterEvent : SimpleDoAfterEvent +{ +} + +[Serializable, NetSerializable] +public sealed class EmpoweringRuneMenuOpenedEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + + public EmpoweringRuneMenuOpenedEvent(NetEntity uid) + { + Uid = uid; + } +} + +[Serializable, NetSerializable] +public sealed class EmpoweringRuneMenuClosedEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + public string SelectedSpell { get; } + + public EmpoweringRuneMenuClosedEvent(NetEntity uid, string selectedSpell) + { + Uid = uid; + SelectedSpell = selectedSpell; + } +} + +[Serializable, NetSerializable] +public sealed partial class EmpoweringDoAfterEvent : SimpleDoAfterEvent +{ + public string SelectedSpell { get; } + + public EmpoweringDoAfterEvent(string selectedSpell) + { + SelectedSpell = selectedSpell; + } +} + +[Serializable, NetSerializable] +public sealed class BloodRitesPressedEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + + public BloodRitesPressedEvent(NetEntity uid) + { + Uid = uid; + } +} + +[Serializable, NetSerializable] +public sealed class BloodRitesMenuClosedEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + public string SelectedRites { get; } + + public BloodRitesMenuClosedEvent(NetEntity uid, string selectedRites) + { + Uid = uid; + SelectedRites = selectedRites; + } +} + +[Serializable, NetSerializable] +public sealed class RunesMenuOpenedEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + + public RunesMenuOpenedEvent(NetEntity uid) + { + Uid = uid; + } +} + +[Serializable, NetSerializable] +public sealed class RuneSelectEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + public string RuneProto { get; } + + public RuneSelectEvent(NetEntity uid, string runeProto) + { + Uid = uid; + RuneProto = runeProto; + } +} + +[Serializable, NetSerializable] +public sealed partial class BloodRuneDoAfterEvent : SimpleDoAfterEvent +{ + public string SelectedRune { get; } + public NetEntity Rune { get; } + + public BloodRuneDoAfterEvent(string selectedRune, NetEntity rune) + { + SelectedRune = selectedRune; + Rune = rune; + } +} + +[Serializable, NetSerializable] +public sealed partial class BloodRuneCleaningDoAfterEvent : SimpleDoAfterEvent +{ +} + +[Serializable, NetSerializable] +public sealed class SummoningRuneMenuOpenedEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + + public SummoningRuneMenuOpenedEvent(NetEntity uid) + { + Uid = uid; + } +} + +[Serializable, NetSerializable] +public sealed class SummoningSelectedEvent : EntityEventArgs +{ + public NetEntity User { get; } + public NetEntity Target { get; } + + public SummoningSelectedEvent(NetEntity user, NetEntity target) + { + User = user; + Target = target; + } +} + +[Serializable, NetSerializable] +public sealed class OpenConstructMenuEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + public NetEntity ConstructUid { get; } + public NetEntity Mind { get; } + + public OpenConstructMenuEvent(NetEntity uid, NetEntity constructUid, NetEntity mind) + { + Uid = uid; + ConstructUid = constructUid; + Mind = mind; + } +} + +[Serializable, NetSerializable] +public sealed class BloodConstructMenuClosedEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + public NetEntity ConstructUid { get; } + public NetEntity Mind { get; } + public string ConstructProto { get; } + + public BloodConstructMenuClosedEvent(NetEntity uid, NetEntity constructUid, NetEntity mind, string constructProto) + { + Uid = uid; + ConstructUid = constructUid; + Mind = mind; + ConstructProto = constructProto; + } +} + +[Serializable, NetSerializable] +public sealed class OpenStructureMenuEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + public NetEntity Structure { get; } + + public OpenStructureMenuEvent(NetEntity uid, NetEntity structure) + { + Uid = uid; + Structure = structure; + } +} + +[Serializable, NetSerializable] +public sealed class BloodStructureMenuClosedEvent : EntityEventArgs +{ + public NetEntity Uid { get; } + public string Item { get; } + public NetEntity Structure { get; } + + public BloodStructureMenuClosedEvent(NetEntity uid, string item, NetEntity structure) + { + Uid = uid; + Item = item; + Structure = structure; + } +} + +// Abilities +public sealed partial class BloodCultObjectiveActionEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultCommuneActionEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultBloodMagicActionEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultStunActionEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultTeleportActionEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultElectromagneticPulseActionEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultShadowShacklesActionEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultTwistedConstructionActionEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultSummonEquipmentActionEvent : InstantActionEvent +{ +} +public sealed partial class BloodCultSummonDaggerActionEvent : InstantActionEvent +{ +} + +public sealed partial class RecallBloodDaggerEvent : InstantActionEvent +{ +} + + +public sealed partial class BloodCultHallucinationsActionEvent : EntityTargetActionEvent +{ +} + +public sealed partial class BloodCultConcealPresenceActionEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultBloodRitesActionEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultBloodOrbActionEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultBloodRechargeActionEvent : EntityTargetActionEvent +{ +} + +public sealed partial class BloodCultBloodSpearActionEvent : InstantActionEvent +{ +} + +public sealed partial class RecallBloodSpearEvent : InstantActionEvent +{ +} + +public sealed partial class BloodCultBloodBoltBarrageActionEvent : InstantActionEvent +{ +} diff --git a/Content.Shared/_Wega/BloodCult/SharedBloodCultSystem.cs b/Content.Shared/_Wega/BloodCult/SharedBloodCultSystem.cs new file mode 100644 index 0000000000..55aab5bddc --- /dev/null +++ b/Content.Shared/_Wega/BloodCult/SharedBloodCultSystem.cs @@ -0,0 +1,66 @@ +using System.Linq; +using Content.Shared.Actions; +using Content.Shared.Actions.Components; +using Content.Shared.Blood.Cult.Components; +using Content.Shared.IdentityManagement; +using Content.Shared.Popups; +using Content.Shared.Stunnable; + +namespace Content.Shared.Blood.Cult; + +public abstract class SharedBloodCultSystem : EntitySystem +{ + [Dependency] private readonly SharedActionsSystem _action = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SharedStunSystem _stun = default!; + + #region Deconvertation + public void CultistDeconvertation(EntityUid cultist) + { + if (!TryComp(cultist, out var bloodCultist)) + return; + + if (TryComp(cultist, out var actionsContainer)) + { + foreach (var actionId in actionsContainer.Container.ContainedEntities.ToArray()) + { + if (!TryComp(actionId, out MetaDataComponent? meta)) + continue; + + var protoId = meta.EntityPrototype?.ID; + if (protoId == BloodCultistComponent.CultObjective.Id + || protoId == BloodCultistComponent.CultCommunication.Id + || protoId == BloodCultistComponent.BloodMagic.Id + || protoId == BloodCultistComponent.RecallBloodDagger.Id) + { + _action.RemoveAction(cultist, actionId); + } + } + } + + if (bloodCultist.RecallSpearActionEntity != null) + _action.RemoveAction(cultist, bloodCultist.RecallSpearActionEntity); + + if (bloodCultist.SelectedSpell != null) + _action.RemoveAction(cultist, bloodCultist.SelectedSpell.Value); + + foreach (var spell in bloodCultist.SelectedEmpoweringSpells) + { + if (spell != null) + { + _action.RemoveAction(cultist, spell.Value); + } + } + + var stunTime = TimeSpan.FromSeconds(4); + var name = Identity.Entity(cultist, EntityManager); + + _stun.TryKnockdown(cultist, stunTime, true); + _popup.PopupEntity(Loc.GetString("blood-cult-break-control", ("name", name)), cultist); + + RemComp(cultist); + if (HasComp(cultist)) RemComp(cultist); + if (HasComp(cultist)) RemComp(cultist); + } + #endregion +} \ No newline at end of file diff --git a/Content.Shared/_Wega/Clothing/Component/TearableClothingComponent.cs b/Content.Shared/_Wega/Clothing/Component/TearableClothingComponent.cs new file mode 100644 index 0000000000..ef89803a14 --- /dev/null +++ b/Content.Shared/_Wega/Clothing/Component/TearableClothingComponent.cs @@ -0,0 +1,8 @@ +namespace Content.Shared.Clothing.Components; + +[RegisterComponent] +public sealed partial class TearableClothingComponent : Component +{ + [DataField] + public float Delay = 8f; +} diff --git a/Content.Shared/_Wega/Clothing/Component/ToggleableSpriteClothingComponent.cs b/Content.Shared/_Wega/Clothing/Component/ToggleableSpriteClothingComponent.cs new file mode 100644 index 0000000000..3c02196af5 --- /dev/null +++ b/Content.Shared/_Wega/Clothing/Component/ToggleableSpriteClothingComponent.cs @@ -0,0 +1,34 @@ +using Robust.Shared.Audio; +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; + +namespace Content.Shared.Clothing.Components; + +[RegisterComponent, NetworkedComponent] +public sealed partial class ToggleableSpriteClothingComponent : Component +{ + [DataField("defaultSuffix")] + public string DefaultSuffix = string.Empty; + + [DataField("activeSuffix")] + public string ActiveSuffix = string.Empty; + + [ViewVariables] + public bool IsToggled => !string.IsNullOrEmpty(ActiveSuffix); + + [DataField] + public float DoAfterTime = 0.75f; + + public SoundPathSpecifier Sound = new SoundPathSpecifier("/Audio/Items/jumpsuit_equip.ogg"); +} + +[Serializable, NetSerializable] +public sealed class ToggleableSpriteClothingComponentState : ComponentState +{ + public string ActiveSuffix; + + public ToggleableSpriteClothingComponentState(string activeSuffix) + { + ActiveSuffix = activeSuffix; + } +} diff --git a/Content.Shared/_Wega/Clothing/TearClothingDoAfterEvent.cs b/Content.Shared/_Wega/Clothing/TearClothingDoAfterEvent.cs new file mode 100644 index 0000000000..118002e482 --- /dev/null +++ b/Content.Shared/_Wega/Clothing/TearClothingDoAfterEvent.cs @@ -0,0 +1,7 @@ +using Content.Shared.DoAfter; +using Robust.Shared.Serialization; + +namespace Content.Shared.Clothing; + +[Serializable, NetSerializable] +public sealed partial class TearClothingDoAfterEvent : SimpleDoAfterEvent { } diff --git a/Content.Shared/_Wega/Clothing/TearableClothingSystem.cs b/Content.Shared/_Wega/Clothing/TearableClothingSystem.cs new file mode 100644 index 0000000000..0b8ca9ad16 --- /dev/null +++ b/Content.Shared/_Wega/Clothing/TearableClothingSystem.cs @@ -0,0 +1,85 @@ +using Content.Shared.Clothing.Components; +using Content.Shared.Damage; +using Content.Shared.Damage.Components; +using Content.Shared.Damage.Prototypes; +using Content.Shared.Damage.Systems; +using Content.Shared.DoAfter; +using Content.Shared.IdentityManagement; +using Content.Shared.Popups; +using Content.Shared.Verbs; +using Robust.Shared.Physics.Components; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared.Clothing; + +public sealed class TearableClothingSystem : EntitySystem +{ + [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; + [Dependency] private readonly DamageableSystem _damage = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + + private static readonly ProtoId Damage = "Slash"; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent>(AddTearVerb); + SubscribeLocalEvent(OnDoAfter); + } + + private void AddTearVerb(Entity entity, ref GetVerbsEvent args) + { + var user = args.User; + if (!HasComp(entity) || !HasComp(entity)) + return; + + var text = Loc.GetString("tearable-clothing-verb-tear"); + + AlternativeVerb verb = new() + { + Text = text, + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/zap.svg.192dpi.png")), + Act = () => StartTearing(user, entity), + Priority = 1 + }; + args.Verbs.Add(verb); + } + + public void StartTearing(EntityUid user, Entity entity) + { + if (!TryComp(user, out var physics) || physics.Mass <= 60f) + { + _popup.PopupClient(Loc.GetString("tearable-clothing-too-weakness"), user, user); + return; + } + + var args = new DoAfterArgs(EntityManager, user, TimeSpan.FromSeconds(entity.Comp.Delay), + new TearClothingDoAfterEvent(), entity, entity) + { + BreakOnMove = true, + BreakOnDamage = true, + NeedHand = true + }; + + _popup.PopupCoordinates(Loc.GetString("tearable-clothing-try-tear", + ("user", Identity.Name(user, EntityManager)), ("clothing", Name(entity))), + Transform(user).Coordinates, type: PopupType.Medium); + + _doAfter.TryStartDoAfter(args); + } + + private void OnDoAfter(Entity entity, ref TearClothingDoAfterEvent args) + { + if (args.Handled || args.Cancelled || args.Args.Target == null) + return; + + args.Handled = true; + + _popup.PopupClient(Loc.GetString("tearable-clothing-successed", ("clothing", Name(entity))), args.User, args.User); + + var damageSpec = new DamageSpecifier { DamageDict = { { Damage, 60 } } }; + _damage.TryChangeDamage(args.Args.Target.Value, damageSpec, true); + } +} diff --git a/Content.Shared/_Wega/Clothing/ToggleSpriteClothingDoAfterEvent.cs b/Content.Shared/_Wega/Clothing/ToggleSpriteClothingDoAfterEvent.cs new file mode 100644 index 0000000000..fd75f56777 --- /dev/null +++ b/Content.Shared/_Wega/Clothing/ToggleSpriteClothingDoAfterEvent.cs @@ -0,0 +1,7 @@ +using Content.Shared.DoAfter; +using Robust.Shared.Serialization; + +namespace Content.Shared.Clothing; + +[Serializable, NetSerializable] +public sealed partial class ToggleSpriteClothingDoAfterEvent : SimpleDoAfterEvent { } diff --git a/Content.Shared/_Wega/Clothing/ToggleableSpriteClothingSystem.cs b/Content.Shared/_Wega/Clothing/ToggleableSpriteClothingSystem.cs new file mode 100644 index 0000000000..5638f4226c --- /dev/null +++ b/Content.Shared/_Wega/Clothing/ToggleableSpriteClothingSystem.cs @@ -0,0 +1,79 @@ +using Content.Shared.Body.Components; +using Content.Shared.Clothing.Components; +using Content.Shared.DoAfter; +using Content.Shared.Verbs; +using Robust.Shared.Audio.Systems; +using Robust.Shared.GameStates; +using Robust.Shared.Utility; + +namespace Content.Shared.Clothing; + +public sealed class ToggleableSpriteClothingSystem : EntitySystem +{ + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnGetState); + SubscribeLocalEvent>(AddToggleVerb); + + SubscribeLocalEvent(OnDoAfter); // Fuck, I'm too lazy to think of something + } + + private static void OnGetState(EntityUid uid, ToggleableSpriteClothingComponent component, ref ComponentGetState args) + { + args.State = new ToggleableSpriteClothingComponentState(component.ActiveSuffix); + } + + private void AddToggleVerb(Entity entity, ref GetVerbsEvent args) + { + var user = args.User; + if (!args.CanAccess || !args.CanInteract || Transform(entity).ParentUid != user + || !HasComp(entity)) + return; + + var text = entity.Comp.IsToggled + ? Loc.GetString("toggleable-clothing-verb-reset") + : Loc.GetString("toggleable-clothing-verb-toggle"); + + AlternativeVerb verb = new() + { + Text = text, + Icon = new SpriteSpecifier.Texture(new("/Textures/_Wega/Interface/VerbIcons/clothing.svg.192.dpi.png")), + Act = () => ToggleClothing(user, entity) + }; + args.Verbs.Add(verb); + } + + public void ToggleClothing(EntityUid user, Entity entity) + { + var args = new DoAfterArgs(EntityManager, user, TimeSpan.FromSeconds(entity.Comp.DoAfterTime), + new ToggleSpriteClothingDoAfterEvent(), user, entity) + { + BreakOnMove = true, + BreakOnDamage = true, + NeedHand = true + }; + + _doAfterSystem.TryStartDoAfter(args); + } + + private void OnDoAfter(Entity entity, ref ToggleSpriteClothingDoAfterEvent args) + { + if (args.Handled || args.Target == null) + return; + + if (!TryComp(args.Target, out var toggleable)) + return; + + args.Handled = true; + toggleable.ActiveSuffix = toggleable.IsToggled + ? string.Empty + : toggleable.DefaultSuffix; + + _audio.PlayLocal(toggleable.Sound, args.Target.Value, args.Target); + Dirty(args.Target.Value, toggleable); + } +} diff --git a/Content.Shared/_Wega/Dirt/Components/DirtSourceComponent.cs b/Content.Shared/_Wega/Dirt/Components/DirtSourceComponent.cs new file mode 100644 index 0000000000..0b01384096 --- /dev/null +++ b/Content.Shared/_Wega/Dirt/Components/DirtSourceComponent.cs @@ -0,0 +1,6 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.DirtVisuals; + +[RegisterComponent, NetworkedComponent] +public sealed partial class DirtSourceComponent : Component; diff --git a/Content.Shared/_Wega/Dirt/Components/DirtableComponent.cs b/Content.Shared/_Wega/Dirt/Components/DirtableComponent.cs new file mode 100644 index 0000000000..30974c7441 --- /dev/null +++ b/Content.Shared/_Wega/Dirt/Components/DirtableComponent.cs @@ -0,0 +1,48 @@ +using Content.Shared.FixedPoint; +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; + +namespace Content.Shared.DirtVisuals; + +[RegisterComponent, NetworkedComponent] +public sealed partial class DirtableComponent : Component +{ + [DataField("threshold")] + public FixedPoint2 Threshold { get; set; } = 20; + + [DataField("dirtSprite")] + public string DirtSpritePath { get; set; } = "_Wega/Mobs/Effects/dirt_overlay.rsi"; + + [DataField("dirtState")] + public string DirtState { get; set; } = "jumpsuit"; + + [DataField("foldingDirtState")] + public string? FoldingDirtState { get; set; } + + [DataField("equippedDirtState")] + public string EquippedDirtState { get; set; } = "equipped-jumpsuit"; + + [ViewVariables] + public FixedPoint2 CurrentDirtLevel { get; set; } + + [ViewVariables] + public Color DirtColor { get; set; } = Color.White; + + [ViewVariables] + public bool IsDirty => CurrentDirtLevel >= Threshold; +} + +[Serializable, NetSerializable] +public sealed class DirtableComponentState : ComponentState +{ + public FixedPoint2 CurrentDirtLevel; + public Color DirtColor; + public bool IsDirty; + + public DirtableComponentState(FixedPoint2 currentDirtLevel, Color dirtColor, bool isDirty) + { + CurrentDirtLevel = currentDirtLevel; + DirtColor = dirtColor; + IsDirty = isDirty; + } +} diff --git a/Content.Shared/_Wega/Dirt/SharedDirtSystem.cs b/Content.Shared/_Wega/Dirt/SharedDirtSystem.cs new file mode 100644 index 0000000000..9b71ace6fd --- /dev/null +++ b/Content.Shared/_Wega/Dirt/SharedDirtSystem.cs @@ -0,0 +1,229 @@ +using Content.Shared.Body.Components; +using Content.Shared.Chemistry.Components; +using Content.Shared.Chemistry.Reagent; +using Content.Shared.Damage; +using Content.Shared.Examine; +using Content.Shared.FixedPoint; +using Content.Shared.Foldable; +using Content.Shared.Inventory; +using Content.Shared.Random.Helpers; +using Content.Shared.Standing; +using Content.Shared.Tag; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; + +namespace Content.Shared.DirtVisuals; + +public sealed class SharedDirtSystem : EntitySystem +{ + [Dependency] private readonly InventorySystem _inventory = default!; + [Dependency] private readonly IPrototypeManager _prototype = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly TagSystem _tag = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + + public const float MaxDirtLevel = 100f; + private const float DirtAccumulationRate = 0.01f; + private ProtoId _hardsuit = "Hardsuit"; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnGetState); + SubscribeLocalEvent(OnFolded); + SubscribeLocalEvent(OnExamined); + } + + private void OnGetState(EntityUid uid, DirtableComponent comp, ref ComponentGetState args) + { + args.State = new DirtableComponentState( + comp.CurrentDirtLevel, + comp.DirtColor, + comp.IsDirty + ); + } + + private void OnFolded(EntityUid uid, DirtableComponent comp, ref FoldedEvent args) + { + // Finally update this shit + Dirty(uid, comp); + } + + private void OnExamined(Entity entity, ref ExaminedEvent args) + { + if (!args.IsInDetailsRange || entity.Comp.CurrentDirtLevel < entity.Comp.Threshold) + return; + + float dirtPercentage = Math.Clamp(entity.Comp.CurrentDirtLevel.Float() / MaxDirtLevel * 100f, 0f, 100f); + string colorHex = entity.Comp.DirtColor.ToHex(); + + string dirtLevel = dirtPercentage switch + { + < 30 => Loc.GetString("dirt-examined-level-low"), + < 70 => Loc.GetString("dirt-examined-level-medium"), + _ => Loc.GetString("dirt-examined-level-high") + }; + + args.PushMarkup( + Loc.GetString("dirt-examined-message", ("color", colorHex), ("percentage", (int)dirtPercentage), ("level", dirtLevel)) + ); + } + + public void AddBloodDirtFromDamage(EntityUid target, EntityUid attacker, DamageSpecifier damage, bool isGunshot = false) + { + if (!TryComp(target, out var bloodstream)) + return; + + var bloodTypes = new[] { "Slash", "Piercing", "Blunt" }; + + FixedPoint2 bloodAmount = 0; + foreach (var type in bloodTypes) + { + if (damage.DamageDict.TryGetValue(type, out var amount)) + bloodAmount += amount; + } + + if (bloodAmount <= 0) + return; + + var bloodSolution = new Solution(); + // Use BloodReferenceSolution (upstream renamed from BloodReagents) + var bloodReagent = bloodstream.BloodReferenceSolution.Contents.Count > 0 + ? bloodstream.BloodReferenceSolution.Contents[0].Reagent.Prototype + : "Blood"; + bloodSolution.AddReagent(bloodReagent, bloodAmount * (0.2f / DirtAccumulationRate)); + + var slots = new List { "outerClothing", "jumpsuit", "gloves", "belt", "mask", "head" }; + ApplyDirtToClothing(target, bloodSolution, _random.Pick(slots)); + + if (attacker != target) + { + if (isGunshot) + { + var targetPosition = _transform.GetWorldPosition(target); + var attackerPosition = _transform.GetWorldPosition(attacker); + var distance = (attackerPosition - targetPosition).Length(); + if (distance > 2.5f) + return; + } + ApplyDirtToClothing(attacker, bloodSolution, _random.Pick(slots)); + } + } + + public void ApplyDirtToClothing(EntityUid wearer, Solution solution) + { + var slots = new List { "shoes" }; + + var isLyingDown = TryComp(wearer, out var standing) && !standing.Standing; + if (isLyingDown) + { + slots.AddRange(new[] { "outerClothing", "jumpsuit", "gloves", "belt", "mask", "head" }); + } + else + { + if (_inventory.TryGetSlotEntity(wearer, "outerClothing", out var outerClothing) + && _tag.HasTag(outerClothing.Value, _hardsuit)) + slots.Add("outerClothing"); + } + + foreach (var slot in slots) + { + if (_inventory.TryGetSlotEntity(wearer, slot, out var clothing)) + UpdateDirtFromSolution(clothing.Value, solution); + } + } + + public void ApplyDirtToClothing(EntityUid wearer, Solution solution, string slot) + { + if (_inventory.TryGetSlotEntity(wearer, slot, out var clothing)) + UpdateDirtFromSolution(clothing.Value, solution); + } + + private void UpdateDirtFromSolution(EntityUid uid, Solution solution, DirtableComponent? comp = null) + { + if (!TryComp(uid, out comp) || solution.Volume == 0) + return; + + bool isOnlyWater = solution.Contents.Count == 1 + && solution.Contents[0].Reagent.Prototype == "Water"; + + if (isOnlyWater) + { + float removedDirt = Math.Min(solution.Volume.Float() * DirtAccumulationRate * 2f, comp.CurrentDirtLevel.Float()); + CleanDirt(uid, removedDirt); + return; + } + + float addedDirt = Math.Min(solution.Volume.Float() * DirtAccumulationRate, 10f); + comp.CurrentDirtLevel = FixedPoint2.New( + Math.Min(comp.CurrentDirtLevel.Float() + addedDirt, MaxDirtLevel) + ); + + if (comp.CurrentDirtLevel >= MaxDirtLevel) + return; + + var colors = new List(); + foreach (var reagent in solution.Contents) + { + if (reagent.Reagent.Prototype == "Water") + continue; + + if (!_prototype.TryIndex(reagent.Reagent.Prototype, out var proto)) + continue; + + colors.Add(proto.SubstanceColor); + } + + if (colors.Count > 0) + { + comp.DirtColor = BlendColorsProperly(comp.DirtColor, colors); + Dirty(uid, comp); + } + } + + public void CleanDirt(EntityUid uid, float amount, float efficiency = 1f, DirtableComponent? comp = null) + { + if (!Resolve(uid, ref comp, false) || amount <= 0) + return; + + var actualRemoval = amount * efficiency; + comp.CurrentDirtLevel = FixedPoint2.Max(comp.CurrentDirtLevel - actualRemoval, 0); + + if (comp.CurrentDirtLevel <= 0) + comp.DirtColor = Color.White; + + Dirty(uid, comp); + } + + private Color BlendColorsProperly(Color currentColor, List newColors) + { + if (newColors.Count == 1 && currentColor == Color.White) + return newColors[0]; + + float rNew = 0, gNew = 0, bNew = 0; + foreach (var color in newColors) + { + rNew += color.R / 255f; + gNew += color.G / 255f; + bNew += color.B / 255f; + } + rNew /= newColors.Count; + gNew /= newColors.Count; + bNew /= newColors.Count; + + float rCurrent = currentColor.R / 255f; + float gCurrent = currentColor.G / 255f; + float bCurrent = currentColor.B / 255f; + + float r = rCurrent * 0.85f + rNew * 0.15f; + float g = gCurrent * 0.85f + gNew * 0.15f; + float b = bCurrent * 0.85f + bNew * 0.15f; + + r = Math.Clamp(r, 0f, 1f) * 255f; + g = Math.Clamp(g, 0f, 1f) * 255f; + b = Math.Clamp(b, 0f, 1f) * 255f; + + return new Color(r, g, b); + } +} diff --git a/Content.Shared/_Wega/Disease/Components/DiseaseProtectionComponent.cs b/Content.Shared/_Wega/Disease/Components/DiseaseProtectionComponent.cs new file mode 100644 index 0000000000..27aa3b4cc0 --- /dev/null +++ b/Content.Shared/_Wega/Disease/Components/DiseaseProtectionComponent.cs @@ -0,0 +1,24 @@ +namespace Content.Shared.Disease.Components +{ + /// + /// Value added to clothing to give its wearer + /// protection against infection from diseases + /// + [RegisterComponent] + public sealed partial class DiseaseProtectionComponent : Component + { + /// + /// Float value between 0 and 1, will be subtracted + /// from the infection chance (which is base 0.7) + /// Reference guide is a full biosuit w/gloves & mask + /// should add up to exactly 0.7 + /// + [DataField("protection")] + public float Protection = 0.1f; + /// + /// Is the component currently being worn and affecting someone's disease + /// resistance? Making the unequip check not totally CBT + /// + public bool IsActive = false; + } +} diff --git a/Content.Shared/_Wega/EntityEffects/Effects/WashDirtReaction.cs b/Content.Shared/_Wega/EntityEffects/Effects/WashDirtReaction.cs new file mode 100644 index 0000000000..8999165cab --- /dev/null +++ b/Content.Shared/_Wega/EntityEffects/Effects/WashDirtReaction.cs @@ -0,0 +1,36 @@ +using Content.Shared.DirtVisuals; +using Robust.Shared.Prototypes; + +namespace Content.Shared.EntityEffects.Effects; + +/// +/// Cleans dirt from dirtable entities. +/// The cleaning amount is equal to modified by scale. +/// +/// +public sealed partial class WashDirtEntityEffectSystem : EntityEffectSystem +{ + [Dependency] private readonly SharedDirtSystem _dirt = default!; + + protected override void Effect(Entity entity, ref EntityEffectEvent args) + { + if (entity.Comp.CurrentDirtLevel <= 0) + return; + + var cleaningAmount = args.Effect.CleaningAmount * args.Scale; + _dirt.CleanDirt(entity, cleaningAmount); + } +} + +/// +public sealed partial class WashDirt : EntityEffectBase +{ + /// + /// Amount of dirt to clean. + /// + [DataField] + public float CleaningAmount = 5f; + + public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) + => Loc.GetString("reagent-effect-guidebook-wash-dirt-reaction"); +} diff --git a/Content.Shared/_Wega/ItemSelector/ItemSelectorComponent.cs b/Content.Shared/_Wega/ItemSelector/ItemSelectorComponent.cs new file mode 100644 index 0000000000..a962973371 --- /dev/null +++ b/Content.Shared/_Wega/ItemSelector/ItemSelectorComponent.cs @@ -0,0 +1,27 @@ +using Robust.Shared.Prototypes; + +namespace Content.Shared.Item.Selector.Components; + +[RegisterComponent] +public sealed partial class ItemSelectorComponent : Component +{ + /// + /// List of item prototype IDs that can be selected. + /// + [DataField("items")] + public List Items = new(); + + /// + /// Components that an entity must have to display the UI (whitelist) + /// If it is empty, the check is not performed. + /// + [DataField("requiredComponents")] + public List WhitelistComponents = new(); + + /// + /// Components that an entity should not have to display the UI (blacklist) + /// If it is empty, the check is not performed. + /// + [DataField("forbiddenComponents")] + public List BlacklistComponents = new(); +} diff --git a/Content.Shared/_Wega/ItemSelector/ItemSelectorUi.cs b/Content.Shared/_Wega/ItemSelector/ItemSelectorUi.cs new file mode 100644 index 0000000000..f979c3e8d6 --- /dev/null +++ b/Content.Shared/_Wega/ItemSelector/ItemSelectorUi.cs @@ -0,0 +1,34 @@ +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; + +namespace Content.Shared.Item.Selector.UI; + +[Serializable, NetSerializable] +public enum ItemSelectorUiKey : byte +{ + Key +} + +[Serializable, NetSerializable] +public sealed class ItemSelectorUserMessage : BoundUserInterfaceMessage +{ + public List Items; + + public ItemSelectorUserMessage(List items) + { + Items = items; + } +} + +[Serializable, NetSerializable] +public sealed class ItemSelectorSelectionMessage : BoundUserInterfaceMessage +{ + public NetEntity User; + public EntProtoId SelectedId; + + public ItemSelectorSelectionMessage(NetEntity user, EntProtoId selectedId) + { + User = user; + SelectedId = selectedId; + } +} diff --git a/Content.Shared/_Wega/Surgery/Components/ClothingSterilityComponent.cs b/Content.Shared/_Wega/Surgery/Components/ClothingSterilityComponent.cs new file mode 100644 index 0000000000..252b4105a5 --- /dev/null +++ b/Content.Shared/_Wega/Surgery/Components/ClothingSterilityComponent.cs @@ -0,0 +1,8 @@ +namespace Content.Shared.Surgery.Components; + +[RegisterComponent] +public sealed partial class ClothingSterilityComponent : Component +{ + [DataField("modifier")] + public float Modifier = 1f; +} diff --git a/Resources/Audio/_Wega/Ambience/Antag/bloodcult_eyes.ogg b/Resources/Audio/_Wega/Ambience/Antag/bloodcult_eyes.ogg new file mode 100644 index 0000000000..38c223b1ad Binary files /dev/null and b/Resources/Audio/_Wega/Ambience/Antag/bloodcult_eyes.ogg differ diff --git a/Resources/Audio/_Wega/Ambience/Antag/bloodcult_halos.ogg b/Resources/Audio/_Wega/Ambience/Antag/bloodcult_halos.ogg new file mode 100644 index 0000000000..bd22934fd3 Binary files /dev/null and b/Resources/Audio/_Wega/Ambience/Antag/bloodcult_halos.ogg differ diff --git a/Resources/Audio/_Wega/Ambience/Antag/bloodcult_scribe.ogg b/Resources/Audio/_Wega/Ambience/Antag/bloodcult_scribe.ogg new file mode 100644 index 0000000000..a01ef30a1d Binary files /dev/null and b/Resources/Audio/_Wega/Ambience/Antag/bloodcult_scribe.ogg differ diff --git a/Resources/Audio/_Wega/Ambience/Antag/bloodcult_start.ogg b/Resources/Audio/_Wega/Ambience/Antag/bloodcult_start.ogg new file mode 100644 index 0000000000..9fa22df51d Binary files /dev/null and b/Resources/Audio/_Wega/Ambience/Antag/bloodcult_start.ogg differ diff --git a/Resources/Audio/_Wega/Effects/Objects/tear_clothing1.ogg b/Resources/Audio/_Wega/Effects/Objects/tear_clothing1.ogg new file mode 100644 index 0000000000..08b4303b5e Binary files /dev/null and b/Resources/Audio/_Wega/Effects/Objects/tear_clothing1.ogg differ diff --git a/Resources/Audio/_Wega/Effects/Objects/tear_clothing2.ogg b/Resources/Audio/_Wega/Effects/Objects/tear_clothing2.ogg new file mode 100644 index 0000000000..5652f2d476 Binary files /dev/null and b/Resources/Audio/_Wega/Effects/Objects/tear_clothing2.ogg differ diff --git a/Resources/Audio/_Wega/Effects/anvil.ogg b/Resources/Audio/_Wega/Effects/anvil.ogg new file mode 100644 index 0000000000..a9ae1ccfb2 Binary files /dev/null and b/Resources/Audio/_Wega/Effects/anvil.ogg differ diff --git a/Resources/Locale/ru-RU/_wega/bloodcult/bloodcult.ftl b/Resources/Locale/ru-RU/_wega/bloodcult/bloodcult.ftl new file mode 100644 index 0000000000..1e50c36dc8 --- /dev/null +++ b/Resources/Locale/ru-RU/_wega/bloodcult/bloodcult.ftl @@ -0,0 +1,96 @@ +# UI +select-constuct-juggernaut = Джаггернаут +select-constuct-wraith = Фантом +select-constuct-artificer = Созидатель +select-constuct-proteon = Пилон + +select-spell-stun = Ошеломление +select-spell-teleport = Телепорт +select-spell-electromagnetic-pulse = Электромагнитный Испульс +select-spell-shadow-shackles = Теневые Оковы +select-spell-twisted-construction = Искаженное Строительство +select-spell-summon-equipment = Призыв Снаряжения +select-spell-summon-dagger = Призыв Кинжала +select-spell-hallucinations = Галлюцинации +select-spell-conceal-presence = Маскировка Присутствия +select-spell-blood-rites = Кровавый Обряд + +select-blood-orb = Кровавая Сфера +select-blood-recharge = Кровавая Перезарядка +select-blood-spear = Кровавое Копье +select-blood-bolt-barrage = Кровавый Шквал Болтов + +runes-ui-default-title = Руны +offering-rune = Руна Предложения +teleport-rune = Руна Телепорта +empowering-rune = Руна Усиления +revive-rune = Руна Возрождения +barrier-rune = Руна Барьера +summoning-rune = Руна Призыва +bloodboil-rune = Руна Вскипания Крови +spiritrealm-rune = Руна Царства Духов +ritual-dimensional-rending-rune = Ритуал Разрыва Измерений + +# System +blood-cult-first-warning = Ваши глаза начали полыхать заревом крови +blood-cult-second-warning = Кровавая пентаграмма образуется над вами, это знак к действию +blood-cult-targets-no-select = Цели ещё не определены... +blood-cult-ritual-completed-next-objective = Ритуал завершён. Приступайте к следующей цели — призыв Нар-Си +blood-cult-objective-complete = Цель выполнена! Слава Нар-Си! +blood-cult-current-targets = Текущие жертвы: { $targets }. Принесите их в жертву, чтобы достичь своей цели. +blood-cult-no-valid-targets = Нет доступных целей для выполнения задачи... +blood-dagger-failed-interact = кинжал выскальзывает из вашей руки порезав ее +blood-sharpener-success = точило обратилось в прах +blood-sharpener-failed = кинжал уже был заточен +blood-cult-failed-attack = вы не можете навредить членам культа +stone-soul-empty = камень души пустой +stone-soul-already-summoned = душа уже была призвана +stone-soul-summoned = душа призвана +stone-soul-retracted = душа возвратилось в камень +blood-curse-failed = кровавое проклятие не удалось +blood-veil-shifter-failed = ничего не произошло +blood-construct-no-mind = камень души пустой +blood-construct-failed = конструкт пустой +blood-construct-succses = конструкт призван +blood-structure-failed = взаимодействие будет возможно через { $time } секунд + +cult-commune-title = Общение +cult-commune-massage = { $name }: { $massage } +blood-cult-dagger-not-found = кинжала не существует +blood-cult-dagger-recalled = кинжал образуется перед вами +blood-cult-blood-dagger-exists = вы уже имеете кинжал +blood-orb-dialog-title = Передача крови +blood-orb-dialog-prompt = Количество +blood-orb-invalid-input = Невозможное значение, укажите числовое значение, которое хотите передать +blood-orb-not-enough-blood = У вас не достаточно собранной крови +blood-orb-success = Вы выделили { $amount } единиц крови +blood-orb-absorbed = сфера растекается в лужу крови и поглащается +blood-cult-spear-failed = недостаточно крови для призыва копья +cult-spear-not-found = кровавого копья не существует +cult-spear-too-far = расстояние до копья слишком велико +cult-spear-recalled = копье образуется перед вами +blood-cult-bolt-barrage-failed = недостаточно крови для призыва... +blood-cult-shadow-shackles-failed = ничего не произошло +blood-cult-twisted-failed = ничего не произошло +blood-cult-blood-rites-failed = ничего не произошло +blood-cult-spell-failed = ничего не произошло + +rune-ritual-failed = ритуал не может быть начат +rune-select-complete = надрезав свою руку вы начертали руну +ritual-activate-too-soon = РИТУАЛ МОЖНО БУДЕТ НАЧАТЬ ПОВТОРНО ЧЕРЕЗ { $time } СЕКУНД +ritual-activate-failed = НЕВОЗМОЖНО НАЧАТЬ РИТУАЛ +rune-activate-failed = невозможно активировать руну +blood-ritual-warning = Образы древнего богоподобного существа соединяюстя воедино { $location }. Прервите ритуал любой целой, пока станция не была уничтожена! +blood-ritual-activate-warning = Был обнаружен сдвиг пространства { $location }. Прекратите распространение всеми доступными средствами. Ожидаемое расширение через 45 секунд. +ritual-failed = РИТУАЛ ПРОВАЛИ + +blood-cultist-offering-message = Mah'weyh pleggh at e'ntrath! +blood-cultist-teleport-message = Sas'so c'arta forbici! +blood-cultist-empowering-message = H'drak v'loso, mir'kanas verbot! +blood-cultist-revive-message = Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat! +blood-cultist-barrier-message = Khari'd! Eske'te tannin! +blood-cultist-summoning-message = N'ath reth sh'yro eth d'rekkathnor! +blood-cultist-bloodboil-message = Dedo ol'btoh! +blood-cultist-spiritrealm-message = Gal'h'rfikk harfrandid mud'gib! +blood-cultist-ritual-message = TOK-LYR RQA-NAP G'OLT-ULOFT! +blood-cultist-default-message = Durn'koth ya'riska thol'mar! diff --git a/Resources/Locale/ru-RU/_wega/clothing/clothing.ftl b/Resources/Locale/ru-RU/_wega/clothing/clothing.ftl new file mode 100644 index 0000000000..3d9a14c73d --- /dev/null +++ b/Resources/Locale/ru-RU/_wega/clothing/clothing.ftl @@ -0,0 +1,7 @@ +toggleable-clothing-verb-toggle = Изменить вид +toggleable-clothing-verb-reset = Вернуть исходный вид + +tearable-clothing-verb-tear = Порвать одежду +tearable-clothing-too-weakness = Вы слишком слабы, чтобы сделать это +tearable-clothing-try-tear = {$user} пытается порвать {$clothing}! +tearable-clothing-successed = Вы разорвали {$clothing} \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_wega/dirt/dirt.ftl b/Resources/Locale/ru-RU/_wega/dirt/dirt.ftl new file mode 100644 index 0000000000..50b4e0c519 --- /dev/null +++ b/Resources/Locale/ru-RU/_wega/dirt/dirt.ftl @@ -0,0 +1,7 @@ +dirt-examined-message = [color={$color}]Загрязняно на {$percentage}% ({$level})[/color] +dirt-examined-level-low = слабое +dirt-examined-level-medium = среднее +dirt-examined-level-high = сильное +washing-machine-verb-start = Начать стирку +shower-verb-start = Включить +shower-verb-stop = Выключить diff --git a/Resources/Locale/ru-RU/_wega/game-ticking/game-presets/preset-blood-cult.ftl b/Resources/Locale/ru-RU/_wega/game-ticking/game-presets/preset-blood-cult.ftl new file mode 100644 index 0000000000..a0366b6940 --- /dev/null +++ b/Resources/Locale/ru-RU/_wega/game-ticking/game-presets/preset-blood-cult.ftl @@ -0,0 +1,36 @@ +blood-cult-title = Культ крови +blood-cult-description = Верные последователи крови среди нас... + +blood-cult-role-greeting-human = + Вы — Культист Крови! + Вы — часть тёмного культа, что служит Геометриви Крови, { $god }. + Ваша цель — призвать аватар и привести культ к победе. + В ваших руках ритуальный кинжал и руны для создания страшных структур. Жертвы должны быть принесены в дар высокопоставленные члены экипажа или охраны. + Призовите божество в укромном месте с помощью 9 культистов и ритуала. + Только так вы обеспечите победу! +blood-cult-role-greeting-animal = Вы — Существо Крови! Вы — часть тени, служите Геометрии Крови, { $god }. Помогите своим братьям в призыве и принесении жертв. + +current-god-narsie = Нар'Си +current-god-reaper = Жнецу +current-god-kharin = Кха'Рину + +blood-cult-break-control = + Туман перед глазами { $name } рассеялся, { GENDER($name) -> + [male] он приходит в себя. + [female] она приходит в себя. + [epicene] они приходят в себя. + *[neuter] оно приходит в себя. + } + +blood-cult-godcalled = [color=crimson]Победа Культа Крови[/color] +blood-cult-ritualconducted = [color=blue]Малая победа Культа Крови[/color] +blood-cult-neutral = [color=yellow]Ничейный исход[/color] +blood-cult-cultlose = [color=grey]Поражение Культа Крови[/color] + +blood-cult-cond-godcalled = Божество Крови было призвано, его тёмная сила охватила станцию! +blood-cult-cond-ritualconducted = Ритуал не был завершён, Культ Крови только собрал силу, чтобы призвать Божество Крови! +blood-cult-cond-neutral = Цели не выполнены, Культ Крови ничего не достиг. +blood-cult-cond-cultlose = Культ Крови потерпел поражение, жертвы не были принесены, и Божество Крови не явилось. + +blood-cultist-list-start = Культистами были: +blood-cultist-list-name-user = - [color=White]{ $name }[/color] ([color=gray]{ $user }[/color]) diff --git a/Resources/Locale/ru-RU/_wega/materials/materials.ftl b/Resources/Locale/ru-RU/_wega/materials/materials.ftl new file mode 100644 index 0000000000..d41f68aaa5 --- /dev/null +++ b/Resources/Locale/ru-RU/_wega/materials/materials.ftl @@ -0,0 +1 @@ +materials-runemetal = рунический метал diff --git a/Resources/Locale/ru-RU/_wega/stack/stacks.ftl b/Resources/Locale/ru-RU/_wega/stack/stacks.ftl new file mode 100644 index 0000000000..e7280d47ce --- /dev/null +++ b/Resources/Locale/ru-RU/_wega/stack/stacks.ftl @@ -0,0 +1,27 @@ +stack-runemetal = + { $amount -> + [1] лист + [few] листа + *[other] листов + } рунической стали +stack-capacitor = + { $amount -> + [1] конденсатор + [few] конденсатора + *[other] конденсаторов + } +stack-matter-bin = + { $amount -> + [1] ёмкость материи + [few] ёмкостей материи + *[other] ёмкостей материи + } +stack-sepia-floor = стальная светлая плитка + +stack-tyriumpack = пакет тириума +stack-tourniquet = + { $amount -> + [1] турникет + [few] турникета + *[other] турникетов + } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/actions/bloodcult.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/actions/bloodcult.ftl new file mode 100644 index 0000000000..ee8ae2bc91 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/actions/bloodcult.ftl @@ -0,0 +1,53 @@ +# Basic +ent-ActionBloodCultObjective = [color=red]Цель[/color] + .desc = Показывает текущую цель культа. +ent-ActionBloodCultComms = [color=red]Общение[/color] + .desc = Позволяет разговаривать со своими собратьями. +ent-ActionBloodMagic = [color=red]Магия крови[/color] + .desc = Вызывайте способности своей кровью. +ent-ActionRecallBloodDagger = [color=red]Вернуть кинжал[/color] + .desc = Если он существует, он обязательно вернется к вам. + +# Blood Magic +ent-ActionBloodCultStun = [color=red]Ошеломление[/color] + .desc = Мощное заклинание, которое вырубит и обеззвучит жертв при контакте. Простое, чистое и весьма эффективное средство для множества ситуаций. +ent-ActionBloodCultTeleport = [color=red]Телепорт[/color] + .desc = Телепортирует цель на случайную руну телепорта. +ent-ActionBloodCultElectromagneticPulse = [color=red]Электромагнитный импульс[/color] + .desc = Вызовет ЭМИ импульс поражающий всех кроме культистов. +ent-ActionBloodCultShadowShackles = [color=red]Теневые оковы[/color] + .desc = Применение закует жертву в оковы. +ent-ActionBloodCultTwistedConstruction = [color=red]Искаженное строительство[/color] + .desc = Зловещее заклинание, используемое для преобразования. +ent-ActionBloodCultSummonEquipment = [color=red]Призыв снаряжения[/color] + .desc = Это заклинание позволяет вам призвать для себя или другого культиста полный комплект боевого снаряжения. +ent-ActionBloodCultSummonDagger = [color=red]Призыв кинжала[/color] + .desc = Призовите ваш личный ритуальный кинжал. +ent-ActionBloodCultHallucinations = [color=red]Галлюцинации[/color] + .desc = Заклинание полезное для скрытности, которое разрушит сознание жертвы кошмарными галлюцинациями. Весёлое для жертв, редко полезное на практике. +ent-ActionBloodCultConcealPresence = [color=red]Маскировка присутствия[/color] + .desc = Многофункциональное заклинание, которое чередуется между сокрытием и раскрытием поблизости рун и культистских сооружений. +ent-ActionBloodCultBloodRites = [color=red]Кровавый обряд[/color] + .desc = Уникальное заклинание для сбора крови или лечения союзников. Также используется для создания мощного оружия, такого как кровавое копьё, или активации атакующих способностей. +ent-ActionBloodCultOrb = [color=red]Кровавая сфера[/color] + .desc = Способность позволяющая передать кровь другому культисту. +ent-ActionBloodCultRecharge = [color=red]Кровавая перезарядка[/color] + .desc = Способность позволяющая перезарядить магическое снаряжение. +ent-ActionBloodCultSpear = [color=red]Кровавое копье[/color] + .desc = Способность позволяющая призвать кровавое копье. +ent-RecallBloodCultSpear = [color=red]Вернуть копье[/color] + .desc = Способность позволяющая призвать кровавое копье. +ent-ActionBloodCultBoltBarrage = [color=red]Кровавое шквал болтов[/color] + .desc = Способность позволяющая призвать кровавое копье. + +# Construct +ent-TeleportConstructSpell = Бестелестность + .desc = Способность позволяющая пройти сквозь видимое и невидимое. +ent-WallBuildConstructSpell = Построить стену + .desc = Возвести стену. +ent-ConstructBuildConstructSpell = Построить конструкт + .desc = Возвести конструкт. +ent-SoulStoneConstructSpell = Создать камень души + .desc = Призывает пустой камень души. +ent-CloneConstructSpell = Призвать жнеца + .desc = Призывает вашу точную копию. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/effects/bloodcult.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/effects/bloodcult.ftl new file mode 100644 index 0000000000..a3d140bafa --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/effects/bloodcult.ftl @@ -0,0 +1 @@ +ent-BloodCultOrb = кровавая сфера diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/mobs/player/bloodcult.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/mobs/player/bloodcult.ftl new file mode 100644 index 0000000000..aa8a006f1d --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/mobs/player/bloodcult.ftl @@ -0,0 +1,14 @@ +ent-MobObserverIfrit = ифрит + .desc = ??? +ent-MobBanshee = банши + .desc = Жуткий призрак. +ent-MobConstructJuggernaut = джаггернаут + .desc = Ужасное, нечестивое создание, порождение самого дьявола! +ent-MobConstructWraith = Фантом + .desc = { ent-MobConstructJuggernaut.desc } +ent-MobConstructArtificer = Созидатель + .desc = { ent-MobConstructJuggernaut.desc } +ent-MobConstructHarvester = Жнец + .desc = { ent-MobConstructJuggernaut.desc } +ent-MobConstructProteon = Протеон + .desc = { ent-MobConstructJuggernaut.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/structures/specific/bloodcult.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/structures/specific/bloodcult.ftl new file mode 100644 index 0000000000..09a66c357b --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/structures/specific/bloodcult.ftl @@ -0,0 +1,25 @@ +ent-BaseBloodRune = руна +ent-BloodRuneOffering = { ent-BaseBloodRune } +ent-BloodRuneTeleport = { ent-BaseBloodRune } +ent-BloodRuneEmpowering = { ent-BaseBloodRune } +ent-BloodRuneRevive = { ent-BaseBloodRune } +ent-BloodRuneBarrier = { ent-BaseBloodRune } +ent-BloodRuneSummoning = { ent-BaseBloodRune } +ent-BloodRuneBloodBoil = { ent-BaseBloodRune } +ent-BloodRuneSpiritealm = { ent-BaseBloodRune } +ent-BloodRuneRitualDimensionalRending = { ent-BaseBloodRune } +ent-BloodCultConstruct = конструкт + .desc = Cтранная парящая в воздухе конструкция. + .suffix = НЕ МАППИТЬ +ent-BloodCultStructureArchives = архивы + .desc = Письменный стол, покрытый загадочными рукописями и томами на неизвестных языках. Глядя на текст, проходят мурашки. + .suffix = НЕ МАППИТЬ +ent-BloodCultStructureAltar = алтарь крови + .desc = Алтарь некой богини. + .suffix = НЕ МАППИТЬ +ent-BloodCultStructureForge = кузница душ + .desc = Оккультная кузня. Здесь творят не только зло, но и снаряжения зла. + .suffix = НЕ МАППИТЬ +ent-BloodCultStructurePylon = пилон + .desc = Таинственное лицо смотрит на вас. + .suffix = НЕ МАППИТЬ diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/roles/antags/bloodcultist.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/roles/antags/bloodcultist.ftl new file mode 100644 index 0000000000..e69162b1f4 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/roles/antags/bloodcultist.ftl @@ -0,0 +1,2 @@ +roles-antag-blood-cultist-name = Культист крови +roles-antag-blood-cultist-objective = Выполните обряд и призовите божество. diff --git a/Resources/Prototypes/_Wega/Actions/bloodcult.yml b/Resources/Prototypes/_Wega/Actions/bloodcult.yml new file mode 100644 index 0000000000..f82ce8fa09 --- /dev/null +++ b/Resources/Prototypes/_Wega/Actions/bloodcult.yml @@ -0,0 +1,368 @@ +# Basic +- type: entity + id: ActionBloodCultObjective + parent: BaseAction + name: "[color=red]Objective[/color]" + description: "Shows the current purpose of the cult." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "vote" } + useDelay: 5 + - type: InstantAction + event: !type:BloodCultObjectiveActionEvent + +- type: entity + id: ActionBloodCultComms + parent: BaseAction + name: "[color=red]Communication[/color]" + description: "Allows you to talk to your fellow humans." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "comms" } + checkCanInteract: false + useDelay: 5 + - type: InstantAction + event: !type:BloodCultCommuneActionEvent + +- type: entity + id: ActionBloodMagic + parent: BaseAction + name: "[color=red]Blood magic[/color]" + description: "Summon abilities with your blood." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "blood_magic" } + useDelay: 15 + priority: 1 + - type: InstantAction + event: !type:BloodCultBloodMagicActionEvent + +- type: entity + id: ActionRecallBloodDagger + parent: BaseAction + name: "[color=red]Recall dagger[/color]" + description: "If it exists, it will definitely come back to you." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "recall_dagger" } + useDelay: 5 + - type: InstantAction + event: !type:RecallBloodDaggerEvent + +# Blood Magic +- type: entity + id: ActionBloodCultStun + parent: BaseAction + name: "[color=red]Stun[/color]" + description: "A powerful spell that will knock out and deafen victims upon contact. A simple, clean and very effective tool for a variety of situations." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "stun" } + useDelay: 5 + - type: LimitedCharges + maxCharges: 1 + - type: InstantAction + event: !type:BloodCultStunActionEvent + +- type: entity + id: ActionBloodCultTeleport + parent: BaseAction + name: "[color=red]Teleport[/color]" + description: "Teleports the target to a random teleport rune." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "teleport" } + useDelay: 5 + - type: LimitedCharges + maxCharges: 1 + - type: InstantAction + event: !type:BloodCultTeleportActionEvent + +- type: entity + id: ActionBloodCultElectromagneticPulse + parent: BaseAction + name: "[color=red]Electromagnetic Pulse[/color]" + description: "It will trigger an EMP pulse that affects everyone except the cultists." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "electromagneticpulse" } + useDelay: 5 + - type: LimitedCharges + maxCharges: 1 + - type: InstantAction + event: !type:BloodCultElectromagneticPulseActionEvent + +- type: entity + id: ActionBloodCultShadowShackles + parent: BaseAction + name: "[color=red]Shadow Shackles[/color]" + description: "The use will put the victim in chains." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "shadowshackles" } + useDelay: 20 + - type: LimitedCharges + maxCharges: 4 + - type: InstantAction + event: !type:BloodCultShadowShacklesActionEvent + +- type: entity + id: ActionBloodCultTwistedConstruction + parent: BaseAction + name: "[color=red]Twisted Construction[/color]" + description: "A sinister spell used to transform." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "twistedconstruction" } + useDelay: 5 + - type: LimitedCharges + maxCharges: 1 + - type: InstantAction + event: !type:BloodCultTwistedConstructionActionEvent + +- type: entity + id: ActionBloodCultSummonEquipment + parent: BaseAction + name: "[color=red]Summon Equipment[/color]" + description: "A sinister spell used to transform." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "summonequipment" } + useDelay: 5 + - type: LimitedCharges + maxCharges: 1 + - type: InstantAction + event: !type:BloodCultSummonEquipmentActionEvent + +- type: entity + id: ActionBloodCultSummonDagger + parent: BaseAction + name: "[color=red]Summon Dagger[/color]" + description: "" + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "dagger" } + useDelay: 5 + - type: LimitedCharges + maxCharges: 1 + - type: InstantAction + event: !type:BloodCultSummonDaggerActionEvent + +- type: entity + id: ActionBloodCultHallucinations + parent: BaseAction + name: "[color=red]Hallucinations[/color]" + description: "A spell useful for stealth that will destroy the victim's consciousness with nightmarish hallucinations. Fun for victims, rarely useful in practice." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "hallucinations" } + itemIconStyle: BigAction + useDelay: 20 + - type: TargetAction + range: 6 + - type: LimitedCharges + maxCharges: 4 + - type: EntityTargetAction + event: !type:BloodCultHallucinationsActionEvent + +- type: entity + id: ActionBloodCultConcealPresence + parent: BaseAction + name: "[color=red]Conceal Presence[/color]" + description: "A multifunctional spell that alternates between hiding and revealing nearby runes and cultist structures." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "concealpresence" } + useDelay: 5 + - type: LimitedCharges + maxCharges: 10 + - type: InstantAction + event: !type:BloodCultConcealPresenceActionEvent + +- type: entity + id: ActionBloodCultBloodRites + parent: BaseAction + name: "[color=red]Blood rites[/color]" + description: "A unique spell for collecting blood or healing allies. It is also used to create powerful weapons such as the Blood Spear, or to activate attacking abilities." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "blood_rites" } + useDelay: 15 + - type: InstantAction + event: !type:BloodCultBloodRitesActionEvent + +# Blood Rites +- type: entity + id: ActionBloodCultOrb + parent: BaseAction + name: "[color=red]Blood orb[/color]" + description: "An ability that allows you to transfer blood to another cultist." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "orb" } + useDelay: 5 + - type: InstantAction + event: !type:BloodCultBloodOrbActionEvent + +- type: entity + id: ActionBloodCultRecharge + parent: BaseAction + name: "[color=red]Blood recharge[/color]" + description: "An ability that allows you to recharge magical equipment." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "recharge" } + itemIconStyle: BigAction + useDelay: 5 + - type: TargetAction + - type: EntityTargetAction + event: !type:BloodCultBloodRechargeActionEvent + +- type: entity + id: ActionBloodCultSpear + parent: BaseAction + name: "[color=red]Blood spear[/color]" + description: "An ability that allows you to summon a blood spear." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "spear" } + useDelay: 5 + - type: InstantAction + event: !type:BloodCultBloodSpearActionEvent + +- type: entity + id: RecallBloodCultSpear + parent: BaseAction + name: "[color=red]Recall spear[/color]" + description: "Returns the spear to his hands if it is nearby." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "recall_spear" } + useDelay: 5 + - type: InstantAction + event: !type:RecallBloodSpearEvent + +- type: entity + id: ActionBloodCultBoltBarrage + parent: BaseAction + name: "[color=red]Blood barrage[/color]" + description: "" + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "barrage" } + useDelay: 5 + - type: InstantAction + event: !type:BloodCultBloodBoltBarrageActionEvent + +# Construct +- type: entity + id: TeleportConstructSpell + parent: BaseAction + name: Disembodied + description: "An ability that allows you to descri pass through the visible and invisible." + categories: [ HideSpawnMenu ] + components: + - type: Action + useDelay: 20 + itemIconStyle: BigAction + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "wraith_teleport" } + - type: TargetAction + range: 100 + - type: WorldTargetAction + event: !type:TeleportSpellEvent + +- type: entity + id: WallBuildConstructSpell + parent: BaseAction + name: Build wall + description: "Build a wall." + components: + - type: Action + icon: { sprite: Structures/Walls/cult.rsi, state: "full" } + itemIconStyle: BigAction + useDelay: 60 + - type: TargetAction + checkCanAccess: false + range: 3 + - type: WorldTargetAction + event: !type:WorldSpawnSpellEvent + prototypes: + - id: WallCult + amount: 1 + +- type: entity + id: ConstructBuildConstructSpell + parent: BaseAction + name: Build construct + description: "Build a construct." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Structures/Specific/bloodcult_structures.rsi, state: "construct-cult" } + itemIconStyle: BigAction + useDelay: 180 + - type: TargetAction + range: 3 + - type: WorldTargetAction + event: !type:WorldSpawnSpellEvent + prototypes: + - id: BloodCultConstruct + amount: 1 + +- type: entity + id: SoulStoneConstructSpell + parent: BaseAction + name: Create soul stone + description: "Summons an empty soul stone." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Objects/Specific/BloodCult/stone.rsi, state: "stone" } + itemIconStyle: BigAction + useDelay: 300 + - type: TargetAction + range: 3 + - type: WorldTargetAction + event: !type:WorldSpawnSpellEvent + prototypes: + - id: BloodCultSoulStone + amount: 1 + +- type: entity + id: CloneConstructSpell + parent: BaseAction + name: Summoning harvester + description: "Summons your exact copy." + categories: [ HideSpawnMenu ] + components: + - type: Action + icon: { sprite: _Wega/Interface/Actions/actions_bloodcult.rsi, state: "harvester_clone" } + itemIconStyle: BigAction + startDelay: true + useDelay: 60 + - type: TargetAction + range: 9 + - type: WorldTargetAction + event: !type:WorldSpawnSpellEvent + prototypes: + - id: MobConstructHarvester + amount: 1 diff --git a/Resources/Prototypes/_Wega/Damage/containers.yml b/Resources/Prototypes/_Wega/Damage/containers.yml new file mode 100644 index 0000000000..30117437d3 --- /dev/null +++ b/Resources/Prototypes/_Wega/Damage/containers.yml @@ -0,0 +1,4 @@ +- type: damageContainer + id: Clothing + supportedTypes: + - Slash diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Back/backpacks.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Back/backpacks.yml new file mode 100644 index 0000000000..af7b964740 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Back/backpacks.yml @@ -0,0 +1,26 @@ +- type: entity + parent: ClothingBackpack + id: ClothingBackpackBlueShield + name: officer backpack "Blue Shield" + description: It looks like a military development, although the coloring is unusual. A very stylish and practical backpack. + components: + - type: Sprite + sprite: _Wega/Clothing/Back/Backpacks/blueshield.rsi + +- type: entity + parent: ClothingBackpack + id: ClothingBackpackPostman + name: postman backpack + description: "The postman's backpack is designed in deep blue, and its durable fabric can withstand any weather." + components: + - type: Sprite + sprite: _Wega/Clothing/Back/Backpacks/postman.rsi + +- type: entity + parent: ClothingBackpack + id: ClothingBackpackBloodCult + name: trophy rack + description: A special backpack for storing trophies. + components: + - type: Sprite + sprite: _Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Back/duffel.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Back/duffel.yml new file mode 100644 index 0000000000..d33b354bda --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Back/duffel.yml @@ -0,0 +1,17 @@ +- type: entity + parent: ClothingBackpackDuffel + id: ClothingBackpackDuffelBlueShield + name: officer duffel bag "Blue Shield" + description: It looks like a military development, although the coloring is unusual. A very stylish and practical duffel bag. It does not hinder movements, despite its size. + components: + - type: Sprite + sprite: _Wega/Clothing/Back/Duffels/blueshield.rsi + +- type: entity + parent: ClothingBackpackDuffel + id: ClothingDuffelPostman + name: postman duffel bag + description: "A large canvas bag keeps all your parcels safe on the road." + components: + - type: Sprite + sprite: _Wega/Clothing/Back/Duffels/postman.rsi diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Back/satchel.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Back/satchel.yml new file mode 100644 index 0000000000..042c75757e --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Back/satchel.yml @@ -0,0 +1,17 @@ +- type: entity + parent: ClothingBackpackSatchel + id: ClothingBackpackSatchelBlueShield + name: officer satchel "Blue Shield" + description: It looks like a military development, although the coloring is unusual. A very stylish and practical bag. + components: + - type: Sprite + sprite: _Wega/Clothing/Back/Satchels/blueshield.rsi + +- type: entity + parent: ClothingBackpackSatchel + id: ClothingBackpackSatchelPostman + name: postman satchel + description: "The night sky-colored shoulder bag is made of durable canvas for everyday use." + components: + - type: Sprite + sprite: _Wega/Clothing/Back/Satchels/postman.rsi diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Hands/gloves.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Hands/gloves.yml new file mode 100644 index 0000000000..d2404b8d45 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Hands/gloves.yml @@ -0,0 +1,27 @@ +- type: entity + parent: ClothingHandsButcherable + id: ClothingHandsGlovesLatexSurgeon + name: latex gloves + description: Thin sterile latex gloves. Basic PPE for any doctor. + components: + - type: Sprite + sprite: _Wega/Clothing/Hands/Gloves/latex_surgeon.rsi + - type: Clothing + sprite: _Wega/Clothing/Hands/Gloves/latex_surgeon.rsi + - type: DiseaseProtection # Corvax-Wega-Disease + protection: 0.1 # Corvax-Wega-Disease + - type: Fiber + fiberMaterial: fibers-latex + - type: FingerprintMask + - type: ClothingSterility # Corvax-Wega-Surgery + +- type: entity + parent: ClothingHandsGlovesCombat + id: ClothingHandsGlovesCombatBlueShield + name: purple combat gloves + description: These tactical gloves are fireproof and impact resistant. Unlike simple combat gloves, they have a purple hue. + components: + - type: Sprite + sprite: _Wega/Clothing/Hands/Gloves/combatblueshield.rsi + - type: Clothing + sprite: _Wega/Clothing/Hands/Gloves/combatblueshield.rsi diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Head/base_clothinghead.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Head/base_clothinghead.yml new file mode 100644 index 0000000000..fbc04178f6 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Head/base_clothinghead.yml @@ -0,0 +1,44 @@ +- type: entity + abstract: true + id: ClothingHeadDamageableBase + components: + - type: TearableClothing + - type: Damageable + damageContainer: Clothing + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 17 # 1 saber strikes + behaviors: + - !type:PlaySoundBehavior + sound: + collection: TearClothing + - !type:EmptyContainersBehaviour + containers: + - storagebase + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + MaterialCloth1: + min: 1 + max: 1 + +- type: entity + abstract: true + id: ClothingHeadBaseBeret + parent: ClothingHeadBase + components: + - type: Dirtable + dirtState: beret + equippedDirtState: equipped-beret + +- type: entity + abstract: true + id: ClothingHeadBaseSurgcap + parent: ClothingHeadBase + components: + - type: Dirtable + dirtState: surgcap + equippedDirtState: equipped-surgcap diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Head/hats.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Head/hats.yml new file mode 100644 index 0000000000..bf64532c0b --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Head/hats.yml @@ -0,0 +1,10 @@ +- type: entity + parent: ClothingHeadBaseBeret + id: ClothingHeadHatBeretBlueShield + name: officer beret "Blue Shield" + description: The gold embroidery of the shield is visible on the beret and looks solid. It is given to the best bodyguards of the best as a sign of distinctive qualities. + components: + - type: Sprite + sprite: _Wega/Clothing/Head/Hats/beret_blueshield.rsi + - type: Clothing + sprite: _Wega/Clothing/Head/Hats/beret_blueshield.rsi diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Head/hoods.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Head/hoods.yml new file mode 100644 index 0000000000..08bad6a5e9 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Head/hoods.yml @@ -0,0 +1,32 @@ +- type: entity + parent: ClothingHeadHatHoodWinterBase + id: ClothingHeadHatHoodWinterBlueShield + categories: [ HideSpawnMenu ] + name: blue shield winter coat hood + components: + - type: Sprite + sprite: _Wega/Clothing/Head/Hoods/Coat/hoodblueshield.rsi + - type: Clothing + sprite: _Wega/Clothing/Head/Hoods/Coat/hoodblueshield.rsi + +- type: entity + parent: ClothingHeadHatHoodWinterBase + id: ClothingHeadHatHoodPostman + categories: [ HideSpawnMenu ] + name: postman coat hood + components: + - type: Sprite + sprite: _Wega/Clothing/Head/Hoods/Coat/postmanhood.rsi + - type: Clothing + sprite: _Wega/Clothing/Head/Hoods/Coat/postmanhood.rsi + +- type: entity + parent: ClothingHeadHatHoodWinterBase + id: ClothingHeadHatHoodCultrobesAlt + categories: [ HideSpawnMenu ] + name: hood cult + components: + - type: Sprite + sprite: _Wega/Clothing/Head/Hoods/Coat/cult_hoodalt.rsi + - type: Clothing + sprite: _Wega/Clothing/Head/Hoods/Coat/cult_hoodalt.rsi diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Head/soft.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Head/soft.yml new file mode 100644 index 0000000000..4840f4dd37 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Head/soft.yml @@ -0,0 +1,15 @@ +- type: entity + parent: ClothingHeadHeadHatBaseFlippable + id: ClothingHeadHatPostmansoft + name: postman cap + description: A classic cap with a thickened visor, the main element of the uniform style. + components: + - type: Sprite + sprite: _Wega/Clothing/Head/Soft/postmansoft.rsi + - type: Clothing + sprite: _Wega/Clothing/Head/Soft/postmansoft.rsi + +- type: entity + parent: [ClothingHeadHeadHatBaseFlipped, ClothingHeadHatPostmansoft] + id: ClothingHeadHatPostmansoftFlipped + name: postman cap diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/OuterClothing/armor.yml b/Resources/Prototypes/_Wega/Entities/Clothing/OuterClothing/armor.yml new file mode 100644 index 0000000000..fb696fee86 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/OuterClothing/armor.yml @@ -0,0 +1,23 @@ +- type: entity + parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing] + id: ClothingOuterArmorBlueShield + name: officer bulletproof "Blue Shield" + description: A standard armored breastplate that provides protection and at the same time a certain mobility. The blue and white Blue Shield emblem is on the chest. + components: + - type: Sprite + sprite: _Wega/Clothing/OuterClothing/Armor/blueshield.rsi + - type: Clothing + sprite: _Wega/Clothing/OuterClothing/Armor/blueshield.rsi + - type: Armor + modifiers: + coefficients: + Blunt: 0.5 + Slash: 0.5 + Piercing: 0.6 + Heat: 0.5 + - type: ExplosionResistance + damageCoefficient: 0.65 + - type: ClothingSpeedModifier + walkModifier: 1.0 + sprintModifier: 1.0 + - type: HeldSpeedModifier diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/OuterClothing/coats.yml b/Resources/Prototypes/_Wega/Entities/Clothing/OuterClothing/coats.yml new file mode 100644 index 0000000000..6fcd78bffd --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/OuterClothing/coats.yml @@ -0,0 +1,34 @@ +- type: entity + parent: ClothingOuterStorageBase + id: ClothingOuterCoatPostman + name: postman coat + description: "A short, windproof coat that provides reliable protection from the elements." + components: + - type: Sprite + sprite: _Wega/Clothing/OuterClothing/Coats/postman.rsi + - type: Clothing + sprite: _Wega/Clothing/OuterClothing/Coats/postman.rsi + - type: ToggleableClothing + clothingPrototype: ClothingHeadHatHoodPostman + +- type: entity + parent: ClothingOuterStorageBase + id: ClothingOuterCultRobesAlt + name: cult robe + description: "A set of robes worn by followers of the blood cult. Put on your hood and remove your ID card to hide your identity." + components: + - type: Sprite + sprite: _Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi + - type: Clothing + sprite: _Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi + - type: ToggleableClothing + clothingPrototype: ClothingHeadHatHoodCultrobesAlt + - type: Armor + modifiers: + coefficients: + Blunt: 0.7 + Slash: 0.7 + Piercing: 0.7 + Heat: 0.8 + - type: ExplosionResistance + damageCoefficient: 0.9 diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/OuterClothing/wintercoats.yml b/Resources/Prototypes/_Wega/Entities/Clothing/OuterClothing/wintercoats.yml new file mode 100644 index 0000000000..839214fa9a --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/OuterClothing/wintercoats.yml @@ -0,0 +1,22 @@ +- type: entity + parent: [AllowSuitStorageClothing, ClothingOuterWinterCoatToggleable] + id: ClothingOuterWinterBlueShield + name: officer "Blue Shield" armored winter coat + description: Insulated armor winter coat with a minimalistic design made of durable material. + components: + - type: Armor + modifiers: + coefficients: + Blunt: 0.6 + Slash: 0.6 + Piercing: 0.6 + Heat: 0.6 + Caustic: 0.75 + - type: ExplosionResistance + damageCoefficient: 0.9 + - type: Sprite + sprite: _Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi + - type: Clothing + sprite: _Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi + - type: ToggleableClothing + clothingPrototype: ClothingHeadHatHoodWinterBlueShield diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Shoes/boots.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Shoes/boots.yml new file mode 100644 index 0000000000..d3e3138ea4 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Shoes/boots.yml @@ -0,0 +1,8 @@ +- type: entity + parent: ClothingShoesBootsJack + id: ClothingShoesBootsJackBlue + components: + - type: Sprite + sprite: _Wega/Clothing/Shoes/Boots/jackboots_blue.rsi + - type: Clothing + sprite: _Wega/Clothing/Shoes/Boots/jackboots_blue.rsi diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Uniforms/base_clothinguniforms.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Uniforms/base_clothinguniforms.yml new file mode 100644 index 0000000000..1846d3413e --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Uniforms/base_clothinguniforms.yml @@ -0,0 +1,42 @@ +- type: entity + abstract: true + id: ClothingUniformDamageableBase + components: + - type: TearableClothing + - type: Damageable + damageContainer: Clothing + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 51 # 3 saber strikes + behaviors: + - !type:PlaySoundBehavior + sound: + collection: TearClothing + - !type:EmptyContainersBehaviour + containers: + - storagebase + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + MaterialCloth1: + min: 3 + max: 3 + +- type: entity + abstract: true + parent: ClothingUniformBase + id: ClothingUniformToggleableBase + components: + - type: ToggleableSpriteClothing + defaultSuffix: "-down" + +- type: entity + abstract: true + parent: ClothingUniformSkirtBase + id: ClothingUniformSkirtToggleableBase + components: + - type: ToggleableSpriteClothing + defaultSuffix: "-down" diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Uniforms/jumpskirt.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Uniforms/jumpskirt.yml new file mode 100644 index 0000000000..669811652e --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Uniforms/jumpskirt.yml @@ -0,0 +1,35 @@ +- type: entity + parent: ClothingUniformBase + id: ClothingUniformJumpskirtSurgeon + name: surgeon skirt + description: "Is there bloodstains on it..?" + components: + - type: Sprite + sprite: _Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi + - type: Clothing + sprite: _Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi + - type: DiseaseProtection + protection: 0.1 + - type: ClothingSterility + +- type: entity + parent: ClothingUniformBase + id: ClothingUniformJumpskirtBlueShield + name: blue shield officer's jumpsuit skirt + description: The purple uniform of the officer "Blue Shield" is made of dense materials. + components: + - type: Sprite + sprite: _Wega/Clothing/Uniforms/Jumpskirt/blueshield.rsi + - type: Clothing + sprite: _Wega/Clothing/Uniforms/Jumpskirt/blueshield.rsi + +- type: entity + parent: ClothingUniformSkirtToggleableBase + id: ClothingUniformJumpskirtPostman + name: postman jumpsuit skirt + description: "A practical jumpsuit skirt, perfect for quick gathering and active work." + components: + - type: Sprite + sprite: _Wega/Clothing/Uniforms/Jumpskirt/postman.rsi + - type: Clothing + sprite: _Wega/Clothing/Uniforms/Jumpskirt/postman.rsi diff --git a/Resources/Prototypes/_Wega/Entities/Clothing/Uniforms/jumpsuits.yml b/Resources/Prototypes/_Wega/Entities/Clothing/Uniforms/jumpsuits.yml new file mode 100644 index 0000000000..064e00b2a6 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Clothing/Uniforms/jumpsuits.yml @@ -0,0 +1,46 @@ +- type: entity + parent: ClothingUniformBase + id: ClothingUniformJumpsuitSurgeon + name: surgeon suit + description: "Is there bloodstains on it..?" + components: + - type: Sprite + sprite: _Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi + - type: Clothing + sprite: _Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi + - type: DiseaseProtection + protection: 0.1 + - type: ClothingSterility + +- type: entity + parent: ClothingUniformBase + id: ClothingUniformJumpsuitBlueShield + name: blue shield officer's jumpsuit + description: The purple uniform of the officer "Blue Shield" is made of dense materials. + components: + - type: Sprite + sprite: _Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi + - type: Clothing + sprite: _Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi + +- type: entity + parent: ClothingUniformBase + id: ClothingUniformJumpsuitAltBlueShield + name: officer turtleneck "Blue Shield" + description: Dark turtleneck made of dense materials. + components: + - type: Sprite + sprite: _Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi + - type: Clothing + sprite: _Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi + +- type: entity + parent: ClothingUniformToggleableBase + id: ClothingUniformJumpsuitPostman + name: postman jumpsuit + description: "A comfortable, loose-fitting jumpsuit that allows for easy movement during long walks." + components: + - type: Sprite + sprite: _Wega/Clothing/Uniforms/Jumpsuit/postman.rsi + - type: Clothing + sprite: _Wega/Clothing/Uniforms/Jumpsuit/postman.rsi diff --git a/Resources/Prototypes/_Wega/Entities/Effects/bloodcult.yml b/Resources/Prototypes/_Wega/Entities/Effects/bloodcult.yml new file mode 100644 index 0000000000..362352ac58 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Effects/bloodcult.yml @@ -0,0 +1,143 @@ +- type: entity + id: BloodCultFloorGlowEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: _Wega/Effects/floorglow.rsi + state: floorglow + - type: TimedDespawn + lifetime: 0.5 + +- type: entity + id: BloodCultOrb + parent: BaseItem + name: blood orb + description: "" + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: _Wega/Effects/bloodorb.rsi + state: blood_orb + - type: BloodOrb + +- type: entity + id: BloodCultOutEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: _Wega/Effects/bloodcultteleport.rsi + state: cultout + - type: TimedDespawn + lifetime: 1.2 + +- type: entity + id: BloodCultInEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: _Wega/Effects/bloodcultteleport.rsi + state: cultin + - type: TimedDespawn + lifetime: 1.2 + +- type: entity + id: BaseBloodCultRuneEffect + abstract: true + components: + - type: Sprite + sprite: _Wega/Structures/Specific/bloodcult_structures.rsi + - type: Appearance + appearanceDataInit: + enum.RuneColorVisuals.Color: + !type:String + "#ff0000" + - type: BloodRune + prototype: default + - type: TimedDespawn + lifetime: 4.0 + +- type: entity + id: BloodRuneOfferingEffect + parent: BaseBloodCultRuneEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + state: offering_anim + +- type: entity + id: BloodRuneTeleportEffect + parent: BaseBloodCultRuneEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + state: teleport_anim + +- type: entity + id: BloodRuneEmpoweringEffect + parent: BaseBloodCultRuneEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + state: empowering_anim + +- type: entity + id: BloodRuneReviveEffect + parent: BaseBloodCultRuneEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + state: revive_anim + +- type: entity + id: BloodRuneBarrierEffect + parent: BaseBloodCultRuneEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + state: barrier_anim + +- type: entity + id: BloodRuneSummoningEffect + parent: BaseBloodCultRuneEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + state: summoning_anim + +- type: entity + id: BloodRuneBloodBoilEffect + parent: BaseBloodCultRuneEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + state: bloodboil_anim + +- type: entity + id: BloodRuneSpiritealmEffect + parent: BaseBloodCultRuneEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + state: spiritrealm_anim + +- type: entity + id: BloodRuneRitualDimensionalRendingEffect + parent: BaseBloodCultRuneEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: _Wega/Structures/Specific/bloodcult_structures_large.rsi + state: rune_large_anim + - type: TimedDespawn + lifetime: 9.75 + +- type: entity + id: BloodCultDistortedEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: _Wega/Structures/Specific/bloodcult_structures_large.rsi + state: rune_large_distorted + color: "#800000" + - type: TimedDespawn + lifetime: 1.0 diff --git a/Resources/Prototypes/_Wega/Entities/Mobs/Player/bloodcult.yml b/Resources/Prototypes/_Wega/Entities/Mobs/Player/bloodcult.yml new file mode 100644 index 0000000000..ac4b77ad6a --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Mobs/Player/bloodcult.yml @@ -0,0 +1,531 @@ +- type: entity + id: MobObserverIfrit + parent: + - Incorporeal + - BaseMob + name: ifrit + description: "???" + components: + - type: Sprite + sprite: _Wega/Mobs/Demons/bloodcultmobs.rsi + state: ifrit + - type: ContentEye + maxZoom: 1.44,1.44 + - type: Eye + drawFov: false + - type: Input + context: "ghost" + - type: Examiner + skipChecks: true + - type: Ghost + - type: Spectral + +- type: entity + id: MobBanshee + parent: + - Incorporeal + - BaseMob + name: banshee + description: A spooky ghostie. + components: + - type: Sprite + sprite: _Wega/Mobs/Demons/bloodcultmobs.rsi + state: banshee + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-banshee-name + description: ghost-role-information-banshee-description + rules: ghost-role-information-familiar-rules + raffle: + settings: default + - type: GhostTakeoverAvailable + - type: Damageable + damageContainer: ManifestedSpirit + damageModifierSet: ManifestedSpirit + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 5 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/demon_dies.ogg + - type: NoSlip + - type: ContentEye + maxZoom: 1.2, 1.2 + - type: CombatMode + - type: MeleeWeapon + altDisarm: false + hidden: true + animation: WeaponArcSlash + soundHit: + path: /Audio/Weapons/bladeslice.ogg + attackRate: 0.90 + damage: + types: + Blunt: 2.5 + Slash: 5 + - type: Input + context: "ghost" + - type: ShowCultistIcons + - type: MovementSpeedModifier + baseWalkSpeed: 5 + baseSprintSpeed: 5 + +- type: entity + abstract: true + id: SimpleMobConstruct + parent: SimpleSpaceMobBase + components: + - type: UserInterface + interfaces: + enum.StrippingUiKey.Key: + type: StrippableBoundUserInterface + - type: Physics + bodyType: KinematicController + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.40 + density: 100 + mask: + - FlyingMobMask + layer: + - FlyingMobLayer + - type: MovementAlwaysTouching + - type: TemperatureProtection + heatingCoefficient: 0.001 + coolingCoefficient: 0.001 + - type: FlashImmunity + - type: PressureImmunity + - type: ZombieImmune + - type: Puller + needsHands: false + - type: Prying + pryPowered: true + force: true + speedModifier: 1.5 + useSound: + path: /Audio/Items/crowbar.ogg + - type: CombatMode + - type: Hands + showInHands: false + - type: NoSlip + - type: HTN + rootTask: + task: SimpleHostileCompound + blackboard: + NavClimb: !type:Bool + true + NavInteract: !type:Bool + true + NavPry: !type:Bool + true + NavSmash: !type:Bool + true + - type: TypingIndicator + proto: guardian + - type: PointLight + color: red + radius: 3 + softness: 1 + autoRot: true + - type: GhostTakeoverAvailable + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + rules: ghost-role-information-construct-rules + - type: Speech + - type: Bloodstream + bloodReferenceSolution: + reagents: + - ReagentId: Blood + Quantity: 75 + bloodlossDamage: + types: + Bloodloss: + 0.1 + bloodlossHealDamage: + types: + Bloodloss: + -1 + - type: NpcFactionMember + factions: + - BloodCult + - type: ShowCultistIcons + - type: BloodCultConstruct + - type: Barotrauma + damage: + types: + Blunt: 0 + - type: Metabolizer + solutionOnBody: false + metabolizerTypes: [ Bloodsucker ] + groups: + - id: Medicine + - id: Poison + - type: Tag + tags: + - DoorBumpOpener + - CannotSuicide + +- type: entity + parent: SimpleMobConstruct + id: MobConstructJuggernaut + name: juggernaut + description: A terrifying, unholy creature, the product of the devil himself! + components: + - type: MobThresholds + thresholds: + 0: Alive + 250: Dead + - type: SlowOnDamage + speedModifierThresholds: + 130: 0.8 + 170: 0.7 + 220: 0.5 + - type: Stamina + baseCritThreshold: 300 + - type: MovementSpeedModifier + baseWalkSpeed : 2.4 + baseSprintSpeed : 3.8 + - type: Reflect + reflectProb: 0.4 + spread: 90 + reflects: + - Energy + - type: Sprite + sprite: _Wega/Mobs/Demons/bloodcultmobs.rsi + noRot: true + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: juggernaut + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: glow_juggernaut_cult + shader: unshaded + - type: GhostRole + name: ghost-role-information-juggernaut-name + description: ghost-role-information-juggernaut-description + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 250 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/demon_dies.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + Ash: + min: 1 + max: 4 + - type: Tool + speedModifier: 1.5 + qualities: + - Prying + useSound: + path: /Audio/Items/crowbar.ogg + - type: MeleeWeapon + altDisarm: false + hidden: true + angle: 30 + animation: WeaponArcBite + soundHit: + path: /Audio/Weapons/block_metal1.ogg + attackRate: 0.70 + damage: + types: + Blunt: 25 + Structural: 60 + +- type: entity + parent: SimpleMobConstruct + id: MobConstructWraith + name: wraith + components: + - type: ActionGrant + actions: + - TeleportConstructSpell + - type: MobThresholds + thresholds: + 0: Alive + 100: Dead + - type: SlowOnDamage + speedModifierThresholds: + 70: 0.8 + 85: 0.5 + - type: Stamina + baseCritThreshold: 150 + - type: MovementSpeedModifier + baseWalkSpeed : 3.5 + baseSprintSpeed : 4.9 + - type: Sprite + sprite: _Wega/Mobs/Demons/bloodcultmobs.rsi + noRot: true + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: wraith + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: glow_wraith_cult + shader: unshaded + - type: GhostRole + name: ghost-role-information-wraith-name + description: ghost-role-information-wraith-description + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/demon_dies.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + Ash: + min: 1 + max: 2 + - type: MeleeWeapon + altDisarm: false + hidden: true + animation: WeaponArcSlash + soundHit: + path: /Audio/Weapons/bladeslice.ogg + attackRate: 0.90 + damage: + types: + Blunt: 5 + Piercing: 6 + Slash: 10 + +- type: entity + parent: SimpleMobConstruct + id: MobConstructArtificer + name: artificer + components: + - type: ActionGrant + actions: + - WallBuildConstructSpell + - ConstructBuildConstructSpell + - SoulStoneConstructSpell + - type: MobThresholds + thresholds: + 0: Alive + 50: Dead + - type: SlowOnDamage + speedModifierThresholds: + 40: 0.8 + - type: Stamina + baseCritThreshold: 80 + - type: MovementSpeedModifier + baseWalkSpeed : 3.5 + baseSprintSpeed : 4.5 + - type: Sprite + sprite: _Wega/Mobs/Demons/bloodcultmobs.rsi + noRot: true + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: artificer + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: glow_artificer_cult + shader: unshaded + - type: GhostRole + name: ghost-role-information-artificer-name + description: ghost-role-information-artificer-description + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/demon_dies.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + Ash: + min: 1 + max: 1 + - type: Tool + speedModifier: 1.5 + qualities: + - Prying + useSound: + path: /Audio/Items/crowbar.ogg + - type: MeleeWeapon + altDisarm: false + hidden: true + animation: WeaponArcBite + soundHit: + path: /Audio/Weapons/genhit3.ogg + attackRate: 0.75 + damage: + types: + Blunt: 5 + Piercing: 5 + Structural: 25 + +- type: entity + parent: SimpleMobConstruct + id: MobConstructHarvester + name: harvester + components: + - type: ActionGrant + actions: + - WallBuildConstructSpell + - CloneConstructSpell + - type: MobThresholds + thresholds: + 0: Alive + 150: Dead + - type: SlowOnDamage + speedModifierThresholds: + 100: 0.9 + 130: 0.7 + - type: Stamina + baseCritThreshold: 300 + - type: MovementSpeedModifier + baseWalkSpeed : 3.5 + baseSprintSpeed : 4.8 + - type: Sprite + sprite: _Wega/Mobs/Demons/bloodcultmobs.rsi + noRot: true + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: harvester + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: glow_harvester_cult + shader: unshaded + - type: GhostRole + name: ghost-role-information-harvester-name + description: ghost-role-information-harvester-description + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/demon_dies.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + Ash: + min: 1 + max: 3 + - type: Tool + speedModifier: 1.5 + qualities: + - Prying + useSound: + path: /Audio/Items/crowbar.ogg + - type: MeleeWeapon + altDisarm: false + hidden: true + animation: WeaponArcSlash + soundHit: + path: /Audio/Weapons/bladeslice.ogg + attackRate: 0.80 + damage: + types: + Blunt: 5 + Piercing: 10 + Slash: 10 + - type: StaminaDamageOnHit + damage: 40 + +- type: entity + parent: SimpleMobConstruct + id: MobConstructProteon + name: proteon + components: + - type: MobThresholds + thresholds: + 0: Alive + 100: Dead + - type: SlowOnDamage + speedModifierThresholds: + 70: 0.8 + 85: 0.5 + - type: Stamina + baseCritThreshold: 100 + - type: MovementSpeedModifier + baseWalkSpeed : 3.5 + baseSprintSpeed : 4.6 + - type: Sprite + sprite: _Wega/Mobs/Demons/bloodcultmobs.rsi + noRot: true + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: proteon + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: glow_proteon_cult + shader: unshaded + - type: GhostRole + name: ghost-role-information-proteon-name + description: ghost-role-information-proteon-description + - type: HTN + rootTask: + task: SimpleRangedHostileCompound + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/demon_dies.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + Ash: + min: 1 + max: 1 + - type: MeleeWeapon + altDisarm: false + hidden: true + animation: WeaponArcSlash + soundHit: + path: /Audio/Weapons/bladeslice.ogg + attackRate: 0.90 + damage: + types: + Blunt: 5 + Slash: 10 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 0.5 + - type: BasicEntityAmmoProvider + proto: ProjectileBloodBolt + capacity: 1 + count: 1 + - type: Gun + fireRate: 0.5 + useKey: false + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/Magic/staff_animation.ogg diff --git a/Resources/Prototypes/_Wega/Entities/Objects/Materials/Sheets/metal.yml b/Resources/Prototypes/_Wega/Entities/Objects/Materials/Sheets/metal.yml new file mode 100644 index 0000000000..451f503913 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Objects/Materials/Sheets/metal.yml @@ -0,0 +1,35 @@ +- type: entity + parent: SheetOtherBase + id: SheetRuneMetal + name: runemetal + suffix: Full, DO NOT MAPP + components: + - type: Material + - type: PhysicalComposition + materialComposition: + RuneMetal: 100 + - type: Stack + stackType: RuneMetal + baseLayer: base + layerStates: + - runemetal + - runemetal_2 + - runemetal_3 + - type: Sprite + sprite: _Wega/Objects/Materials/Sheets/metal.rsi + state: runemetal_3 + layers: + - state: runemetal_3 + map: ["base"] + - type: Appearance + - type: Item + heldPrefix: runemetal + +- type: entity + parent: SheetRuneMetal + id: SheetRuneMetal1 + name: runemetal + suffix: Single, DO NOT MAPP + components: + - type: Stack + count: 1 diff --git a/Resources/Prototypes/_Wega/Entities/Objects/Specific/BloodCult/stone.yml b/Resources/Prototypes/_Wega/Entities/Objects/Specific/BloodCult/stone.yml new file mode 100644 index 0000000000..cd0863b3f8 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Objects/Specific/BloodCult/stone.yml @@ -0,0 +1,54 @@ +- type: entity + id: BloodCultSoulStone + parent: BaseItem + name: soul stone + description: A shiny red stone with a mysterious aura. + components: + - type: Sprite + sprite: _Wega/Objects/Specific/BloodCult/stone.rsi + layers: + - state: stone_soul + map: ["enum.StoneSoulVisualLayers.Soul"] + visible: false + - state: stone + map: ["enum.StoneSoulVisualLayers.Base"] + - type: MindContainer + - type: BlockMovement + - type: GhostRole + allowMovement: false + allowSpeech: false + name: ghost-role-information-soul-stone-name + description: ghost-role-information-soul-stone-description + rules: ghost-role-information-familiar-rules + raffle: + settings: default + - type: GhostTakeoverAvailable + - type: Appearance + - type: StoneSoul + soulProto: MobBanshee + - type: Tag + tags: + - CannotSuicide + - SoulStone + +- type: entity + id: BloodCultShuttleCurse + parent: BaseItem + name: cursed sphere + description: It looks ominous. + components: + - type: Sprite + sprite: _Wega/Objects/Specific/BloodCult/stone.rsi + state: shuttlecurse + - type: BloodShuttleCurse + +- type: entity + id: BloodCultEldritchSharpener + parent: BaseItem + name: eldritch sharpener + description: He looks extremely fragile. + components: + - type: Sprite + sprite: _Wega/Objects/Specific/BloodCult/stone.rsi + state: sharpener + - type: BloodSharpener diff --git a/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Guns/Projectiles/magic.yml b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Guns/Projectiles/magic.yml new file mode 100644 index 0000000000..6c86823ac2 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Guns/Projectiles/magic.yml @@ -0,0 +1,14 @@ +- type: entity + parent: BaseBullet + id: ProjectileBloodBolt + name: "" + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Guns/Projectiles/magic.rsi + layers: + - state: blood_bolt + - type: Projectile + damage: + types: + Blunt: 15 diff --git a/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Melee/knife.yml b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Melee/knife.yml new file mode 100644 index 0000000000..c873e980b3 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Melee/knife.yml @@ -0,0 +1,81 @@ +- type: entity + name: combat crowbar + parent: [BaseKnife, BaseRestrictedContraband] + id: CombatCrowbar + description: A deadly knife designed for close combat. Thanks to the improved handle, it also works as a crowbar. + components: + - type: Tag + tags: + - CombatKnife + - Knife + - Crowbar + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/combat_crowbar.rsi + state: icon + - type: MeleeWeapon + wideAnimationRotation: -135 + attackRate: 1.5 + damage: + types: + Slash: 12 + - type: EmbeddableProjectile + sound: /Audio/Weapons/star_hit.ogg + offset: -0.15,0.0 + - type: LandAtCursor + - type: DamageOtherOnHit + damage: + types: + Slash: 10 + - type: Item + sprite: _Wega/Objects/Weapons/Melee/combat_crowbar.rsi + storedSprite: + state: storage + sprite: _Wega/Objects/Weapons/Melee/combat_crowbar.rsi + - type: DisarmMalus + malus: 0.225 + - type: ThrowingAngle + angle: 225 + - type: Tool + qualities: + - Prying + useSound: + path: /Audio/Items/crowbar.ogg + - type: Prying + - type: ToolTileCompatible + +- type: entity + parent: BaseKnife + id: ArrhythmicKnife + name: arrhythmic knife + description: They say that fear kills the mind, but sticking a knife in your head also works. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi + state: icon + - type: Clothing + sprite: _Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi + slots: + - Belt + - type: MeleeWeapon + attackRate: 2.25 + damage: + types: + Slash: 15 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: EmbeddableProjectile + sound: /Audio/Weapons/star_hit.ogg + offset: -0.15,0.0 + - type: LandAtCursor + - type: DamageOtherOnHit + damage: + types: + Slash: 15 + - type: DisarmMalus + malus: 0.225 + - type: ThrowingAngle + angle: 225 + - type: ClothingSpeedModifier + walkModifier: 1.1 + sprintModifier: 1.1 + - type: HeldSpeedModifier diff --git a/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Melee/magic.yml b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Melee/magic.yml index 6b6175abe3..bfce72d4a4 100644 --- a/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Melee/magic.yml +++ b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Melee/magic.yml @@ -40,3 +40,475 @@ types: Slash: 15 animation: WeaponArcClaw + +# Null Rod +- type: entity + parent: BaseItem + id: WeaponNullRod + name: null rod + description: "An obsidian rod that strikes paranormal things." + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/nullrod.rsi + state: icon + - type: Clothing + sprite: _Wega/Objects/Weapons/Melee/nullrod.rsi + slots: [belt] + - type: Item + size: Normal + - type: NullRod + - type: ItemSelector + requiredComponents: [ BibleUser ] + items: + - WeaponHandOfGod + - Claymore + - WeaponChainsword + - WeaponForceSword + - WeaponHanzoSteel + - WeaponMultiverseSword + - WeaponUnrealSword + - WeaponReaperScythe + - WeaponHighFrequencyBlade + - WeaponPossessedBlade + - ArrhythmicKnife + - type: ActivatableUI + key: enum.ItemSelectorUiKey.Key + - type: UserInterface + interfaces: + enum.ItemSelectorUiKey.Key: + type: ItemSelectorBoundUserInterface + - type: MeleeWeapon + damage: + types: + Blunt: 15 + +- type: entity + parent: BaseItem + id: WeaponHandOfGod + name: hand of god + description: "Your hand is now glowing amazingly!" + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/magic_hand.rsi + state: icon + color: "#d2314e" + - type: NullRod + - type: Unremoveable + - type: DeleteOnDrop + - type: Item + size: Ginormous + inhandVisuals: + left: + - state: inhand-left + color: "#d2314e" + right: + - state: inhand-right + color: "#d2314e" + - type: MeleeWeapon + autoAttack: true + attackRate: 1.5 + wideAnimationRotation: 180 + damage: + types: + Heat: 15 + animation: WeaponArcClaw + - type: IgniteOnMeleeHit + fireStacks: 1 + +# Blood Cult Weapons +- type: entity + parent: BaseKnife + id: WeaponBloodDagger + name: ritual dagger + description: An old, worn dagger. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/blood_dagger.rsi + state: icon + - type: Clothing + quickEquip: false + slots: + - belt + - type: BloodDagger + - type: Tool + qualities: + - Slicing + - BloodDagger + - type: MeleeWeapon + wideAnimationRotation: -135 + attackRate: 0.75 + damage: + types: + Slash: 12 + +- type: entity + parent: BaseKnife + id: WeaponDeathDagger + name: ritual dagger + description: An old, worn dagger. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/death_dagger.rsi + state: icon + - type: Clothing + quickEquip: false + slots: + - belt + - type: BloodDagger + - type: Tool + qualities: + - Slicing + - BloodDagger + - type: MeleeWeapon + wideAnimationRotation: -135 + attackRate: 0.75 + damage: + types: + Slash: 12 + +- type: entity + parent: BaseKnife + id: WeaponHellDagger + name: ritual dagger + description: An old, worn dagger. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/hell_dagger.rsi + state: icon + - type: Clothing + quickEquip: false + slots: + - belt + - type: BloodDagger + - type: Tool + qualities: + - Slicing + - BloodDagger + - type: MeleeWeapon + wideAnimationRotation: -135 + attackRate: 0.75 + damage: + types: + Slash: 12 + +- type: entity + id: WeaponBloodBlade + parent: BaseItem + name: blood blade + description: The red formation of liquid blood in the shape of a sword is a very mysterious sight. + components: + - type: Sharp + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/blood_blade.rsi + state: icon + - type: Clothing + quickEquip: false + slots: + - back + - suitStorage + - type: Item + size: Normal + - type: MeleeWeapon + wideAnimationRotation: -135 + attackRate: 0.75 + damage: + types: + Slash: 25 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: DisarmMalus + +- type: entity + id: WeaponDeathBlade + parent: BaseItem + name: death blade + description: A scythe-like weapon, very sharp... + components: + - type: Sharp + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/death_blade.rsi + state: icon + - type: Clothing + quickEquip: false + slots: + - back + - suitStorage + - type: Item + size: Normal + - type: MeleeWeapon + wideAnimationRotation: -135 + attackRate: 0.75 + damage: + types: + Slash: 25 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: DisarmMalus + +- type: entity + id: WeaponHellBlade + parent: BaseItem + name: hell blade + description: A blazing axe of agony, straight from the underworld. + components: + - type: Sharp + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/hell_blade.rsi + state: icon + - type: Clothing + quickEquip: false + slots: + - back + - suitStorage + - type: Item + size: Normal + - type: MeleeWeapon + wideAnimationRotation: -135 + attackRate: 0.75 + damage: + types: + Slash: 25 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: DisarmMalus + +- type: entity + parent: BaseItem + id: BloodCultSpear + name: blood spear + description: The spear formed from blood clots looks quite fragile. + components: + - type: ThrowingAngle + angle: 225 + - type: LandAtCursor + - type: Fixtures + fixtures: + fix1: + shape: !type:PolygonShape + vertices: + - -0.40,-0.30 + - -0.30,-0.40 + - 0.40,0.30 + - 0.30,0.40 + density: 20 + mask: + - ItemMask + restitution: 0.3 + friction: 0.2 + - type: Sharp + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/blood_spear.rsi + state: icon + - type: Clothing + quickEquip: false + slots: + - back + - suitStorage + - type: Item + size: Ginormous + - type: Wieldable + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 5 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:SpillBehavior { } + - !type:SpawnEntitiesBehavior + spawn: + PuddleBlood: + min: 1 + max: 1 + transferForensics: true + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: MeleeWeapon + wideAnimationRotation: -135 + damage: + types: + Piercing: 29 + angle: 0 + animation: WeaponArcThrust + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: DamageOtherOnHit + damage: + types: + Piercing: 37 + - type: IncreaseDamageOnWield + damage: + types: + Piercing: 4 + - type: DamageOnLand + ignoreResistances: true + damage: + types: + Blunt: 5 + +# Blood Cult Spells +- type: entity + parent: BaseItem + id: BaseBloodCultSpell + name: blood magic + description: Magic from the other world. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/magic_hand.rsi + state: icon + - type: DeleteOnDrop + - type: EdibleMatter + canBeEaten: false + - type: Item + size: Ginormous + +- type: entity + parent: BaseBloodCultSpell + id: BloodCultSpellStun + components: + - type: Sprite + color: "#e20205" + - type: BloodSpell + prototype: + - stun + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#e20205" + right: + - state: inhand-right + color: "#e20205" + +- type: entity + parent: BaseBloodCultSpell + id: BloodCultSpellTeleport + components: + - type: Sprite + color: "#4e1459" + - type: BloodSpell + prototype: + - teleport + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#4e1459" + right: + - state: inhand-right + color: "#4e1459" + +- type: entity + parent: BaseBloodCultSpell + id: BloodCultSpellShadowShackles + components: + - type: Sprite + color: "#000002" + - type: BloodSpell + prototype: + - shadowshackles + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#000002" + right: + - state: inhand-right + color: "#000002" + +- type: entity + parent: BaseBloodCultSpell + id: BloodCultSpellTwistedConstruction + components: + - type: Sprite + color: "#000002" + - type: BloodSpell + prototype: + - twistedconstruction + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#000002" + right: + - state: inhand-right + color: "#000002" + +- type: entity + parent: BaseBloodCultSpell + id: BloodCultSpellSummonEquipment + components: + - type: Sprite + color: "#448d33" + - type: BloodSpell + prototype: + - summonequipment + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#448d33" + right: + - state: inhand-right + color: "#448d33" + +- type: entity + parent: BaseBloodCultSpell + id: BloodCultSpellBloodRites + components: + - type: Sprite + color: "#6f0f13" + - type: BloodSpell + prototype: + - bloodrites + - type: UseDelay + delay: 5 + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#6f0f13" + right: + - state: inhand-right + color: "#6f0f13" + +- type: entity + parent: BaseItem + id: BloodCultVeilShifter + name: veil shifter + description: A small staff emitting a strange glow. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/blood_shifter.rsi + state: icon + - type: VeilShifter + - type: UseDelay + delay: 4 + +- type: entity + parent: BaseBloodCultSpell + id: BloodCultSpellBloodBarrage + components: + - type: Sprite + state: pulse + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#ff0000" + right: + - state: inhand-right + color: "#ff0000" + - type: Gun + fireRate: 2 + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/Magic/staff_animation.ogg + - type: BasicEntityAmmoProvider + proto: ProjectileBloodBolt + capacity: 24 + count: 24 diff --git a/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Melee/sword.yml new file mode 100644 index 0000000000..ca71dce026 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Melee/sword.yml @@ -0,0 +1,166 @@ +- type: entity + parent: Claymore + id: WeaponChainsword + name: chainsword + description: Do not allow the heretic vulpa to live. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/chainsword.rsi + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/chainsaw.ogg + params: + volume: -3 + - type: Item + storedSprite: + state: icon + sprite: _Wega/Objects/Weapons/Melee/chainsword.rsi + shape: + - 0,0,0,3 + - type: Clothing + sprite: _Wega/Objects/Weapons/Melee/chainsword.rsi + slots: + - Belt + +- type: entity + parent: Claymore + id: WeaponForceSword + name: force sword + description: It shines with the power of faith. Or the energy of a battery. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/force_sword.rsi + - type: Clothing + sprite: _Wega/Objects/Weapons/Melee/force_sword.rsi + - type: Item + storedSprite: + state: icon + sprite: _Wega/Objects/Weapons/Melee/force_sword.rsi + +- type: entity + parent: [ Katana, Claymore ] + id: WeaponHanzoSteel + name: force sword + description: This katana can cut through a holy Claymore. Along. + components: + - type: Item + storedSprite: + state: icon + sprite: Objects/Weapons/Melee/katana.rsi + +- type: entity + parent: Claymore + id: WeaponMultiverseSword + name: multiverse sword + description: Once a messenger of interdimensional war, now it's just a dormant souvenir. But still sharp. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/multiverse_sword.rsi + - type: Clothing + sprite: _Wega/Objects/Weapons/Melee/multiverse_sword.rsi + - type: Item + storedSprite: + state: icon + sprite: _Wega/Objects/Weapons/Melee/multiverse_sword.rsi + +- type: entity + parent: BaseSword + id: WeaponUnrealSword + name: UNREAL SORD + description: He is so indescribably HOLY that you will have problems just holding him. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/unreal_sword.rsi + - type: NullRod + firstNullDamage: 99.99 + nullDamage: 0.01 + - type: MeleeWeapon + damage: + types: + Asphyxiation: 0.42 + Bloodloss: 0.31 + Blunt: 0.15 + Cellular: 0.27 + Caustic: 0.33 + Cold: 0.18 + Heat: 0.22 + Piercing: 0.11 + Poison: 0.49 + Radiation: 0.25 + Shock: 0.19 + Slash: 0.14 + Structural: 0.01 + Holy: 1.07 + soundHit: + path: /Audio/_Wega/Effects/null.ogg + - type: PointLight + radius: 1.2 + energy: 2.20 # ///...\\\ + castShadows: false + color: "#0639f9" + - type: Item + shape: + - 0,0,0,3 + - type: Clothing + sprite: _Wega/Objects/Weapons/Melee/unreal_sword.rsi + slots: + - Belt + +- type: entity + parent: BaseSword + id: WeaponReaperScythe + name: reaper scythe + description: Don't ask who the bell is tolling for... + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/reaper_scythe.rsi + - type: NullRod + - type: MeleeWeapon + attackRate: 2 + damage: + types: + Slash: 17.5 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: Item + shape: + - 0,0,1,3 + - type: Clothing + sprite: _Wega/Objects/Weapons/Melee/reaper_scythe.rsi + slots: + - Back + - SuitStorage + - type: DisarmMalus + +- type: entity + parent: WeaponReaperScythe + id: WeaponHighFrequencyBlade + name: high frequency blade + description: Bad references are the DNA of the soul. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/hfrequency_sword.rsi + - type: Clothing + sprite: _Wega/Objects/Weapons/Melee/hfrequency_sword.rsi + +- type: entity + parent: WeaponReaperScythe + id: WeaponPossessedBlade + name: possessed blade + description: When the station is in chaos, it's nice to have a friend by your side. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Melee/possessed_blade.rsi + - type: Clothing + sprite: _Wega/Objects/Weapons/Melee/possessed_blade.rsi + slots: + - Belt + - type: GhostRole + allowSpeech: true + makeSentient: true + name: ghost-role-information-possessed-blade-name + description: ghost-role-information-possessed-blade-description + rules: ghost-role-information-familiar-rules + raffle: + settings: default + - type: GhostTakeoverAvailable diff --git a/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Throwable/bola.yml b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Throwable/bola.yml new file mode 100644 index 0000000000..5aaa28123a --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Throwable/bola.yml @@ -0,0 +1,9 @@ +- type: entity + name: bola + parent: Bola + id: CultBola + description: There are some runes depicted on it. + components: + - type: Sprite + sprite: _Wega/Objects/Weapons/Throwable/cult_bola.rsi + state: icon diff --git a/Resources/Prototypes/_Wega/Entities/Structures/Specific/bloodcult.yml b/Resources/Prototypes/_Wega/Entities/Structures/Specific/bloodcult.yml new file mode 100644 index 0000000000..e97b0ff969 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Structures/Specific/bloodcult.yml @@ -0,0 +1,404 @@ +- type: entity + id: BaseBloodRune + name: rune + abstract: true + placement: + mode: SnapgridCenter + components: + - type: Sprite + sprite: _Wega/Structures/Specific/bloodcult_structures.rsi + - type: Clickable + - type: InteractionOutline + - type: Appearance + appearanceDataInit: + enum.RuneColorVisuals.Color: + !type:String + "#ff0000" + - type: Physics + bodyType: Static + - type: UseDelay + delay: 5 + +- type: entity + id: BloodRuneOffering + parent: BaseBloodRune + name: rune + description: "" + components: + - type: Sprite + state: offering + - type: BloodRune + prototype: offering + +- type: entity + id: BloodRuneTeleport + parent: BaseBloodRune + name: rune + description: "" + components: + - type: Sprite + state: teleport + - type: BloodRune + prototype: teleport + +- type: entity + id: BloodRuneEmpowering + parent: BaseBloodRune + name: rune + description: "" + components: + - type: Sprite + state: empowering + - type: BloodRune + prototype: empowering + +- type: entity + id: BloodRuneRevive + parent: BaseBloodRune + name: rune + description: "" + components: + - type: Sprite + state: revive + - type: BloodRune + prototype: revive + +- type: entity + id: BloodRuneBarrier + parent: BaseBloodRune + name: rune + description: "" + components: + - type: Sprite + state: barrier + - type: Physics + bodyType: Dynamic + canCollide: false + - type: Fixtures + fixtures: + barrier: + shape: + !type:PhysShapeCircle + radius: 0.45 + layer: + - WallLayer + hard: false + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: BloodRune + prototype: barrier + +- type: entity + id: BloodRuneSummoning + parent: BaseBloodRune + name: rune + description: "" + components: + - type: Sprite + state: summoning + - type: BloodRune + prototype: summoning + +- type: entity + id: BloodRuneBloodBoil + parent: BaseBloodRune + name: rune + description: "" + components: + - type: Sprite + state: bloodboil + - type: BloodRune + prototype: bloodboil + +- type: entity + id: BloodRuneSpiritealm + parent: BaseBloodRune + name: rune + description: "" + components: + - type: Sprite + state: spiritrealm + - type: BloodRune + prototype: spiritrealm + +- type: entity + id: BloodRuneRitualDimensionalRending + parent: BaseBloodRune + name: rune + description: "" + components: + - type: Sprite + sprite: _Wega/Structures/Specific/bloodcult_structures_large.rsi + state: rune_large + - type: BloodRitualDimensionalRending + - type: NavMapBeacon + color: "#ff0000" + text: "???" + enabled: true + +- type: entity + id: BloodCultConstruct + parent: BaseStructure + name: construct + description: A strange floating structure in the air. + suffix: DO NOT MAP + components: + - type: Sprite + sprite: _Wega/Structures/Specific/bloodcult_structures.rsi + state: construct-cult + - type: Physics + bodyType: Dynamic + - type: Construct + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: StructuralMetallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel10: + min: 1 + max: 1 + - !type:EmptyContainersBehaviour + containers: + - item + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - type: Anchorable + tool: BloodDagger + - type: InteractionOutline + - type: ContainerContainer + containers: + item: !type:ContainerSlot + - type: ItemSlots + slots: + item: + name: "" + whitelist: + tags: + - SoulStone + +- type: entity + id: BaseBloodCultStructure + parent: BaseStructure + abstract: true + components: + - type: Anchorable + tool: BloodDagger + - type: Physics + bodyType: Dynamic + - type: InteractionOutline + - type: BloodStructure + fixture: fix1 + +- type: entity + parent: BaseBloodCultStructure + id: BloodCultStructureArchives + name: archives + description: A desk covered with mysterious manuscripts and volumes in unknown languages. Looking at the text, goosebumps pass. + suffix: DO NOT MAP + components: + - type: Sprite + sprite: _Wega/Structures/Specific/bloodcult_structures.rsi + state: archive + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.4" + density: 190 + mask: + - MachineMask + layer: + - MachineLayer + - type: Appearance + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + - !type:SpawnEntitiesBehavior + spawn: + SheetRuneMetal1: + min: 0 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: BloodStructure + fixture: fix1 + structureGear: + - ClothingEyesZealotBlindfold + - BloodCultVeilShifter + - BloodCultShuttleCurse + - type: Construction + graph: BloodCultStructureArchivesGraph + node: BloodCultStructureArchives + +- type: entity + id: BloodCultStructureAltar + parent: BaseBloodCultStructure + name: altar of blood + description: The altar of a certain goddess. + suffix: DO NOT MAP + components: + - type: Sprite + sprite: _Wega/Structures/Specific/bloodcult_structures.rsi + state: altar + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.4" + density: 190 + mask: + - MachineMask + layer: + - MachineLayer + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 125 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + - !type:SpawnEntitiesBehavior + spawn: + SheetRuneMetal1: + min: 0 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: BloodStructure + fixture: fix1 + structureGear: + - BloodCultEldritchSharpener + - DrinkUnholyFlaskFull + - BloodCultConstruct + - type: PointLight + radius: 1.1 + energy: 1 + color: "#f08080" + - type: Construction + graph: BloodCultStructureAltarGraph + node: BloodCultStructureAltar + +- type: entity + parent: BaseBloodCultStructure + id: BloodCultStructureForge + name: forge of souls + description: An occult forge. Not only evil is being done here, but also a lot of evil. + suffix: DO NOT MAP + components: + - type: Sprite + sprite: _Wega/Structures/Specific/bloodcult_structures.rsi + state: forge + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.4" + density: 190 + mask: + - MachineMask + layer: + - MachineLayer + - type: Appearance + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + - !type:SpawnEntitiesBehavior + spawn: + SheetRuneMetal1: + min: 0 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: BloodStructure + fixture: fix1 + sound: "/Audio/_Wega/Effects/anvil.ogg" + structureGear: + - ClothingOuterArmorCult + - ClothingOuterFlagellantRobe + - MirrorShield + - type: Construction + graph: BloodCultStructureForgeGraph + node: BloodCultStructureForge + +- type: entity + id: BloodCultStructurePylon + parent: BaseBloodCultStructure + name: pylon + description: A mysterious face is looking at you. + suffix: DO NOT MAP + components: + - type: Sprite + sprite: _Wega/Structures/Specific/bloodcult_structures.rsi + state: pylon + - type: Physics + bodyType: Dynamic + - type: BloodPylon + - type: BloodStructure + fixture: fix1 + canInteract: false + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + - !type:SpawnEntitiesBehavior + spawn: + SheetRuneMetal1: + min: 0 + max: 3 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + graph: BloodCultStructurePylonGraph + node: BloodCultStructurePylon diff --git a/Resources/Prototypes/_Wega/GameRules/roundstart.yml b/Resources/Prototypes/_Wega/GameRules/roundstart.yml index e31909b1eb..9caf01a0f4 100644 --- a/Resources/Prototypes/_Wega/GameRules/roundstart.yml +++ b/Resources/Prototypes/_Wega/GameRules/roundstart.yml @@ -1,3 +1,32 @@ +# Blood Cult Game Rule +- type: entity + parent: BaseGameRule + id: BloodCult + components: + - type: GameRule + minPlayers: 10 + - type: BloodCultRule + - type: AntagSelection + definitions: + - prefRoles: [ BloodCultist ] + max: 4 + playerRatio: 10 + blacklist: + components: + - AntagImmune + - BibleUser + - Ipc + lateJoinAdditional: true + components: + - type: BloodCultist + - type: NpcFactionMember + factions: + - BloodCult + mindRoles: + - MindRoleBloodCultist + briefing: + sound: "/Audio/_Wega/Ambience/Antag/bloodcult_start.ogg" + # Blood Brothers Game Rule - type: entity parent: BaseGameRule diff --git a/Resources/Prototypes/_Wega/GameRules/subgamemodes.yml b/Resources/Prototypes/_Wega/GameRules/subgamemodes.yml index c4ae7274f9..e148d6fd15 100644 --- a/Resources/Prototypes/_Wega/GameRules/subgamemodes.yml +++ b/Resources/Prototypes/_Wega/GameRules/subgamemodes.yml @@ -15,6 +15,34 @@ - AntagImmune - Pacified # Diona ha-ha-ha +# Blood Cult Sub-Gamemode +- type: entity + parent: BloodCult + id: SubBloodCult + components: + - type: GameRule + minPlayers: 10 + - type: AntagSelection + definitions: + - prefRoles: [ BloodCultist ] + max: 3 + playerRatio: 15 + blacklist: + components: + - AntagImmune + - BibleUser + - Ipc + lateJoinAdditional: true + components: + - type: BloodCultist + - type: NpcFactionMember + factions: + - BloodCult + mindRoles: + - MindRoleBloodCultist + briefing: + sound: "/Audio/_Wega/Ambience/Antag/bloodcult_start.ogg" + # Vampire Sub-Gamemode - type: entity parent: Vampire diff --git a/Resources/Prototypes/_Wega/Guidebook/Entities/bloodcult.yml b/Resources/Prototypes/_Wega/Guidebook/Entities/bloodcult.yml new file mode 100644 index 0000000000..d8a5ddeb54 --- /dev/null +++ b/Resources/Prototypes/_Wega/Guidebook/Entities/bloodcult.yml @@ -0,0 +1,8 @@ +- type: entity + id: GuidebookDistortedEffect + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: _Wega/Structures/Specific/bloodcult_structures_large.rsi + state: rune_large_distorted + color: "#800000" diff --git a/Resources/Prototypes/_Wega/Guidebook/antagonists.yml b/Resources/Prototypes/_Wega/Guidebook/antagonists.yml index bfcd79899c..9225ee7556 100644 --- a/Resources/Prototypes/_Wega/Guidebook/antagonists.yml +++ b/Resources/Prototypes/_Wega/Guidebook/antagonists.yml @@ -4,6 +4,12 @@ name: guide-entry-vampires text: "/ServerInfo/_Wega/Guidebook/Antagonist/Vampires.xml" +# Blood Cult Guidebook Entry +- type: guideEntry + id: BloodCult + name: guide-entry-blood-cult + text: "/ServerInfo/_Wega/Guidebook/Antagonist/BloodCult.xml" + # Blood Brothers Guidebook Entry - type: guideEntry id: BloodBrothers diff --git a/Resources/Prototypes/_Wega/Reagents/Materials/materials.yml b/Resources/Prototypes/_Wega/Reagents/Materials/materials.yml new file mode 100644 index 0000000000..e180e3b07e --- /dev/null +++ b/Resources/Prototypes/_Wega/Reagents/Materials/materials.yml @@ -0,0 +1,7 @@ +- type: material + id: RuneMetal + stackEntity: SheetRuneMetal1 + name: materials-runemetal + icon: { sprite: _Wega/Objects/Materials/Sheets/metal.rsi, state: runemetal } + color: "#3f4857" + price: 0.05 diff --git a/Resources/Prototypes/_Wega/Recipes/Construction/Graphs/structures/bloodcult.yml b/Resources/Prototypes/_Wega/Recipes/Construction/Graphs/structures/bloodcult.yml new file mode 100644 index 0000000000..bcf7401ad8 --- /dev/null +++ b/Resources/Prototypes/_Wega/Recipes/Construction/Graphs/structures/bloodcult.yml @@ -0,0 +1,107 @@ +- type: constructionGraph + id: BloodCultStructureAltarGraph + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: BloodCultStructureAltar + completed: + - !type:SnapToGrid { } + steps: + - material: RuneMetal + amount: 3 + doAfter: 1 + - node: BloodCultStructureAltar + entity: BloodCultStructureAltar + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRuneMetal1 + amount: 3 + steps: + - tool: Screwing + doAfter: 4 + +- type: constructionGraph + id: BloodCultStructureArchivesGraph + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: BloodCultStructureArchives + completed: + - !type:SnapToGrid { } + steps: + - material: RuneMetal + amount: 3 + doAfter: 1 + - node: BloodCultStructureArchives + entity: BloodCultStructureArchives + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRuneMetal1 + amount: 3 + steps: + - tool: Screwing + doAfter: 8 + +- type: constructionGraph + id: BloodCultStructureForgeGraph + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: BloodCultStructureForge + completed: + - !type:SnapToGrid { } + steps: + - material: RuneMetal + amount: 3 + doAfter: 1 + - node: BloodCultStructureForge + entity: BloodCultStructureForge + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRuneMetal1 + amount: 3 + steps: + - tool: Screwing + doAfter: 8 + +- type: constructionGraph + id: BloodCultStructurePylonGraph + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: BloodCultStructurePylon + completed: + - !type:SnapToGrid { } + steps: + - material: RuneMetal + amount: 4 + doAfter: 1 + - node: BloodCultStructurePylon + entity: BloodCultStructurePylon + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRuneMetal1 + amount: 4 + steps: + - tool: Screwing + doAfter: 8 diff --git a/Resources/Prototypes/_Wega/Roles/Antags/bloodcultist.yml b/Resources/Prototypes/_Wega/Roles/Antags/bloodcultist.yml new file mode 100644 index 0000000000..bb0678233a --- /dev/null +++ b/Resources/Prototypes/_Wega/Roles/Antags/bloodcultist.yml @@ -0,0 +1,102 @@ +- type: antag + id: BloodCultist + name: roles-antag-blood-cultist-name + antagonist: true + setPreference: true + objective: roles-antag-blood-cultist-objective + guides: [ BloodCult ] + requirements: + - !type:OverallPlaytimeRequirement + time: 54000 # 15h # Corvax-RoleTime + +# Ability gears +- type: startingGear + id: BloodCultWeaponBloodGear + inhand: + - WeaponBloodBlade + - CultBola + +- type: startingGear + id: BloodCultWeaponDeathGear + inhand: + - WeaponDeathBlade + - CultBola + +- type: startingGear + id: BloodCultWeaponHellGear + inhand: + - WeaponHellBlade + - CultBola + +- type: startingGear + id: BloodCultJumpsuitGear + equipment: + jumpsuit: ClothingUniformJumpsuitColorBlack + +- type: startingGear + id: BloodCultShoesGear + equipment: + shoes: ClothingShoesCult + +- type: startingGear + id: BloodCultOuterGear + equipment: + outerClothing: ClothingOuterCultRobesAlt + +- type: startingGear + id: BloodCultBackpackGear + equipment: + back: ClothingBackpackBloodCult + storage: + back: + - HandheldHealthAnalyzer + +- type: startingGear + id: BloodDaggerGear + inhand: + - WeaponBloodDagger + +- type: startingGear + id: DeathDaggerGear + inhand: + - WeaponDeathDagger + +- type: startingGear + id: HellDaggerGear + inhand: + - WeaponHellDagger + +- type: startingGear + id: BloodCultSpellStunGear + inhand: + - BloodCultSpellStun + +- type: startingGear + id: BloodCultSpellTeleportGear + inhand: + - BloodCultSpellTeleport + +- type: startingGear + id: BloodCultSpellShadowShacklesGear + inhand: + - BloodCultSpellShadowShackles + +- type: startingGear + id: BloodCultSpellTwistedConstructionGear + inhand: + - BloodCultSpellTwistedConstruction + +- type: startingGear + id: BloodCultSpellSummonEquipmentGear + inhand: + - BloodCultSpellSummonEquipment + +- type: startingGear + id: BloodCultSpellBloodRitesGear + inhand: + - BloodCultSpellBloodRites + +- type: startingGear + id: BloodCultSpellBloodBarrageGear + inhand: + - BloodCultSpellBloodBarrage diff --git a/Resources/Prototypes/_Wega/Roles/MindRoles/mind_roles.yml b/Resources/Prototypes/_Wega/Roles/MindRoles/mind_roles.yml index a3f6af2401..1feb48c2c9 100644 --- a/Resources/Prototypes/_Wega/Roles/MindRoles/mind_roles.yml +++ b/Resources/Prototypes/_Wega/Roles/MindRoles/mind_roles.yml @@ -1,3 +1,14 @@ +# BloodCultist +- type: entity + parent: BaseMindRoleAntag + id: MindRoleBloodCultist + name: Blood Cultist Role + components: + - type: MindRole + antagPrototype: BloodCultist + roleType: TeamAntagonist + - type: BloodCultistRole + # BloodBrother - type: entity parent: BaseMindRoleAntag diff --git a/Resources/Prototypes/_Wega/SoundCollections/clothing.yml b/Resources/Prototypes/_Wega/SoundCollections/clothing.yml new file mode 100644 index 0000000000..c9ae23ad8c --- /dev/null +++ b/Resources/Prototypes/_Wega/SoundCollections/clothing.yml @@ -0,0 +1,5 @@ +- type: soundCollection + id: TearClothing + files: + - /Audio/_Wega/Effects/Objects/tear_clothing1.ogg + - /Audio/_Wega/Effects/Objects/tear_clothing2.ogg diff --git a/Resources/Prototypes/_Wega/Stack/Materials/materials.yml b/Resources/Prototypes/_Wega/Stack/Materials/materials.yml new file mode 100644 index 0000000000..f7aa94e813 --- /dev/null +++ b/Resources/Prototypes/_Wega/Stack/Materials/materials.yml @@ -0,0 +1,6 @@ +- type: stack + id: RuneMetal + name: stack-runemetal + icon: { sprite: _Wega/Objects/Materials/Sheets/metal.rsi, state: runemetal } + spawn: SheetRuneMetal1 + maxCount: 30 diff --git a/Resources/Prototypes/_Wega/StatusIcon/faction.yml b/Resources/Prototypes/_Wega/StatusIcon/faction.yml new file mode 100644 index 0000000000..04060ccfd9 --- /dev/null +++ b/Resources/Prototypes/_Wega/StatusIcon/faction.yml @@ -0,0 +1,40 @@ +# Vampire +- type: factionIcon + id: VampireFaction + isShaded: true + priority: 11 + showTo: + components: + - Vampire + - Thrall + locationPreference: Right + icon: + sprite: /Textures/_Wega/Interface/Misc/vampire_icons.rsi + state: Vampire + +- type: factionIcon + id: ThrallFaction + isShaded: true + priority: 11 + showTo: + components: + - Vampire + - Thrall + locationPreference: Right + icon: + sprite: /Textures/_Wega/Interface/Misc/vampire_icons.rsi + state: Thrall + +# Blood Cult +- type: factionIcon + id: BloodCultistFaction + isShaded: true + priority: 11 + showTo: + components: + - BloodCultist + - ShowCultistIcons + locationPreference: Right + icon: + sprite: /Textures/_Wega/Interface/Misc/bloodcult_icons.rsi + state: Cultist diff --git a/Resources/Prototypes/_Wega/Tags/tags.yml b/Resources/Prototypes/_Wega/Tags/tags.yml new file mode 100644 index 0000000000..fcf0313a55 --- /dev/null +++ b/Resources/Prototypes/_Wega/Tags/tags.yml @@ -0,0 +1,2 @@ +- type: Tag + id: SoulStone diff --git a/Resources/Prototypes/_Wega/ai_factions.yml b/Resources/Prototypes/_Wega/ai_factions.yml index 2e8a768ada..c776b3856b 100644 --- a/Resources/Prototypes/_Wega/ai_factions.yml +++ b/Resources/Prototypes/_Wega/ai_factions.yml @@ -5,3 +5,15 @@ - NanoTrasen - PetsNT - SimpleHostile + - BloodCult + +# Blood Cult NPC Faction +- type: npcFaction + id: BloodCult + hostile: + - NanoTrasen + - Zombie + - Vampire + - SimpleHostile + - Xeno + - Dragon diff --git a/Resources/Prototypes/_Wega/game_presets.yml b/Resources/Prototypes/_Wega/game_presets.yml new file mode 100644 index 0000000000..a72b986bd1 --- /dev/null +++ b/Resources/Prototypes/_Wega/game_presets.yml @@ -0,0 +1,15 @@ +# Blood Cult Preset +- type: gamePreset + id: BloodCult + alias: + - blood-cult + name: blood-cult-title + description: blood-cult-description + showInVote: false + rules: + - BloodCult + - SubGamemodesRule + - BasicStationEventScheduler + - MeteorSwarmScheduler + - SpaceTrafficControlEventScheduler + - BasicRoundstartVariation diff --git a/Resources/Prototypes/_Wega/tool_qualities.yml b/Resources/Prototypes/_Wega/tool_qualities.yml new file mode 100644 index 0000000000..b3302afd15 --- /dev/null +++ b/Resources/Prototypes/_Wega/tool_qualities.yml @@ -0,0 +1,6 @@ +- type: tool + id: BloodDagger + name: tool-quality-dagger-name + toolName: tool-quality-dagger-tool-name + spawn: WeaponBloodDagger + icon: { sprite: _Wega/Objects/Weapons/Melee/blood_dagger.rsi, state: icon } diff --git a/Resources/Prototypes/secret_weights.yml b/Resources/Prototypes/secret_weights.yml index a47030eed5..14dfaba696 100644 --- a/Resources/Prototypes/secret_weights.yml +++ b/Resources/Prototypes/secret_weights.yml @@ -6,4 +6,5 @@ Zombie: 0.05 Survival: 0.10 Revolutionary: 0.05 + BloodCult: 0.05 # Wizard: 0.05 # Disabled as roundstart gamemode until reworked diff --git a/Resources/ServerInfo/_Wega/Guidebook/Antagonist/BloodCult.xml b/Resources/ServerInfo/_Wega/Guidebook/Antagonist/BloodCult.xml new file mode 100644 index 0000000000..e6f0bdeeb1 --- /dev/null +++ b/Resources/ServerInfo/_Wega/Guidebook/Antagonist/BloodCult.xml @@ -0,0 +1,144 @@ + + # Культ крови + + + [color=#999999][italic]Мы призываем тебя, Нар'Си, дабы твоё величие захватило этот мир...[/italic][/color] + + + + + + + [bold][color=crimson]Вы - культист Нар'Си![/color][/bold] + Вас избрали для великой миссии — призвать Бога Разрушения, Нар'Си, на этот бренный мир. Используйте магию крови, ритуалы и хитрость, чтобы достичь своей цели. + Ваша конечная задача — выполнить ритуал призыва Нар'Си, но экипаж станции будет этому противостоять. + + [bold][color=crimson]ОСТОРОЖНО: Экипаж будет пытаться уничтожить вас всеми силами![/color][/bold] + + ## Основы культа крови + + - [bold]Скрытность[/bold] + Культ растёт быстрее, если о нём не знают. Избегайте раскрытия: не чертите руны на видных местах, не выдавайте своих союзников и действуйте тайно. + + - [bold]Общение[/bold] + Используйте [italic]Общение[/italic] для координации с союзниками, но убедитесь, что вы находитесь в уединённом месте, чтобы не выдать себя экипажу. + + - [bold]Магия крови[/bold] + Подготовьте заклинания в укромных местах. Основные заклинания: [italic]Ошеломление[/italic] для захвата жертвы и [italic]Телепорт[/italic] для быстрого перемещения. + + ## Руны + + + + + + + + Используйте ритуальный кинжал для начертания рун. + Ключевые руны: + - [italic]Телепорт[/italic]: Позволяет быстро перемещаться культистам. + - [italic]Усиление[/italic]: Увеличивает количество доступных заклинаний. + - [italic]Предложение[/italic]: Для обращения экипажа в культистов. + + ## Описание рун + + - [bold]Руна предложения:[/bold] + Конвертирует нормального члена экипажа в культиста, исцеляя его от физических и ожоговых повреждений. Также создаёт ритуальный кинжал. Если цель мертва, непригодна для конвертации или имеет имплант "Защита разума", она гибнет, оставляя камень душ. + + - [bold]Руна телепортации:[/bold] + Телепортирует объекты и людей на другую руну телепортации. Может быть использована для быстрой транспортировки. Однако использование из космоса или Лаваленда раскрывает местоположение руны назначения. + + - [bold]Руна усиления:[/bold] + Позволяет дополнительно подготовить 4 доступных заклинания и снижает время их подготовки. + + - [bold]Руна возрождения:[/bold] + Позволяет воскрешать павших культистов, используя глобальные заряды, накопленные при жертвоприношениях на руне предложения. Также можно пробуждать кататоников новой душой. + + - [bold]Руна барьера:[/bold] + Создаёт защитный барьер с 100 здоровья, который можно активировать или деактивировать, но каждое использование наносит урон заклинателю. + + - [bold]Руна призыва:[/bold] + Вызывает на руну живого культиста, после чего руна стирается. Работает только на станции. + + - [bold]Руна вскипания крови:[/bold] + Высасывает здоровье у заклинателей и наносит мощный урон всем, кто видит руну. Не действует на существа без крови. + + - [bold]Руна Царства духов:[/bold] + Позволяет вызывать самому стать духом, чтобы координировать культ. + + - [bold]Ритуал разрыва измерений:[/bold] + Вызывает Нар'Си через пространственный разрыв. Требует свободного пространства 3×3, 9 культистов и 45 секунд для завершения ритуала. + + - [bold]Конвертация:[/bold] + Найдите одинокого члена экипажа, оглушите его, снимите гарнитуру и перенесите на руну [italic]Предложения[/italic]. Для активации потребуется два культиста. Если у цели есть имплантат, она погибнет, оставив [italic]камень душ[/italic]. + + ## Инструменты и конструкты + + + + + + + - [bold]Ритуальный кинжал:[/bold] + Чертит руны, очищает культистов от святой воды, наносит урон. + + - [bold]Рунический металл:[/bold] + Используйте для создания построек: алтаря, архива, кузницы и пилонов. Они помогают изготавливать предметы, лечат и усиливают культ. + + ## Конструкты + + + + + + + Кровожадные культисты часто используют конструкты для усиления своих рядов. Для создания конструкта потребуется: + - Заполненный камень душ (жертва или пойманная душа). + - Пустая оболочка (30 листов металла или созданная Созидателем или в Архивах). + + Когда наполненный камень душ используется на оболочке, культист может выбрать тип конструкта. Однако будьте осторожны — конструкты являются явным признаком присутствия культа на станции, поэтому стоит скрывать их от посторонних глаз. + + Создавайте оболочки из алтаря и используйте [italic]камни душ[/italic] для их оживления. Типы: + - [italic]Джаггернаут[/italic]: Танковый защитник. + - [italic]Фантом[/italic]: Скрытный убийца. + - [italic]Созидатель[/italic]: Создаёт постройки. + - [italic]Жнец[/italic]: Самокопирующися союзник. + - [italic]Протон[/italic]: Слаб... + + ## Заклинания крови + + + + + + Заклинания крови — это ограниченные по количеству использований магические способности, которые исчезают после исчерпания зарядов. Их можно создавать также с помощью руны [italic]Усиление[/italic]. + + ## Как использовать заклинания крови + + После создания заклинания вы получаете кнопку действия. Щёлкните по ней, чтобы активировать заклинание. Для отмены выбросите его (клавиша Q) или нажмите кнопку действия снова. + + ## Ключевые заклинания + + - [bold]Ошеломление:[/bold] + Мощное заклинание, вырубающее и обеззвучивающее жертву. + + - [bold]Телепорт:[/bold] + Позволяет переместиться на руну [italic]Телепорта[/italic] или телепортировать других культистов. + + - [bold]Электромагнитный импульс:[/bold] + Создаёт сильный ЭМИ-импульс в радиусе 2 клеток и слабый в радиусе 5 клеток. Затрагивает самого заклинателя. + + - [bold]Призыв снаряжения:[/bold] + Призывает полный комплект брони и оружия для культиста. + + - [bold]Кровавый обряд:[/bold] + Уникальное заклинание для сбора крови или лечения союзников. Также используется для создания мощного оружия, такого как кровавое копьё, или активации атакующих способностей. + + ## Призыв Нар'Си + + 1. Принесите в жертву двух членов экипажа с помощью руны [italic]Предложения[/italic]. + 2. Соберите 9 культистов в назначенном месте. + 3. Чертите руну призыва (3×3) и активируйте ее. Ритуал завершиться через 45 секунд, если култисты не отойдут далеко от руни и/или им не помешают. Завершите ритуал, чтобы Нар'Си явилась и культ победил. + + [color=red][bold]Помните: единство и координация — ключ к победе![/bold][/color] + diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..483711bd85 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/icon.png new file mode 100644 index 0000000000..c92ea2b41e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/inhand-left.png new file mode 100644 index 0000000000..58b3f23cfd Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/inhand-right.png new file mode 100644 index 0000000000..1afcd228be Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/meta.json new file mode 100644 index 0000000000..c6d8c1fdf7 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Backpacks/bloodcultbackpack.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..dde8954329 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/icon.png new file mode 100644 index 0000000000..91c5051fe0 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/inhand-left.png new file mode 100644 index 0000000000..67f13918cd Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/inhand-right.png new file mode 100644 index 0000000000..634f9423ae Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/meta.json new file mode 100644 index 0000000000..3ec582c4bc --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Backpacks/blueshield.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366 and svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..aa2b77a58a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/icon.png new file mode 100644 index 0000000000..49f3ab49db Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/inhand-left.png new file mode 100644 index 0000000000..f79dac47fd Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/inhand-right.png new file mode 100644 index 0000000000..89f5d4c9c4 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/meta.json new file mode 100644 index 0000000000..07af476511 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_green.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "mody by melisandra (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..4fd3061fbe Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/icon.png new file mode 100644 index 0000000000..de77a7c81a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/inhand-left.png new file mode 100644 index 0000000000..034a8a3a39 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/inhand-right.png new file mode 100644 index 0000000000..820124a4ca Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/meta.json new file mode 100644 index 0000000000..07af476511 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Backpacks/captain_white.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "mody by melisandra (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..cc4fd3346b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/icon.png new file mode 100644 index 0000000000..ea709c78ea Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/inhand-left.png new file mode 100644 index 0000000000..e263ccde01 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/inhand-right.png new file mode 100644 index 0000000000..ecd6f0d0de Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/meta.json new file mode 100644 index 0000000000..d77d9ec4ab --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Backpacks/postman.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Resprite created by zekins3366", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..98177f80dd Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/icon.png new file mode 100644 index 0000000000..2b4903db55 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/inhand-left.png new file mode 100644 index 0000000000..e16e4d2de5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/inhand-right.png new file mode 100644 index 0000000000..73fb657f7e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/meta.json new file mode 100644 index 0000000000..3ec582c4bc --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Duffels/blueshield.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366 and svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..d85629f819 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/icon.png new file mode 100644 index 0000000000..47435cc921 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/inhand-left.png new file mode 100644 index 0000000000..cdef2895cf Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/inhand-right.png new file mode 100644 index 0000000000..900744b5b5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/meta.json new file mode 100644 index 0000000000..07af476511 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_green.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "mody by melisandra (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..f479541229 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/icon.png new file mode 100644 index 0000000000..5c3bbce454 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/inhand-left.png new file mode 100644 index 0000000000..37e179e6b0 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/inhand-right.png new file mode 100644 index 0000000000..067b0e35e1 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/meta.json new file mode 100644 index 0000000000..07af476511 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Duffels/captain_white.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "mody by melisandra (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..d63eb7837d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/icon.png new file mode 100644 index 0000000000..ae277107dd Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/inhand-left.png new file mode 100644 index 0000000000..953ab3099a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/inhand-right.png new file mode 100644 index 0000000000..bf0ae42fad Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/meta.json new file mode 100644 index 0000000000..d77d9ec4ab --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Duffels/postman.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Resprite created by zekins3366", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..d68086d95d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/icon.png new file mode 100644 index 0000000000..be25733837 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/inhand-left.png new file mode 100644 index 0000000000..61f83e8f23 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/inhand-right.png new file mode 100644 index 0000000000..9513fc4847 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/meta.json new file mode 100644 index 0000000000..3ec582c4bc --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Satchels/blueshield.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366 and svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..8c578cad10 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/icon.png new file mode 100644 index 0000000000..febb4d7cc0 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/inhand-left.png new file mode 100644 index 0000000000..eca9bb8df6 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/inhand-right.png new file mode 100644 index 0000000000..4f3cdc9638 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/meta.json new file mode 100644 index 0000000000..07af476511 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_green.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "mody by melisandra (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..5f807a6328 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/icon.png new file mode 100644 index 0000000000..c982ec7484 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/inhand-left.png new file mode 100644 index 0000000000..89f31dd159 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/inhand-right.png new file mode 100644 index 0000000000..912bd4f4b6 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/meta.json new file mode 100644 index 0000000000..07af476511 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Satchels/captain_white.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "mody by melisandra (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..6e9a32a5a5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/icon.png new file mode 100644 index 0000000000..cdbb551258 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/inhand-left.png new file mode 100644 index 0000000000..f0f81daf2b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/inhand-right.png new file mode 100644 index 0000000000..da80d26b65 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/meta.json new file mode 100644 index 0000000000..d77d9ec4ab --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Back/Satchels/postman.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Resprite created by zekins3366", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/equipped-HAND.png b/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/equipped-HAND.png new file mode 100644 index 0000000000..6080ce9bde Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/equipped-HAND.png differ diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/icon.png new file mode 100644 index 0000000000..90e1018af7 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/inhand-left.png new file mode 100644 index 0000000000..0b8d35cb34 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/inhand-right.png new file mode 100644 index 0000000000..d8dc2fc759 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/meta.json new file mode 100644 index 0000000000..af24f1a7aa --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Hands/Gloves/combatblueshield.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366 and svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HAND", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/equipped-HAND.png b/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/equipped-HAND.png new file mode 100644 index 0000000000..1344f57d85 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/equipped-HAND.png differ diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/gem.png b/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/gem.png new file mode 100644 index 0000000000..3771dd7f7b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/gem.png differ diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/icon.png new file mode 100644 index 0000000000..00d650e018 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/meta.json new file mode 100644 index 0000000000..2055e8478b --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Hands/Gloves/gold_bracelets.rsi/meta.json @@ -0,0 +1,21 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Sprite by DSID <@544176096271138826> mody by DSID <@500744677352407051>", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HAND", + "directions": 4 + }, + { + "name": "gem" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/kravgloves.rsi/equipped-HAND.png b/Resources/Textures/_Wega/Clothing/Hands/Gloves/kravgloves.rsi/equipped-HAND.png new file mode 100644 index 0000000000..6d4e42c4cd Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Hands/Gloves/kravgloves.rsi/equipped-HAND.png differ diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/kravgloves.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Hands/Gloves/kravgloves.rsi/icon.png new file mode 100644 index 0000000000..78a7b892d1 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Hands/Gloves/kravgloves.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/kravgloves.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Hands/Gloves/kravgloves.rsi/meta.json new file mode 100644 index 0000000000..28854c9bcd --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Hands/Gloves/kravgloves.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise at https://github.com/ParadiseSS13/Paradise/blob/bd91a1b962fe9bd38e346e9fafd4ebb10784fcb3/icons/mob/clothing/hands.dmi and https://github.com/ParadiseSS13/Paradise/blob/bd91a1b962fe9bd38e346e9fafd4ebb10784fcb3/icons/obj/clothing/gloves.dmi and https://github.com/ParadiseSS13/Paradise/blob/HEAD/icons/mob/clothing/hands.dmi ", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HAND", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/latex_surgeon.rsi/equipped-HAND.png b/Resources/Textures/_Wega/Clothing/Hands/Gloves/latex_surgeon.rsi/equipped-HAND.png new file mode 100644 index 0000000000..2794bb87d3 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Hands/Gloves/latex_surgeon.rsi/equipped-HAND.png differ diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/latex_surgeon.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Hands/Gloves/latex_surgeon.rsi/icon.png new file mode 100644 index 0000000000..a726cdd336 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Hands/Gloves/latex_surgeon.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Hands/Gloves/latex_surgeon.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Hands/Gloves/latex_surgeon.rsi/meta.json new file mode 100644 index 0000000000..cded6fa018 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Hands/Gloves/latex_surgeon.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/Monkestation/Monkestation2.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HAND", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..6e413bbba5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/icon.png new file mode 100644 index 0000000000..6ec3c9e15b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/inhand-left.png new file mode 100644 index 0000000000..22d47bdf22 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/inhand-right.png new file mode 100644 index 0000000000..07a804bff0 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/meta.json new file mode 100644 index 0000000000..f7a066be21 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hats/beret_blueshield.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366 and svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/demonichorns.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hats/demonichorns.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..078e987fe2 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/demonichorns.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/demonichorns.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hats/demonichorns.rsi/icon.png new file mode 100644 index 0000000000..e2e236ea65 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/demonichorns.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/demonichorns.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hats/demonichorns.rsi/meta.json new file mode 100644 index 0000000000..846a651ea6 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hats/demonichorns.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made with love by Melissandra", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..b996c670c5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/icon.png new file mode 100644 index 0000000000..49681c3b7b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/inhand-left.png new file mode 100644 index 0000000000..0cc36dd187 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/inhand-right.png new file mode 100644 index 0000000000..b7d4609e11 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/meta.json new file mode 100644 index 0000000000..f991c6c05a --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hats/flash_halmet.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Base sprite by DieselMohawk for use in SS14, combined with justice2 from tgstation at b8c63da48c8445fcec96491970b9316d0f8684b8", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/equipped-HELMET-vox.png b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/equipped-HELMET-vox.png new file mode 100644 index 0000000000..0c21890c29 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/equipped-HELMET-vox.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..631c06b941 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/icon.png new file mode 100644 index 0000000000..a7264a728f Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/meta.json new file mode 100644 index 0000000000..b26a8bf7a4 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_beret.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from shiptest (https://github.com/shiptest-ss13/Shiptest) | Edited by PuroSlavKing (Github) | vox by vetochka_igrit (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "equipped-HELMET-vox", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/equipped-HELMET-hamster.png b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/equipped-HELMET-hamster.png new file mode 100644 index 0000000000..0ab51e0682 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/equipped-HELMET-hamster.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/equipped-HELMET-vox.png b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/equipped-HELMET-vox.png new file mode 100644 index 0000000000..28f22c699d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/equipped-HELMET-vox.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..8207341686 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/icon.png new file mode 100644 index 0000000000..9a33f31b27 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/meta.json new file mode 100644 index 0000000000..d17c955041 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hats/sheriff_capcap.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/0671297bb1c1b31d5885f2768aecbe9dc51d39e7 , edited by Skarletto (github) | Edited by PuroSlavKing (Github) | vox by vetochka_igrit (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET-hamster", + "directions": 4 + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "equipped-HELMET-vox", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/equipped-HELMET-hamster.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/equipped-HELMET-hamster.png new file mode 100644 index 0000000000..de11a9cd95 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/equipped-HELMET-hamster.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/equipped-HELMET-vox.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/equipped-HELMET-vox.png new file mode 100644 index 0000000000..8550a8ff16 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/equipped-HELMET-vox.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..97d9904544 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/icon.png new file mode 100644 index 0000000000..5b9d388e54 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/inhand-left.png new file mode 100644 index 0000000000..09cd25292d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/inhand-right.png new file mode 100644 index 0000000000..4d44cc93b9 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/meta.json new file mode 100644 index 0000000000..61b98de629 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_black.rsi/meta.json @@ -0,0 +1,34 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/2fea0a59470c476cf3f927833d3918d89cbe6af8. equipped-HELMET-vox state taken from /vg/station at commit https://github.com/vgstation-coders/vgstation13/commit/31d6576ba8102135d058ef49c3cb6ecbe8db8a79", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "equipped-HELMET-hamster", + "directions": 4 + }, + { + "name": "equipped-HELMET-vox", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/equipped-HELMET-hamster.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/equipped-HELMET-hamster.png new file mode 100644 index 0000000000..7d37dbcf2b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/equipped-HELMET-hamster.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/equipped-HELMET-vox.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/equipped-HELMET-vox.png new file mode 100644 index 0000000000..c511ba48f3 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/equipped-HELMET-vox.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..1b0a95439b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/icon.png new file mode 100644 index 0000000000..26195ba7ff Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/inhand-left.png new file mode 100644 index 0000000000..2597f26d1d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/inhand-right.png new file mode 100644 index 0000000000..98aefb0b2d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/meta.json new file mode 100644 index 0000000000..61b98de629 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hats/surgcap_cmo.rsi/meta.json @@ -0,0 +1,34 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/2fea0a59470c476cf3f927833d3918d89cbe6af8. equipped-HELMET-vox state taken from /vg/station at commit https://github.com/vgstation-coders/vgstation13/commit/31d6576ba8102135d058ef49c3cb6ecbe8db8a79", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "equipped-HELMET-hamster", + "directions": 4 + }, + { + "name": "equipped-HELMET-vox", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/equipped-HELMET-vox.png b/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/equipped-HELMET-vox.png new file mode 100644 index 0000000000..8ce0381091 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/equipped-HELMET-vox.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..45edbe50b7 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/icon.png new file mode 100644 index 0000000000..22d05e3e68 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/meta.json new file mode 100644 index 0000000000..e0a6210c88 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hats/white_beret.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e | Edited by PuroSlavKing (Github) | vox by vetochka_igrit (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "equipped-HELMET-vox", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/equipped-HELMET-hamster.png b/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/equipped-HELMET-hamster.png new file mode 100644 index 0000000000..a15e9e6777 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/equipped-HELMET-hamster.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..4c8a8a1738 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/icon.png new file mode 100644 index 0000000000..0346d5bbdc Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/meta.json new file mode 100644 index 0000000000..4dfe0cbbf8 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hats/white_capcap.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from shiptest (https://github.com/shiptest-ss13/Shiptest) | Edited by PuroSlavKing (Github) | Edited by 6agro6 (Discord) | vox by vetochka_igrit (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET-hamster", + "directions": 4 + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/cult_hoodalt.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/cult_hoodalt.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..92e0af8bdd Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/cult_hoodalt.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/cult_hoodalt.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/cult_hoodalt.rsi/icon.png new file mode 100644 index 0000000000..4827f3ef88 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/cult_hoodalt.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/cult_hoodalt.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/cult_hoodalt.rsi/meta.json new file mode 100644 index 0000000000..7bd2e3e22a --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/cult_hoodalt.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "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-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/flagellanthood.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/flagellanthood.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..eab2e9e7c1 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/flagellanthood.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/flagellanthood.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/flagellanthood.rsi/icon.png new file mode 100644 index 0000000000..cb15534a19 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/flagellanthood.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/flagellanthood.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/flagellanthood.rsi/meta.json new file mode 100644 index 0000000000..9ea853134f --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/flagellanthood.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation https://github.com/tgstation/tgstation", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/hoodblueshield.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/hoodblueshield.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..308a1ca18f Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/hoodblueshield.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/hoodblueshield.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/hoodblueshield.rsi/icon.png new file mode 100644 index 0000000000..0f4e08f0f4 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/hoodblueshield.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/hoodblueshield.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/hoodblueshield.rsi/meta.json new file mode 100644 index 0000000000..984cbb724f --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/hoodblueshield.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366 and svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/postmanhood.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/postmanhood.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..e1f1fdeeee Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/postmanhood.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/postmanhood.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/postmanhood.rsi/icon.png new file mode 100644 index 0000000000..5e6d3a42f9 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/postmanhood.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/postmanhood.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/postmanhood.rsi/meta.json new file mode 100644 index 0000000000..c2225959a5 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/postmanhood.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/voidcaphood.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/voidcaphood.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..d414555d26 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/voidcaphood.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/voidcaphood.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/voidcaphood.rsi/icon.png new file mode 100644 index 0000000000..623bc55f1d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/voidcaphood.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/voidcaphood.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/voidcaphood.rsi/meta.json new file mode 100644 index 0000000000..7bd2e3e22a --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Hoods/Coat/voidcaphood.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "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-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/equipped-HELMET.png new file mode 100644 index 0000000000..bd0a3aa505 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/flipped-equipped-HELMET.png b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/flipped-equipped-HELMET.png new file mode 100644 index 0000000000..1da008bdc3 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/flipped-equipped-HELMET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/flipped-inhand-left.png b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/flipped-inhand-left.png new file mode 100644 index 0000000000..8a56501d2c Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/flipped-inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/flipped-inhand-right.png b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/flipped-inhand-right.png new file mode 100644 index 0000000000..df8e93601b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/flipped-inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/icon.png new file mode 100644 index 0000000000..3296ab5807 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/icon_flipped.png b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/icon_flipped.png new file mode 100644 index 0000000000..d5c2c824e5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/icon_flipped.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/inhand-left.png new file mode 100644 index 0000000000..8a56501d2c Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/inhand-right.png new file mode 100644 index 0000000000..df8e93601b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/meta.json new file mode 100644 index 0000000000..d5bb00f7f0 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Head/Soft/postmansoft.rsi/meta.json @@ -0,0 +1,41 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite create by artyboone, modified by zekins3366", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon_flipped" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "flipped-equipped-HELMET", + "directions": 4 + }, + { + "name": "flipped-inhand-left", + "directions": 4 + }, + { + "name": "flipped-inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..84988ceb08 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..a7bff31315 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/icon.png new file mode 100644 index 0000000000..91d0228b1c Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/inhand-left.png new file mode 100644 index 0000000000..c3129cc31f Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/inhand-right.png new file mode 100644 index 0000000000..4b50b97a22 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/meta.json new file mode 100644 index 0000000000..e1a18231ab --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/blueshield.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366 and svarshiksatanist; Resomi Sprite By Laserkaier", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING-dog.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING-dog.png new file mode 100644 index 0000000000..23cd37361b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING-dog.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..6e0095d4d0 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING-vox.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING-vox.png new file mode 100644 index 0000000000..846c02bccd Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING-vox.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..624286b462 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/icon.png new file mode 100644 index 0000000000..af09cbd89a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/inhand-left.png new file mode 100644 index 0000000000..c352fe60aa Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/inhand-right.png new file mode 100644 index 0000000000..5fcf6d9f9e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/meta.json new file mode 100644 index 0000000000..6747dec3a9 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_green.rsi/meta.json @@ -0,0 +1,38 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "mody by svarshiksatanist (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-vox", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-dog", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING-dog.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING-dog.png new file mode 100644 index 0000000000..a7bf7de0ac Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING-dog.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..3756c41b38 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING-vox.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING-vox.png new file mode 100644 index 0000000000..94147bc81a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING-vox.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..a0ca58c419 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/icon.png new file mode 100644 index 0000000000..c964d7e048 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/inhand-left.png new file mode 100644 index 0000000000..2cb119447b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/inhand-right.png new file mode 100644 index 0000000000..6e21b14449 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/meta.json new file mode 100644 index 0000000000..6747dec3a9 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/captain_carapace_white.rsi/meta.json @@ -0,0 +1,38 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "mody by svarshiksatanist (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-vox", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-dog", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING-reptilian.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING-reptilian.png new file mode 100644 index 0000000000..fe2e0f26c0 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING-reptilian.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..8686380b88 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING-vox.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING-vox.png new file mode 100644 index 0000000000..42afc6b7aa Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING-vox.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..61b9b78d77 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/icon.png new file mode 100644 index 0000000000..99d0306524 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/inhand-left.png new file mode 100644 index 0000000000..1efef65f66 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/inhand-right.png new file mode 100644 index 0000000000..050886e78c Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/meta.json new file mode 100644 index 0000000000..90204df105 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/Armor/templar.rsi/meta.json @@ -0,0 +1,38 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/HippieStation/HippieStationdeprecated2020/tree/master; Resomi Sprite By Laserkaier", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-reptilian", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-vox", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/equipped-OUTERCLOTHING-digi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/equipped-OUTERCLOTHING-digi.png new file mode 100644 index 0000000000..2a81d9af1b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/equipped-OUTERCLOTHING-digi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..77ecc7867d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..28c2e2fa39 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/icon.png new file mode 100644 index 0000000000..b62e519937 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/inhand-left.png new file mode 100644 index 0000000000..2fe2b2bf47 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/inhand-right.png new file mode 100644 index 0000000000..88d3159d5b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/meta.json new file mode 100644 index 0000000000..f5511a1135 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_green.rsi/meta.json @@ -0,0 +1,34 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "mody by svarshiksatanist (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-digi", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/equipped-OUTERCLOTHING-digi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/equipped-OUTERCLOTHING-digi.png new file mode 100644 index 0000000000..7df85d8bde Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/equipped-OUTERCLOTHING-digi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..ca258ac158 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..02ae064eb9 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/icon.png new file mode 100644 index 0000000000..2e01c5cd76 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/inhand-left.png new file mode 100644 index 0000000000..5062ae712b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/inhand-right.png new file mode 100644 index 0000000000..e3ca8d8c60 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/meta.json new file mode 100644 index 0000000000..f5511a1135 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/captain_white.rsi/meta.json @@ -0,0 +1,34 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "mody by svarshiksatanist (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-digi", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..8f1d12b6a8 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..3a9038bc44 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/icon.png new file mode 100644 index 0000000000..caaf5bc50f Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/meta.json new file mode 100644 index 0000000000..1f9f314738 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/cultrobesalt.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e; Resomi Sprites By Laserkaier ", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..212a05ded5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..d3368d25f5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/icon.png new file mode 100644 index 0000000000..e1ec58bc37 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/meta.json new file mode 100644 index 0000000000..bfa0191326 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/flagellantrobe.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation https://github.com/tgstation/tgstation; Resomi Sprite By Laserkaier", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..6cfbaf12f2 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/equipped-OUTERCLOTHING-vox.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/equipped-OUTERCLOTHING-vox.png new file mode 100644 index 0000000000..cced9b9572 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/equipped-OUTERCLOTHING-vox.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..4a04287145 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/icon.png new file mode 100644 index 0000000000..9f05fe81e5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/inhand-left.png new file mode 100644 index 0000000000..4bc956adf7 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/inhand-right.png new file mode 100644 index 0000000000..37fd946cce Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/meta.json new file mode 100644 index 0000000000..bf745d7feb --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/hunter.rsi/meta.json @@ -0,0 +1,34 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/shiptest-ss13/Shiptest; Resomi Sprite By Laserkaier", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-vox", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..a5ff046adb Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/equipped-OUTERCLOTHING-vox.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/equipped-OUTERCLOTHING-vox.png new file mode 100644 index 0000000000..25a36a54ec Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/equipped-OUTERCLOTHING-vox.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..b6ceb4d5d7 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/icon.png new file mode 100644 index 0000000000..605a53c1e2 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/inhand-left.png new file mode 100644 index 0000000000..dbc559bf66 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/inhand-right.png new file mode 100644 index 0000000000..ccfe9868ef Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/meta.json new file mode 100644 index 0000000000..bf745d7feb --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/lavachap.rsi/meta.json @@ -0,0 +1,34 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/shiptest-ss13/Shiptest; Resomi Sprite By Laserkaier", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-vox", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..f3a1991925 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..a32432fed1 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/icon.png new file mode 100644 index 0000000000..51ccc3d413 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/inhand-left.png new file mode 100644 index 0000000000..986a242236 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/inhand-right.png new file mode 100644 index 0000000000..06673108aa Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/meta.json new file mode 100644 index 0000000000..a9bf1dc847 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/Coats/postman.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite create by artyboone; Resomi Sprite By Laserkaier", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/equipped-OUTERCLOTHING-resomi.png b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/equipped-OUTERCLOTHING-resomi.png new file mode 100644 index 0000000000..fe92410045 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/equipped-OUTERCLOTHING-resomi.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..97703a2a2c Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/icon.png b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/icon.png new file mode 100644 index 0000000000..8b9ddee653 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/inhand-left.png new file mode 100644 index 0000000000..4972c25273 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/inhand-right.png new file mode 100644 index 0000000000..e95404235e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/meta.json b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/meta.json new file mode 100644 index 0000000000..e1a18231ab --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/OuterClothing/WinterCoats/blueshield.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366 and svarshiksatanist; Resomi Sprite By Laserkaier", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-resomi", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/equipped-FEET.png b/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/equipped-FEET.png new file mode 100644 index 0000000000..2895b057f4 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/equipped-FEET.png differ diff --git a/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/icon.png new file mode 100644 index 0000000000..51648f5788 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/inhand-left.png new file mode 100644 index 0000000000..03bdacf9fb Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/inhand-right.png new file mode 100644 index 0000000000..f00d861ca5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/meta.json new file mode 100644 index 0000000000..be31ca6a22 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Shoes/Boots/jackboots_blue.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Resprite created by zekins3366", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-FEET", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/blueshield.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/blueshield.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..234aeb1ccb Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/blueshield.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/blueshield.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/blueshield.rsi/icon.png new file mode 100644 index 0000000000..1c2f4287b4 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/blueshield.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/blueshield.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/blueshield.rsi/meta.json new file mode 100644 index 0000000000..b0eb55e059 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/blueshield.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366 and svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/equipped-INNERCLOTHING-down.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/equipped-INNERCLOTHING-down.png new file mode 100644 index 0000000000..f8db960497 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/equipped-INNERCLOTHING-down.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/equipped-INNERCLOTHING-top.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/equipped-INNERCLOTHING-top.png new file mode 100644 index 0000000000..589e146abb Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/equipped-INNERCLOTHING-top.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/icon-down.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/icon-down.png new file mode 100644 index 0000000000..e46432543d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/icon-down.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/icon-top.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/icon-top.png new file mode 100644 index 0000000000..eb8f1ef3c6 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/icon-top.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/meta.json new file mode 100644 index 0000000000..a885e9c7df --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/color-top.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made with love by Melissandra", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon-top" + }, + { + "name": "icon-down" + }, + { + "name": "equipped-INNERCLOTHING-top", + "directions": 4 + }, + { + "name": "equipped-INNERCLOTHING-down", + "directions": 4 + } + ] + } diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/cool-top.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/cool-top.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..8f99456115 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/cool-top.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/cool-top.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/cool-top.rsi/icon.png new file mode 100644 index 0000000000..3ffe2811db Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/cool-top.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/cool-top.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/cool-top.rsi/meta.json new file mode 100644 index 0000000000..b81093ecff --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/cool-top.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made with love by Melissandra", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] + } diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/equipped-INNERCLOTHING-down.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/equipped-INNERCLOTHING-down.png new file mode 100644 index 0000000000..adeac0299a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/equipped-INNERCLOTHING-down.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..e2f4c0e701 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/icon.png new file mode 100644 index 0000000000..5e3076c9f8 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/meta.json new file mode 100644 index 0000000000..8e9dcb9539 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/postman.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite create by zekins3366", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-INNERCLOTHING-down", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_leg_cshirt.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_leg_cshirt.png new file mode 100644 index 0000000000..f8db960497 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_leg_cshirt.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_leg_skirt.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_leg_skirt.png new file mode 100644 index 0000000000..3341ff4418 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_leg_skirt.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_leg_skirt_long.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_leg_skirt_long.png new file mode 100644 index 0000000000..5c83cae137 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_leg_skirt_long.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_torso_bra.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_torso_bra.png new file mode 100644 index 0000000000..03c8d493fb Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_torso_bra.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_torso_topik.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_torso_topik.png new file mode 100644 index 0000000000..589e146abb Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/base_torso_topik.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/meta.json new file mode 100644 index 0000000000..eb52b98e24 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/random_top.rsi/meta.json @@ -0,0 +1,31 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made with love by Melissandra and random clouth copy", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base_leg_cshirt", + "directions": 4 + }, + { + "name": "base_leg_skirt", + "directions": 4 + }, + { + "name": "base_leg_skirt_long", + "directions": 4 + }, + { + "name": "base_torso_bra", + "directions": 4 + }, + { + "name": "base_torso_topik", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/equipped-INNERCLOTHING-monkey.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/equipped-INNERCLOTHING-monkey.png new file mode 100644 index 0000000000..a24776de3a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/equipped-INNERCLOTHING-monkey.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..0f7f925ca7 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/icon.png new file mode 100644 index 0000000000..fe5a89bcf0 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/inhand-left.png new file mode 100644 index 0000000000..e154ff0120 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/inhand-right.png new file mode 100644 index 0000000000..a3b9583c23 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/meta.json new file mode 100644 index 0000000000..d504d65381 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/surgeon.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite create by zekins3366", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-INNERCLOTHING-monkey", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/topic.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/topic.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..fff898652e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/topic.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/topic.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/topic.rsi/icon.png new file mode 100644 index 0000000000..1c30ecc0f8 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/topic.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/topic.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/topic.rsi/meta.json new file mode 100644 index 0000000000..b81093ecff --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/topic.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made with love by Melissandra", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] + } diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..1f58739c03 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/icon.png new file mode 100644 index 0000000000..ac092e87bf Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/inhand-left.png new file mode 100644 index 0000000000..db24392b02 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/inhand-right.png new file mode 100644 index 0000000000..dbd6e9676e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_aquamarine_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..746c76cd09 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/icon.png new file mode 100644 index 0000000000..ef1901fa00 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/inhand-left.png new file mode 100644 index 0000000000..093be5da88 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/inhand-right.png new file mode 100644 index 0000000000..e030c8e2f5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_azure_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..0f8556c821 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/icon.png new file mode 100644 index 0000000000..cb87631985 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/inhand-left.png new file mode 100644 index 0000000000..c7f650e047 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/inhand-right.png new file mode 100644 index 0000000000..3622f018c8 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_womensleeveless.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_womensleeveless.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..5c846c27c0 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_womensleeveless.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_womensleeveless.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_womensleeveless.rsi/icon.png new file mode 100644 index 0000000000..1e1b35406c Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_womensleeveless.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_womensleeveless.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_womensleeveless.rsi/meta.json new file mode 100644 index 0000000000..53b53333e5 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_black_womensleeveless.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..66282e89fc Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/icon.png new file mode 100644 index 0000000000..dc35621914 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/inhand-left.png new file mode 100644 index 0000000000..48c4d468a9 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/inhand-right.png new file mode 100644 index 0000000000..f4b2e1f692 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_blue_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..d9cca9be12 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/icon.png new file mode 100644 index 0000000000..c1f931f17f Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/inhand-left.png new file mode 100644 index 0000000000..4ff1deaf49 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/inhand-right.png new file mode 100644 index 0000000000..5984ad2dfe Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_brown_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..42c3ed612e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/icon.png new file mode 100644 index 0000000000..adf34842ca Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/inhand-left.png new file mode 100644 index 0000000000..4f5a0daeea Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/inhand-right.png new file mode 100644 index 0000000000..6491eccd16 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_green_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..52287f9e63 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/icon.png new file mode 100644 index 0000000000..9a94cbcc52 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/inhand-left.png new file mode 100644 index 0000000000..248b7e87ec Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/inhand-right.png new file mode 100644 index 0000000000..3a6ab7d471 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_grey_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..a805889273 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/icon.png new file mode 100644 index 0000000000..d7665fd97a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/inhand-left.png new file mode 100644 index 0000000000..61618679df Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/inhand-right.png new file mode 100644 index 0000000000..2b39bb9377 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_orange_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..bb7b48cfab Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/icon.png new file mode 100644 index 0000000000..cdab0fa651 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/inhand-left.png new file mode 100644 index 0000000000..87f88a2bf3 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/inhand-right.png new file mode 100644 index 0000000000..2688288cab Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_pink_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..c2fc26c7a0 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/icon.png new file mode 100644 index 0000000000..b307ff2700 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/inhand-left.png new file mode 100644 index 0000000000..ce262aab4f Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/inhand-right.png new file mode 100644 index 0000000000..5f6b72b76e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/meta.json new file mode 100644 index 0000000000..4c61195ffb --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_purple_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-NC-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..d047169c5c Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/icon.png new file mode 100644 index 0000000000..b58d096279 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/inhand-left.png new file mode 100644 index 0000000000..930e8752b9 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/inhand-right.png new file mode 100644 index 0000000000..0d04bb098d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/meta.json new file mode 100644 index 0000000000..4c61195ffb --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_red_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-NC-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_salat_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_salat_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..d35cbf0ed7 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_salat_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_salat_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_salat_women.rsi/icon.png new file mode 100644 index 0000000000..24d370c1c6 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_salat_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_salat_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_salat_women.rsi/meta.json new file mode 100644 index 0000000000..53b53333e5 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_salat_women.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..988fb3b9f3 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/icon.png new file mode 100644 index 0000000000..0e3d03ace3 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/inhand-left.png new file mode 100644 index 0000000000..067fe85d84 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/inhand-right.png new file mode 100644 index 0000000000..5a131d5562 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_womensleeveless.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_womensleeveless.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..01eaf2270c Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_womensleeveless.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_womensleeveless.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_womensleeveless.rsi/icon.png new file mode 100644 index 0000000000..41a33b1a23 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_womensleeveless.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_womensleeveless.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_womensleeveless.rsi/meta.json new file mode 100644 index 0000000000..53b53333e5 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_white_womensleeveless.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..36ecf77ae5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/icon.png new file mode 100644 index 0000000000..3f1385ea28 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/inhand-left.png new file mode 100644 index 0000000000..ac266fa189 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/inhand-right.png new file mode 100644 index 0000000000..be2128255e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/turtleneck_yellow_women.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/equipped-INNERCLOTHING-reptilian.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/equipped-INNERCLOTHING-reptilian.png new file mode 100644 index 0000000000..7cf76b43b0 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/equipped-INNERCLOTHING-reptilian.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..60060f5b77 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/icon.png new file mode 100644 index 0000000000..774df9f51a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/meta.json new file mode 100644 index 0000000000..08f300c8f8 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpskirt/white_captain.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from shiptest (https://github.com/shiptest-ss13/Shiptest) | Edited by PuroSlavKing (Github) | reptilian by vetochka_igrit (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-INNERCLOTHING-reptilian", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/equipped-INNERCLOTHING-monkey.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/equipped-INNERCLOTHING-monkey.png new file mode 100644 index 0000000000..a9eb811e85 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/equipped-INNERCLOTHING-monkey.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..eb88591402 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/icon.png new file mode 100644 index 0000000000..2a767c2335 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/inhand-left.png new file mode 100644 index 0000000000..9af634d226 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/inhand-right.png new file mode 100644 index 0000000000..b2d4350856 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/meta.json new file mode 100644 index 0000000000..efd5fd82df --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/alt_blueshield.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366 and svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-INNERCLOTHING-monkey", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..b196fabe3d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/icon.png new file mode 100644 index 0000000000..3f9ac54b80 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/inhand-left.png new file mode 100644 index 0000000000..62489cdad7 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/inhand-right.png new file mode 100644 index 0000000000..c12de1500b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/meta.json new file mode 100644 index 0000000000..54ea55a6f8 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/blueshield.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites created by zekins3366 and svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/equipped-INNERCLOTHING-reptilian.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/equipped-INNERCLOTHING-reptilian.png new file mode 100644 index 0000000000..24b27063a1 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/equipped-INNERCLOTHING-reptilian.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..d8ea676917 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/icon.png new file mode 100644 index 0000000000..301fc55cff Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/inhand-left.png new file mode 100644 index 0000000000..710055c901 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/inhand-right.png new file mode 100644 index 0000000000..04ad13a930 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/meta.json new file mode 100644 index 0000000000..b8282aefa9 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_command.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/shiptest-ss13/Shiptest | Edited by PuroSlavKing (Github) | reptilian by vetochka_igrit (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-INNERCLOTHING-reptilian", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/equipped-INNERCLOTHING-monkey.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/equipped-INNERCLOTHING-monkey.png new file mode 100644 index 0000000000..93de3c0246 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/equipped-INNERCLOTHING-monkey.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/equipped-INNERCLOTHING-reptilian.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/equipped-INNERCLOTHING-reptilian.png new file mode 100644 index 0000000000..dced4fa2b6 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/equipped-INNERCLOTHING-reptilian.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..1c56a3a311 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/icon.png new file mode 100644 index 0000000000..e7bd04bf4d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/inhand-left.png new file mode 100644 index 0000000000..f79544b8c3 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/inhand-right.png new file mode 100644 index 0000000000..1d2f3f90d2 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/meta.json new file mode 100644 index 0000000000..7e6a96ceed --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/captain_white.rsi/meta.json @@ -0,0 +1,34 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from shiptest (https://github.com/shiptest-ss13/Shiptest) | Edited by PuroSlavKing (Github) | inhand sprites, monkey and reptilian by vetochka_igrit (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-INNERCLOTHING-reptilian", + "directions": 4 + }, + { + "name": "equipped-INNERCLOTHING-monkey", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/equipped-INNERCLOTHING-down.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/equipped-INNERCLOTHING-down.png new file mode 100644 index 0000000000..8f93bffebd Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/equipped-INNERCLOTHING-down.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..f4981b6f69 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/icon.png new file mode 100644 index 0000000000..6623a2fe0f Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/inhand-left.png new file mode 100644 index 0000000000..c1a7a1acca Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/inhand-right.png new file mode 100644 index 0000000000..9a553481a2 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/meta.json new file mode 100644 index 0000000000..a9726ed857 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/postman.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite create by artyboone, modified by zekins3366", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-INNERCLOTHING-down", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..8ac84c41fd Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/icon.png new file mode 100644 index 0000000000..f64b206bbd Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/inhand-left.png new file mode 100644 index 0000000000..0dc12f720d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/inhand-right.png new file mode 100644 index 0000000000..3dcb32aeb0 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/meta.json new file mode 100644 index 0000000000..0ea7258c27 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/runner.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite creared by artyboone", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/equipped-INNERCLOTHING-reptilian.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/equipped-INNERCLOTHING-reptilian.png new file mode 100644 index 0000000000..5962213280 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/equipped-INNERCLOTHING-reptilian.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..7b15f1c0bc Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/icon.png new file mode 100644 index 0000000000..2a5ac2c106 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/meta.json new file mode 100644 index 0000000000..08f300c8f8 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/sheriff.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from shiptest (https://github.com/shiptest-ss13/Shiptest) | Edited by PuroSlavKing (Github) | reptilian by vetochka_igrit (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-INNERCLOTHING-reptilian", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/equipped-INNERCLOTHING-monkey.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/equipped-INNERCLOTHING-monkey.png new file mode 100644 index 0000000000..737f2c44da Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/equipped-INNERCLOTHING-monkey.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..fb6eeaf98d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/icon.png new file mode 100644 index 0000000000..a487caa8bc Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/inhand-left.png new file mode 100644 index 0000000000..e154ff0120 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/inhand-right.png new file mode 100644 index 0000000000..a3b9583c23 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/meta.json new file mode 100644 index 0000000000..d504d65381 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/surgeon.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite create by zekins3366", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-INNERCLOTHING-monkey", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_forchicks.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_forchicks.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..8a761dc915 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_forchicks.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_forchicks.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_forchicks.rsi/icon.png new file mode 100644 index 0000000000..0cb6e97a6a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_forchicks.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_forchicks.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_forchicks.rsi/meta.json new file mode 100644 index 0000000000..17c54ef634 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_forchicks.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by Sokol9BL", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] + } diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_nochicks.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_nochicks.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..e87ae81a6b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_nochicks.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_nochicks.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_nochicks.rsi/icon.png new file mode 100644 index 0000000000..eeefa64641 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_nochicks.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_nochicks.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_nochicks.rsi/meta.json new file mode 100644 index 0000000000..17c54ef634 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/tshirt_nochicks.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by Sokol9BL", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] + } diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..bd2e83577f Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/icon.png new file mode 100644 index 0000000000..661071b4ab Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/inhand-left.png new file mode 100644 index 0000000000..db24392b02 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/inhand-right.png new file mode 100644 index 0000000000..dbd6e9676e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_aquamarine.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..044327e64f Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/icon.png new file mode 100644 index 0000000000..620b8a0c67 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/inhand-left.png new file mode 100644 index 0000000000..093be5da88 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/inhand-right.png new file mode 100644 index 0000000000..e030c8e2f5 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_azure.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..a703338bdf Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/icon.png new file mode 100644 index 0000000000..726598c7e2 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/inhand-left.png new file mode 100644 index 0000000000..c7f650e047 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/inhand-right.png new file mode 100644 index 0000000000..3622f018c8 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_black.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blacksleeveless.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blacksleeveless.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..73d43eb3b6 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blacksleeveless.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blacksleeveless.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blacksleeveless.rsi/icon.png new file mode 100644 index 0000000000..9f348654cc Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blacksleeveless.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blacksleeveless.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blacksleeveless.rsi/meta.json new file mode 100644 index 0000000000..53b53333e5 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blacksleeveless.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..16a28c1882 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/icon.png new file mode 100644 index 0000000000..baf1fee45b Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/inhand-left.png new file mode 100644 index 0000000000..48c4d468a9 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/inhand-right.png new file mode 100644 index 0000000000..f4b2e1f692 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_blue.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..41d31b129a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/icon.png new file mode 100644 index 0000000000..067be32c73 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/inhand-left.png new file mode 100644 index 0000000000..4ff1deaf49 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/inhand-right.png new file mode 100644 index 0000000000..5984ad2dfe Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_brown.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..610de1b0c1 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/icon.png new file mode 100644 index 0000000000..965b98a3aa Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/inhand-left.png new file mode 100644 index 0000000000..4f5a0daeea Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/inhand-right.png new file mode 100644 index 0000000000..6491eccd16 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_green.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..b56c8436d2 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/icon.png new file mode 100644 index 0000000000..a8f42b04ea Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/inhand-left.png new file mode 100644 index 0000000000..248b7e87ec Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/inhand-right.png new file mode 100644 index 0000000000..3a6ab7d471 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_grey.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..ffa9549e3c Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/icon.png new file mode 100644 index 0000000000..8a41f79e62 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/inhand-left.png new file mode 100644 index 0000000000..61618679df Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/inhand-right.png new file mode 100644 index 0000000000..2b39bb9377 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_orange.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..a7230a6ad9 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/icon.png new file mode 100644 index 0000000000..01f295bd8c Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/inhand-left.png new file mode 100644 index 0000000000..87f88a2bf3 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/inhand-right.png new file mode 100644 index 0000000000..2688288cab Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_pink.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..c20c1d700d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/icon.png new file mode 100644 index 0000000000..7d6ad6ac05 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/inhand-left.png new file mode 100644 index 0000000000..ce262aab4f Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/inhand-right.png new file mode 100644 index 0000000000..5f6b72b76e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/meta.json new file mode 100644 index 0000000000..4c61195ffb --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_purple.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-NC-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..f074757d9f Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/icon.png new file mode 100644 index 0000000000..bc9f273f74 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/inhand-left.png new file mode 100644 index 0000000000..930e8752b9 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/inhand-right.png new file mode 100644 index 0000000000..0d04bb098d Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/meta.json new file mode 100644 index 0000000000..4c61195ffb --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_red.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-NC-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salat.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salat.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..43afc00eae Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salat.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salat.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salat.rsi/icon.png new file mode 100644 index 0000000000..76884798df Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salat.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salat.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salat.rsi/meta.json new file mode 100644 index 0000000000..53b53333e5 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salat.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salatblack.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salatblack.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..717fd13f69 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salatblack.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salatblack.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salatblack.rsi/icon.png new file mode 100644 index 0000000000..4525bf7786 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salatblack.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salatblack.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salatblack.rsi/meta.json new file mode 100644 index 0000000000..53b53333e5 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_salatblack.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_tactick.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_tactick.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..80c6408031 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_tactick.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_tactick.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_tactick.rsi/icon.png new file mode 100644 index 0000000000..26a6417d9a Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_tactick.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_tactick.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_tactick.rsi/meta.json new file mode 100644 index 0000000000..53b53333e5 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_tactick.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..1bb6fe224c Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/icon.png new file mode 100644 index 0000000000..d02b241673 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/inhand-left.png new file mode 100644 index 0000000000..067fe85d84 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/inhand-right.png new file mode 100644 index 0000000000..5a131d5562 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_white.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whiteblacksleeveless.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whiteblacksleeveless.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..1e4367f878 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whiteblacksleeveless.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whiteblacksleeveless.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whiteblacksleeveless.rsi/icon.png new file mode 100644 index 0000000000..c47ebc4469 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whiteblacksleeveless.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whiteblacksleeveless.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whiteblacksleeveless.rsi/meta.json new file mode 100644 index 0000000000..53b53333e5 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whiteblacksleeveless.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whitesleeveless.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whitesleeveless.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..369eb55969 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whitesleeveless.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whitesleeveless.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whitesleeveless.rsi/icon.png new file mode 100644 index 0000000000..99ab7f3239 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whitesleeveless.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whitesleeveless.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whitesleeveless.rsi/meta.json new file mode 100644 index 0000000000..53b53333e5 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_whitesleeveless.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..e82b753be6 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/icon.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/icon.png new file mode 100644 index 0000000000..9daee52c60 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/inhand-left.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/inhand-left.png new file mode 100644 index 0000000000..ac266fa189 Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/inhand-right.png b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/inhand-right.png new file mode 100644 index 0000000000..be2128255e Binary files /dev/null and b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/meta.json b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/meta.json new file mode 100644 index 0000000000..b5a5358093 --- /dev/null +++ b/Resources/Textures/_Wega/Clothing/Uniforms/Jumpsuit/turtleneck_yellow.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Wega/Effects/bloodcultteleport.rsi/cultin.png b/Resources/Textures/_Wega/Effects/bloodcultteleport.rsi/cultin.png new file mode 100644 index 0000000000..ea4c811cc4 Binary files /dev/null and b/Resources/Textures/_Wega/Effects/bloodcultteleport.rsi/cultin.png differ diff --git a/Resources/Textures/_Wega/Effects/bloodcultteleport.rsi/cultout.png b/Resources/Textures/_Wega/Effects/bloodcultteleport.rsi/cultout.png new file mode 100644 index 0000000000..19d6b186c5 Binary files /dev/null and b/Resources/Textures/_Wega/Effects/bloodcultteleport.rsi/cultout.png differ diff --git a/Resources/Textures/_Wega/Effects/bloodcultteleport.rsi/meta.json b/Resources/Textures/_Wega/Effects/bloodcultteleport.rsi/meta.json new file mode 100644 index 0000000000..77d6027b06 --- /dev/null +++ b/Resources/Textures/_Wega/Effects/bloodcultteleport.rsi/meta.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "cultin", + "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 ] ] + }, + { + "name": "cultout", + "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 ] ] + } + ] +} diff --git a/Resources/Textures/_Wega/Effects/bloodorb.rsi/blood_orb.png b/Resources/Textures/_Wega/Effects/bloodorb.rsi/blood_orb.png new file mode 100644 index 0000000000..9414cec0f6 Binary files /dev/null and b/Resources/Textures/_Wega/Effects/bloodorb.rsi/blood_orb.png differ diff --git a/Resources/Textures/_Wega/Effects/bloodorb.rsi/meta.json b/Resources/Textures/_Wega/Effects/bloodorb.rsi/meta.json new file mode 100644 index 0000000000..4c57e29d32 --- /dev/null +++ b/Resources/Textures/_Wega/Effects/bloodorb.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "blood_orb", + "delays": [ [ 0.1, 0.1, 0.1, 0.1, 0.1 ] ] + } + ] +} diff --git a/Resources/Textures/_Wega/Effects/floorglow.rsi/floorglow.png b/Resources/Textures/_Wega/Effects/floorglow.rsi/floorglow.png new file mode 100644 index 0000000000..82e1c67ded Binary files /dev/null and b/Resources/Textures/_Wega/Effects/floorglow.rsi/floorglow.png differ diff --git a/Resources/Textures/_Wega/Effects/floorglow.rsi/meta.json b/Resources/Textures/_Wega/Effects/floorglow.rsi/meta.json new file mode 100644 index 0000000000..ec44a7371b --- /dev/null +++ b/Resources/Textures/_Wega/Effects/floorglow.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "floorglow", + "delays": [ [ 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05 ] ] + } + ] +} diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/barrage.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/barrage.png new file mode 100644 index 0000000000..a624914f7b Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/barrage.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/bg_bloodcult.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/bg_bloodcult.png new file mode 100644 index 0000000000..49a4137916 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/bg_bloodcult.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/blood_magic.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/blood_magic.png new file mode 100644 index 0000000000..4007313fa9 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/blood_magic.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/blood_rites.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/blood_rites.png new file mode 100644 index 0000000000..3c0cc79746 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/blood_rites.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/comms.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/comms.png new file mode 100644 index 0000000000..aa614770d2 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/comms.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/concealpresence.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/concealpresence.png new file mode 100644 index 0000000000..04b9e078ab Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/concealpresence.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/dagger.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/dagger.png new file mode 100644 index 0000000000..315ac9d46c Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/dagger.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/electromagneticpulse.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/electromagneticpulse.png new file mode 100644 index 0000000000..6ae213ec21 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/electromagneticpulse.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/hallucinations.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/hallucinations.png new file mode 100644 index 0000000000..848e837f78 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/hallucinations.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/harvester_clone.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/harvester_clone.png new file mode 100644 index 0000000000..759d834409 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/harvester_clone.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/meta.json b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/meta.json new file mode 100644 index 0000000000..ebc305a473 --- /dev/null +++ b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/meta.json @@ -0,0 +1,77 @@ +{ + "copyright": "Taken from https://github.com/ss220-space/Paradise & New sprites have been created by svarshiksatanist", + "license": "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "bg_bloodcult" + }, + { + "name": "barrage" + }, + { + "name": "blood_magic" + }, + { + "name": "blood_rites" + }, + { + "name": "comms" + }, + { + "name": "concealpresence" + }, + { + "name": "dagger" + }, + { + "name": "electromagneticpulse" + }, + { + "name": "harvester_clone" + }, + { + "name": "hallucinations" + }, + { + "name": "orb" + }, + { + "name": "recall_dagger" + }, + { + "name": "recall_spear" + }, + { + "name": "recharge" + }, + { + "name": "shadowshackles" + }, + { + "name": "spear" + }, + { + "name": "stun" + }, + { + "name": "summonequipment" + }, + { + "name": "teleport" + }, + { + "name": "twistedconstruction" + }, + { + "name": "vote" + }, + { + "name": "wraith_teleport" + } + ] +} diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/orb.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/orb.png new file mode 100644 index 0000000000..6134f1c4c2 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/orb.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/recall_dagger.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/recall_dagger.png new file mode 100644 index 0000000000..a23f6b8047 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/recall_dagger.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/recall_spear.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/recall_spear.png new file mode 100644 index 0000000000..ff1b5d1e23 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/recall_spear.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/recharge.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/recharge.png new file mode 100644 index 0000000000..3e70305680 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/recharge.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/shadowshackles.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/shadowshackles.png new file mode 100644 index 0000000000..90ab470dc9 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/shadowshackles.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/spear.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/spear.png new file mode 100644 index 0000000000..e2514f00fc Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/spear.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/stun.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/stun.png new file mode 100644 index 0000000000..9b6e2c5d75 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/stun.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/summonequipment.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/summonequipment.png new file mode 100644 index 0000000000..af7211b4f7 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/summonequipment.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/teleport.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/teleport.png new file mode 100644 index 0000000000..f5e1372250 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/teleport.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/twistedconstruction.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/twistedconstruction.png new file mode 100644 index 0000000000..48da465d11 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/twistedconstruction.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/vote.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/vote.png new file mode 100644 index 0000000000..435661dd37 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/vote.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/wraith_teleport.png b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/wraith_teleport.png new file mode 100644 index 0000000000..fb7f280919 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_bloodcult.rsi/wraith_teleport.png differ diff --git a/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo1.png b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo1.png new file mode 100644 index 0000000000..5d73c095cb Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo1.png differ diff --git a/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo2.png b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo2.png new file mode 100644 index 0000000000..3b2860a726 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo2.png differ diff --git a/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo3.png b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo3.png new file mode 100644 index 0000000000..439ef1005c Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo3.png differ diff --git a/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo4.png b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo4.png new file mode 100644 index 0000000000..9221a45b7a Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo4.png differ diff --git a/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo5.png b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo5.png new file mode 100644 index 0000000000..8ce4342321 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo5.png differ diff --git a/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo6.png b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo6.png new file mode 100644 index 0000000000..1457a6e3c6 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/halo6.png differ diff --git a/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/meta.json b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/meta.json new file mode 100644 index 0000000000..0919281eaf --- /dev/null +++ b/Resources/Textures/_Wega/Interface/Misc/bloodcult_halo.rsi/meta.json @@ -0,0 +1,419 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 64 + }, + "states": [ + { + "name": "halo1", + "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, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "halo2", + "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, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "halo3", + "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, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "halo4", + "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, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "halo5", + "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, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "halo6", + "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, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} diff --git a/Resources/Textures/_Wega/Interface/Misc/bloodcult_icons.rsi/Cultist.png b/Resources/Textures/_Wega/Interface/Misc/bloodcult_icons.rsi/Cultist.png new file mode 100644 index 0000000000..bad9cf33e0 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Misc/bloodcult_icons.rsi/Cultist.png differ diff --git a/Resources/Textures/_Wega/Interface/Misc/bloodcult_icons.rsi/meta.json b/Resources/Textures/_Wega/Interface/Misc/bloodcult_icons.rsi/meta.json new file mode 100644 index 0000000000..5e33a7a883 --- /dev/null +++ b/Resources/Textures/_Wega/Interface/Misc/bloodcult_icons.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + + "size": { + "x": 8, + "y": 8 + }, + "states": [ + { + "name": "Cultist" + } + ] +} diff --git a/Resources/Textures/_Wega/Interface/VerbIcons/clothing.svg.192.dpi.png b/Resources/Textures/_Wega/Interface/VerbIcons/clothing.svg.192.dpi.png new file mode 100644 index 0000000000..c1f3c7d6c1 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/VerbIcons/clothing.svg.192.dpi.png differ diff --git a/Resources/Textures/_Wega/Interface/VerbIcons/clothing.svg.192.dpi.png.yml b/Resources/Textures/_Wega/Interface/VerbIcons/clothing.svg.192.dpi.png.yml new file mode 100644 index 0000000000..dabd6601f7 --- /dev/null +++ b/Resources/Textures/_Wega/Interface/VerbIcons/clothing.svg.192.dpi.png.yml @@ -0,0 +1,2 @@ +sample: + filter: true diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/artificer.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/artificer.png new file mode 100644 index 0000000000..b09a19ccc3 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/artificer.png differ diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/banshee.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/banshee.png new file mode 100644 index 0000000000..cdb78f4269 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/banshee.png differ diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_artificer_cult.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_artificer_cult.png new file mode 100644 index 0000000000..48ba4a127f Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_artificer_cult.png differ diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_harvester_cult.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_harvester_cult.png new file mode 100644 index 0000000000..8701b9f2fc Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_harvester_cult.png differ diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_juggernaut_cult.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_juggernaut_cult.png new file mode 100644 index 0000000000..1571856630 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_juggernaut_cult.png differ diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_proteon_cult.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_proteon_cult.png new file mode 100644 index 0000000000..c3e4b35f1a Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_proteon_cult.png differ diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_wraith_cult.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_wraith_cult.png new file mode 100644 index 0000000000..1f782ca4e0 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/glow_wraith_cult.png differ diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/harvester.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/harvester.png new file mode 100644 index 0000000000..ce11dba2ce Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/harvester.png differ diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/ifrit.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/ifrit.png new file mode 100644 index 0000000000..95382477f2 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/ifrit.png differ diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/juggernaut.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/juggernaut.png new file mode 100644 index 0000000000..e470857baf Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/juggernaut.png differ diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/meta.json b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/meta.json new file mode 100644 index 0000000000..43f275777a --- /dev/null +++ b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/meta.json @@ -0,0 +1,60 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "banshee", + "directions": 4 + }, + { + "name": "artificer", + "directions": 4 + }, + { + "name": "wraith", + "directions": 4 + }, + { + "name": "ifrit", + "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 ] ] + }, + { + "name": "juggernaut", + "directions": 4 + }, + { + "name": "harvester", + "directions": 4 + }, + { + "name": "proteon", + "directions": 4 + }, + { + "name": "glow_artificer_cult", + "directions": 4 + }, + { + "name": "glow_wraith_cult", + "directions": 4 + }, + { + "name": "glow_juggernaut_cult", + "directions": 4 + }, + { + "name": "glow_harvester_cult", + "directions": 4 + }, + { + "name": "glow_proteon_cult", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/proteon.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/proteon.png new file mode 100644 index 0000000000..c2eda5afc8 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/proteon.png differ diff --git a/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/wraith.png b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/wraith.png new file mode 100644 index 0000000000..0ce519ec78 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Demons/bloodcultmobs.rsi/wraith.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/armor.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/armor.png new file mode 100644 index 0000000000..3c337b9448 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/armor.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/armorriot.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/armorriot.png new file mode 100644 index 0000000000..27e6f1f885 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/armorriot.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/beret.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/beret.png new file mode 100644 index 0000000000..313d2fe2a8 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/beret.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/bio.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/bio.png new file mode 100644 index 0000000000..e3fa2f42ea Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/bio.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/biohead.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/biohead.png new file mode 100644 index 0000000000..e3615ccd1d Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/biohead.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/boots.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/boots.png new file mode 100644 index 0000000000..be8312534f Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/boots.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/cap.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/cap.png new file mode 100644 index 0000000000..9765f4ccaa Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/cap.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/capalt.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/capalt.png new file mode 100644 index 0000000000..d45f01969d Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/capalt.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/capgloves.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/capgloves.png new file mode 100644 index 0000000000..d854acd96f Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/capgloves.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/caphop.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/caphop.png new file mode 100644 index 0000000000..a1ebc7fe4c Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/caphop.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/clown.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/clown.png new file mode 100644 index 0000000000..f6147e2933 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/clown.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/clownshoes-big.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/clownshoes-big.png new file mode 100644 index 0000000000..3b2ed41e3c Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/clownshoes-big.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/clownshoes.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/clownshoes.png new file mode 100644 index 0000000000..4cd8c3328f Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/clownshoes.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/coat.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/coat.png new file mode 100644 index 0000000000..98061c0b0b Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/coat.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-armor.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-armor.png new file mode 100644 index 0000000000..235f0e1f7c Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-armor.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-armorriot.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-armorriot.png new file mode 100644 index 0000000000..cbfa76436c Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-armorriot.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-beret.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-beret.png new file mode 100644 index 0000000000..3b2964cc46 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-beret.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-bio.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-bio.png new file mode 100644 index 0000000000..98a0b3e922 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-bio.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-biohead.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-biohead.png new file mode 100644 index 0000000000..7c588d26ff Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-biohead.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-cap.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-cap.png new file mode 100644 index 0000000000..3e2bcc2ba1 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-cap.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-capalt.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-capalt.png new file mode 100644 index 0000000000..c2513821db Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-capalt.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-caphop.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-caphop.png new file mode 100644 index 0000000000..79dba3e4c3 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-caphop.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-clown.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-clown.png new file mode 100644 index 0000000000..df883c585b Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-clown.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-clownshoes-big.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-clownshoes-big.png new file mode 100644 index 0000000000..5916cc8f76 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-clownshoes-big.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-clownshoes.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-clownshoes.png new file mode 100644 index 0000000000..f391626a5e Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-clownshoes.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-coat.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-coat.png new file mode 100644 index 0000000000..755e633ebf Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-coat.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-evasuit.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-evasuit.png new file mode 100644 index 0000000000..ecd6e134af Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-evasuit.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-gaiter.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-gaiter.png new file mode 100644 index 0000000000..c1064433e7 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-gaiter.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-gasmask.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-gasmask.png new file mode 100644 index 0000000000..f559eddf54 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-gasmask.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-gloves.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-gloves.png new file mode 100644 index 0000000000..00998516ab Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-gloves.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hardsuit.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hardsuit.png new file mode 100644 index 0000000000..0e6951865d Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hardsuit.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hat.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hat.png new file mode 100644 index 0000000000..41445bbc47 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hat.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hathos.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hathos.png new file mode 100644 index 0000000000..b9e05e63f2 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hathos.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-heels.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-heels.png new file mode 100644 index 0000000000..1b2b5dc458 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-heels.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-helmet.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-helmet.png new file mode 100644 index 0000000000..051153bfbb Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-helmet.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hood.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hood.png new file mode 100644 index 0000000000..5a8c6cc496 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-hood.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpskirt-down.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpskirt-down.png new file mode 100644 index 0000000000..4497a52712 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpskirt-down.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpskirt.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpskirt.png new file mode 100644 index 0000000000..973bd0705d Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpskirt.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpsuit-down.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpsuit-down.png new file mode 100644 index 0000000000..04d87e8ef9 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpsuit-down.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpsuit.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpsuit.png new file mode 100644 index 0000000000..970f8d6858 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-jumpsuit.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-mask.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-mask.png new file mode 100644 index 0000000000..1d083c2586 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-mask.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-mime.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-mime.png new file mode 100644 index 0000000000..f0929f155c Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-mime.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-shoes.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-shoes.png new file mode 100644 index 0000000000..28cf60afdf Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-shoes.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-soft.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-soft.png new file mode 100644 index 0000000000..3509eb8100 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-soft.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-sterile.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-sterile.png new file mode 100644 index 0000000000..685f8e429c Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-sterile.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-surgcap.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-surgcap.png new file mode 100644 index 0000000000..bcd944e14f Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-surgcap.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-webbing.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-webbing.png new file mode 100644 index 0000000000..ff1c83b588 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-webbing.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-welding.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-welding.png new file mode 100644 index 0000000000..3b4badf776 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-welding.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-winterhood.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-winterhood.png new file mode 100644 index 0000000000..c7dfd37c25 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/equipped-winterhood.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/evasuit.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/evasuit.png new file mode 100644 index 0000000000..c3ddfe6387 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/evasuit.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/flipped-equipped-soft.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/flipped-equipped-soft.png new file mode 100644 index 0000000000..09fe75a7ae Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/flipped-equipped-soft.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/gaiter.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/gaiter.png new file mode 100644 index 0000000000..7d341dc31e Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/gaiter.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/galoshes.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/galoshes.png new file mode 100644 index 0000000000..f3c0c6118a Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/galoshes.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/gasmask.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/gasmask.png new file mode 100644 index 0000000000..8ef4101f2d Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/gasmask.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/gloves.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/gloves.png new file mode 100644 index 0000000000..5d0f605ed7 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/gloves.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hardhat.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hardhat.png new file mode 100644 index 0000000000..f0890fd78e Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hardhat.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hardsuit.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hardsuit.png new file mode 100644 index 0000000000..ec0960849b Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hardsuit.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hat.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hat.png new file mode 100644 index 0000000000..bac25e9bd8 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hat.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hathos.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hathos.png new file mode 100644 index 0000000000..6278e0af9e Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hathos.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/heels.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/heels.png new file mode 100644 index 0000000000..a639889444 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/heels.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/helmet.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/helmet.png new file mode 100644 index 0000000000..4c8216c8df Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/helmet.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hood.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hood.png new file mode 100644 index 0000000000..c9830429a3 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/hood.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/jackboots.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/jackboots.png new file mode 100644 index 0000000000..d9c225d9c7 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/jackboots.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/jumpskirt.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/jumpskirt.png new file mode 100644 index 0000000000..a2fd0661d6 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/jumpskirt.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/jumpsuit.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/jumpsuit.png new file mode 100644 index 0000000000..c9b8ebab22 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/jumpsuit.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/magboots.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/magboots.png new file mode 100644 index 0000000000..c850c86123 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/magboots.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/mask.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/mask.png new file mode 100644 index 0000000000..827942e0c7 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/mask.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/meta.json b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/meta.json new file mode 100644 index 0000000000..32d0a3d64b --- /dev/null +++ b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/meta.json @@ -0,0 +1,307 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Some sprites taken from https://github.com/ss220-space/Paradise, the rest are created by svarshiksatanist (414799795463651332) on discord", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "jumpsuit" + }, + { + "name": "equipped-jumpsuit", + "directions": 4 + }, + { + "name": "equipped-jumpsuit-down", + "directions": 4 + }, + { + "name": "jumpskirt" + }, + { + "name": "equipped-jumpskirt", + "directions": 4 + }, + { + "name": "equipped-jumpskirt-down", + "directions": 4 + }, + { + "name": "shoes" + }, + { + "name": "boots" + }, + { + "name": "jackboots" + }, + { + "name": "galoshes" + }, + { + "name": "magboots" + }, + { + "name": "clownshoes" + }, + { + "name": "clownshoes-big" + }, + { + "name": "equipped-shoes", + "directions": 4 + }, + { + "name": "equipped-clownshoes", + "directions": 4 + }, + { + "name": "equipped-clownshoes-big", + "directions": 4 + }, + { + "name": "gloves" + }, + { + "name": "capgloves" + }, + { + "name": "equipped-gloves", + "directions": 4 + }, + { + "name": "webbing" + }, + { + "name": "equipped-webbing", + "directions": 4 + }, + { + "name": "armor" + }, + { + "name": "equipped-armor", + "directions": 4 + }, + { + "name": "armorriot" + }, + { + "name": "equipped-armorriot", + "directions": 4 + }, + { + "name": "coat" + }, + { + "name": "equipped-coat", + "directions": 4 + }, + { + "name": "open-equipped-coat", + "directions": 4 + }, + { + "name": "evasuit" + }, + { + "name": "equipped-evasuit", + "directions": 4 + }, + { + "name": "hardsuit" + }, + { + "name": "equipped-hardsuit", + "directions": 4 + }, + { + "name": "bio" + }, + { + "name": "equipped-bio", + "directions": 4 + }, + { + "name": "mask" + }, + { + "name": "equipped-mask", + "directions": 4 + }, + { + "name": "up-equipped-mask", + "directions": 4 + }, + { + "name": "gasmask" + }, + { + "name": "equipped-gasmask", + "directions": 4 + }, + { + "name": "sterile" + }, + { + "name": "equipped-sterile", + "directions": 4 + }, + { + "name": "up-equipped-sterile", + "directions": 4 + }, + { + "name": "clown" + }, + { + "name": "equipped-clown", + "directions": 4 + }, + { + "name": "mime" + }, + { + "name": "equipped-mime", + "directions": 4 + }, + { + "name": "gaiter" + }, + { + "name": "equipped-gaiter", + "directions": 4 + }, + { + "name": "hat" + }, + { + "name": "equipped-hat", + "directions": 4 + }, + { + "name": "hathos" + }, + { + "name": "equipped-hathos", + "directions": 4 + }, + { + "name": "beret" + }, + { + "name": "equipped-beret", + "directions": 4 + }, + { + "name": "biohead" + }, + { + "name": "equipped-biohead", + "directions": 4 + }, + { + "name": "cap" + }, + { + "name": "equipped-cap", + "directions": 4 + }, + { + "name": "capalt" + }, + { + "name": "equipped-capalt", + "directions": 4 + }, + { + "name": "caphop" + }, + { + "name": "equipped-caphop", + "directions": 4 + }, + { + "name": "hardhat" + }, + { + "name": "off-equipped-hardhat", + "directions": 4 + }, + { + "name": "helmet" + }, + { + "name": "equipped-helmet", + "directions": 4 + }, + { + "name": "off-equipped-helmet", + "directions": 4 + }, + { + "name": "on-equipped-helmet", + "directions": 4 + }, + { + "name": "on-equipped-hardhat", + "directions": 4 + }, + { + "name": "hood" + }, + { + "name": "equipped-hood", + "directions": 4 + }, + { + "name": "soft" + }, + { + "name": "soft_flipped" + }, + { + "name": "equipped-soft", + "directions": 4 + }, + { + "name": "flipped-equipped-soft", + "directions": 4 + }, + { + "name": "surgcap" + }, + { + "name": "equipped-surgcap", + "directions": 4 + }, + { + "name": "welding" + }, + { + "name": "equipped-welding", + "directions": 4 + }, + { + "name": "up-equipped-welding", + "directions": 4 + }, + { + "name": "winterhood" + }, + { + "name": "equipped-winterhood", + "directions": 4 + }, + { + "name": "heels" + }, + { + "name": "equipped-heels", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/mime.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/mime.png new file mode 100644 index 0000000000..d285c5f236 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/mime.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/off-equipped-hardhat.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/off-equipped-hardhat.png new file mode 100644 index 0000000000..243c2d458e Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/off-equipped-hardhat.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/off-equipped-helmet.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/off-equipped-helmet.png new file mode 100644 index 0000000000..051153bfbb Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/off-equipped-helmet.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/on-equipped-hardhat.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/on-equipped-hardhat.png new file mode 100644 index 0000000000..243c2d458e Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/on-equipped-hardhat.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/on-equipped-helmet.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/on-equipped-helmet.png new file mode 100644 index 0000000000..051153bfbb Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/on-equipped-helmet.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/open-equipped-coat.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/open-equipped-coat.png new file mode 100644 index 0000000000..5de688f5ff Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/open-equipped-coat.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/shoes.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/shoes.png new file mode 100644 index 0000000000..b852056e59 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/shoes.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/soft.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/soft.png new file mode 100644 index 0000000000..9c9a7982c0 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/soft.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/soft_flipped.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/soft_flipped.png new file mode 100644 index 0000000000..081e87b3f8 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/soft_flipped.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/sterile.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/sterile.png new file mode 100644 index 0000000000..51139ebb1e Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/sterile.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/surgcap.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/surgcap.png new file mode 100644 index 0000000000..287f4e680f Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/surgcap.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/up-equipped-mask.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/up-equipped-mask.png new file mode 100644 index 0000000000..3ac6f9dba9 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/up-equipped-mask.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/up-equipped-sterile.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/up-equipped-sterile.png new file mode 100644 index 0000000000..29e371592c Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/up-equipped-sterile.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/up-equipped-welding.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/up-equipped-welding.png new file mode 100644 index 0000000000..8f941a3fb2 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/up-equipped-welding.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/webbing.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/webbing.png new file mode 100644 index 0000000000..b82af74554 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/webbing.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/welding.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/welding.png new file mode 100644 index 0000000000..a1cd1dffe5 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/welding.png differ diff --git a/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/winterhood.png b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/winterhood.png new file mode 100644 index 0000000000..49e172dfd9 Binary files /dev/null and b/Resources/Textures/_Wega/Mobs/Effects/dirt_overlay.rsi/winterhood.png differ diff --git a/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/meta.json b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/meta.json new file mode 100644 index 0000000000..7184d97589 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/meta.json @@ -0,0 +1,28 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite taken from https://github.com/ss220-space/Paradise & Resprite created by svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "runemetal" + }, + { + "name": "runemetal_2" + }, + { + "name": "runemetal_3" + }, + { + "name": "runemetal-inhand-left", + "directions": 4 + }, + { + "name": "runemetal-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal-inhand-left.png b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal-inhand-left.png new file mode 100644 index 0000000000..cbe001326d Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal-inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal-inhand-right.png b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal-inhand-right.png new file mode 100644 index 0000000000..fba2ea2026 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal-inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal.png b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal.png new file mode 100644 index 0000000000..5320301d3a Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal.png differ diff --git a/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal_2.png b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal_2.png new file mode 100644 index 0000000000..4dd3b47883 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal_2.png differ diff --git a/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal_3.png b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal_3.png new file mode 100644 index 0000000000..34f98c56e5 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Materials/Sheets/metal.rsi/runemetal_3.png differ diff --git a/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/meta.json b/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/meta.json new file mode 100644 index 0000000000..588ae52298 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite created by svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "stone" + }, + { + "name": "shuttlecurse", + "delays": [ [ 0.1, 0.1, 0.1 ] ] + }, + { + "name": "stone_soul", + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + }, + { + "name": "sharpener", + "delays": [ [ 1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/sharpener.png b/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/sharpener.png new file mode 100644 index 0000000000..67a49c0379 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/sharpener.png differ diff --git a/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/shuttlecurse.png b/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/shuttlecurse.png new file mode 100644 index 0000000000..67ff4777ff Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/shuttlecurse.png differ diff --git a/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/stone.png b/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/stone.png new file mode 100644 index 0000000000..197212d47e Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/stone.png differ diff --git a/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/stone_soul.png b/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/stone_soul.png new file mode 100644 index 0000000000..5f8f659bba Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Specific/BloodCult/stone.rsi/stone_soul.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Guns/Projectiles/magic.rsi/blood_bolt.png b/Resources/Textures/_Wega/Objects/Weapons/Guns/Projectiles/magic.rsi/blood_bolt.png new file mode 100644 index 0000000000..8b251469d8 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Guns/Projectiles/magic.rsi/blood_bolt.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json new file mode 100644 index 0000000000..73089f38f9 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "blood_bolt", + "delays": [ [ 0.1, 0.1, 0.1, 0.1 ] ] + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/icon.png new file mode 100644 index 0000000000..d7d0db3b7a Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/inhand-left.png new file mode 100644 index 0000000000..b8700988b6 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/inhand-right.png new file mode 100644 index 0000000000..9bed112db6 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/meta.json new file mode 100644 index 0000000000..6f6eddbabd --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..6b801a3b2f Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..6b801a3b2f Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/icon.png new file mode 100644 index 0000000000..cf4e424bc8 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/inhand-left.png new file mode 100644 index 0000000000..13dfb3b1cd Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/inhand-right.png new file mode 100644 index 0000000000..cb26bf3fc8 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/meta.json new file mode 100644 index 0000000000..b08369479a --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_blade.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:dragondidlo", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/equipped-BELT.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/equipped-BELT.png new file mode 100644 index 0000000000..4b88c31c26 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/icon.png new file mode 100644 index 0000000000..9159067b56 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/inhand-left.png new file mode 100644 index 0000000000..29222715d2 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/inhand-right.png new file mode 100644 index 0000000000..8c4e25aae1 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/meta.json new file mode 100644 index 0000000000..c183e8ad71 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_dagger.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:dragondidlo", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BELT", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_shifter.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_shifter.rsi/icon.png new file mode 100644 index 0000000000..ade6a2bdd1 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_shifter.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_shifter.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_shifter.rsi/meta.json new file mode 100644 index 0000000000..ee9ed46651 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_shifter.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon", + "delays": [ [ 0.1, 0.1, 0.1, 0.1 ] ] + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..c63fc35593 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..c63fc35593 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/icon.png new file mode 100644 index 0000000000..8a1814a9bb Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/inhand-left.png new file mode 100644 index 0000000000..6dbe881610 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/inhand-right.png new file mode 100644 index 0000000000..ff278aaf9b Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/meta.json new file mode 100644 index 0000000000..55638b98ad --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/meta.json @@ -0,0 +1,38 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Created by discord:dragondidlo", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/wielded-inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..def85c257f Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/wielded-inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..606e7b386b Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/blood_spear.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/equipped-BELT.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/equipped-BELT.png new file mode 100644 index 0000000000..87d34e5b33 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/icon.png new file mode 100644 index 0000000000..d2c3492748 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/inhand-left.png new file mode 100644 index 0000000000..9e775b802e Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/inhand-right.png new file mode 100644 index 0000000000..e1d3a69f17 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/meta.json new file mode 100644 index 0000000000..45abb63371 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/chainsword.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon", + "delays": [ [ 0.1, 0.1 ] ] + }, + { + "name": "inhand-left", + "directions": 4, + "delays": [ [ 0.1, 0.1 ], [ 0.1, 0.1 ], [ 0.1, 0.1 ], [ 0.1, 0.1 ] ] + }, + { + "name": "inhand-right", + "directions": 4, + "delays": [ [ 0.1, 0.1 ], [ 0.1, 0.1 ], [ 0.1, 0.1 ], [ 0.1, 0.1 ] ] + }, + { + "name": "equipped-BELT", + "directions": 4, + "delays": [ [ 0.1, 0.1 ], [ 0.1, 0.1 ], [ 0.1, 0.1 ], [ 0.1, 0.1 ] ] + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/equipped-BELT.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/equipped-BELT.png new file mode 100644 index 0000000000..8a290bc223 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/icon.png new file mode 100644 index 0000000000..9eed6d0342 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/inhand-left.png new file mode 100644 index 0000000000..de25caf237 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/inhand-right.png new file mode 100644 index 0000000000..ef9b29d571 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/meta.json new file mode 100644 index 0000000000..14a2bab14f --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/meta.json @@ -0,0 +1,29 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:𝘽𝙚𝙡𝙖𝙮#7441, Modified for ERT by HappyRoach", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BELT", + "directions": 4 + }, + { + "name": "storage" + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/storage.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/storage.png new file mode 100644 index 0000000000..6eef4f5d00 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/combat_crowbar.rsi/storage.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..508bc2004e Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..508bc2004e Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/icon.png new file mode 100644 index 0000000000..092ec42258 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/inhand-left.png new file mode 100644 index 0000000000..b438ea9898 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/inhand-right.png new file mode 100644 index 0000000000..6fbaa820db Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/meta.json new file mode 100644 index 0000000000..b08369479a --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_blade.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:dragondidlo", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/equipped-BELT.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/equipped-BELT.png new file mode 100644 index 0000000000..3df4ce8bf1 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/icon.png new file mode 100644 index 0000000000..43058c0206 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/inhand-left.png new file mode 100644 index 0000000000..3ed22ed0a4 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/inhand-right.png new file mode 100644 index 0000000000..93652fba6a Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/meta.json new file mode 100644 index 0000000000..c183e8ad71 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/death_dagger.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:dragondidlo", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BELT", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/flash.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/flash.png new file mode 100644 index 0000000000..3051d166a8 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/flash.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/flashing.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/flashing.png new file mode 100644 index 0000000000..48e84bf311 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/flashing.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/inhand-left.png new file mode 100644 index 0000000000..9abbdf08c9 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/inhand-right.png new file mode 100644 index 0000000000..a1f8f407a1 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/meta.json new file mode 100644 index 0000000000..640cbb37ea --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/exmflash.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/commit/740ff31a81313086cf16761f3677cf1e2ab46c93 modyfy by <@500744677352407051>", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "flash" + }, + { + "name": "flashing", + "delays": [ + [ + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..b103607bb2 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/equipped-BELT.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/equipped-BELT.png new file mode 100644 index 0000000000..1e5f9bc0dc Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..b103607bb2 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/icon.png new file mode 100644 index 0000000000..b296f76f34 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/inhand-left.png new file mode 100644 index 0000000000..ec5971980d Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/inhand-right.png new file mode 100644 index 0000000000..5caaf983ec Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/meta.json new file mode 100644 index 0000000000..fbdda6c166 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/force_sword.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon", + "delays": [ [ 0.1, 0.1 ] ] + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, + { + "name": "equipped-BELT", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..e32babc395 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..e32babc395 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/icon.png new file mode 100644 index 0000000000..ffdf32ef40 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/inhand-left.png new file mode 100644 index 0000000000..466fd485c5 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/inhand-right.png new file mode 100644 index 0000000000..75be093d73 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/meta.json new file mode 100644 index 0000000000..b08369479a --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_blade.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:dragondidlo", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/equipped-BELT.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/equipped-BELT.png new file mode 100644 index 0000000000..a929d0e0d8 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/icon.png new file mode 100644 index 0000000000..843b0fef94 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/inhand-left.png new file mode 100644 index 0000000000..f384cd6f11 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/inhand-right.png new file mode 100644 index 0000000000..1e4895f44c Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/meta.json new file mode 100644 index 0000000000..c183e8ad71 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/hell_dagger.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:dragondidlo", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BELT", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..68f867887d Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..68f867887d Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/icon.png new file mode 100644 index 0000000000..95b5559ec0 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/inhand-left.png new file mode 100644 index 0000000000..73368307af Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/inhand-right.png new file mode 100644 index 0000000000..4ec6369166 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/meta.json new file mode 100644 index 0000000000..2e6b1efab7 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/hfrequency_sword.rsi/meta.json @@ -0,0 +1,33 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon", + "delays": [ [ 0.1, 0.1, 0.1, 0.1, 0.1 ] ] + }, + { + "name": "inhand-left", + "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 ] ] + }, + { + "name": "inhand-right", + "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 ] ] + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/icon.png new file mode 100644 index 0000000000..79f962b156 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/inhand-left.png new file mode 100644 index 0000000000..7c13acc27d Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/inhand-right.png new file mode 100644 index 0000000000..00e8dd215b Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/meta.json new file mode 100644 index 0000000000..979df43d64 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "pulse" + }, + { + "name": "inhand-left", + "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 ] ], + "directions": 4 + }, + { + "name": "inhand-right", + "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 ] ], + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/pulse.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/pulse.png new file mode 100644 index 0000000000..add619d759 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/magic_hand.rsi/pulse.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..376f3f24fb Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/equipped-BELT.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/equipped-BELT.png new file mode 100644 index 0000000000..e1e4e87da0 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..376f3f24fb Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/icon.png new file mode 100644 index 0000000000..562374fbe5 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/inhand-left.png new file mode 100644 index 0000000000..0c6849ca70 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/inhand-right.png new file mode 100644 index 0000000000..06605e441c Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/meta.json new file mode 100644 index 0000000000..b7ca179b72 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/multiverse_sword.rsi/meta.json @@ -0,0 +1,40 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon", + "delays": [ [ 0.1, 0.1, 0.1, 0.1, 0.1 ] ] + }, + { + "name": "inhand-left", + "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 ] ] + }, + { + "name": "inhand-right", + "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 ] ] + }, + { + "name": "equipped-BACKPACK", + "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 ] ] + }, + { + "name": "equipped-SUITSTORAGE", + "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 ] ] + }, + { + "name": "equipped-BELT", + "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 ] ] + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/equipped-BELT.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/equipped-BELT.png new file mode 100644 index 0000000000..2da37bd30f Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/icon.png new file mode 100644 index 0000000000..59cbced8e3 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/inhand-left.png new file mode 100644 index 0000000000..3a85af74ec Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/inhand-right.png new file mode 100644 index 0000000000..ae32ffda96 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/meta.json new file mode 100644 index 0000000000..509c436feb --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/nullrod.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/Skyrat-SS13/Skyrat-tg", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BELT", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/equipped-BELT.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/equipped-BELT.png new file mode 100644 index 0000000000..7fbbe996cb Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/icon.png new file mode 100644 index 0000000000..fc4d6aa4fa Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/inhand-left.png new file mode 100644 index 0000000000..e8eb58a5ca Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/inhand-right.png new file mode 100644 index 0000000000..9269370162 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/meta.json new file mode 100644 index 0000000000..62ebe638c6 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/possessed_blade.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon", + "delays": [ [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 ] ] + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BELT", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/equipped-BACKPACK.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..892f99bdc0 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..892f99bdc0 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/icon.png new file mode 100644 index 0000000000..501c3327fa Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/inhand-left.png new file mode 100644 index 0000000000..96b8f9d6e4 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/inhand-right.png new file mode 100644 index 0000000000..bd14429f65 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/meta.json new file mode 100644 index 0000000000..c24952e298 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/reaper_scythe.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/icon.png new file mode 100644 index 0000000000..7eda280b4d Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/inhand-left.png new file mode 100644 index 0000000000..991891def5 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/inhand-right.png new file mode 100644 index 0000000000..5cbf8e69f4 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/meta.json new file mode 100644 index 0000000000..bb23514051 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "позаимствовано из SS13 Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier_storage_64x.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier_storage_64x.rsi/meta.json new file mode 100644 index 0000000000..9f94206290 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier_storage_64x.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Storage sprite by KaiserMaus on Github.", + "size": { + "x": 64, + "y": 64 + }, + "states": [ + { + "name": "storage" + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier_storage_64x.rsi/storage.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier_storage_64x.rsi/storage.png new file mode 100644 index 0000000000..53ad53f051 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/syndicate_rapier_storage_64x.rsi/storage.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/close-inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/close-inhand-left.png new file mode 100644 index 0000000000..d536efd745 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/close-inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/close-inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/close-inhand-right.png new file mode 100644 index 0000000000..432331f622 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/close-inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/icon-close.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/icon-close.png new file mode 100644 index 0000000000..b5bd393093 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/icon-close.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/icon-open.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/icon-open.png new file mode 100644 index 0000000000..35423775e3 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/icon-open.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/inhand-left.png new file mode 100644 index 0000000000..1acf9e8e6b Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/inhand-right.png new file mode 100644 index 0000000000..61210fab0c Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/meta.json new file mode 100644 index 0000000000..95e5e1c5c8 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/telescopic_baton.rsi/meta.json @@ -0,0 +1,33 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite by alexmactep", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon-close" + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "icon-open" + }, + { + "name": "close-inhand-left", + "directions": 4 + }, + { + "name": "close-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/equipped-BELT.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/equipped-BELT.png new file mode 100644 index 0000000000..3b30c7c987 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/icon.png new file mode 100644 index 0000000000..11d439bc8e Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/inhand-left.png new file mode 100644 index 0000000000..91f5bef6e5 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/inhand-right.png new file mode 100644 index 0000000000..36a2e889a1 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/meta.json new file mode 100644 index 0000000000..0c97947e8f --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Melee/unreal_sword.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BELT", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/icon.png b/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/icon.png new file mode 100644 index 0000000000..26c7087a7c Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/icon.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/inhand-left.png new file mode 100644 index 0000000000..3e1d860eff Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/inhand-right.png new file mode 100644 index 0000000000..1463412e66 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/meta.json new file mode 100644 index 0000000000..eadcc55579 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Throwable/cult_bola.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon", + "delays": [ [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 ] ] + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/assembly.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/assembly.png new file mode 100644 index 0000000000..37c7af6a5c Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/assembly.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/bolted_open_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/bolted_open_unlit.png new file mode 100644 index 0000000000..f69f2a124e Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/bolted_open_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/bolted_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/bolted_unlit.png new file mode 100644 index 0000000000..9a57e2c1b2 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/bolted_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closed.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closed.png new file mode 100644 index 0000000000..a5237bf5ed Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closed.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closed_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closed_unlit.png new file mode 100644 index 0000000000..a1168e1965 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closed_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closing.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closing.png new file mode 100644 index 0000000000..1148433a56 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closing.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closing_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closing_unlit.png new file mode 100644 index 0000000000..4c6edcfdbe Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/closing_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/deny_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/deny_unlit.png new file mode 100644 index 0000000000..741589c696 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/deny_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/emergency_open_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/emergency_open_unlit.png new file mode 100644 index 0000000000..0b3ace1410 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/emergency_open_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/emergency_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/emergency_unlit.png new file mode 100644 index 0000000000..36daac76c4 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/emergency_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/meta.json b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/meta.json new file mode 100644 index 0000000000..0475b8542e --- /dev/null +++ b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/meta.json @@ -0,0 +1,197 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Resprite created by karmen4ik", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "assembly" + }, + { + "name": "bolted_unlit" + }, + { + "name": "bolted_open_unlit" + }, + { + "name": "closed" + }, + { + "name": "closed_unlit" + }, + { + "name": "open_unlit" + }, + { + "name": "closing", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "closing_unlit", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "deny_unlit", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "open" + }, + { + "name": "opening", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "opening_unlit", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "panel_closing", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "panel_closed" + }, + { + "name": "panel_opening", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + + { + "name": "panel_open" + }, + { + "name": "sparks", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_broken", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 1.7 + ] + ] + }, + { + "name": "sparks_damaged", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_open", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "welded" + }, + { + "name": "emergency_unlit", + "delays": [ + [ + 1.2, + 1.2 + ] + ] + }, + { + "name": "emergency_open_unlit" + } + ] +} diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/open.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/open.png new file mode 100644 index 0000000000..b98cf53f9f Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/open.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/open_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/open_unlit.png new file mode 100644 index 0000000000..810a46ad20 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/open_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/opening.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/opening.png new file mode 100644 index 0000000000..9ff61cde7f Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/opening.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/opening_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/opening_unlit.png new file mode 100644 index 0000000000..787e869bda Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/opening_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_closed.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_closed.png new file mode 100644 index 0000000000..4c59d3a28c Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_closed.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_closing.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_closing.png new file mode 100644 index 0000000000..140be67d32 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_closing.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_open.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_open.png new file mode 100644 index 0000000000..c41e1484ee Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_open.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_opening.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_opening.png new file mode 100644 index 0000000000..c25bc776c6 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/panel_opening.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks.png new file mode 100644 index 0000000000..186d38f0d1 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks_broken.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks_broken.png new file mode 100644 index 0000000000..4b58c64673 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks_broken.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks_damaged.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks_damaged.png new file mode 100644 index 0000000000..9b919ed404 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks_damaged.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks_open.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks_open.png new file mode 100644 index 0000000000..deabe407f1 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/sparks_open.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/welded.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/welded.png new file mode 100644 index 0000000000..85f179f2e0 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Glass/bloodcult.rsi/welded.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/assembly.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/assembly.png new file mode 100644 index 0000000000..06bfefe634 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/assembly.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/bolted_open_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/bolted_open_unlit.png new file mode 100644 index 0000000000..f69f2a124e Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/bolted_open_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/bolted_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/bolted_unlit.png new file mode 100644 index 0000000000..9a57e2c1b2 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/bolted_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closed.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closed.png new file mode 100644 index 0000000000..3fe9b6b74a Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closed.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closed_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closed_unlit.png new file mode 100644 index 0000000000..a1168e1965 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closed_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closing.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closing.png new file mode 100644 index 0000000000..032bd8540e Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closing.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closing_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closing_unlit.png new file mode 100644 index 0000000000..4c6edcfdbe Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/closing_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/deny_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/deny_unlit.png new file mode 100644 index 0000000000..741589c696 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/deny_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/emergency_open_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/emergency_open_unlit.png new file mode 100644 index 0000000000..0b3ace1410 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/emergency_open_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/emergency_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/emergency_unlit.png new file mode 100644 index 0000000000..36daac76c4 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/emergency_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/meta.json b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/meta.json new file mode 100644 index 0000000000..ac05b0a5be --- /dev/null +++ b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/meta.json @@ -0,0 +1,197 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Resprite created by svarshiksatanist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "assembly" + }, + { + "name": "bolted_unlit" + }, + { + "name": "bolted_open_unlit" + }, + { + "name": "closed" + }, + { + "name": "closed_unlit" + }, + { + "name": "open_unlit" + }, + { + "name": "closing", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "closing_unlit", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "deny_unlit", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "open" + }, + { + "name": "opening", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "opening_unlit", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "panel_closing", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "panel_closed" + }, + { + "name": "panel_opening", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + + { + "name": "panel_open" + }, + { + "name": "sparks", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_broken", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 1.7 + ] + ] + }, + { + "name": "sparks_damaged", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_open", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "welded" + }, + { + "name": "emergency_unlit", + "delays": [ + [ + 1.2, + 1.2 + ] + ] + }, + { + "name": "emergency_open_unlit" + } + ] +} diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/open.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/open.png new file mode 100644 index 0000000000..842298e184 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/open.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/open_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/open_unlit.png new file mode 100644 index 0000000000..810a46ad20 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/open_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/opening.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/opening.png new file mode 100644 index 0000000000..7eaec4d801 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/opening.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/opening_unlit.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/opening_unlit.png new file mode 100644 index 0000000000..787e869bda Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/opening_unlit.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_closed.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_closed.png new file mode 100644 index 0000000000..4c59d3a28c Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_closed.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_closing.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_closing.png new file mode 100644 index 0000000000..140be67d32 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_closing.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_open.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_open.png new file mode 100644 index 0000000000..c41e1484ee Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_open.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_opening.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_opening.png new file mode 100644 index 0000000000..c25bc776c6 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/panel_opening.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks.png new file mode 100644 index 0000000000..186d38f0d1 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks_broken.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks_broken.png new file mode 100644 index 0000000000..4b58c64673 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks_broken.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks_damaged.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks_damaged.png new file mode 100644 index 0000000000..9b919ed404 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks_damaged.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks_open.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks_open.png new file mode 100644 index 0000000000..deabe407f1 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/sparks_open.png differ diff --git a/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/welded.png b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/welded.png new file mode 100644 index 0000000000..85f179f2e0 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Doors/Airlocks/Standard/bloodcult.rsi/welded.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/altar.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/altar.png new file mode 100644 index 0000000000..3c31d0f05b Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/altar.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/archive.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/archive.png new file mode 100644 index 0000000000..71eeeb8466 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/archive.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/barrier.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/barrier.png new file mode 100644 index 0000000000..05056ceb97 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/barrier.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/barrier_anim.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/barrier_anim.png new file mode 100644 index 0000000000..d365fbe619 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/barrier_anim.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/bloodboil.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/bloodboil.png new file mode 100644 index 0000000000..99c648e620 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/bloodboil.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/bloodboil_anim.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/bloodboil_anim.png new file mode 100644 index 0000000000..27eac8edb9 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/bloodboil_anim.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/construct-cult.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/construct-cult.png new file mode 100644 index 0000000000..14f76d33e4 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/construct-cult.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/empowering.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/empowering.png new file mode 100644 index 0000000000..7f42a6e718 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/empowering.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/empowering_anim.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/empowering_anim.png new file mode 100644 index 0000000000..0285c7cf1a Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/empowering_anim.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/forge.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/forge.png new file mode 100644 index 0000000000..1088e3132d Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/forge.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/meta.json b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/meta.json new file mode 100644 index 0000000000..a4c1b21f36 --- /dev/null +++ b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/meta.json @@ -0,0 +1,85 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "altar" + }, + { + "name": "archive" + }, + { + "name": "barrier" + }, + { + "name": "barrier_anim", + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + }, + { + "name": "bloodboil" + }, + { + "name": "bloodboil_anim", + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + }, + { + "name": "construct-cult", + "delays": [ [ 0.5, 0.5, 0.5, 0.5 ] ] + }, + { + "name": "empowering" + }, + { + "name": "empowering_anim", + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + }, + { + "name": "forge", + "delays": [ [ 0.1, 0.1, 0.1, 0.1 ] ] + }, + { + "name": "offering" + }, + { + "name": "offering_anim", + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + }, + { + "name": "pylon", + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + }, + { + "name": "revive" + }, + { + "name": "revive_anim", + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + }, + { + "name": "spiritrealm" + }, + { + "name": "spiritrealm_anim", + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + }, + { + "name": "summoning" + }, + { + "name": "summoning_anim", + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + }, + { + "name": "teleport" + }, + { + "name": "teleport_anim", + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + } + ] +} diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/offering.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/offering.png new file mode 100644 index 0000000000..e32ba64b05 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/offering.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/offering_anim.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/offering_anim.png new file mode 100644 index 0000000000..1a5c855dd6 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/offering_anim.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/pylon.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/pylon.png new file mode 100644 index 0000000000..e371fdd198 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/pylon.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/revive.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/revive.png new file mode 100644 index 0000000000..7723034b58 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/revive.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/revive_anim.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/revive_anim.png new file mode 100644 index 0000000000..df9539fb92 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/revive_anim.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/spiritrealm.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/spiritrealm.png new file mode 100644 index 0000000000..7a8b10f7b1 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/spiritrealm.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/spiritrealm_anim.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/spiritrealm_anim.png new file mode 100644 index 0000000000..a38bcae0fc Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/spiritrealm_anim.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/summoning.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/summoning.png new file mode 100644 index 0000000000..1eb946a631 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/summoning.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/summoning_anim.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/summoning_anim.png new file mode 100644 index 0000000000..dee051bfea Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/summoning_anim.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/teleport.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/teleport.png new file mode 100644 index 0000000000..a7d5e7e452 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/teleport.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/teleport_anim.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/teleport_anim.png new file mode 100644 index 0000000000..ec56f1196f Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures.rsi/teleport_anim.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/meta.json b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/meta.json new file mode 100644 index 0000000000..79d538026c --- /dev/null +++ b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise", + "size": { + "x": 96, + "y": 96 + }, + "states": [ + { + "name": "rune_large" + }, + { + "name": "rune_large_anim", + "delays": [ [ 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105, 0.105 ] ] + }, + { + "name": "rune_large_distorted", + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2 ] ] + } + ] +} diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/rune_large.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/rune_large.png new file mode 100644 index 0000000000..f624e63ed2 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/rune_large.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/rune_large_anim.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/rune_large_anim.png new file mode 100644 index 0000000000..3f0b2c44ad Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/rune_large_anim.png differ diff --git a/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/rune_large_distorted.png b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/rune_large_distorted.png new file mode 100644 index 0000000000..80172e4341 Binary files /dev/null and b/Resources/Textures/_Wega/Structures/Specific/bloodcult_structures_large.rsi/rune_large_distorted.png differ