From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Tue, 13 Feb 2024 22:12:32 +0000 (+0300) Subject: Shadow anomaly returns (#24629) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=ae321151cab2e3f4327dfcbc73ffc01bbb2e3de6;p=space-station-14.git Shadow anomaly returns (#24629) * content * add cat * ambient * I FORGOT HEARTS! * fix ambient * some fixes * canCollide: false * connect to damageable * pi * remove fx * some fixes * *sad bruh* * hazed * Update base_shadow.yml --- diff --git a/Content.Server/Flash/Components/DamagedByFlashingComponent.cs b/Content.Server/Flash/Components/DamagedByFlashingComponent.cs new file mode 100644 index 0000000000..2a9024607d --- /dev/null +++ b/Content.Server/Flash/Components/DamagedByFlashingComponent.cs @@ -0,0 +1,15 @@ +using Content.Shared.Damage; +using Robust.Shared.Prototypes; + +namespace Content.Server.Flash.Components; + +// Also needed FlashableComponent on entity to work +[RegisterComponent, Access(typeof(DamagedByFlashingSystem))] +public sealed partial class DamagedByFlashingComponent : Component +{ + /// + /// damage from flashing + /// + [DataField(required: true), ViewVariables(VVAccess.ReadWrite)] + public DamageSpecifier FlashDamage = new (); +} diff --git a/Content.Server/Flash/DamagedByFlashingSystem.cs b/Content.Server/Flash/DamagedByFlashingSystem.cs new file mode 100644 index 0000000000..cf0368ca42 --- /dev/null +++ b/Content.Server/Flash/DamagedByFlashingSystem.cs @@ -0,0 +1,22 @@ +using Content.Server.Flash.Components; +using Content.Shared.Damage; + +namespace Content.Server.Flash; +public sealed class DamagedByFlashingSystem : EntitySystem +{ + [Dependency] private readonly DamageableSystem _damageable = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnFlashAttempt); + } + private void OnFlashAttempt(Entity ent, ref FlashAttemptEvent args) + { + _damageable.TryChangeDamage(ent, ent.Comp.FlashDamage); + + //To Do: It would be more logical if different flashes had different power, + //and the damage would be inflicted depending on the strength of the flash. + } +} diff --git a/Content.Server/Flash/FlashSystem.cs b/Content.Server/Flash/FlashSystem.cs index bc2cca5c0b..fe7eb81d1e 100644 --- a/Content.Server/Flash/FlashSystem.cs +++ b/Content.Server/Flash/FlashSystem.cs @@ -31,6 +31,7 @@ namespace Content.Server.Flash [Dependency] private readonly SharedChargesSystem _charges = default!; [Dependency] private readonly EntityLookupSystem _entityLookup = default!; [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly SharedInteractionSystem _interaction = default!; [Dependency] private readonly InventorySystem _inventory = default!; [Dependency] private readonly PopupSystem _popup = default!; @@ -150,27 +151,23 @@ namespace Content.Server.Flash public void FlashArea(EntityUid source, EntityUid? user, float range, float duration, float slowTo = 0.8f, bool displayPopup = false, SoundSpecifier? sound = null) { var transform = EntityManager.GetComponent(source); - var mapPosition = transform.MapPosition; - var flashableEntities = new List(); + var mapPosition = _transform.GetMapCoordinates(transform); var flashableQuery = GetEntityQuery(); foreach (var entity in _entityLookup.GetEntitiesInRange(transform.Coordinates, range)) { - if (!flashableQuery.HasComponent(entity)) + if (!flashableQuery.TryGetComponent(entity, out var flashable)) continue; - flashableEntities.Add(entity); - } - foreach (var entity in flashableEntities) - { // Check for unobstructed entities while ignoring the mobs with flashable components. - if (!_interaction.InRangeUnobstructed(entity, mapPosition, range, CollisionGroup.Opaque, (e) => flashableEntities.Contains(e) || e == source)) + if (!_interaction.InRangeUnobstructed(entity, mapPosition, range, flashable.CollisionGroup, (e) => e == source)) continue; // They shouldn't have flash removed in between right? Flash(entity, user, source, duration, slowTo, displayPopup, flashableQuery.GetComponent(entity)); } + if (sound != null) { _audio.PlayPvs(sound, source, AudioParams.Default.WithVolume(1f).WithMaxDistance(3f)); diff --git a/Content.Shared/Flash/FlashableComponent.cs b/Content.Shared/Flash/FlashableComponent.cs index e20e2e7941..c4f8074cea 100644 --- a/Content.Shared/Flash/FlashableComponent.cs +++ b/Content.Shared/Flash/FlashableComponent.cs @@ -1,3 +1,4 @@ +using Content.Shared.Physics; using Robust.Shared.GameStates; using Robust.Shared.Serialization; @@ -9,6 +10,9 @@ namespace Content.Shared.Flash public float Duration; public TimeSpan LastFlash; + [DataField] + public CollisionGroup CollisionGroup = CollisionGroup.Opaque; + public override bool SendOnlyToOwner => true; } diff --git a/Resources/Audio/Ambience/anomaly_scary.ogg b/Resources/Audio/Ambience/anomaly_scary.ogg new file mode 100644 index 0000000000..badefbec3b Binary files /dev/null and b/Resources/Audio/Ambience/anomaly_scary.ogg differ diff --git a/Resources/Audio/Ambience/attributions.yml b/Resources/Audio/Ambience/attributions.yml index d7ee1e8864..5ea0c24818 100644 --- a/Resources/Audio/Ambience/attributions.yml +++ b/Resources/Audio/Ambience/attributions.yml @@ -95,4 +95,10 @@ spookyspace2.ogg"] license: "CC0-1.0" copyright: "Taken from /vg/station" - source: "https://github.com/vgstation-coders/vgstation13/commit/23303188abe6fe31b114a218a1950d7325a23730" \ No newline at end of file + source: "https://github.com/vgstation-coders/vgstation13/commit/23303188abe6fe31b114a218a1950d7325a23730" + + +- files: ["anomaly_scary.ogg"] + license: "CC0-1.0" + copyright: "Created by dimbark1, edited and converted to mono by TheShuEd (github)" + source: "https://freesound.org/people/dimbark1/sounds/316797/" \ No newline at end of file diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl index 86aba122ce..e18d85df2e 100644 --- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl +++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl @@ -51,6 +51,7 @@ petting-failure-dragon = You raise your hand, but as {THE($target)} roars, you d petting-failure-hamster = You reach out to pet {THE($target)}, but {SUBJECT($target)} attempts to bite your finger and only your quick reflexes save you from an almost fatal injury. petting-failure-bear = You reach out to pet {THE($target)}, but {SUBJECT($target)} growls, making you think twice. petting-failure-monkey = You reach out to pet {THE($target)}, but {SUBJECT($target)} almost bites your fingers! +petting-failure-shadow = You're trying to pet {THE($target)}, but your hand passes through the cold darkness of his body. ## Petting silicons diff --git a/Resources/Prototypes/Damage/containers.yml b/Resources/Prototypes/Damage/containers.yml index 87168b4818..328c7a5d79 100644 --- a/Resources/Prototypes/Damage/containers.yml +++ b/Resources/Prototypes/Damage/containers.yml @@ -47,3 +47,8 @@ - Toxin supportedTypes: - Shock + +- type: damageContainer + id: ShadowHaze + supportedTypes: + - Heat \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Effects/portal.yml b/Resources/Prototypes/Entities/Effects/portal.yml index 653d3f608d..19b6fc1be3 100644 --- a/Resources/Prototypes/Entities/Effects/portal.yml +++ b/Resources/Prototypes/Entities/Effects/portal.yml @@ -68,3 +68,26 @@ lifetime: 120 - type: Portal canTeleportToOtherMaps: true + +- type: entity + id: ShadowPortal + name: shadow rift + description: Looks unstable. + parent: [ BasePortal, BaseShadow ] + components: + - type: Portal + arrivalSound: /Audio/Items/hiss.ogg + departureSound: /Audio/Items/hiss.ogg + - type: Sprite + state: portal-artifact + color: "#793a80dd" + - type: PointLight + color: "#793a80dd" + radius: 3 + energy: 1 + netsync: false + - type: AmbientSound + range: 6 + volume: -3 + sound: + path: /Audio/Ambience/anomaly_scary.ogg \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/anomaly.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/anomaly.yml index c81c840fb0..d4edbe9fc0 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/anomaly.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/anomaly.yml @@ -19,6 +19,7 @@ - RandomRockAnomalySpawner - AnomalyLiquid - AnomalyFlora + - AnomalyShadow chance: 1 offset: 0.15 # not to put it higher. The anomaly sychnronizer looks for anomalies within this radius, and if the radius is higher, the anomaly can be attracted from a neighboring tile. diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/shadowkudzu.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/shadowkudzu.yml new file mode 100644 index 0000000000..95a24157f9 --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/shadowkudzu.yml @@ -0,0 +1,26 @@ +- type: entity + id: ShadowKudzuLootSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Specific/Anomalies/shadow_anom.rsi + state: anom + - type: RandomSpawner + offset: 0.05 + chance: 0.7 + prototypes: + - CrystalPink + - CrystalPink + - ShadowPortal + - ShadowTree01 + - ShadowTree02 + - ShadowTree03 + - ShadowTree04 + - ShadowTree05 + - ShadowTree06 + rareChance: 0.05 + rarePrototypes: + - MobCatShadow + - ArtifactFragment \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/shadows.yml b/Resources/Prototypes/Entities/Mobs/NPCs/shadows.yml new file mode 100644 index 0000000000..f08fe36544 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/NPCs/shadows.yml @@ -0,0 +1,67 @@ +- type: entity + id: BaseShadowMob + abstract: true + parent: [ BaseMob, BaseShadow ] + components: + - type: Sprite + color: "#793a80dd" + - type: PointLight + color: "#793a80dd" + radius: 1.1 + - type: MovementSpeedModifier + baseWalkSpeed: 2 + baseSprintSpeed: 2 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 120 + mask: + - Opaque + layer: + - None + - type: StandingState + - type: Tag + tags: + - DoorBumpOpener + - type: NpcFactionMember + factions: + - SimpleNeutral + - type: HTN + rootTask: + task: IdleCompound + - type: SlowOnDamage + speedModifierThresholds: + 60: 0.7 + 80: 0.5 + +- type: entity + name: shadow cat + parent: BaseShadowMob + id: MobCatShadow + description: A lovely piece of darkness. Hope he doesn't bring you a curse. + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Pets/cat.rsi + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: cat + - type: Physics + - type: ReplacementAccent + accent: cat + - type: InteractionPopup + successChance: 0.01 # you cant pet shadow cat... almost + interactSuccessString: petting-success-cat + interactFailureString: petting-failure-shadow + interactSuccessSpawn: EffectHearts + interactSuccessSound: + path: /Audio/Animals/cat_meow.ogg + - type: Grammar + attributes: + gender: epicene + - type: Tag + tags: + - VimPilot \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml index eefce3a851..9727f2125d 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml @@ -1,11 +1,26 @@ - type: entity - id: Kudzu - name: kudzu - description: A rapidly growing, dangerous plant. WHY ARE YOU STOPPING TO LOOK AT IT?! + id: BaseKudzu + abstract: true placement: mode: SnapgridCenter snap: - Wall + components: + - type: Appearance + - type: Transform + anchored: true + - type: Physics + - type: Kudzu + - type: GrowingKudzu + - type: ActiveEdgeSpreader + - type: EdgeSpreader + id: Kudzu + +- type: entity + id: Kudzu + name: kudzu + parent: BaseKudzu + description: A rapidly growing, dangerous plant. WHY ARE YOU STOPPING TO LOOK AT IT?! components: - type: MeleeSound soundGroups: @@ -16,12 +31,8 @@ sprite: Objects/Misc/kudzu.rsi state: kudzu_11 drawdepth: Overdoors - - type: Appearance - type: KudzuVisuals - type: Clickable - - type: Transform - anchored: true - - type: Physics - type: Fixtures fixtures: fix1: @@ -69,19 +80,14 @@ types: Heat: 10 - type: AtmosExposed - - type: Kudzu growthTickChance: 0.3 spreadChance: 0.4 - - type: GrowingKudzu - type: SlowContacts walkSpeedModifier: 0.2 sprintSpeedModifier: 0.2 ignoreWhitelist: components: - IgnoreKudzu - - type: ActiveEdgeSpreader - - type: EdgeSpreader - id: Kudzu - type: Food requiredStomachs: 2 # ruminants have 4 stomachs but i dont care to give them literally 4 stomachs. 2 is good delay: 0.5 @@ -159,6 +165,7 @@ - type: entity id: FleshKudzu name: tendons + parent: BaseKudzu description: A rapidly growing cluster of meaty tendons. WHY ARE YOU STOPPING TO LOOK AT IT?! placement: mode: SnapgridCenter @@ -174,12 +181,8 @@ sprite: Objects/Misc/fleshkudzu.rsi state: kudzu_11 drawdepth: Overdoors - - type: Appearance - type: KudzuVisuals - type: Clickable - - type: Transform - anchored: true - - type: Physics - type: Fixtures fixtures: fix1: @@ -233,12 +236,8 @@ damage: types: Heat: 3 - - type: GrowingKudzu growthTickChance: 0.3 - type: AtmosExposed - - type: ActiveEdgeSpreader - - type: EdgeSpreader - id: Kudzu - type: SlowContacts walkSpeedModifier: 0.3 sprintSpeedModifier: 0.3 @@ -261,3 +260,41 @@ types: Asphyxiation: -0.25 +- type: entity + name: dark haze + id: ShadowKudzu + parent: [ BaseKudzu, BaseShadow ] + components: + - type: Physics + canCollide: false + - type: Occluder + - type: Sprite + drawdepth: Effects + sprite: Effects/spookysmoke.rsi + state: spookysmoke + color: "#793a80dd" + - type: Kudzu + growthTickChance: 0.2 + spreadChance: 0.99 + - type: RandomSpawner + deleteSpawnerAfterSpawn: false + rareChance: 0.05 + offset: 0.2 + chance: 0.45 + prototypes: + - ShadowBasaltRandom + rarePrototypes: + - ShadowPortal + - ShadowKudzuLootSpawner + - type: Tag + tags: + - HideContextMenu + - SpookyFog + +- type: entity + name: Haze + id: ShadowKudzuWeak + parent: ShadowKudzu + components: + - type: Kudzu + spreadChance: 0 #appears during pulsation. It shouldnt spreading. \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/base_shadow.yml b/Resources/Prototypes/Entities/Objects/base_shadow.yml new file mode 100644 index 0000000000..2375855bf9 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/base_shadow.yml @@ -0,0 +1,26 @@ +- type: entity + id: BaseShadow + abstract: true + components: + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + path: /Audio/Items/hiss.ogg + params: + variation: 0.08 + - type: Flashable + collisionGroup: + - None + - type: DamagedByFlashing + flashDamage: + types: + Heat: 10 + - type: Damageable + damageContainer: ShadowHaze diff --git a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml index 4eb9d70e08..9297d5e526 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml @@ -791,3 +791,57 @@ solution: anomaly - type: InjectableSolution solution: beaker + +- type: entity + id: AnomalyShadow + parent: BaseAnomaly + suffix: Shadow + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/shadow_anom.rsi + layers: + - state: anom + map: ["enum.AnomalyVisualLayers.Base"] + - state: pulse + map: ["enum.AnomalyVisualLayers.Animated"] + visible: false + - type: PointLight + radius: 1.5 + energy: 12.5 + color: "#793a80" + - type: AmbientSound + range: 5 + volume: -5 + sound: + path: /Audio/Ambience/anomaly_scary.ogg + - type: Anomaly + corePrototype: AnomalyCoreShadow + coreInertPrototype: AnomalyCoreShadowInert + anomalyContactDamage: + types: + Cold: 10 + animationTime: 4 + offset: "-0.1,0.1" + - type: EntitySpawnAnomaly + entries: + - settings: + spawnOnPulse: true + spawnOnSuperCritical: true + minAmount: 10 + maxAmount: 20 + maxRange: 4 + spawns: + - ShadowKudzuWeak + - settings: + spawnOnSuperCritical: true + minAmount: 30 + maxAmount: 40 + maxRange: 50 + spawns: + - ShadowKudzu + - type: Portal + arrivalSound: /Audio/Items/hiss.ogg + departureSound: /Audio/Items/hiss.ogg + - type: Tag + tags: + - SpookyFog \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml index 6e6ee057de..97f4488fd4 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml @@ -155,6 +155,19 @@ color: "#6270bb" castShadows: false +- type: entity + parent: [ BaseAnomalyCore, BaseShadow ] + id: AnomalyCoreShadow + suffix: Shadow + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/shadow_core.rsi + - type: PointLight + radius: 1.5 + energy: 2.0 + color: "#793a80" + castShadows: false + # Inert cores - type: entity @@ -288,3 +301,16 @@ energy: 2.0 color: "#6270bb" castShadows: false + +- type: entity + parent: [ BaseAnomalyInertCore, BaseShadow ] + id: AnomalyCoreShadowInert + suffix: Shadow, Inert + components: + - type: Sprite + sprite: Structures/Specific/Anomalies/Cores/shadow_core.rsi + - type: PointLight + radius: 1.5 + energy: 2.0 + color: "#793a80" + castShadows: false diff --git a/Resources/Prototypes/audio.yml b/Resources/Prototypes/audio.yml index cdc83a73ca..a755470cc6 100644 --- a/Resources/Prototypes/audio.yml +++ b/Resources/Prototypes/audio.yml @@ -7,6 +7,15 @@ rules: NearMorgue priority: 4 +- type: ambientMusic + id: SpookyFog + sound: + params: + volume: -12 + collection: AmbienceSpookyFog + rules: NearSpookyFog + priority: 5 + - type: ambientMusic id: Holy sound: @@ -196,6 +205,24 @@ - /Audio/Ambience/ambiruin6.ogg - /Audio/Ambience/ambiruin7.ogg +- type: soundCollection + id: AmbienceSpookyFog + files: + - /Audio/Ambience/spookyspace1.ogg + - /Audio/Ambience/spookyspace2.ogg + - /Audio/Ambience/ambimo2.ogg + - /Audio/Ambience/ambilava1.ogg + - /Audio/Ambience/ambilava2.ogg + - /Audio/Ambience/ambiruin2.ogg + - /Audio/Ambience/ambiruin3.ogg + - /Audio/Ambience/ambiruin4.ogg + - /Audio/Ambience/ambiruin5.ogg + - /Audio/Ambience/ambiruin6.ogg + - /Audio/Ambience/ambiruin7.ogg + - /Audio/Ambience/ambidanger.ogg + - /Audio/Ambience/ambidanger2.ogg + - /Audio/Ambience/ambimine.ogg + ## Background noise on station, separate to ambient music. - type: soundCollection id: AmbienceStation @@ -263,6 +290,16 @@ components: - type: Morgue range: 3 + +- type: rules + id: NearSpookyFog + rules: + - !type:NearbyEntitiesRule + count: 5 + whitelist: + tags: + - SpookyFog + range: 4 - type: rules id: OnMapGrid diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 8e94128ce6..3b2dcbe374 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -1052,6 +1052,9 @@ - type: Tag id: Soup +- type: Tag + id: SpookyFog + - type: Tag id: Spray diff --git a/Resources/Textures/Effects/spookysmoke.rsi/meta.json b/Resources/Textures/Effects/spookysmoke.rsi/meta.json new file mode 100644 index 0000000000..c6655bdba2 --- /dev/null +++ b/Resources/Textures/Effects/spookysmoke.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/81b3a082ccdfb425f36bbed6e5bc1f0faed346ec/icons/effects/chemsmoke.dmi, edit by TheShuEd (github)", + "size": { + "x": 96, + "y": 96 + }, + "states": [ + { + "name": "spookysmoke", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Effects/spookysmoke.rsi/spookysmoke.png b/Resources/Textures/Effects/spookysmoke.rsi/spookysmoke.png new file mode 100644 index 0000000000..dde84beaf9 Binary files /dev/null and b/Resources/Textures/Effects/spookysmoke.rsi/spookysmoke.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/shadow_core.rsi/core.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/shadow_core.rsi/core.png new file mode 100644 index 0000000000..d37b98aa15 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/shadow_core.rsi/core.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/Cores/shadow_core.rsi/meta.json b/Resources/Textures/Structures/Specific/Anomalies/Cores/shadow_core.rsi/meta.json new file mode 100644 index 0000000000..94ffa2be6e --- /dev/null +++ b/Resources/Textures/Structures/Specific/Anomalies/Cores/shadow_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/shadow_core.rsi/pulse.png b/Resources/Textures/Structures/Specific/Anomalies/Cores/shadow_core.rsi/pulse.png new file mode 100644 index 0000000000..c9e239e515 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/Cores/shadow_core.rsi/pulse.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/shadow_anom.rsi/anom.png b/Resources/Textures/Structures/Specific/Anomalies/shadow_anom.rsi/anom.png new file mode 100644 index 0000000000..d8a74d7f9c Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/shadow_anom.rsi/anom.png differ diff --git a/Resources/Textures/Structures/Specific/Anomalies/shadow_anom.rsi/meta.json b/Resources/Textures/Structures/Specific/Anomalies/shadow_anom.rsi/meta.json new file mode 100644 index 0000000000..4f02c929a9 --- /dev/null +++ b/Resources/Textures/Structures/Specific/Anomalies/shadow_anom.rsi/meta.json @@ -0,0 +1,34 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Created by TheShuEd (github) for ss14", + "size": { + "x": 32, + "y": 48 + }, + "states": [ + { + "name": "anom", + "delays": [ + [ + 0.25625, + 0.25625, + 0.25625 + ] + ] + }, + { + "name": "pulse", + "delays": [ + [ + 0.15625, + 0.15625, + 0.15625, + 0.15625, + 0.15625, + 0.15625 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Structures/Specific/Anomalies/shadow_anom.rsi/pulse.png b/Resources/Textures/Structures/Specific/Anomalies/shadow_anom.rsi/pulse.png new file mode 100644 index 0000000000..81a8c92378 Binary files /dev/null and b/Resources/Textures/Structures/Specific/Anomalies/shadow_anom.rsi/pulse.png differ