diff --git a/Content.Server/_Sunrise/FootPrints/Components/FootPrintsComponent.cs b/Content.Server/_Sunrise/FootPrints/Components/FootPrintsComponent.cs new file mode 100644 index 00000000000..82c0e71fa0d --- /dev/null +++ b/Content.Server/_Sunrise/FootPrints/Components/FootPrintsComponent.cs @@ -0,0 +1,51 @@ +using System.Numerics; + +namespace Content.Server.FootPrints.Components; + +[RegisterComponent] +public sealed partial class FootPrintsComponent : Component +{ + [DataField] + public string LeftBarePrint = "footprint-left-bare-human"; + + [DataField] + public string RightBarePrint = "footprint-right-bare-human"; + + [DataField] + public string ShoesPrint = "footprint-shoes"; + + [DataField] + public string SuitPrint = "footprint-suit"; + + [DataField] + public string[] DraggingPrint = + { + "dragging-1", + "dragging-2", + "dragging-3", + "dragging-4", + "dragging-5" + }; + + [DataField] + public Vector2 OffsetCenter = new(-0.5f, -1f); + + [DataField] + public Vector2 OffsetPrint = new(0.1f, 0f); + + [DataField] + public Color PrintsColor = Color.FromHex("#00000000"); + + [DataField] + public float StepSize = 0.7f; + + [DataField] + public float DragSize = 0.5f; + + [DataField] + public float ColorQuantity; + + public Vector2 StepPos = Vector2.Zero; + + public bool RightStep = true; +} diff --git a/Content.Server/_Sunrise/FootPrints/Components/PuddleFootPrintsComponent.cs b/Content.Server/_Sunrise/FootPrints/Components/PuddleFootPrintsComponent.cs new file mode 100644 index 00000000000..257e9a7432c --- /dev/null +++ b/Content.Server/_Sunrise/FootPrints/Components/PuddleFootPrintsComponent.cs @@ -0,0 +1,8 @@ +namespace Content.Server.FootPrints.Components; + +[RegisterComponent] +public sealed partial class PuddleFootPrintsComponent : Component +{ + public float SizeRatio = 0.3f; + public float OffPercent = 80f; +} diff --git a/Content.Server/_Sunrise/FootPrints/FootPrintsSystem.cs b/Content.Server/_Sunrise/FootPrints/FootPrintsSystem.cs new file mode 100644 index 00000000000..e4016af1843 --- /dev/null +++ b/Content.Server/_Sunrise/FootPrints/FootPrintsSystem.cs @@ -0,0 +1,124 @@ +using System.Linq; +using Content.Server.Atmos.Components; +using Content.Server.Decals; +using Content.Server.FootPrints.Components; +using Content.Shared.Inventory; +using Content.Shared.Standing; +using Robust.Shared.Map; +using Robust.Shared.Random; + +namespace Content.Server.FootPrints; + +public sealed class FootPrintsSystem : EntitySystem +{ + [Dependency] private readonly DecalSystem _decals = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly InventorySystem _inventorySystem = default!; + [Dependency] private readonly StandingStateSystem _standing = default!; + + private const float AlphaReduce = 0.15f; + + private List> _storedDecals = new(); + private const int MaxStoredDecals = 750; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnMove); + } + + private void OnMove(EntityUid uid, FootPrintsComponent component, ref MoveEvent args) + { + if (component.PrintsColor.A <= 0f) + return; + + if (!TryComp(uid, out var transform)) + return; + + var dragging = _standing.IsDown(uid); + var distance = (transform.LocalPosition - component.StepPos).Length(); + var stepSize = dragging ? component.DragSize : component.StepSize; + + if (!(distance > stepSize)) + return; + + + if (!PrintDecal((uid, component, transform), dragging)) + return; + + var newAlpha = Math.Max(component.PrintsColor.A - AlphaReduce, 0f); + + component.PrintsColor = component.PrintsColor.WithAlpha(newAlpha); + component.StepPos = transform.LocalPosition; + component.RightStep = !component.RightStep; + } + + private bool PrintDecal(Entity prints, bool dragging) + { + if (prints.Comp2.GridUid is not { } gridUid) + return false; + + if (_storedDecals.Count > MaxStoredDecals) + { + var excessDecals = _storedDecals.Count - MaxStoredDecals; + RemoveExcessDecals(excessDecals); + } + + var print = PickPrint(prints, dragging); + var coords = CalculateEntityCoordinates(prints, dragging); + var colors = prints.Comp1.PrintsColor; + var rotation = dragging + ? (prints.Comp2.LocalPosition - prints.Comp1.StepPos).ToAngle() + Angle.FromDegrees(-90f) + : prints.Comp2.LocalRotation + Angle.FromDegrees(180f); + + + if (!_decals.TryAddDecal(print, coords, out var decalId, colors, rotation, 0, true)) + return false; + + _storedDecals.Add(new KeyValuePair(gridUid, decalId)); + return true; + } + + private EntityCoordinates CalculateEntityCoordinates(Entity entity, + bool isDragging) + { + var printComp = entity.Comp1; + var transform = entity.Comp2; + + if (isDragging) + return new EntityCoordinates(entity, transform.LocalPosition + printComp.OffsetCenter); + + var offset = printComp.OffsetCenter + (printComp.RightStep + ? new Angle(Angle.FromDegrees(180f) + transform.LocalRotation).RotateVec(printComp.OffsetPrint) + : new Angle(transform.LocalRotation).RotateVec(printComp.OffsetPrint)); + + return new EntityCoordinates(entity, transform.LocalPosition + offset); + } + + + private string PickPrint(Entity prints, bool dragging) + { + if (dragging) + return _random.Pick(prints.Comp.DraggingPrint); + + if (_inventorySystem.TryGetSlotEntity(prints, "shoes", out _)) + return prints.Comp.ShoesPrint; + + if (_inventorySystem.TryGetSlotEntity(prints, "outerClothing", out var suit) && + TryComp(suit, out _)) + return prints.Comp.SuitPrint; + + return prints.Comp.RightStep ? prints.Comp.RightBarePrint : prints.Comp.LeftBarePrint; + } + + private void RemoveExcessDecals(int excessDecals) + { + for (var i = 0; i < excessDecals; i++) + { + var decalToRemove = _storedDecals[i]; + _decals.RemoveDecal(decalToRemove.Key, decalToRemove.Value); + } + + _storedDecals = _storedDecals.Skip(excessDecals).ToList(); + } +} diff --git a/Content.Server/_Sunrise/FootPrints/PuddleFootPrintsSystem.cs b/Content.Server/_Sunrise/FootPrints/PuddleFootPrintsSystem.cs new file mode 100644 index 00000000000..52cd0012bdd --- /dev/null +++ b/Content.Server/_Sunrise/FootPrints/PuddleFootPrintsSystem.cs @@ -0,0 +1,37 @@ +using Content.Server.FootPrints.Components; +using Content.Shared.Fluids.Components; +using Robust.Shared.Physics.Events; +using Robust.Shared.Prototypes; + +namespace Content.Server.FootPrints; + +public sealed class PuddleFootPrintsSystem : EntitySystem +{ + [Dependency] private readonly IPrototypeManager _prototype = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnStepTrigger); + } + + private void OnStepTrigger(EntityUid uid, PuddleFootPrintsComponent comp, ref EndCollideEvent args) + { + if (!TryComp(args.OtherEntity, out var footPrints)) + return; + + if (!TryComp(uid, out var puddle) || puddle.Solution is not { } entSolution) + return; + + + var solution = entSolution.Comp.Solution; + var quantity = solution.Volume; + var color = solution.GetColor(_prototype); + + footPrints.PrintsColor = footPrints.ColorQuantity == 0f + ? color + : Color.InterpolateBetween(footPrints.PrintsColor, color, 0.3f); + footPrints.ColorQuantity += quantity.Float() * 1.2f; + } + +} diff --git a/Resources/Prototypes/Entities/Effects/puddle.yml b/Resources/Prototypes/Entities/Effects/puddle.yml index fecf9f19a47..9175fc049cf 100644 --- a/Resources/Prototypes/Entities/Effects/puddle.yml +++ b/Resources/Prototypes/Entities/Effects/puddle.yml @@ -163,3 +163,4 @@ solution: puddle - type: BadDrink - type: IgnoresFingerprints + - type: PuddleFootPrints # Sunrise-edit diff --git a/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml b/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml index feca2afaad3..182e071fa09 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml @@ -128,6 +128,9 @@ state: "creampie_arachnid" visible: false # Sunrise-start + - type: FootPrints + leftBarePrint: "footprint-left-bare-spider" + rightBarePrint: "footprint-right-bare-spider" - type: FootstepModifier footstepSoundCollection: collection: FootstepSpiderLegs diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml index 075e3aa369a..82ddb204637 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml @@ -244,6 +244,7 @@ components: - type: Carriable # Sunrise-edit - type: CanEscapeInventory # Sunrise-edit + - type: FootPrints # Sunrise-edit - type: Barotrauma damage: types: diff --git a/Resources/Prototypes/Entities/Mobs/Species/diona.yml b/Resources/Prototypes/Entities/Mobs/Species/diona.yml index 7edb3a19dba..cde7d17235b 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/diona.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/diona.yml @@ -101,6 +101,11 @@ actionPrototype: DionaGibAction allowedStates: - Dead + # Sunrise-start + - type: FootPrints + leftBarePrint: "footprint-left-bare-diona" + rightBarePrint: "footprint-right-bare-diona" + # Sunrise-end - type: entity parent: BaseSpeciesDummy diff --git a/Resources/Prototypes/Entities/Mobs/Species/dwarf.yml b/Resources/Prototypes/Entities/Mobs/Species/dwarf.yml index 5a54b56c48e..a99c39d36c5 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/dwarf.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/dwarf.yml @@ -56,6 +56,11 @@ hideLayersOnEquip: - Hair - Snout + # Sunrise-start + - type: FootPrints + leftBarePrint: "footprint-left-bare-dwarf" + rightBarePrint: "footprint-right-bare-dwarf" + # Sunrise-end - type: entity parent: BaseSpeciesDummy diff --git a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml index ad543620cf8..b2ca1efd218 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml @@ -62,6 +62,11 @@ types: Heat : 1.5 #per second, scales with temperature & other constants - type: Wagging + # Sunrise-start + - type: FootPrints + leftBarePrint: "footprint-left-bare-lizard" + rightBarePrint: "footprint-right-bare-lizard" + # Sunrise-end - type: entity parent: BaseSpeciesDummy diff --git a/Resources/Prototypes/Entities/Mobs/Species/slime.yml b/Resources/Prototypes/Entities/Mobs/Species/slime.yml index caa3690e5d2..761701fef2c 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/slime.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/slime.yml @@ -110,6 +110,11 @@ types: Asphyxiation: -1.0 maxSaturation: 15 + # Sunrise-start + - type: FootPrints + leftBarePrint: "footprint-left-bare-slime" + rightBarePrint: "footprint-right-bare-slime" + # Sunrise-end - type: entity parent: MobHumanDummy diff --git a/Resources/Prototypes/_Sunrise/Decals/footprints.yml b/Resources/Prototypes/_Sunrise/Decals/footprints.yml new file mode 100644 index 00000000000..2aea33ad274 --- /dev/null +++ b/Resources/Prototypes/_Sunrise/Decals/footprints.yml @@ -0,0 +1,148 @@ +#diona +- type: decal + id: footprint-left-bare-diona + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-left-bare-diona + +- type: decal + id: footprint-right-bare-diona + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-right-bare-diona + +#dwarf +- type: decal + id: footprint-left-bare-dwarf + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-left-bare-dwarf + +- type: decal + id: footprint-right-bare-dwarf + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-right-bare-dwarf + +#human +- type: decal + id: footprint-left-bare-human + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-left-bare-human + +- type: decal + id: footprint-right-bare-human + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-right-bare-human + +#lizard +- type: decal + id: footprint-left-bare-lizard + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-left-bare-lizard + +- type: decal + id: footprint-right-bare-lizard + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-right-bare-lizard + +#slime +- type: decal + id: footprint-left-bare-slime + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-left-bare-slime + +- type: decal + id: footprint-right-bare-slime + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-right-bare-slime + +#spider +- type: decal + id: footprint-left-bare-spider + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-left-bare-spider + +- type: decal + id: footprint-right-bare-spider + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-right-bare-spider + +#shoes +- type: decal + id: footprint-shoes + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-shoes + +#space suit +- type: decal + id: footprint-suit + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: footprint-suit + +#dragging +- type: decal + id: dragging-1 + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: dragging-1 + +- type: decal + id: dragging-2 + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: dragging-2 + +- type: decal + id: dragging-3 + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: dragging-3 + +- type: decal + id: dragging-4 + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: dragging-4 + +- type: decal + id: dragging-5 + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: dragging-5 + +- type: decal + id: dragging-test + tags: ["footprint"] + sprite: + sprite: Effects/footprints.rsi + state: dragging-test diff --git a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/felinid.yml b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/felinid.yml index b475ea99c2c..6aeaefe906d 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/felinid.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/felinid.yml @@ -83,6 +83,9 @@ - !type:Emote emote: Hisses showInChat: true + - type: FootPrints + leftBarePrint: "footprint-left-bare-dwarf" + rightBarePrint: "footprint-right-bare-dwarf" - type: entity save: false diff --git a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/swine.yml b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/swine.yml index 43e9fa5e00b..5750cfddc3c 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/swine.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/swine.yml @@ -45,6 +45,9 @@ amount: 10 - type: Stamina critThreshold: 200 + - type: FootPrints + leftBarePrint: "footprint-left-bare-swine" + rightBarePrint: "footprint-right-bare-swine" - type: entity save: false diff --git a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/synth.yml b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/synth.yml index 28f4c5e4376..f0d04c6a997 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/synth.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/synth.yml @@ -312,6 +312,7 @@ Slash: -5 Piercing: -5 - type: EyeProtection + - type: entity name: Urist McSynth diff --git a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/vulpkanin.yml b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/vulpkanin.yml index c3dbc6b743d..bf4b5e53ce0 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/vulpkanin.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/vulpkanin.yml @@ -16,7 +16,10 @@ - type: Inventory speciesId: reptilian - type: VulpaAccent - + - type: FootPrints + leftBarePrint: "footprint-left-bare-vulp" + rightBarePrint: "footprint-right-bare-vulp" + # Sunrise-end - type: entity save: false diff --git a/Resources/Textures/Effects/footprints.rsi/dragging-1.png b/Resources/Textures/Effects/footprints.rsi/dragging-1.png new file mode 100644 index 00000000000..5d631e8cbfc Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/dragging-1.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/dragging-2.png b/Resources/Textures/Effects/footprints.rsi/dragging-2.png new file mode 100644 index 00000000000..ade8ff2e5e4 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/dragging-2.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/dragging-3.png b/Resources/Textures/Effects/footprints.rsi/dragging-3.png new file mode 100644 index 00000000000..393aa3ddc16 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/dragging-3.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/dragging-4.png b/Resources/Textures/Effects/footprints.rsi/dragging-4.png new file mode 100644 index 00000000000..94d6d7f8bce Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/dragging-4.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/dragging-5.png b/Resources/Textures/Effects/footprints.rsi/dragging-5.png new file mode 100644 index 00000000000..18aed3607ed Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/dragging-5.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/dragging-test.png b/Resources/Textures/Effects/footprints.rsi/dragging-test.png new file mode 100644 index 00000000000..b8c9ba50a7d Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/dragging-test.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-diona.png b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-diona.png new file mode 100644 index 00000000000..fa40e0f2977 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-diona.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-dwarf.png b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-dwarf.png new file mode 100644 index 00000000000..43b88aa1646 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-dwarf.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-human.png b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-human.png new file mode 100644 index 00000000000..f7ab3257c58 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-human.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-lizard.png b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-lizard.png new file mode 100644 index 00000000000..e53ba99227e Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-lizard.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-slime.png b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-slime.png new file mode 100644 index 00000000000..87561cb1619 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-slime.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-spider.png b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-spider.png new file mode 100644 index 00000000000..4939e72c4b5 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-spider.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-swine.png b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-swine.png new file mode 100644 index 00000000000..2584e258192 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-swine.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-vulp.png b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-vulp.png new file mode 100644 index 00000000000..32d624812e8 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-left-bare-vulp.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-diona.png b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-diona.png new file mode 100644 index 00000000000..21f3a117741 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-diona.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-dwarf.png b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-dwarf.png new file mode 100644 index 00000000000..e493ddbdf6a Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-dwarf.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-human.png b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-human.png new file mode 100644 index 00000000000..4de70b5c1ea Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-human.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-lizard.png b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-lizard.png new file mode 100644 index 00000000000..e53ba99227e Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-lizard.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-slime.png b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-slime.png new file mode 100644 index 00000000000..c10fe24f0b0 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-slime.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-spider.png b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-spider.png new file mode 100644 index 00000000000..e9f3a88776c Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-spider.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-swine.png b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-swine.png new file mode 100644 index 00000000000..74e678e7bb1 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-swine.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-vulp.png b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-vulp.png new file mode 100644 index 00000000000..c63793299cb Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-right-bare-vulp.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-shoes.png b/Resources/Textures/Effects/footprints.rsi/footprint-shoes.png new file mode 100644 index 00000000000..6cf329a9b6f Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-shoes.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/footprint-suit.png b/Resources/Textures/Effects/footprints.rsi/footprint-suit.png new file mode 100644 index 00000000000..6bc32d343c7 Binary files /dev/null and b/Resources/Textures/Effects/footprints.rsi/footprint-suit.png differ diff --git a/Resources/Textures/Effects/footprints.rsi/meta.json b/Resources/Textures/Effects/footprints.rsi/meta.json new file mode 100644 index 00000000000..7e9a1652dea --- /dev/null +++ b/Resources/Textures/Effects/footprints.rsi/meta.json @@ -0,0 +1,83 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CLA", + "copyright": "SUNRISE", + "states": [ + { + "name": "footprint-left-bare-diona" + }, + { + "name": "footprint-left-bare-dwarf" + }, + { + "name": "footprint-left-bare-swine" + }, + { + "name": "footprint-left-bare-vulp" + }, + { + "name": "footprint-left-bare-human" + }, + { + "name": "footprint-left-bare-lizard" + }, + { + "name": "footprint-left-bare-slime" + }, + { + "name": "footprint-left-bare-spider" + }, + { + "name": "footprint-right-bare-diona" + }, + { + "name": "footprint-right-bare-dwarf" + }, + { + "name": "footprint-right-bare-swine" + }, + { + "name": "footprint-right-bare-vulp" + }, + { + "name": "footprint-right-bare-human" + }, + { + "name": "footprint-right-bare-lizard" + }, + { + "name": "footprint-right-bare-slime" + }, + { + "name": "footprint-right-bare-spider" + }, + { + "name": "footprint-shoes" + }, + { + "name": "footprint-suit" + }, + { + "name": "dragging-1" + }, + { + "name": "dragging-2" + }, + { + "name": "dragging-3" + }, + { + "name": "dragging-4" + }, + { + "name": "dragging-5" + }, + { + "name": "dragging-test" + } + ] +}