diff --git a/Content.Client/_DV/CosmicCult/CosmicGlyphSystem.cs b/Content.Client/_DV/CosmicCult/CosmicGlyphSystem.cs new file mode 100644 index 00000000000..9537f231e1d --- /dev/null +++ b/Content.Client/_DV/CosmicCult/CosmicGlyphSystem.cs @@ -0,0 +1,8 @@ +using Content.Shared._DV.CosmicCult; + +namespace Content.Client._DV.CosmicCult; + +public sealed class CosmicGlyphSystem : SharedCosmicGlyphSystem +{ + +} diff --git a/Content.Server/_DV/CosmicCult/Abilities/CosmicConversionSystem.cs b/Content.Server/_DV/CosmicCult/Abilities/CosmicConversionSystem.cs index 6d83aa3970c..56ca69061ef 100644 --- a/Content.Server/_DV/CosmicCult/Abilities/CosmicConversionSystem.cs +++ b/Content.Server/_DV/CosmicCult/Abilities/CosmicConversionSystem.cs @@ -4,6 +4,7 @@ using Content.Shared._DV.CosmicCult.Components; using Content.Shared._DV.CosmicCult; using Content.Shared.Damage; +using Content.Shared.Mind; using Content.Shared.Mindshield.Components; using Content.Shared.Mobs.Systems; using Content.Shared.Popups; @@ -22,15 +23,17 @@ public sealed class CosmicConversionSystem : EntitySystem [Dependency] private readonly PopupSystem _popup = default!; [Dependency] private readonly SharedCosmicCultSystem _cosmicCult = default!; [Dependency] private readonly SharedStunSystem _stun = default!; + [Dependency] private readonly SharedMindSystem _mind = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnConversionGlyph); + SubscribeLocalEvent(OnCheckGlyphConditions); } - private void OnConversionGlyph(Entity uid, ref TryActivateGlyphEvent args) + private void OnCheckGlyphConditions(Entity uid, ref CheckGlyphConditionsEvent args) { var possibleTargets = _cosmicGlyph.GetTargetsNearGlyph(uid, uid.Comp.ConversionRange, entity => _cosmicCult.EntityIsCultist(entity)); if (possibleTargets.Count == 0) @@ -45,6 +48,28 @@ private void OnConversionGlyph(Entity uid, ref T args.Cancel(); return; } + foreach (var target in possibleTargets) + { + if (!_mind.TryGetMind(target, out _, out _)) + { + _popup.PopupEntity(Loc.GetString("cult-glyph-target-mindless"), uid, args.User); + args.Cancel(); + return; + } + } + } + + private void OnConversionGlyph(Entity uid, ref TryActivateGlyphEvent args) + { + var ev = new CheckGlyphConditionsEvent(args.User, args.Cultists); + RaiseLocalEvent(uid, ref ev); + if (ev.Cancelled) + { + args.Cancel(); + return; + } + + var possibleTargets = _cosmicGlyph.GetTargetsNearGlyph(uid, uid.Comp.ConversionRange, entity => _cosmicCult.EntityIsCultist(entity)); foreach (var target in possibleTargets) { diff --git a/Content.Server/_DV/CosmicCult/Abilities/CosmicTransmuteSystem.cs b/Content.Server/_DV/CosmicCult/Abilities/CosmicTransmuteSystem.cs index cd08b9fef5e..dda8ee1269f 100644 --- a/Content.Server/_DV/CosmicCult/Abilities/CosmicTransmuteSystem.cs +++ b/Content.Server/_DV/CosmicCult/Abilities/CosmicTransmuteSystem.cs @@ -17,11 +17,11 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(OnTransmuteGlyph); + SubscribeLocalEvent(OnCheckGlyphConditions); } - private void OnTransmuteGlyph(Entity uid, ref TryActivateGlyphEvent args) + private void OnCheckGlyphConditions(Entity uid, ref CheckGlyphConditionsEvent args) { - var tgtpos = Transform(uid).Coordinates; var possibleTargets = GatherEntities(uid); if (possibleTargets.Count == 0) { @@ -29,6 +29,20 @@ private void OnTransmuteGlyph(Entity uid, ref Try args.Cancel(); return; } + } + + private void OnTransmuteGlyph(Entity uid, ref TryActivateGlyphEvent args) + { + var ev = new CheckGlyphConditionsEvent(args.User, args.Cultists); + RaiseLocalEvent(uid, ref ev); + if (ev.Cancelled) + { + args.Cancel(); + return; + } + + var tgtpos = Transform(uid).Coordinates; + var possibleTargets = GatherEntities(uid); var target = _random.Pick(possibleTargets); if (!TryComp(target, out var comp)) return; Spawn(comp.TransmutesTo, tgtpos); diff --git a/Content.Server/_DV/CosmicCult/CosmicCultSystem.cs b/Content.Server/_DV/CosmicCult/CosmicCultSystem.cs index b565acda370..445938c9804 100644 --- a/Content.Server/_DV/CosmicCult/CosmicCultSystem.cs +++ b/Content.Server/_DV/CosmicCult/CosmicCultSystem.cs @@ -12,7 +12,6 @@ using Content.Server._EE.Radio; using Content.Shared.Alert; using Content.Shared.DoAfter; -using Content.Shared.Examine; using Content.Shared.Eye; using Content.Shared.Hands; using Content.Shared.Inventory.Events; @@ -29,6 +28,7 @@ using Content.Shared.Popups; using Content.Shared.Radio; using Content.Server.Radio.Components; +using Content.Shared.Examine; namespace Content.Server._DV.CosmicCult; @@ -85,8 +85,6 @@ public override void Initialize() SubscribeLocalEvent(OnEndImposition); SubscribeLocalEvent(OnImpositionMoveSpeed); - SubscribeLocalEvent(OnCosmicCultExamined); - SubscribeLocalEvent(OnTransmitterChannelsChangedCult, after: new[] { typeof(IntrinsicRadioKeySystem) }); SubscribeFinale(); //Hook up the cosmic cult finale system @@ -191,12 +189,10 @@ private void OnEndInfluenceStride(Entity uid, ref Comp private void OnStartImposition(Entity uid, ref ComponentInit args) // these functions just make sure { _movementSpeed.RefreshMovementSpeedModifiers(uid); - EnsureComp(uid).CultistText = "cosmic-examine-text-malignecho"; } private void OnEndImposition(Entity uid, ref ComponentRemove args) // as various cosmic cult effects get added and removed { _movementSpeed.RefreshMovementSpeedModifiers(uid); - RemComp(uid); } private void OnRefreshMoveSpeed(EntityUid uid, InfluenceStrideComponent comp, RefreshMovementSpeedModifiersEvent args) diff --git a/Content.Server/_DV/CosmicCult/CosmicGlyphSystem.cs b/Content.Server/_DV/CosmicCult/CosmicGlyphSystem.cs index 4905fa2a9ae..b505c7f3359 100644 --- a/Content.Server/_DV/CosmicCult/CosmicGlyphSystem.cs +++ b/Content.Server/_DV/CosmicCult/CosmicGlyphSystem.cs @@ -10,10 +10,11 @@ using Robust.Server.Audio; using Robust.Shared.Audio; using Robust.Shared.Containers; +using Robust.Shared.Timing; namespace Content.Server._DV.CosmicCult; -public sealed class CosmicGlyphSystem : EntitySystem +public sealed class CosmicGlyphSystem : SharedCosmicGlyphSystem { [Dependency] private readonly DamageableSystem _damageable = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!; @@ -22,27 +23,47 @@ public sealed class CosmicGlyphSystem : EntitySystem [Dependency] private readonly AudioSystem _audio = default!; [Dependency] private readonly SharedContainerSystem _container = default!; [Dependency] private readonly SharedCosmicCultSystem _cosmicCult = default!; + [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly IGameTiming _timing = default!; private readonly HashSet> _cultists = []; private readonly HashSet> _humanoids = []; public override void Initialize() { - SubscribeLocalEvent(OnExamine); SubscribeLocalEvent(OnUseGlyph); + SubscribeLocalEvent(OnGlyphCreated); } #region Base trigger - private void OnExamine(Entity uid, ref ExaminedEvent args) + private void OnGlyphCreated(Entity ent, ref ComponentStartup args) { - if (_cosmicCult.EntityIsCultist(args.Examiner)) - { - args.PushMarkup(Loc.GetString("cosmic-examine-glyph-cultcount", ("COUNT", uid.Comp.RequiredCultists))); - } - else + ent.Comp.Timer = _timing.CurTime + ent.Comp.SpawnTime; + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var glyphQuery = EntityQueryEnumerator(); + while (glyphQuery.MoveNext(out var uid, out var comp)) { - args.PushMarkup(Loc.GetString("cosmic-examine-text-glyphs")); + if (_timing.CurTime < comp.Timer) continue; + if (comp.State == GlyphStatus.Spawning || comp.State == GlyphStatus.Cooldown) + { + _appearance.SetData(uid, GlyphVisuals.Status, GlyphStatus.Ready); + comp.State = GlyphStatus.Ready; + return; + } + if (comp.State == GlyphStatus.Active) + { + ActivateGlyph(new Entity(uid, comp)); + } + if (comp.State == GlyphStatus.Despawning) + { + QueueDel(uid); + } } } @@ -50,7 +71,7 @@ private void OnUseGlyph(Entity uid, ref ActivateInWorldEve { var tgtpos = Transform(uid).Coordinates; var userCoords = Transform(args.User).Coordinates; - if (args.Handled || !userCoords.TryDistance(EntityManager, tgtpos, out var distance) || distance > uid.Comp.ActivationRange || !_cosmicCult.EntityIsCultist(args.User)) + if (args.Handled || !userCoords.TryDistance(EntityManager, tgtpos, out var distance) || distance > uid.Comp.ActivationRange || !_cosmicCult.EntityIsCultist(args.User) || uid.Comp.State != GlyphStatus.Ready) return; var cultists = GatherCultists(uid, uid.Comp.ActivationRange); if (cultists.Count < uid.Comp.RequiredCultists) @@ -59,21 +80,60 @@ private void OnUseGlyph(Entity uid, ref ActivateInWorldEve return; } + var ev = new CheckGlyphConditionsEvent(args.User, cultists); + RaiseLocalEvent(uid, ref ev); + if (ev.Cancelled) return; + args.Handled = true; - var tryInvokeEv = new TryActivateGlyphEvent(args.User, cultists); - RaiseLocalEvent(uid, tryInvokeEv); - if (tryInvokeEv.Cancelled) + uid.Comp.User = args.User; + if (uid.Comp.ActivationTime > TimeSpan.FromSeconds(0)) + { + _appearance.SetData(uid, GlyphVisuals.Status, GlyphStatus.Active); + uid.Comp.State = GlyphStatus.Active; + uid.Comp.Timer = _timing.CurTime + uid.Comp.ActivationTime; + _audio.PlayPvs(uid.Comp.ChargeSFX, Transform(uid).Coordinates); + } + else ActivateGlyph(uid); + } + + private void ActivateGlyph(Entity ent) + { + if (ent.Comp.EraseOnUse) + { + EraseGlyph(ent); + } + else if (ent.Comp.CooldownTime > TimeSpan.FromSeconds(0)) + { + _appearance.SetData(ent, GlyphVisuals.Status, GlyphStatus.Cooldown); + ent.Comp.State = GlyphStatus.Cooldown; + ent.Comp.Timer = _timing.CurTime + ent.Comp.CooldownTime; + } + else + { + _appearance.SetData(ent, GlyphVisuals.Status, GlyphStatus.Ready); + ent.Comp.State = GlyphStatus.Ready; + } + + if (ent.Comp.User is not { } user) return; + var cultists = GatherCultists(ent, ent.Comp.ActivationRange); + var tryInvokeEv = new TryActivateGlyphEvent(user, cultists); + RaiseLocalEvent(ent, ref tryInvokeEv); + var tgtpos = Transform(ent).Coordinates; + if (tryInvokeEv.Cancelled || cultists.Count < ent.Comp.RequiredCultists) + { + _audio.PlayPvs(ent.Comp.FailSFX, tgtpos); return; + } - var damage = uid.Comp.ActivationDamage / cultists.Count; + var damage = ent.Comp.ActivationDamage / cultists.Count; foreach (var cultist in cultists) { _damageable.TryChangeDamage(cultist, damage, true); } - _audio.PlayPvs(uid.Comp.GylphSFX, tgtpos, AudioParams.Default.WithVolume(+1f)); - Spawn(uid.Comp.GylphVFX, tgtpos); - QueueDel(uid); + _audio.PlayPvs(ent.Comp.TriggerSFX, tgtpos, AudioParams.Default.WithVolume(+1f)); + Spawn(ent.Comp.GlyphVFX, tgtpos); + ent.Comp.User = null; } #endregion diff --git a/Content.Shared/_DV/CosmicCult/Components/CosmicGlyphComponent.cs b/Content.Shared/_DV/CosmicCult/Components/CosmicGlyphComponent.cs index 69f441af55a..833d0c35bb3 100644 --- a/Content.Shared/_DV/CosmicCult/Components/CosmicGlyphComponent.cs +++ b/Content.Shared/_DV/CosmicCult/Components/CosmicGlyphComponent.cs @@ -1,10 +1,14 @@ using Content.Shared.Damage; +using Robust.Shared.GameStates; using Robust.Shared.Audio; using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared._DV.CosmicCult.Components; -[RegisterComponent] +[RegisterComponent, NetworkedComponent] +[AutoGenerateComponentPause] public sealed partial class CosmicGlyphComponent : Component { [DataField] public int RequiredCultists = 1; @@ -15,12 +19,51 @@ public sealed partial class CosmicGlyphComponent : Component /// [DataField] public DamageSpecifier ActivationDamage = new(); [DataField] public bool CanBeErased = true; - [DataField] public EntProtoId GylphVFX = "CosmicGenericVFX"; - [DataField] public SoundSpecifier GylphSFX = new SoundPathSpecifier("/Audio/_DV/CosmicCult/glyph_trigger.ogg"); + [DataField] public bool EraseOnUse = false; + [DataField] public EntProtoId GlyphVFX = "CosmicGenericVFX"; + [DataField] public SoundSpecifier TriggerSFX = new SoundPathSpecifier("/Audio/_DV/CosmicCult/glyph_trigger.ogg"); + [DataField] public SoundSpecifier ChargeSFX = new SoundPathSpecifier("/Audio/_DV/CosmicCult/glyph_charge.ogg"); + [DataField] public SoundSpecifier FailSFX = new SoundPathSpecifier("/Audio/_DV/CosmicCult/glyph_fail.ogg"); + [DataField] public GlyphStatus State = GlyphStatus.Spawning; + [DataField] public EntityUid? User = null; + [DataField] public TimeSpan SpawnTime = TimeSpan.FromSeconds(1.2); + [DataField] public TimeSpan DespawnTime = TimeSpan.FromSeconds(0.6); + [DataField] public TimeSpan ActivationTime = TimeSpan.FromSeconds(0); + [DataField] public TimeSpan CooldownTime = TimeSpan.FromSeconds(3.0); + [AutoPausedField, DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + public TimeSpan Timer = default!; } -public sealed class TryActivateGlyphEvent(EntityUid user, HashSet> cultists) : CancellableEntityEventArgs +[ByRefEvent] +public record struct TryActivateGlyphEvent(EntityUid User, HashSet> Cultists, bool Cancelled = false) { - public EntityUid User = user; - public HashSet> Cultists = cultists; + public void Cancel() + { + Cancelled = true; + } +} + +[ByRefEvent] +public record struct CheckGlyphConditionsEvent(EntityUid User, HashSet> Cultists, bool Cancelled = false) +{ + public void Cancel() + { + Cancelled = true; + } +} + +[Serializable, NetSerializable] +public enum GlyphVisuals : byte +{ + Status, +} + +[Serializable, NetSerializable] +public enum GlyphStatus : byte +{ + Spawning, + Despawning, + Ready, + Active, + Cooldown } diff --git a/Content.Shared/_DV/CosmicCult/SharedCosmicCultSystem.cs b/Content.Shared/_DV/CosmicCult/SharedCosmicCultSystem.cs index 9640fd97eff..e7a493a03d6 100644 --- a/Content.Shared/_DV/CosmicCult/SharedCosmicCultSystem.cs +++ b/Content.Shared/_DV/CosmicCult/SharedCosmicCultSystem.cs @@ -2,6 +2,7 @@ using Content.Shared.Antag; using Content.Shared.Examine; using Content.Shared.Ghost; +using Content.Shared.IdentityManagement.Components; using Content.Shared.Mind; using Content.Shared.Roles; using Content.Shared.Verbs; @@ -28,10 +29,12 @@ public override void Initialize() SubscribeLocalEvent(OnCosmicCultCompGetStateAttempt); SubscribeLocalEvent(DirtyCosmicCultComps); SubscribeLocalEvent(DirtyCosmicCultComps); - SubscribeLocalEvent>(OnDetailedExamine); + + SubscribeLocalEvent>(OnTransmutableExamined); + SubscribeLocalEvent(OnCosmicCultExamined); } - private void OnDetailedExamine(Entity ent, ref GetVerbsEvent args) + private void OnTransmutableExamined(Entity ent, ref GetVerbsEvent args) { if (ent.Comp.TransmutesTo == "" || ent.Comp.RequiredGlyphType == "") return; if (!EntityIsCultist(args.User)) //non-cultists don't need to know this anyway @@ -48,6 +51,11 @@ private void OnDetailedExamine(Entity ent, ref GetV "/Textures/_DV/CosmicCult/Interface/transmute_inspect.png"); } + private void OnCosmicCultExamined(Entity ent, ref ExaminedEvent args) + { + args.PushMarkup(Loc.GetString(EntitySeesCult(args.Examiner) ? ent.Comp.CultistText : ent.Comp.OthersText)); + } + public bool EntityIsCultist(EntityUid user) { if (!_mind.TryGetMind(user, out var mind, out _)) diff --git a/Content.Shared/_DV/CosmicCult/SharedCosmicGlyphSystem.cs b/Content.Shared/_DV/CosmicCult/SharedCosmicGlyphSystem.cs new file mode 100644 index 00000000000..2378f968e93 --- /dev/null +++ b/Content.Shared/_DV/CosmicCult/SharedCosmicGlyphSystem.cs @@ -0,0 +1,33 @@ +using Content.Shared._DV.CosmicCult.Components; +using Content.Shared.Examine; +using Robust.Shared.Timing; + +namespace Content.Shared._DV.CosmicCult; + +public abstract class SharedCosmicGlyphSystem : EntitySystem +{ + [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly SharedCosmicCultSystem _cosmicCult = default!; + [Dependency] private readonly IGameTiming _timing = default!; + + public override void Initialize() + { + SubscribeLocalEvent(OnExamine); + } + + private void OnExamine(Entity uid, ref ExaminedEvent args) + { + if (_cosmicCult.EntityIsCultist(args.Examiner)) + { + args.PushMarkup(Loc.GetString("cosmic-examine-glyph-cultcount", ("COUNT", uid.Comp.RequiredCultists))); + } + } + + public void EraseGlyph(EntityUid ent) + { + if (!TryComp(ent, out var comp)) return; + _appearance.SetData(ent, GlyphVisuals.Status, GlyphStatus.Despawning); + comp.State = GlyphStatus.Despawning; + comp.Timer = _timing.CurTime + comp.DespawnTime; + } +} diff --git a/Content.Shared/_DV/CosmicCult/SharedMonumentSystem.cs b/Content.Shared/_DV/CosmicCult/SharedMonumentSystem.cs index 63ea0606fe2..0f7231ba0be 100644 --- a/Content.Shared/_DV/CosmicCult/SharedMonumentSystem.cs +++ b/Content.Shared/_DV/CosmicCult/SharedMonumentSystem.cs @@ -21,6 +21,7 @@ public abstract class SharedMonumentSystem : EntitySystem [Dependency] private readonly SharedActionsSystem _actions = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedCosmicCultSystem _cosmicCult = default!; + [Dependency] private readonly SharedCosmicGlyphSystem _glyph = default!; [Dependency] private readonly SharedMapSystem _map = default!; [Dependency] private readonly SharedUserInterfaceSystem _ui = default!; @@ -94,8 +95,7 @@ private void OnGlyphSelected(Entity ent, ref GlyphSelectedMes var localTile = _map.GetTileRef(xform.GridUid.Value, grid, xform.Coordinates); var targetIndices = localTile.GridIndices + new Vector2i(0, -1); - if (ent.Comp.CurrentGlyph is not null) - QueueDel(ent.Comp.CurrentGlyph); + if (ent.Comp.CurrentGlyph is { } curGlyph) _glyph.EraseGlyph(curGlyph); var glyphEnt = Spawn(proto.Entity, _map.ToCenterCoordinates(xform.GridUid.Value, targetIndices, grid)); ent.Comp.CurrentGlyph = glyphEnt; @@ -107,8 +107,7 @@ private void OnGlyphSelected(Entity ent, ref GlyphSelectedMes private void OnGlyphRemove(Entity ent, ref GlyphRemovedMessage args) { - if (ent.Comp.CurrentGlyph is not null) - QueueDel(ent.Comp.CurrentGlyph); + if (ent.Comp.CurrentGlyph is { } curGlyph) _glyph.EraseGlyph(curGlyph); _ui.SetUiState(ent.Owner, MonumentKey.Key, new MonumentBuiState(ent.Comp)); } diff --git a/Content.Shared/_Goobstation/Clothing/Components/ClothingGrantComponentComponent.cs b/Content.Shared/_Goobstation/Clothing/Components/ClothingGrantComponentComponent.cs new file mode 100644 index 00000000000..b23565e0656 --- /dev/null +++ b/Content.Shared/_Goobstation/Clothing/Components/ClothingGrantComponentComponent.cs @@ -0,0 +1,15 @@ +using Robust.Shared.Prototypes; + +namespace Content.Shared._Goobstation.Clothing.Components +{ + [RegisterComponent] + public sealed partial class ClothingGrantComponentComponent : Component + { + [DataField("component", required: true)] + [AlwaysPushInheritance] + public ComponentRegistry Components { get; private set; } = new(); + + [ViewVariables(VVAccess.ReadWrite)] + public Dictionary Active = new(); // Goobstation + } +} diff --git a/Content.Shared/_Goobstation/Clothing/Components/ClothingGrantTagComponent.cs b/Content.Shared/_Goobstation/Clothing/Components/ClothingGrantTagComponent.cs index 4e7e9ca25a4..ff8bae5064f 100644 --- a/Content.Shared/_Goobstation/Clothing/Components/ClothingGrantTagComponent.cs +++ b/Content.Shared/_Goobstation/Clothing/Components/ClothingGrantTagComponent.cs @@ -7,15 +7,17 @@ // // SPDX-License-Identifier: AGPL-3.0-or-later -namespace Content.Shared._Goobstation.Clothing.Components // Goobstation +using Content.Shared.Tag; // harmony +using Robust.Shared.Prototypes; // harmony + +namespace Content.Shared._Goobstation.Clothing.Components; + +[RegisterComponent] +public sealed partial class ClothingGrantTagComponent : Component { - [RegisterComponent] - public sealed partial class ClothingGrantTagComponent : Component - { - [DataField("tag", required: true), ViewVariables(VVAccess.ReadWrite)] - public string Tag = ""; + [DataField("tag", required: true), ViewVariables(VVAccess.ReadWrite)] + public ProtoId Tag = ""; // Harmony - change to protoid - [ViewVariables(VVAccess.ReadWrite)] - public bool IsActive = false; - } -} \ No newline at end of file + [ViewVariables(VVAccess.ReadWrite)] + public bool IsActive = false; +} diff --git a/Content.Shared/_Goobstation/Clothing/Systems/ClothingGrantingSystem.cs b/Content.Shared/_Goobstation/Clothing/Systems/ClothingGrantingSystem.cs index 6497ef5079e..3d237b5540a 100644 --- a/Content.Shared/_Goobstation/Clothing/Systems/ClothingGrantingSystem.cs +++ b/Content.Shared/_Goobstation/Clothing/Systems/ClothingGrantingSystem.cs @@ -110,4 +110,4 @@ private void OnTagUnequip(EntityUid uid, ClothingGrantTagComponent component, Go component.IsActive = false; } } -} \ No newline at end of file +} diff --git a/Resources/Audio/_DV/CosmicCult/attributions.yml b/Resources/Audio/_DV/CosmicCult/attributions.yml index ddc167fc0d3..ffb5e423fd8 100644 --- a/Resources/Audio/_DV/CosmicCult/attributions.yml +++ b/Resources/Audio/_DV/CosmicCult/attributions.yml @@ -78,3 +78,10 @@ license: "CC-BY-SA-3.0" copyright: "By widgetbeck for Cosmic Cult. Made using a combination of (Creative Commons 0) samples from freesound.org." source: "https://freesound.org/" + +- files: + - glyph_charge.ogg + - glyph_fail.ogg + license: "CC-BY-SA-3.0" + copyright: "By NoElkaTheGod(GitHub) for Cosmic Cult. Made using a combination of (Creative Commons 0) samples from freesound.org." + source: "https://freesound.org/" diff --git a/Resources/Audio/_DV/CosmicCult/glyph_charge.ogg b/Resources/Audio/_DV/CosmicCult/glyph_charge.ogg new file mode 100644 index 00000000000..91c7e4952a5 Binary files /dev/null and b/Resources/Audio/_DV/CosmicCult/glyph_charge.ogg differ diff --git a/Resources/Audio/_DV/CosmicCult/glyph_fail.ogg b/Resources/Audio/_DV/CosmicCult/glyph_fail.ogg new file mode 100644 index 00000000000..4bd53d63cbf Binary files /dev/null and b/Resources/Audio/_DV/CosmicCult/glyph_fail.ogg differ diff --git a/Resources/Locale/en-US/_DEN/accessories/hair.ftl b/Resources/Locale/en-US/_DEN/accessories/hair.ftl new file mode 100644 index 00000000000..b877a9dbad8 --- /dev/null +++ b/Resources/Locale/en-US/_DEN/accessories/hair.ftl @@ -0,0 +1,93 @@ +marking-amazon = Amazon +marking-astolfo = Astolfo +marking-baum = Baum +marking-beachwave = Beach Wave +marking-bluntbangs = Blunt Bangs +marking-bluntbangs_alt = Bangs +marking-braided_front = Braided Front (Alt) +marking-braided_sidetail = Braided Sidetail +marking-bunhead4 = Bun Head 4 +marking-combed = Combed +marking-combedbob = Combed Bob +marking-cotton = Cotton +marking-cottonalt = Cotton (Alt) +marking-curly = Curly +marking-dave = Dave +marking-diagonal_bangs = Diagonal Bangs +marking-diagonal_bangs_alt = Diagonal Bangs (Alt) +marking-dreadlocks_long = Dreadlocks Long +marking-firestarter = Firestarter +marking-fluffy_bangs = Fluffy Bangs +marking-fluffy_short = Fluffy Short +marking-fortuneteller = Fortuneteller +marking-fortuneteller_alt = Fortuneteller (Alt) +marking-froofylong = Froofy Long +marking-geisha = Geisha +marking-gentle_bun = Gentle Bun +marking-gentle_duo_bun = Gentle Bun Duo +marking-glammetal = Glam Metal +marking-gloomy_long = Gloomy Long +marking-gloomy_longer = Gloomy Longer +marking-gloomy_medium = Gloomy Medium +marking-grande = Grande +marking-hairfre = Hairfre +marking-halfcut = Halfcut +marking-halfcut_rough = Halfcut Rough +marking-holo_tuber = Holo Tuber +marking-hyenamane = Hyena Mane +marking-impish = Impish +marking-jay = Jay +marking-jessica = Jessica +marking-kajam = Kajam +marking-lila = Lila +marking-long4 = Long Hair 4 +marking-longdtails = Long Dualtails +marking-longovereye_alt = Long Over Eye (Alt) +marking-longsidepartstraight = Long Side Part Straight +marking-loose_slicked = Loose Slicked +marking-mcsqueeb = Mcsqueeb +marking-mediumbraid = Medium Braid +marking-mermaid = Mermaid +marking-mia = Mia +marking-mohawkshort = Short Mohawk +marking-newyou = New You +marking-phoenix = Phoenix +marking-phoenix_half_shaven = Phoenix Half Shaven +marking-poofy = Poofy 2 +marking-punktails = Punktails +marking-quadcurls = Quad Curls +marking-ring_tails = Ringtails +marking-rowbraid = Rowbraid +marking-rowdualtail = Row Dualtail +marking-royal_curls = Royal Curls +marking-runner = Runner +marking-runner_bun = Runner Bun +marking-sabitsuki = Sabitsuki +marking-scully = Scully +marking-short_tassles = Short Tassels +marking-shy = Shy +marking-sleaze = Sleaze +marking-slightlymessy = Slightly Messy +marking-spicy = Spicy +marking-spikey = Spikey +marking-spikey_long = Spikey Long +marking-stacy = Stacy +marking-stacy_bun = Stacy Bun +marking-strict = Strict +marking-strict_long = Strict Long +marking-strict_short = Strict Short +marking-toriyama = Toriyama +marking-tri_bun = Tri Bun +marking-tri_bun_long = Tri Bun Long +marking-twintail = Twintail +marking-violet = Violet +marking-violet_ponytail = Violet Ponytail +marking-viper = Viper +marking-volajupompless = Volaju (Alt) +marking-ziegler = Ziegler +marking-zoey = Zoey +marking-halfshave_glamorous = Halfshave Glamourous +marking-halfshave_long = Halfshave Long +marking-halfshave_messy = Halfshave Messy +marking-halfshave_messylong = Halfshave Messy Long +marking-inari = Inari \ No newline at end of file diff --git a/Resources/Locale/en-US/_DV/cosmiccult/glyphs.ftl b/Resources/Locale/en-US/_DV/cosmiccult/glyphs.ftl index 871e736c4f5..819ac431e4a 100644 --- a/Resources/Locale/en-US/_DV/cosmiccult/glyphs.ftl +++ b/Resources/Locale/en-US/_DV/cosmiccult/glyphs.ftl @@ -4,6 +4,7 @@ cult-glyph-conditions-not-met = No suitable targets within range of glyph! cult-glyph-too-many-targets = Too many targets present on glyph! cult-glyph-target-mindshield = Mental shielding prevents the glyph's influence from taking hold! cult-glyph-target-chaplain = A spark of divine power prevents the glyph's influence from taking hold! +cult-glyph-target-mindless = The glyph fails to activate, as the target is currently mindless. cult-glyph-name-knowledge = Pact of Knowledge cult-glyph-description-knowledge = Knowledge. Instills the spark of indelible knowledge. Able to convert most to join our ranks. diff --git a/Resources/Locale/en-US/_Goobstation/store/uplink-catalog.ftl b/Resources/Locale/en-US/_Goobstation/store/uplink-catalog.ftl new file mode 100644 index 00000000000..d2805b498b4 --- /dev/null +++ b/Resources/Locale/en-US/_Goobstation/store/uplink-catalog.ftl @@ -0,0 +1,4 @@ +uplink-hardsuit-cybersun-stealth-name = Cybersun Stealth Hardsuit +uplink-hardsuit-cybersun-stealth-desc = Reversed engineered from Spider Clan technology, this hardsuit has stealth plating in it for those special ops. Faster, but less armored than the default hardsuits. +## Harmony - Fixed typo +## DeltaV - no slowdown diff --git a/Resources/Prototypes/_DEN/Entities/Mobs/Customization/Markings/hair.yml b/Resources/Prototypes/_DEN/Entities/Mobs/Customization/Markings/hair.yml new file mode 100644 index 00000000000..ec46947f3ef --- /dev/null +++ b/Resources/Prototypes/_DEN/Entities/Mobs/Customization/Markings/hair.yml @@ -0,0 +1,739 @@ +# SPDX-FileCopyrightText: 2025 juniwoofs +# SPDX-FileCopyrightText: 2025 sleepyyapril +# SPDX-FileCopyrightText: 2025 wheelwrightt + +- type: marking + id: amazon + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_amazon + +- type: marking + id: astolfo + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_astolfo + +- type: marking + id: baum + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_baum + +- type: marking + id: beachwave + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_beachwave + +- type: marking + id: bluntbangs + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_bluntbangs + +- type: marking + id: bluntbangs_alt + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_bluntbangs_alt + +- type: marking + id: braided_front + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_braided_front + +- type: marking + id: braided_sidetail + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_braided_sidetail + +- type: marking + id: bunhead4 + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_bunhead4 + +- type: marking + id: combed + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_combed + +- type: marking + id: combedbob + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_combedbob + +- type: marking + id: cotton + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_cotton + +- type: marking + id: cottonalt + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_cottonalt + +- type: marking + id: curly + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_curly + +- type: marking + id: dave + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_dave + +- type: marking + id: diagonal_bangs + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_diagonal_bangs + +- type: marking + id: diagonal_bangs_alt + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_diagonal_bangs_alt + +- type: marking + id: dreadlocks_long + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_dreadlocks_long + +- type: marking + id: firestarter + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_firestarter + +- type: marking + id: fluffy_bangs + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_fluffy_bangs + +- type: marking + id: fluffy_short + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_fluffy_short + +- type: marking + id: fortuneteller + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_fortuneteller + +- type: marking + id: fortuneteller_alt + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_fortuneteller_alt + +- type: marking + id: froofylong + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_froofylong + +- type: marking + id: geisha + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_geisha + +- type: marking + id: gentle_bun + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_gentle_bun + +- type: marking + id: gentle_duo_bun + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_gentle_duo_bun + +- type: marking + id: glammetal + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_glammetal + +- type: marking + id: gloomy_long + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_gloomy_long + +- type: marking + id: gloomy_longer + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_gloomy_longer + +- type: marking + id: gloomy_medium + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_gloomy_medium + +- type: marking + id: grande + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_grande + +- type: marking + id: hairfre + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_hairfre + +- type: marking + id: halfcut + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_halfcut + +- type: marking + id: halfcut_rough + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_halfcut_rough + +- type: marking + id: holo_tuber + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_holo_tuber + +- type: marking + id: hyenamane + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_hyenamane + +- type: marking + id: impish + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_impish + +- type: marking + id: jay + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_jay + +- type: marking + id: jessica + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_jessica + +- type: marking + id: kajam + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_kajam + +- type: marking + id: lila + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_lila + +- type: marking + id: long4 + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_long4 + +- type: marking + id: longdtails + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_longdtails + +- type: marking + id: longovereye_alt + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_longovereye_alt + +- type: marking + id: longsidepartstraight + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_longsidepartstraight + +- type: marking + id: loose_slicked + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_loose_slicked + +- type: marking + id: mcsqueeb + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_mcsqueeb + +- type: marking + id: mediumbraid + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_mediumbraid + +- type: marking + id: mermaid + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_mermaid + +- type: marking + id: mia + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_mia + +- type: marking + id: newyou + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_newyou + +- type: marking + id: phoenix + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_phoenix + +- type: marking + id: phoenix_half_shaven + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_phoenix_half_shaven + +- type: marking + id: poofy + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_poofy + +- type: marking + id: punktails + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_punktails + +- type: marking + id: quadcurls + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_quadcurls + +- type: marking + id: ring_tails + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_ring_tails + +- type: marking + id: rowbraid + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_rowbraid + +- type: marking + id: rowdualtail + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_rowdualtail + +- type: marking + id: royal_curls + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_royal_curls + +- type: marking + id: runner + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_runner + +- type: marking + id: runner_bun + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_runner_bun + +- type: marking + id: sabitsuki + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_sabitsuki + +- type: marking + id: scully + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_scully + +- type: marking + id: short_tassles + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_short_tassles + +- type: marking + id: shy + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_shy + +- type: marking + id: sleaze + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_sleaze + +- type: marking + id: slightlymessy + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_slightlymessy + +- type: marking + id: spicy + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_spicy + +- type: marking + id: spikey + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_spikey + +- type: marking + id: spikey_long + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_spikey_long + +- type: marking + id: stacy + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_stacy + +- type: marking + id: stacy_bun + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_stacy_bun + +- type: marking + id: strict + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_strict + +- type: marking + id: strict_long + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_strict_long + +- type: marking + id: strict_short + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_strict_short + +- type: marking + id: toriyama + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_toriyama + +- type: marking + id: tri_bun + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_tri_bun + +- type: marking + id: tri_bun_long + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_tri_bun_long + +- type: marking + id: twintail + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_twintail + +- type: marking + id: violet + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_violet + +- type: marking + id: violet_ponytail + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_violet_ponytail + +- type: marking + id: viper + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_viper + +- type: marking + id: volajupompless + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_volajupompless + +- type: marking + id: ziegler + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_ziegler + +- type: marking + id: zoey + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: hair_zoey + +- type: marking + id: halfshave_glamorous + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: halfshave_glamorous + +- type: marking + id: halfshave_long + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: halfshave_long + +- type: marking + id: halfshave_messy + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: halfshave_messy + +- type: marking + id: halfshave_messylong + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: halfshave_messylong + +- type: marking + id: inari + bodyPart: Hair + markingCategory: Hair + sprites: + - sprite: _DEN/Mobs/Customization/Hair/hairdoppler.rsi + state: inari \ No newline at end of file diff --git a/Resources/Prototypes/_DV/CosmicCult/glyphs.yml b/Resources/Prototypes/_DV/CosmicCult/glyphs.yml index 416d65e977e..9cb4b872e58 100644 --- a/Resources/Prototypes/_DV/CosmicCult/glyphs.yml +++ b/Resources/Prototypes/_DV/CosmicCult/glyphs.yml @@ -19,15 +19,25 @@ - SlipLayer - type: Physics - type: Clickable - - type: CosmicGlyph - type: CosmicCultExamine othersText: cosmic-examine-text-glyphs - type: Sprite - sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi + sprite: _DV/CosmicCult/Objects/glyph_truth.rsi layers: - - state: aid + - state: spawning + map: ["base"] drawdepth: Puddles + - type: GenericVisualizer + visuals: + enum.GlyphVisuals.Status: + base: + Spawning: {state: spawning} + Despawning: {state: despawning} + Ready: {state: ready} + Active: {state: active} + #Cooldown: {state: cooldown} - type: Appearance + - type: InteractionOutline - type: entity parent: CosmicGlyphBase @@ -35,13 +45,14 @@ name: Glyph of Truth components: - type: Sprite - sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi + sprite: _DV/CosmicCult/Objects/glyph_truth.rsi layers: - - state: truth - drawdepth: Puddles + - state: spawning + map: ["base"] - type: CosmicGlyphConversion negateProtection: true - type: CosmicGlyph + activationTime: 4 # To prevent people from just using the glyph the moment a target's shunt ends. Go get cuffs. requiredCultists: 3 activationDamage: types: @@ -55,12 +66,13 @@ name: Glyph of Knowledge components: - type: Sprite - sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi + sprite: _DV/CosmicCult/Objects/glyph_knowledge.rsi layers: - - state: knowledge - drawdepth: Puddles + - state: spawning + map: ["base"] - type: CosmicGlyphConversion - type: CosmicGlyph + activationTime: 4 # To prevent people from just using the glyph the moment a target's shunt ends. Go get cuffs. requiredCultists: 2 activationDamage: types: @@ -74,10 +86,10 @@ name: Glyph of Cessation components: - type: Sprite + sprite: _DV/CosmicCult/Objects/glyph_cessation.rsi layers: - - sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi - state: cessation - drawdepth: Puddles + - state: spawning + map: ["base"] - type: CosmicGlyphTransmute - type: CosmicGlyph requiredCultists: 1 @@ -93,10 +105,10 @@ name: Glyph of Blades components: - type: Sprite - sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi + sprite: _DV/CosmicCult/Objects/glyph_blades.rsi layers: - - state: blades - drawdepth: Puddles + - state: spawning + map: ["base"] - type: CosmicGlyphTransmute - type: CosmicGlyph requiredCultists: 2 @@ -112,10 +124,10 @@ name: Glyph of Warding components: - type: Sprite - sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi + sprite: _DV/CosmicCult/Objects/glyph_warding.rsi layers: - - state: warding - drawdepth: Puddles + - state: spawning + map: ["base"] - type: CosmicGlyphTransmute - type: CosmicGlyph requiredCultists: 2 @@ -131,10 +143,10 @@ name: Glyph of Projection components: - type: Sprite - sprite: _DV/CosmicCult/Objects/glyphs_floor.rsi + sprite: _DV/CosmicCult/Objects/glyph_projection.rsi layers: - - state: projection - drawdepth: Puddles + - state: spawning + map: ["base"] - type: CosmicGlyphAstralProjection - type: CosmicGlyph requiredCultists: 1 diff --git a/Resources/Prototypes/_Goobstation/Catalog/Fills/Backpacks/duffelbag.yml b/Resources/Prototypes/_Goobstation/Catalog/Fills/Backpacks/duffelbag.yml new file mode 100644 index 00000000000..dc02870d8a0 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Catalog/Fills/Backpacks/duffelbag.yml @@ -0,0 +1,13 @@ +- type: entity + parent: ClothingBackpackDuffelSyndicateBundle + id: ClothingBackpackDuffelSyndicateStealthHardsuitBundle + name: cybersun stealthsuit bundle + description: "An advanced cybersun stealth hardsuit bundle." + components: + - type: StorageFill + contents: + - id: ClothingOuterHardsuitCybersunStealth + - id: ClothingMaskGasSyndicate + - id: ClothingHandsGlovesCombat + - id: DoubleEmergencyOxygenTankFilled + - id: DoubleEmergencyNitrogenTankFilled diff --git a/Resources/Prototypes/_Goobstation/Catalog/uplink_catalog.yml b/Resources/Prototypes/_Goobstation/Catalog/uplink_catalog.yml new file mode 100644 index 00000000000..d280db98e13 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Catalog/uplink_catalog.yml @@ -0,0 +1,19 @@ +- type: listing + id: UplinkHardsuitCybersunStealth + name: uplink-hardsuit-cybersun-stealth-name + description: uplink-hardsuit-cybersun-stealth-desc + icon: { sprite: /Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi, state: icon } + productEntity: ClothingBackpackDuffelSyndicateStealthHardsuitBundle + cost: + Telecrystal: 15 # Harmony - modified since goob has different TC ratio. + categories: + - UplinkWearables +# begin Harmony change - yeah let's not give this to syndies + # Begin DeltaV additions - we ARE giving this to syndies + #conditions: + #- !type:StoreWhitelistCondition + # whitelist: + # tags: + # - NukeOpsUplink + # End DeltaV additions - we ARE giving this to syndies +# end Harmony change diff --git a/Resources/Prototypes/_Goobstation/Entities/Clothing/Head/hardsuit-helmets.yml b/Resources/Prototypes/_Goobstation/Entities/Clothing/Head/hardsuit-helmets.yml new file mode 100644 index 00000000000..ffe5336ec9f --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Clothing/Head/hardsuit-helmets.yml @@ -0,0 +1,31 @@ +- type: entity + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] # Harmony - Changed parent to upstream convention + id: ClothingHeadHelmetHardsuitCybersunStealth + # suffix: stealth - Harmony change + name: cybersun stealth hardsuit helmet + description: A helmet with plating for stealth operations. + components: + - type: Sprite + sprite: _Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi + - type: Clothing + sprite: _Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi + - type: PointLight + color: green + - type: PressureProtection + highPressureMultiplier: 0.08 + lowPressureMultiplier: 1000 + - type: Armor + modifiers: + coefficients: + Blunt: 0.95 + Slash: 0.95 + Piercing: 0.95 + Heat: 0.95 + - type: ClothingGrant + component: + - type: Stealth + # Harmony start + - type: StealthOnMove + passiveVisibilityRate: -0.5 + movementVisibilityRate: 0.45 # DeltaV - was 0.6 + # Harmony end diff --git a/Resources/Prototypes/_Goobstation/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/_Goobstation/Entities/Clothing/OuterClothing/hardsuits.yml new file mode 100644 index 00000000000..51e25b1f365 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Clothing/OuterClothing/hardsuits.yml @@ -0,0 +1,46 @@ +- type: entity + parent: [ ClothingOuterHardsuitBase, BaseSyndicateContraband ] + id: ClothingOuterHardsuitCybersunStealth + # suffix: stealth - Harmony change + name: cybersun stealth hardsuit + description: A hardsuit with stealth plating for operations, the shielding doesn't work while you're moving though! Needs the helmet on to finish the stealth field. + components: + - type: Sprite + sprite: _Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi + - type: Item + size: Huge + - type: Clothing + sprite: _Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi + - type: PressureProtection + highPressureMultiplier: 0.05 + lowPressureMultiplier: 1000 + - type: ExplosionResistance + damageCoefficient: 0.8 # DeltaV - was 0.65 + - type: Armor + modifiers: + coefficients: + Blunt: 0.7 # DeltaV - was 0.65 + Slash: 0.7 # DeltaV - was 0.65 + Piercing: 0.6 + Heat: 0.8 # DeltaV - was 0.6 + Radiation: 0.8 # DeltaV - was 0.55 + #Caustic: 0.7 # DeltaV + - type: StaminaResistance # DeltaV + damageCoefficient: 0.7 + - type: ClothingSpeedModifier + walkModifier: 1.0 # DeltaV - was 0.8 + sprintModifier: 1.0 # DeltaV - was 0.85 + - type: HeldSpeedModifier + - type: ToggleableClothing + clothingPrototype: ClothingHeadHelmetHardsuitCybersunStealth + - type: Tag + tags: + - Hardsuit + - WhitelistChameleon + # Harmony start + # - type: ClothingGrantComponent + # component: + # - type: StealthOnMove + # passiveVisibilityRate: -0.5 + # movementVisibilityRate: 0.6 + # Harmony end diff --git a/Resources/Prototypes/_Shitmed/Recipes/Lathes/Packs/robotics.yml b/Resources/Prototypes/_Shitmed/Recipes/Lathes/Packs/robotics.yml index 9091014cf71..d16614b2059 100644 --- a/Resources/Prototypes/_Shitmed/Recipes/Lathes/Packs/robotics.yml +++ b/Resources/Prototypes/_Shitmed/Recipes/Lathes/Packs/robotics.yml @@ -35,5 +35,13 @@ - JawsOfLifeRightArm - SpeedLeftLeg - SpeedRightLeg - - BasicCyberneticEyes + # - BasicCyberneticEyes # DeltaV - Moved to CyberneticsRobotics - ClothingHandsGlovesMechanicalSurgical + + # Begin DeltaV additions +- type: latheRecipePack # DeltaV - Share Surgery Parts between Epi and Med. Non-Organic & Robotics cybernetics moved to ExoFab. + parent: Cybernetics + id: CyberneticsRobotics + recipes: + - BasicCyberneticEyes + # End DeltaV additions diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_amazon.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_amazon.png new file mode 100644 index 00000000000..d98094159f6 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_amazon.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_astolfo.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_astolfo.png new file mode 100644 index 00000000000..b06b27e376f Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_astolfo.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_baum.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_baum.png new file mode 100644 index 00000000000..c4e1f92e251 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_baum.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_beachwave.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_beachwave.png new file mode 100644 index 00000000000..49535e6ca7a Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_beachwave.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_bluntbangs.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_bluntbangs.png new file mode 100644 index 00000000000..314c5c7743b Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_bluntbangs.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_bluntbangs_alt.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_bluntbangs_alt.png new file mode 100644 index 00000000000..3dde5d91666 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_bluntbangs_alt.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_braided_front.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_braided_front.png new file mode 100644 index 00000000000..a65a1315f6f Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_braided_front.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_braided_sidetail.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_braided_sidetail.png new file mode 100644 index 00000000000..9e3fbefb9f0 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_braided_sidetail.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_bunhead4.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_bunhead4.png new file mode 100644 index 00000000000..08a5828cc0c Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_bunhead4.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_combed.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_combed.png new file mode 100644 index 00000000000..eb7c8ac01a7 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_combed.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_combedbob.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_combedbob.png new file mode 100644 index 00000000000..c725fdf59f6 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_combedbob.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_cotton.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_cotton.png new file mode 100644 index 00000000000..7836c24e428 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_cotton.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_cottonalt.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_cottonalt.png new file mode 100644 index 00000000000..571ddbe3ab8 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_cottonalt.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_curly.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_curly.png new file mode 100644 index 00000000000..e9ccd04bb3e Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_curly.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_dave.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_dave.png new file mode 100644 index 00000000000..41ca5e21fdd Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_dave.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_diagonal_bangs.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_diagonal_bangs.png new file mode 100644 index 00000000000..c2f2009dc2f Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_diagonal_bangs.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_diagonal_bangs_alt.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_diagonal_bangs_alt.png new file mode 100644 index 00000000000..282f4675405 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_diagonal_bangs_alt.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_dreadlocks_long.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_dreadlocks_long.png new file mode 100644 index 00000000000..bc9b8501451 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_dreadlocks_long.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_firestarter.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_firestarter.png new file mode 100644 index 00000000000..ea5b38ce0dd Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_firestarter.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fluffy_bangs.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fluffy_bangs.png new file mode 100644 index 00000000000..909198e1741 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fluffy_bangs.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fluffy_short.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fluffy_short.png new file mode 100644 index 00000000000..1726e9068bf Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fluffy_short.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fortuneteller.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fortuneteller.png new file mode 100644 index 00000000000..b3f627d6f82 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fortuneteller.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fortuneteller_alt.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fortuneteller_alt.png new file mode 100644 index 00000000000..78e224d94ab Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_fortuneteller_alt.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_froofylong.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_froofylong.png new file mode 100644 index 00000000000..ff629ce3859 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_froofylong.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_geisha.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_geisha.png new file mode 100644 index 00000000000..c7b33977be7 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_geisha.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gentle_bun.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gentle_bun.png new file mode 100644 index 00000000000..1301060f477 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gentle_bun.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gentle_duo_bun.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gentle_duo_bun.png new file mode 100644 index 00000000000..68e0c47b6c7 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gentle_duo_bun.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_glammetal.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_glammetal.png new file mode 100644 index 00000000000..95669bdc29a Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_glammetal.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gloomy_long.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gloomy_long.png new file mode 100644 index 00000000000..f81e248ba9c Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gloomy_long.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gloomy_longer.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gloomy_longer.png new file mode 100644 index 00000000000..7747eff96bb Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gloomy_longer.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gloomy_medium.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gloomy_medium.png new file mode 100644 index 00000000000..debc2a9a02d Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_gloomy_medium.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_grande.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_grande.png new file mode 100644 index 00000000000..65ba1158157 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_grande.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_hairfre.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_hairfre.png new file mode 100644 index 00000000000..022f1bec54e Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_hairfre.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_halfcut.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_halfcut.png new file mode 100644 index 00000000000..c1ac77cbb5e Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_halfcut.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_halfcut_rough.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_halfcut_rough.png new file mode 100644 index 00000000000..910f360c78c Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_halfcut_rough.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_holo_tuber.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_holo_tuber.png new file mode 100644 index 00000000000..312317c5db3 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_holo_tuber.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_hyenamane.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_hyenamane.png new file mode 100644 index 00000000000..ef146c7e321 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_hyenamane.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_impish.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_impish.png new file mode 100644 index 00000000000..d70615bdbbd Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_impish.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_jay.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_jay.png new file mode 100644 index 00000000000..5094ae471b4 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_jay.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_jessica.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_jessica.png new file mode 100644 index 00000000000..3980851de79 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_jessica.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_kajam.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_kajam.png new file mode 100644 index 00000000000..825c3be5687 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_kajam.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_lila.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_lila.png new file mode 100644 index 00000000000..6a686bc07da Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_lila.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_long4.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_long4.png new file mode 100644 index 00000000000..924a19cfe98 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_long4.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_longdtails.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_longdtails.png new file mode 100644 index 00000000000..1114ab27ba7 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_longdtails.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_longovereye_alt.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_longovereye_alt.png new file mode 100644 index 00000000000..2c49f5dcdc3 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_longovereye_alt.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_longsidepartstraight.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_longsidepartstraight.png new file mode 100644 index 00000000000..44870f64315 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_longsidepartstraight.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_loose_slicked.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_loose_slicked.png new file mode 100644 index 00000000000..3ec164d34fc Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_loose_slicked.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mcsqueeb.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mcsqueeb.png new file mode 100644 index 00000000000..fff6409905f Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mcsqueeb.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mediumbraid.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mediumbraid.png new file mode 100644 index 00000000000..a9c110c65ea Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mediumbraid.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mermaid.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mermaid.png new file mode 100644 index 00000000000..04cdab18a4d Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mermaid.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mia.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mia.png new file mode 100644 index 00000000000..7f2378faab3 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mia.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mohawkshort.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mohawkshort.png new file mode 100644 index 00000000000..3944e3f62e2 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_mohawkshort.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_newyou.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_newyou.png new file mode 100644 index 00000000000..9013f2d0ade Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_newyou.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_phoenix.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_phoenix.png new file mode 100644 index 00000000000..9f0e9321a96 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_phoenix.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_phoenix_half_shaven.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_phoenix_half_shaven.png new file mode 100644 index 00000000000..e8c5960fd48 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_phoenix_half_shaven.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_poofy.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_poofy.png new file mode 100644 index 00000000000..9eebe47fa90 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_poofy.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_punktails.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_punktails.png new file mode 100644 index 00000000000..328cd78c833 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_punktails.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_quadcurls.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_quadcurls.png new file mode 100644 index 00000000000..3ffe51eb759 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_quadcurls.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_ring_tails.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_ring_tails.png new file mode 100644 index 00000000000..0b4fe02f72f Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_ring_tails.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_rowbraid.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_rowbraid.png new file mode 100644 index 00000000000..4af7e15fb94 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_rowbraid.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_rowdualtail.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_rowdualtail.png new file mode 100644 index 00000000000..f0e9a22f10f Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_rowdualtail.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_royal_curls.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_royal_curls.png new file mode 100644 index 00000000000..5fb66e503f3 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_royal_curls.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_runner.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_runner.png new file mode 100644 index 00000000000..566268160e6 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_runner.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_runner_bun.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_runner_bun.png new file mode 100644 index 00000000000..324886f60ab Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_runner_bun.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_sabitsuki.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_sabitsuki.png new file mode 100644 index 00000000000..0949b7e21f5 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_sabitsuki.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_scully.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_scully.png new file mode 100644 index 00000000000..979213b024e Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_scully.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_short_tassles.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_short_tassles.png new file mode 100644 index 00000000000..9867d24ab27 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_short_tassles.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_shy.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_shy.png new file mode 100644 index 00000000000..a627fb64968 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_shy.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_sleaze.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_sleaze.png new file mode 100644 index 00000000000..7a2b570091a Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_sleaze.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_slightlymessy.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_slightlymessy.png new file mode 100644 index 00000000000..13db89ff636 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_slightlymessy.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_spicy.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_spicy.png new file mode 100644 index 00000000000..930cae76419 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_spicy.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_spikey.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_spikey.png new file mode 100644 index 00000000000..adf271448ac Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_spikey.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_spikey_long.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_spikey_long.png new file mode 100644 index 00000000000..6e6a38b80b0 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_spikey_long.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_stacy.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_stacy.png new file mode 100644 index 00000000000..ebe28d27c07 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_stacy.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_stacy_bun.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_stacy_bun.png new file mode 100644 index 00000000000..267666c8158 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_stacy_bun.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_strict.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_strict.png new file mode 100644 index 00000000000..00d112e4e34 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_strict.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_strict_long.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_strict_long.png new file mode 100644 index 00000000000..c3c4ef94ebf Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_strict_long.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_strict_short.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_strict_short.png new file mode 100644 index 00000000000..8b5017e416d Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_strict_short.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_toriyama.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_toriyama.png new file mode 100644 index 00000000000..5d215683834 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_toriyama.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_tri_bun.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_tri_bun.png new file mode 100644 index 00000000000..9becc70df1e Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_tri_bun.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_tri_bun_long.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_tri_bun_long.png new file mode 100644 index 00000000000..819eb4853d6 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_tri_bun_long.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_twintail.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_twintail.png new file mode 100644 index 00000000000..eea76065016 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_twintail.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_violet.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_violet.png new file mode 100644 index 00000000000..e140baa0b27 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_violet.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_violet_ponytail.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_violet_ponytail.png new file mode 100644 index 00000000000..35305699eb7 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_violet_ponytail.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_viper.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_viper.png new file mode 100644 index 00000000000..59c0dcd7133 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_viper.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_volajupompless.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_volajupompless.png new file mode 100644 index 00000000000..5880ce50508 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_volajupompless.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_ziegler.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_ziegler.png new file mode 100644 index 00000000000..352000298ae Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_ziegler.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_zoey.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_zoey.png new file mode 100644 index 00000000000..72ad6af4646 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/hair_zoey.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_glamorous.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_glamorous.png new file mode 100644 index 00000000000..3f971c97b70 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_glamorous.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_long.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_long.png new file mode 100644 index 00000000000..d92857d8da3 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_long.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_messy.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_messy.png new file mode 100644 index 00000000000..7be877a8141 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_messy.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_messylong.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_messylong.png new file mode 100644 index 00000000000..7ee38084dc2 Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/halfshave_messylong.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/inari.png b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/inari.png new file mode 100644 index 00000000000..44b03f242cc Binary files /dev/null and b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/inari.png differ diff --git a/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/meta.json b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/meta.json new file mode 100644 index 00000000000..b6ba0f08cd6 --- /dev/null +++ b/Resources/Textures/_DEN/Mobs/Customization/Hair/hairdoppler.rsi/meta.json @@ -0,0 +1,383 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/DopplerShift13/DopplerShift/pull/428 Originally by - kannthus, https://github.com/DopplerShift13/DopplerShift/commit/87a9672fb543ce8a377ec2799d5bdf923d8cc38f and https://github.com/DopplerShift13/DopplerShift/commit/ee8eef295332175db2c76cc3886d111082c8620b Originally by - Nerev4r, https://github.com/DopplerShift13/DopplerShift/commit/e023ca65185de04629f574eb4a2f5de4194deeb2 Originally by - rulerstars, and https://github.com/DopplerShift13/DopplerShift/commit/0e0546c412e15062fbfa82cbf609ed0ef619287a Originally by - carpotoxin", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "hair_amazon", + "directions": 4 + }, + { + "name": "hair_astolfo", + "directions": 4 + }, + { + "name": "hair_baum", + "directions": 4 + }, + { + "name": "hair_beachwave", + "directions": 4 + }, + { + "name": "hair_bluntbangs", + "directions": 4 + }, + { + "name": "hair_bluntbangs_alt", + "directions": 4 + }, + { + "name": "hair_braided_front", + "directions": 4 + }, + { + "name": "hair_braided_sidetail", + "directions": 4 + }, + { + "name": "hair_bunhead4", + "directions": 4 + }, + { + "name": "hair_combed", + "directions": 4 + }, + { + "name": "hair_combedbob", + "directions": 4 + }, + { + "name": "hair_cotton", + "directions": 4 + }, + { + "name": "hair_cottonalt", + "directions": 4 + }, + { + "name": "hair_curly", + "directions": 4 + }, + { + "name": "hair_dave", + "directions": 4 + }, + { + "name": "hair_diagonal_bangs", + "directions": 4 + }, + { + "name": "hair_diagonal_bangs_alt", + "directions": 4 + }, + { + "name": "hair_dreadlocks_long", + "directions": 4 + }, + { + "name": "hair_firestarter", + "directions": 4 + }, + { + "name": "hair_fluffy_bangs", + "directions": 4 + }, + { + "name": "hair_fluffy_short", + "directions": 4 + }, + { + "name": "hair_fortuneteller", + "directions": 4 + }, + { + "name": "hair_fortuneteller_alt", + "directions": 4 + }, + { + "name": "hair_froofylong", + "directions": 4 + }, + { + "name": "hair_geisha", + "directions": 4 + }, + { + "name": "hair_gentle_bun", + "directions": 4 + }, + { + "name": "hair_gentle_duo_bun", + "directions": 4 + }, + { + "name": "hair_glammetal", + "directions": 4 + }, + { + "name": "hair_gloomy_long", + "directions": 4 + }, + { + "name": "hair_gloomy_longer", + "directions": 4 + }, + { + "name": "hair_gloomy_medium", + "directions": 4 + }, + { + "name": "hair_grande", + "directions": 4 + }, + { + "name": "hair_hairfre", + "directions": 4 + }, + { + "name": "hair_halfcut", + "directions": 4 + }, + { + "name": "hair_halfcut_rough", + "directions": 4 + }, + { + "name": "hair_holo_tuber", + "directions": 4 + }, + { + "name": "hair_hyenamane", + "directions": 4 + }, + { + "name": "hair_impish", + "directions": 4 + }, + { + "name": "hair_jay", + "directions": 4 + }, + { + "name": "hair_jessica", + "directions": 4 + }, + { + "name": "hair_kajam", + "directions": 4 + }, + { + "name": "hair_lila", + "directions": 4 + }, + { + "name": "hair_long4", + "directions": 4 + }, + { + "name": "hair_longdtails", + "directions": 4 + }, + { + "name": "hair_longovereye_alt", + "directions": 4 + }, + { + "name": "hair_longsidepartstraight", + "directions": 4 + }, + { + "name": "hair_loose_slicked", + "directions": 4 + }, + { + "name": "hair_mcsqueeb", + "directions": 4 + }, + { + "name": "hair_mediumbraid", + "directions": 4 + }, + { + "name": "hair_mermaid", + "directions": 4 + }, + { + "name": "hair_mia", + "directions": 4 + }, + { + "name": "hair_mohawkshort", + "directions": 4 + }, + { + "name": "hair_newyou", + "directions": 4 + }, + { + "name": "hair_phoenix", + "directions": 4 + }, + { + "name": "hair_phoenix_half_shaven", + "directions": 4 + }, + { + "name": "hair_poofy", + "directions": 4 + }, + { + "name": "hair_punktails", + "directions": 4 + }, + { + "name": "hair_quadcurls", + "directions": 4 + }, + { + "name": "hair_ring_tails", + "directions": 4 + }, + { + "name": "hair_rowbraid", + "directions": 4 + }, + { + "name": "hair_rowdualtail", + "directions": 4 + }, + { + "name": "hair_royal_curls", + "directions": 4 + }, + { + "name": "hair_runner", + "directions": 4 + }, + { + "name": "hair_runner_bun", + "directions": 4 + }, + { + "name": "hair_sabitsuki", + "directions": 4 + }, + { + "name": "hair_scully", + "directions": 4 + }, + { + "name": "hair_short_tassles", + "directions": 4 + }, + { + "name": "hair_shy", + "directions": 4 + }, + { + "name": "hair_sleaze", + "directions": 4 + }, + { + "name": "hair_slightlymessy", + "directions": 4 + }, + { + "name": "hair_spicy", + "directions": 4 + }, + { + "name": "hair_spikey", + "directions": 4 + }, + { + "name": "hair_spikey_long", + "directions": 4 + }, + { + "name": "hair_stacy", + "directions": 4 + }, + { + "name": "hair_stacy_bun", + "directions": 4 + }, + { + "name": "hair_strict", + "directions": 4 + }, + { + "name": "hair_strict_long", + "directions": 4 + }, + { + "name": "hair_strict_short", + "directions": 4 + }, + { + "name": "hair_toriyama", + "directions": 4 + }, + { + "name": "hair_tri_bun", + "directions": 4 + }, + { + "name": "hair_tri_bun_long", + "directions": 4 + }, + { + "name": "hair_twintail", + "directions": 4 + }, + { + "name": "hair_violet", + "directions": 4 + }, + { + "name": "hair_violet_ponytail", + "directions": 4 + }, + { + "name": "hair_viper", + "directions": 4 + }, + { + "name": "hair_volajupompless", + "directions": 4 + }, + { + "name": "hair_ziegler", + "directions": 4 + }, + { + "name": "hair_zoey", + "directions": 4 + }, + { + "name": "halfshave_glamorous", + "directions": 4 + }, + { + "name": "halfshave_long", + "directions": 4 + }, + { + "name": "halfshave_messy", + "directions": 4 + }, + { + "name": "halfshave_messylong", + "directions": 4 + }, + { + "name": "inari", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/cooldown.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/cooldown.png new file mode 100644 index 00000000000..d7f4d9190be Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/cooldown.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/despawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/despawning.png new file mode 100644 index 00000000000..98a43bd46ee Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/despawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/meta.json b/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/meta.json new file mode 100644 index 00000000000..e38e667e32b --- /dev/null +++ b/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/meta.json @@ -0,0 +1,71 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Default sprite (ready) by AftrLite (Github). Other states (spawning, despawning, cooldown) modified from the original by NoElkaTheGod (GitHub).", + "size": { + "x": 96, + "y": 32 + }, + "states": [ + { + "name": "ready" + }, + { + "name": "cooldown", + "delays": [ + [ + 1.9, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 60 + ] + ] + }, + { + "name": "spawning", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 60 + ] + ] + }, + { + "name": "despawning", + "delays": [ + [ + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 60 + ] + ] + } + ] +} diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/blades.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/ready.png similarity index 100% rename from Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/blades.png rename to Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/ready.png diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/spawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/spawning.png new file mode 100644 index 00000000000..41bd6be45de Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_blades.rsi/spawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/cooldown.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/cooldown.png new file mode 100644 index 00000000000..ed40542f205 Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/cooldown.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/despawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/despawning.png new file mode 100644 index 00000000000..d93acf8aff6 Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/despawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/meta.json b/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/meta.json new file mode 100644 index 00000000000..e38e667e32b --- /dev/null +++ b/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/meta.json @@ -0,0 +1,71 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Default sprite (ready) by AftrLite (Github). Other states (spawning, despawning, cooldown) modified from the original by NoElkaTheGod (GitHub).", + "size": { + "x": 96, + "y": 32 + }, + "states": [ + { + "name": "ready" + }, + { + "name": "cooldown", + "delays": [ + [ + 1.9, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 60 + ] + ] + }, + { + "name": "spawning", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 60 + ] + ] + }, + { + "name": "despawning", + "delays": [ + [ + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 60 + ] + ] + } + ] +} diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/cessation.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/ready.png similarity index 100% rename from Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/cessation.png rename to Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/ready.png diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/spawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/spawning.png new file mode 100644 index 00000000000..8f0a1b1da32 Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_cessation.rsi/spawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/active.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/active.png new file mode 100644 index 00000000000..d7d6a829767 Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/active.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/cooldown.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/cooldown.png new file mode 100644 index 00000000000..0ddd4b9457f Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/cooldown.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/despawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/despawning.png new file mode 100644 index 00000000000..5e0e9f2de07 Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/despawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/meta.json b/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/meta.json new file mode 100644 index 00000000000..59356059992 --- /dev/null +++ b/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/meta.json @@ -0,0 +1,90 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Default sprite (ready) by AftrLite (Github). Other states (spawning, despawning, cooldown, active) modified from the original by NoElkaTheGod (GitHub).", + "size": { + "x": 96, + "y": 32 + }, + "states": [ + { + "name": "ready" + }, + { + "name": "cooldown", + "delays": [ + [ + 1.9, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 60 + ] + ] + }, + { + "name": "active", + "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": "spawning", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 60 + ] + ] + }, + { + "name": "despawning", + "delays": [ + [ + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 60 + ] + ] + } + ] +} diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/knowledge.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/ready.png similarity index 100% rename from Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/knowledge.png rename to Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/ready.png diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/spawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/spawning.png new file mode 100644 index 00000000000..6503ceccaae Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_knowledge.rsi/spawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_projection.rsi/despawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_projection.rsi/despawning.png new file mode 100644 index 00000000000..c173b96d9d5 Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_projection.rsi/despawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_projection.rsi/meta.json b/Resources/Textures/_DV/CosmicCult/Objects/glyph_projection.rsi/meta.json new file mode 100644 index 00000000000..8ea8ec9c125 --- /dev/null +++ b/Resources/Textures/_DV/CosmicCult/Objects/glyph_projection.rsi/meta.json @@ -0,0 +1,52 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Default sprite (ready) by AftrLite (Github). Other states (spawning, despawning) modified from the original by NoElkaTheGod (GitHub).", + "size": { + "x": 96, + "y": 32 + }, + "states": [ + { + "name": "ready" + }, + { + "name": "spawning", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 60 + ] + ] + }, + { + "name": "despawning", + "delays": [ + [ + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 60 + ] + ] + } + ] +} diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/projection.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_projection.rsi/ready.png similarity index 100% rename from Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/projection.png rename to Resources/Textures/_DV/CosmicCult/Objects/glyph_projection.rsi/ready.png diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_projection.rsi/spawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_projection.rsi/spawning.png new file mode 100644 index 00000000000..4e8424339aa Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_projection.rsi/spawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/active.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/active.png new file mode 100644 index 00000000000..fcfb394cdc8 Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/active.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/cooldown.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/cooldown.png new file mode 100644 index 00000000000..cddc4a98534 Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/cooldown.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/despawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/despawning.png new file mode 100644 index 00000000000..c8e3545a18e Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/despawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/meta.json b/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/meta.json new file mode 100644 index 00000000000..59356059992 --- /dev/null +++ b/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/meta.json @@ -0,0 +1,90 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Default sprite (ready) by AftrLite (Github). Other states (spawning, despawning, cooldown, active) modified from the original by NoElkaTheGod (GitHub).", + "size": { + "x": 96, + "y": 32 + }, + "states": [ + { + "name": "ready" + }, + { + "name": "cooldown", + "delays": [ + [ + 1.9, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 60 + ] + ] + }, + { + "name": "active", + "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": "spawning", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 60 + ] + ] + }, + { + "name": "despawning", + "delays": [ + [ + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 60 + ] + ] + } + ] +} diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/truth.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/ready.png similarity index 100% rename from Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/truth.png rename to Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/ready.png diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/spawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/spawning.png new file mode 100644 index 00000000000..f255aed5942 Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_truth.rsi/spawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/cooldown.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/cooldown.png new file mode 100644 index 00000000000..5795c03462d Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/cooldown.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/despawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/despawning.png new file mode 100644 index 00000000000..7ae5b7868eb Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/despawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/meta.json b/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/meta.json new file mode 100644 index 00000000000..e38e667e32b --- /dev/null +++ b/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/meta.json @@ -0,0 +1,71 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Default sprite (ready) by AftrLite (Github). Other states (spawning, despawning, cooldown) modified from the original by NoElkaTheGod (GitHub).", + "size": { + "x": 96, + "y": 32 + }, + "states": [ + { + "name": "ready" + }, + { + "name": "cooldown", + "delays": [ + [ + 1.9, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 60 + ] + ] + }, + { + "name": "spawning", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 60 + ] + ] + }, + { + "name": "despawning", + "delays": [ + [ + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 0.05, + 60 + ] + ] + } + ] +} diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/warding.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/ready.png similarity index 100% rename from Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/warding.png rename to Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/ready.png diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/spawning.png b/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/spawning.png new file mode 100644 index 00000000000..799e7bbaa02 Binary files /dev/null and b/Resources/Textures/_DV/CosmicCult/Objects/glyph_warding.rsi/spawning.png differ diff --git a/Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/meta.json b/Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/meta.json deleted file mode 100644 index 759023c3637..00000000000 --- a/Resources/Textures/_DV/CosmicCult/Objects/glyphs_floor.rsi/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "A custom item by AftrLite (Github).", - "size": { - "x": 96, - "y": 32 - }, - "states": [ - { - "name": "cessation" - }, - { - "name": "blades" - }, - { - "name": "warding" - }, - { - "name": "knowledge" - }, - { - "name": "truth" - }, - { - "name": "projection" - } - ] -} diff --git a/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/icon-flash.png b/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/icon-flash.png new file mode 100644 index 00000000000..902c847556b Binary files /dev/null and b/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/icon-flash.png differ diff --git a/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/icon.png b/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/icon.png new file mode 100644 index 00000000000..7e08dc20a8c Binary files /dev/null and b/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/icon.png differ diff --git a/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/meta.json b/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/meta.json new file mode 100644 index 00000000000..c7fa1cabe64 --- /dev/null +++ b/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites made by InfinityPandaRed for Goobstation", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "off-equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/off-equipped-HELMET.png b/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/off-equipped-HELMET.png new file mode 100644 index 00000000000..53c9cabfcf4 Binary files /dev/null and b/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/off-equipped-HELMET.png differ diff --git a/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/on-equipped-HELMET.png b/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/on-equipped-HELMET.png new file mode 100644 index 00000000000..d1d62fa7ffb Binary files /dev/null and b/Resources/Textures/_Goobstation/Clothing/Head/Hardsuits/cybersunstealth.rsi/on-equipped-HELMET.png differ diff --git a/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 00000000000..311aab9ba82 Binary files /dev/null and b/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/icon.png b/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/icon.png new file mode 100644 index 00000000000..474bca0f87d Binary files /dev/null and b/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/icon.png differ diff --git a/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/inhand-left.png b/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/inhand-left.png new file mode 100644 index 00000000000..2eadf95d78c Binary files /dev/null and b/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/inhand-right.png b/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/inhand-right.png new file mode 100644 index 00000000000..b3d23c6752c Binary files /dev/null and b/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/meta.json b/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/meta.json new file mode 100644 index 00000000000..fdd5058584c --- /dev/null +++ b/Resources/Textures/_Goobstation/Clothing/OuterClothing/Hardsuits/cybersunstealth.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "made by InfinityPandaRed for goob station", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +}