diff --git a/Content.Server/Anomaly/Components/AnomalyCoreComponent.cs b/Content.Server/Anomaly/Components/AnomalyCoreComponent.cs new file mode 100644 index 0000000000..f86f95c71a --- /dev/null +++ b/Content.Server/Anomaly/Components/AnomalyCoreComponent.cs @@ -0,0 +1,42 @@ +using Content.Server.Anomaly.Effects; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Server.Anomaly.Components; + +/// +/// This component exists for a limited time, and after it expires it modifies the entity, greatly reducing its value and changing its visuals +/// +[RegisterComponent, Access(typeof(AnomalyCoreSystem))] +public sealed partial class AnomalyCoreComponent : Component +{ + + /// + /// Amount of time required for the core to decompose into an inert core + /// + [DataField, ViewVariables(VVAccess.ReadWrite)] + public double TimeToDecay = 600; + + /// + /// The moment of core decay. It is set during entity initialization. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + public TimeSpan DecayMoment; + + /// + /// The starting value of the entity. + /// + [DataField, ViewVariables(VVAccess.ReadWrite)] + public double StartPrice = 10000; + + /// + /// The value of the object sought during decaying + /// + [DataField, ViewVariables(VVAccess.ReadWrite)] + public double EndPrice = 200; + + /// + /// Has the core decayed? + /// + [DataField, ViewVariables(VVAccess.ReadWrite)] + public bool IsDecayed; +} diff --git a/Content.Server/Anomaly/Effects/AnomalyCoreSystem.cs b/Content.Server/Anomaly/Effects/AnomalyCoreSystem.cs new file mode 100644 index 0000000000..eb45101373 --- /dev/null +++ b/Content.Server/Anomaly/Effects/AnomalyCoreSystem.cs @@ -0,0 +1,56 @@ +using Content.Server.Anomaly.Components; +using Content.Server.Cargo.Systems; +using Content.Shared.Anomaly; +using Robust.Shared.Timing; + +namespace Content.Server.Anomaly.Effects; + +/// +/// This component reduces the value of the entity during decay +/// +public sealed class AnomalyCoreSystem : EntitySystem +{ + [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly IGameTiming _gameTiming = default!; + + public override void Initialize() + { + SubscribeLocalEvent(OnMapInit); + SubscribeLocalEvent(OnGetPrice); + } + + private void OnMapInit(Entity core, ref MapInitEvent args) + { + core.Comp.DecayMoment = _gameTiming.CurTime + TimeSpan.FromSeconds(core.Comp.TimeToDecay); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var component)) + { + if (component.IsDecayed) + continue; + + //When time runs out, we completely decompose + if (component.DecayMoment < _gameTiming.CurTime) + Decay(uid, component); + } + } + private void OnGetPrice(Entity core, ref PriceCalculationEvent args) + { + var timeLeft = core.Comp.DecayMoment - _gameTiming.CurTime; + var lerp = (double) (timeLeft.TotalSeconds / core.Comp.TimeToDecay); + lerp = Math.Clamp(lerp, 0, 1); + + args.Price = MathHelper.Lerp(core.Comp.EndPrice, core.Comp.StartPrice, lerp); + } + + private void Decay(EntityUid uid, AnomalyCoreComponent component) + { + _appearance.SetData(uid, AnomalyCoreVisuals.Decaying, false); + component.IsDecayed = true; + } +} diff --git a/Content.Shared/Anomaly/AnomalyCoreVisuals.cs b/Content.Shared/Anomaly/AnomalyCoreVisuals.cs new file mode 100644 index 0000000000..f15ab58e0c --- /dev/null +++ b/Content.Shared/Anomaly/AnomalyCoreVisuals.cs @@ -0,0 +1,9 @@ +using Robust.Shared.Serialization; + +namespace Content.Shared.Anomaly; + +[Serializable, NetSerializable] +public enum AnomalyCoreVisuals : byte +{ + Decaying +} diff --git a/Content.Shared/Anomaly/Components/AnomalyComponent.cs b/Content.Shared/Anomaly/Components/AnomalyComponent.cs index 07fc603e26..cf3ba75aaa 100644 --- a/Content.Shared/Anomaly/Components/AnomalyComponent.cs +++ b/Content.Shared/Anomaly/Components/AnomalyComponent.cs @@ -2,6 +2,7 @@ using System.Numerics; using Content.Shared.Damage; using Robust.Shared.Audio; using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Anomaly.Components; @@ -208,6 +209,18 @@ public sealed partial class AnomalyComponent : Component [DataField] public SoundSpecifier AnomalyContactDamageSound = new SoundPathSpecifier("/Audio/Effects/lightburn.ogg"); + /// + /// A prototype entity that appears when an anomaly supercrit collapse. + /// + [DataField, ViewVariables(VVAccess.ReadWrite)] + public EntProtoId? CorePrototype; + + /// + /// A prototype entity that appears when an anomaly decays. + /// + [DataField, ViewVariables(VVAccess.ReadWrite)] + public EntProtoId? CoreInertPrototype; + #region Floating Animation /// /// How long it takes to go from the bottom of the animation to the top. diff --git a/Content.Shared/Anomaly/SharedAnomalySystem.cs b/Content.Shared/Anomaly/SharedAnomalySystem.cs index 4b2b3ada70..ca77544a15 100644 --- a/Content.Shared/Anomaly/SharedAnomalySystem.cs +++ b/Content.Shared/Anomaly/SharedAnomalySystem.cs @@ -1,4 +1,4 @@ -using Content.Shared.Administration.Logs; +using Content.Shared.Administration.Logs; using Content.Shared.Anomaly.Components; using Content.Shared.Damage; using Content.Shared.Database; @@ -181,6 +181,9 @@ public abstract class SharedAnomalySystem : EntitySystem if (Terminating(uid) || _net.IsClient) return; + + Spawn(supercritical ? component.CorePrototype : component.CoreInertPrototype, Transform(uid).Coordinates); + QueueDel(uid); } diff --git a/Resources/Prototypes/Entities/Structures/Specific/anomalies.yml b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml similarity index 91% rename from Resources/Prototypes/Entities/Structures/Specific/anomalies.yml rename to Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml index 736834fa2f..3526216c13 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/anomalies.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml @@ -53,6 +53,9 @@ parent: BaseAnomaly suffix: Pyroclastic components: + - type: Anomaly + corePrototype: AnomalyCorePyroclastic + coreInertPrototype: AnomalyCorePyroclasticInert - type: Sprite layers: - state: anom1 @@ -81,6 +84,9 @@ parent: BaseAnomaly suffix: Gravity components: + - type: Anomaly + corePrototype: AnomalyCoreGravity + coreInertPrototype: AnomalyCoreGravityInert - type: Sprite layers: - state: anom2 @@ -102,6 +108,9 @@ parent: BaseAnomaly suffix: Electricity components: + - type: Anomaly + corePrototype: AnomalyCoreElectricity + coreInertPrototype: AnomalyCoreElectricityInert - type: Sprite layers: - state: anom3 @@ -122,6 +131,9 @@ parent: BaseAnomaly suffix: Flesh components: + - type: Anomaly + corePrototype: AnomalyCoreFlesh + coreInertPrototype: AnomalyCoreFleshInert - type: Sprite layers: - state: anom5 @@ -186,6 +198,8 @@ - WallLayer hard: false - type: Anomaly + corePrototype: AnomalyCoreBluespace + coreInertPrototype: AnomalyCoreBluespaceInert pulseSound: collection: RadiationPulse params: @@ -214,6 +228,8 @@ color: "#befaff" castShadows: false - type: Anomaly + corePrototype: AnomalyCoreIce + coreInertPrototype: AnomalyCoreIceInert anomalyContactDamage: types: Cold: 10 @@ -238,6 +254,9 @@ parent: BaseAnomaly suffix: Rock components: + - type: Anomaly + corePrototype: AnomalyCoreRock + coreInertPrototype: AnomalyCoreRockInert - type: Sprite layers: - state: anom6 @@ -289,6 +308,8 @@ color: "#bbbbbb" - type: BadFood - type: Anomaly + corePrototype: AnomalyCoreLiquid + coreInertPrototype: AnomalyCoreLiquidInert anomalyContactDamage: types: Slash: 1 diff --git a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml new file mode 100644 index 0000000000..835f309fc8 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml @@ -0,0 +1,251 @@ +- type: entity + parent: BaseItem + id: BaseAnomalyCore + abstract: true + name: anomaly core + description: The core of a detroyed incomprehensible object. + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/gravity_core.rsi + layers: + - state: core + - state: pulse + map: ["decay"] + - type: Appearance + - type: GenericVisualizer + visuals: + enum.AnomalyCoreVisuals.Decaying: + decay: + True: { visible: true } + False: { visible: false } + - type: Item + size: 10 + - type: ItemCooldown + - type: EmitSoundOnUse #placeholder for future unical mechanic + sound: + collection: RadiationPulse + - type: UseDelay + delay: 2 + - type: AnomalyCore + timeToDecay: 600 + startPrice: 10000 + endPrice: 200 + +- type: entity + parent: BaseAnomalyCore + id: AnomalyCorePyroclastic + suffix: Pyroclastic + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/pyro_core.rsi + - type: PointLight + radius: 1.5 + energy: 1.5 + color: "#fca3c0" + castShadows: false + +- type: entity + parent: BaseAnomalyCore + id: AnomalyCoreGravity + suffix: Gravity + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/gravity_core.rsi + - type: PointLight + radius: 1.5 + energy: 10 + color: "#1e070e" + castShadows: false + +- type: entity + parent: BaseAnomalyCore + id: AnomalyCoreIce + suffix: Ice + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/ice_core.rsi + - type: PointLight + radius: 1.5 + energy: 1.5 + color: "#befaff" + castShadows: false + +- type: entity + parent: BaseAnomalyCore + id: AnomalyCoreFlesh + suffix: Flesh + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/flesh_core.rsi + - type: PointLight + radius: 1.5 + energy: 3.5 + color: "#cb5b7e" + castShadows: false + +- type: entity + parent: BaseAnomalyCore + id: AnomalyCoreRock + suffix: Rock + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/rock_core.rsi + - type: PointLight + radius: 1.5 + energy: 3.5 + color: "#5ca8cb" + castShadows: false + +- type: entity + parent: BaseAnomalyCore + id: AnomalyCoreLiquid + suffix: Liquid + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/liquid_core.rsi + - type: PointLight + radius: 1.5 + energy: 3.5 + color: "#ffffff" + castShadows: false + +- type: entity + parent: BaseAnomalyCore + id: AnomalyCoreBluespace + suffix: Bluespace + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/bluespace_core.rsi + - type: PointLight + radius: 1.5 + energy: 3.5 + color: "#00ccff" + castShadows: false + +- type: entity + parent: BaseAnomalyCore + id: AnomalyCoreElectricity + suffix: Electricity + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/electric_core.rsi + - type: PointLight + radius: 1.5 + energy: 2.0 + color: "#ffffaa" + castShadows: false + - type: Electrified + +# Inert cores + +- type: entity + parent: BaseAnomalyCore + id: BaseAnomalyInertCore + abstract: true + components: + - type: AnomalyCore + timeToDecay: 1 #decay very fast + +- type: entity + parent: BaseAnomalyInertCore + id: AnomalyCorePyroclasticInert + suffix: Pyroclastic, Inert + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/pyro_core.rsi + - type: PointLight + radius: 1.5 + energy: 1.5 + color: "#fca3c0" + castShadows: false + +- type: entity + parent: BaseAnomalyInertCore + id: AnomalyCoreGravityInert + suffix: Gravity, Inert + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/gravity_core.rsi + - type: PointLight + radius: 1.5 + energy: 10 + color: "#1e070e" + castShadows: false + +- type: entity + parent: BaseAnomalyInertCore + id: AnomalyCoreIceInert + suffix: Ice, Inert + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/ice_core.rsi + - type: PointLight + radius: 1.5 + energy: 1.5 + color: "#befaff" + castShadows: false + +- type: entity + parent: BaseAnomalyInertCore + id: AnomalyCoreFleshInert + suffix: Flesh, Inert + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/flesh_core.rsi + - type: PointLight + radius: 1.5 + energy: 3.5 + color: "#cb5b7e" + castShadows: false + +- type: entity + parent: BaseAnomalyInertCore + id: AnomalyCoreRockInert + suffix: Rock, Inert + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/rock_core.rsi + - type: PointLight + radius: 1.5 + energy: 3.5 + color: "#5ca8cb" + castShadows: false + +- type: entity + parent: BaseAnomalyInertCore + id: AnomalyCoreLiquidInert + suffix: Liquid, Inert + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/liquid_core.rsi + - type: PointLight + radius: 1.5 + energy: 3.5 + color: "#ffffff" + castShadows: false + +- type: entity + parent: BaseAnomalyInertCore + id: AnomalyCoreBluespaceInert + suffix: Bluespace, Inert + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/bluespace_core.rsi + - type: PointLight + radius: 1.5 + energy: 3.5 + color: "#00ccff" + castShadows: false + +- type: entity + parent: BaseAnomalyInertCore + id: AnomalyCoreElectricityInert + suffix: Electricity, Inert + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/electric_core.rsi + - type: PointLight + radius: 1.5 + energy: 2.0 + color: "#ffffaa" + castShadows: false \ No newline at end of file diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/bluespace_core.rsi/core.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/bluespace_core.rsi/core.png new file mode 100644 index 0000000000..818a2fe22b Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/bluespace_core.rsi/core.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/bluespace_core.rsi/meta.json b/Resources/Textures/Structures/Specific/Anomalies/Cores/bluespace_core.rsi/meta.json new file mode 100644 index 0000000000..94ffa2be6e --- /dev/null +++ b/Resources/Textures/Structures/Specific/Anomalies/Cores/bluespace_core.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Created by TheShuEd (github) for ss14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "core" + }, + { + "name": "pulse", + "delays": [ + [ + 0.15625, + 0.15625, + 0.15625, + 0.15625 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/bluespace_core.rsi/pulse.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/bluespace_core.rsi/pulse.png new file mode 100644 index 0000000000..88421da601 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/bluespace_core.rsi/pulse.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/electric_core.rsi/core.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/electric_core.rsi/core.png new file mode 100644 index 0000000000..9176daa63a Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/electric_core.rsi/core.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/electric_core.rsi/meta.json b/Resources/Textures/Structures/Specific/Anomalies/Cores/electric_core.rsi/meta.json new file mode 100644 index 0000000000..94ffa2be6e --- /dev/null +++ b/Resources/Textures/Structures/Specific/Anomalies/Cores/electric_core.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Created by TheShuEd (github) for ss14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "core" + }, + { + "name": "pulse", + "delays": [ + [ + 0.15625, + 0.15625, + 0.15625, + 0.15625 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/electric_core.rsi/pulse.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/electric_core.rsi/pulse.png new file mode 100644 index 0000000000..32a49cb7f4 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/electric_core.rsi/pulse.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/flesh_core.rsi/core.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/flesh_core.rsi/core.png new file mode 100644 index 0000000000..b6dc8fc386 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/flesh_core.rsi/core.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/flesh_core.rsi/meta.json b/Resources/Textures/Structures/Specific/Anomalies/Cores/flesh_core.rsi/meta.json new file mode 100644 index 0000000000..94ffa2be6e --- /dev/null +++ b/Resources/Textures/Structures/Specific/Anomalies/Cores/flesh_core.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Created by TheShuEd (github) for ss14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "core" + }, + { + "name": "pulse", + "delays": [ + [ + 0.15625, + 0.15625, + 0.15625, + 0.15625 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/flesh_core.rsi/pulse.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/flesh_core.rsi/pulse.png new file mode 100644 index 0000000000..8e26e73327 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/flesh_core.rsi/pulse.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/gravity_core.rsi/core.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/gravity_core.rsi/core.png new file mode 100644 index 0000000000..ccc1645d2d Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/gravity_core.rsi/core.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/gravity_core.rsi/meta.json b/Resources/Textures/Structures/Specific/Anomalies/Cores/gravity_core.rsi/meta.json new file mode 100644 index 0000000000..94ffa2be6e --- /dev/null +++ b/Resources/Textures/Structures/Specific/Anomalies/Cores/gravity_core.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Created by TheShuEd (github) for ss14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "core" + }, + { + "name": "pulse", + "delays": [ + [ + 0.15625, + 0.15625, + 0.15625, + 0.15625 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/gravity_core.rsi/pulse.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/gravity_core.rsi/pulse.png new file mode 100644 index 0000000000..9d22ec71d1 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/gravity_core.rsi/pulse.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/ice_core.rsi/core.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/ice_core.rsi/core.png new file mode 100644 index 0000000000..de0694c7d8 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/ice_core.rsi/core.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/ice_core.rsi/meta.json b/Resources/Textures/Structures/Specific/Anomalies/Cores/ice_core.rsi/meta.json new file mode 100644 index 0000000000..94ffa2be6e --- /dev/null +++ b/Resources/Textures/Structures/Specific/Anomalies/Cores/ice_core.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Created by TheShuEd (github) for ss14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "core" + }, + { + "name": "pulse", + "delays": [ + [ + 0.15625, + 0.15625, + 0.15625, + 0.15625 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/ice_core.rsi/pulse.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/ice_core.rsi/pulse.png new file mode 100644 index 0000000000..b2ffbeb13c Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/ice_core.rsi/pulse.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/liquid_core.rsi/core.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/liquid_core.rsi/core.png new file mode 100644 index 0000000000..f44798cf18 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/liquid_core.rsi/core.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/liquid_core.rsi/meta.json b/Resources/Textures/Structures/Specific/Anomalies/Cores/liquid_core.rsi/meta.json new file mode 100644 index 0000000000..94ffa2be6e --- /dev/null +++ b/Resources/Textures/Structures/Specific/Anomalies/Cores/liquid_core.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Created by TheShuEd (github) for ss14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "core" + }, + { + "name": "pulse", + "delays": [ + [ + 0.15625, + 0.15625, + 0.15625, + 0.15625 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/liquid_core.rsi/pulse.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/liquid_core.rsi/pulse.png new file mode 100644 index 0000000000..d8b04a5aaa Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/liquid_core.rsi/pulse.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/pyro_core.rsi/core.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/pyro_core.rsi/core.png new file mode 100644 index 0000000000..61a5f22489 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/pyro_core.rsi/core.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/pyro_core.rsi/meta.json b/Resources/Textures/Structures/Specific/Anomalies/Cores/pyro_core.rsi/meta.json new file mode 100644 index 0000000000..94ffa2be6e --- /dev/null +++ b/Resources/Textures/Structures/Specific/Anomalies/Cores/pyro_core.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Created by TheShuEd (github) for ss14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "core" + }, + { + "name": "pulse", + "delays": [ + [ + 0.15625, + 0.15625, + 0.15625, + 0.15625 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/pyro_core.rsi/pulse.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/pyro_core.rsi/pulse.png new file mode 100644 index 0000000000..537c619d19 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/pyro_core.rsi/pulse.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/rock_core.rsi/core.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/rock_core.rsi/core.png new file mode 100644 index 0000000000..3d3ddce24e Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/rock_core.rsi/core.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/rock_core.rsi/meta.json b/Resources/Textures/Structures/Specific/Anomalies/Cores/rock_core.rsi/meta.json new file mode 100644 index 0000000000..94ffa2be6e --- /dev/null +++ b/Resources/Textures/Structures/Specific/Anomalies/Cores/rock_core.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Created by TheShuEd (github) for ss14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "core" + }, + { + "name": "pulse", + "delays": [ + [ + 0.15625, + 0.15625, + 0.15625, + 0.15625 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/rock_core.rsi/pulse.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/rock_core.rsi/pulse.png new file mode 100644 index 0000000000..4612777984 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/rock_core.rsi/pulse.png differ