hopefully this all goes through well
|
|
@ -45,7 +45,7 @@ public sealed class ClientInnerBodyAnomalySystem : SharedInnerBodyAnomalySystem
|
|||
if (!TryComp<SpriteComponent>(ent, out var sprite))
|
||||
return;
|
||||
|
||||
var index = _sprite.LayerMapGet((ent.Owner, sprite), ent.Comp.LayerMap);
|
||||
_sprite.LayerSetVisible((ent.Owner, sprite), index, false);
|
||||
if (sprite.LayerMapTryGet(ent.Comp.LayerMap, out var index)) // imp. added this check to prevent errors on anomalites - not having it was bad code on upstream's part
|
||||
sprite.LayerSetVisible(index, false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ public sealed partial class AnomalySynchronizerSystem : EntitySystem
|
|||
var targetXform = _transform.GetWorldPosition(ent);
|
||||
_transform.SetWorldPosition(anomaly, targetXform);
|
||||
|
||||
if (ent.Comp.PulseOnConnect)
|
||||
if (ent.Comp.PulseOnConnect && !anomaly.Comp.CannotRandomPulse) // imp - added cannotrandompulse
|
||||
_anomaly.DoAnomalyPulse(anomaly, anomaly);
|
||||
|
||||
_popup.PopupEntity(Loc.GetString("anomaly-sync-connected"), ent, PopupType.Medium);
|
||||
|
|
@ -163,7 +163,7 @@ public sealed partial class AnomalySynchronizerSystem : EntitySystem
|
|||
|
||||
if (TryComp<AnomalyComponent>(other, out var anomaly))
|
||||
{
|
||||
if (ent.Comp.PulseOnDisconnect)
|
||||
if (ent.Comp.PulseOnDisconnect && !anomaly.CannotRandomPulse) // imp - added cannotrandompulse
|
||||
_anomaly.DoAnomalyPulse(ent.Comp.ConnectedAnomaly.Value, anomaly);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,9 @@ public sealed class ElectricityAnomalySystem : EntitySystem
|
|||
var query = EntityQueryEnumerator<ElectricityAnomalyComponent, AnomalyComponent, TransformComponent>();
|
||||
while (query.MoveNext(out var uid, out var elec, out var anom, out var xform))
|
||||
{
|
||||
if (anom.CannotRandomPulse) // imp. added CannotRandomPulse
|
||||
continue;
|
||||
|
||||
if (_timing.CurTime < elec.NextSecond)
|
||||
continue;
|
||||
elec.NextSecond = _timing.CurTime + TimeSpan.FromSeconds(1);
|
||||
|
|
|
|||
|
|
@ -96,8 +96,11 @@ public sealed class InnerBodyAnomalySystem : SharedInnerBodyAnomalySystem
|
|||
|
||||
EntityManager.AddComponents(ent, injectedAnom.Components);
|
||||
|
||||
_stun.TryParalyze(ent, TimeSpan.FromSeconds(ent.Comp.StunDuration), true);
|
||||
_jitter.DoJitter(ent, TimeSpan.FromSeconds(ent.Comp.StunDuration), true);
|
||||
if (!ent.Comp.SkipStun) // imp. added this check for anomalites
|
||||
{
|
||||
_stun.TryParalyze(ent, TimeSpan.FromSeconds(ent.Comp.StunDuration), true);
|
||||
_jitter.DoJitter(ent, TimeSpan.FromSeconds(ent.Comp.StunDuration), true);
|
||||
}
|
||||
|
||||
if (ent.Comp.StartSound is not null)
|
||||
_audio.PlayPvs(ent.Comp.StartSound, ent);
|
||||
|
|
@ -125,7 +128,8 @@ public sealed class InnerBodyAnomalySystem : SharedInnerBodyAnomalySystem
|
|||
|
||||
private void OnAnomalyPulse(Entity<InnerBodyAnomalyComponent> ent, ref AnomalyPulseEvent args)
|
||||
{
|
||||
_stun.TryParalyze(ent, TimeSpan.FromSeconds(ent.Comp.StunDuration / 2 * args.Severity), true);
|
||||
if (!ent.Comp.SkipStun) // imp. added this check for anomalites
|
||||
_stun.TryParalyze(ent, TimeSpan.FromSeconds(ent.Comp.StunDuration / 2 * args.Severity), true);
|
||||
_jitter.DoJitter(ent, TimeSpan.FromSeconds(ent.Comp.StunDuration / 2 * args.Severity), true);
|
||||
}
|
||||
|
||||
|
|
@ -213,7 +217,8 @@ public sealed class InnerBodyAnomalySystem : SharedInnerBodyAnomalySystem
|
|||
if (_proto.TryIndex(ent.Comp.InjectionProto, out var injectedAnom))
|
||||
EntityManager.RemoveComponents(ent, injectedAnom.Components);
|
||||
|
||||
_stun.TryParalyze(ent, TimeSpan.FromSeconds(ent.Comp.StunDuration), true);
|
||||
if (!ent.Comp.SkipStun) // imp. added this check for anomalites
|
||||
_stun.TryParalyze(ent, TimeSpan.FromSeconds(ent.Comp.StunDuration), true);
|
||||
|
||||
if (ent.Comp.EndMessage is not null &&
|
||||
_mind.TryGetMind(ent, out _, out var mindComponent) &&
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ using System.Numerics;
|
|||
using Robust.Shared.Utility;
|
||||
using Content.Server.Shuttles.Events;
|
||||
using Content.Shared.IdentityManagement;
|
||||
|
||||
using Content.Server.Bible.Components; // #IMP
|
||||
namespace Content.Server.Pinpointer;
|
||||
|
||||
public sealed class PinpointerSystem : SharedPinpointerSystem
|
||||
|
|
@ -51,7 +51,7 @@ public sealed class PinpointerSystem : SharedPinpointerSystem
|
|||
TogglePinpointer(uid, component);
|
||||
|
||||
if (!component.CanRetarget)
|
||||
LocateTarget(uid, component);
|
||||
LocateTarget(uid, component, args); //#IMP args
|
||||
|
||||
args.Handled = true;
|
||||
}
|
||||
|
|
@ -73,7 +73,8 @@ public sealed class PinpointerSystem : SharedPinpointerSystem
|
|||
}
|
||||
}
|
||||
|
||||
private void LocateTarget(EntityUid uid, PinpointerComponent component)
|
||||
//#IMP ActivateInWorldEvent args: added this
|
||||
private void LocateTarget(EntityUid uid, PinpointerComponent component, ActivateInWorldEvent? args = null)
|
||||
{
|
||||
// try to find target from whitelist
|
||||
if (component.IsActive && component.Component != null)
|
||||
|
|
|
|||
|
|
@ -19,6 +19,18 @@ namespace Content.Shared.Anomaly.Components;
|
|||
[Access(typeof(SharedAnomalySystem), typeof(SharedInnerBodyAnomalySystem))]
|
||||
public sealed partial class AnomalyComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// Imp. If true, skips doing supercritical logic for this anomaly. Used for Anomalites.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public bool CannotSupercrit;
|
||||
|
||||
/// <summary>
|
||||
/// imp. if true, skips random pulsing and health change over time.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public bool CannotRandomPulse;
|
||||
|
||||
/// <summary>
|
||||
/// How likely an anomaly is to grow more dangerous. Moves both up and down.
|
||||
/// Ranges from 0 to 1.
|
||||
|
|
|
|||
|
|
@ -69,6 +69,12 @@ public sealed partial class InnerBodyAnomalyComponent : Component
|
|||
/// </summary>
|
||||
[DataField]
|
||||
public string LayerMap = "inner_anomaly_layer";
|
||||
|
||||
/// <summary>
|
||||
/// imp. added for anomalites to prevent stunning
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public bool SkipStun;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -124,6 +124,9 @@ public abstract class SharedAnomalySystem : EntitySystem
|
|||
/// <param name="ent">Entity to go supercritical</param>
|
||||
public void StartSupercriticalEvent(Entity<AnomalyComponent?> ent)
|
||||
{
|
||||
if (!TryComp<AnomalyComponent>(ent, out var anomComp) || anomComp.CannotSupercrit) // imp
|
||||
return;
|
||||
|
||||
// don't restart it if it's already begun
|
||||
if (HasComp<AnomalySupercriticalComponent>(ent))
|
||||
return;
|
||||
|
|
@ -333,6 +336,9 @@ public abstract class SharedAnomalySystem : EntitySystem
|
|||
var anomalyQuery = EntityQueryEnumerator<AnomalyComponent>();
|
||||
while (anomalyQuery.MoveNext(out var ent, out var anomaly))
|
||||
{
|
||||
if (anomaly.CannotRandomPulse) // imp
|
||||
continue;
|
||||
|
||||
// if the stability is under the death threshold,
|
||||
// update it every second to start killing it slowly.
|
||||
if (anomaly.Stability < anomaly.DecayThreshold)
|
||||
|
|
@ -359,6 +365,9 @@ public abstract class SharedAnomalySystem : EntitySystem
|
|||
var supercriticalQuery = EntityQueryEnumerator<AnomalySupercriticalComponent, AnomalyComponent>();
|
||||
while (supercriticalQuery.MoveNext(out var ent, out var super, out var anom))
|
||||
{
|
||||
if (anom.CannotSupercrit) // imp
|
||||
continue;
|
||||
|
||||
if (Timing.CurTime <= super.EndTime)
|
||||
continue;
|
||||
DoAnomalySupercriticalEvent(ent, anom);
|
||||
|
|
|
|||
|
|
@ -25,5 +25,6 @@ public sealed partial class FloatingVisualsComponent : Component
|
|||
[AutoNetworkedField]
|
||||
public bool CanFloat = false;
|
||||
|
||||
public readonly string AnimationKey = "gravity";
|
||||
[DataField] // imp. made this a read/write datafield instead of readonly to fix a bug with anomalites.
|
||||
public string AnimationKey = "gravity";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,6 +62,12 @@ public sealed partial class PinpointerComponent : Component
|
|||
|
||||
[ViewVariables]
|
||||
public bool HasTarget => DistanceToTarget != Distance.Unknown;
|
||||
|
||||
/// <summary>
|
||||
/// #IMP Force pinpointer to activate immediately.
|
||||
/// </summary>
|
||||
[DataField("activateImmediately"), ViewVariables]
|
||||
public bool ActivateImmediately = false;
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
chat-speech-verb-name-anomalite = Anomalite
|
||||
chat-speech-verb-anomalite-1 = twinkles
|
||||
chat-speech-verb-anomalite-2 = sparkles
|
||||
chat-speech-verb-anomalite-3 = glitters
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
ghost-role-information-anomalite-description = A small sprite, born from the latent energies of an anomaly core. Loyal to its core, or whoever possesses it.
|
||||
ghost-role-information-familiar-anomalite-rules = You are a [color=#6495ed][bold]Familiar[/bold][/color], loyal to the Anomaly Core you came from (or whoever happens to have it right now.) Serve the interests of your master, whatever those may be.
|
||||
|
||||
You don't remember any of your previous life, and you don't remember anything you learned as a ghost.
|
||||
|
||||
# Anomalite Names
|
||||
ghost-role-information-fireanomalite-name = Pyroclastic Anomalite
|
||||
ghost-role-information-gravanomalite-name = Gravity Anomalite
|
||||
ghost-role-information-iceanomalite-name = Ice Anomalite
|
||||
ghost-role-information-fleshanomalite-name = Flesh Anomalite
|
||||
ghost-role-information-rockanomalite-name = Rock Anomalite
|
||||
ghost-role-information-reagentanomalite-name = Liquid Anomalite
|
||||
ghost-role-information-bluespaceanomalite-name = Bluespace Anomalite
|
||||
ghost-role-information-electricanomalite-name = Electricity Anomalite
|
||||
ghost-role-information-floralanomalite-name = Floral Anomalite
|
||||
ghost-role-information-shadowanomalite-name = Shadow Anomalite
|
||||
ghost-role-information-techanomalite-name = Tech Anomalite
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
## Anomalites
|
||||
|
||||
petting-success-anomalite = You pet {THE($target)} on their anomalous little head.
|
||||
petting-failure-anomalite = You try to pet {THE($target)}, but your fingers are zapped by its energy field!
|
||||
|
|
@ -49,6 +49,9 @@
|
|||
- type: IgnitionSource
|
||||
temperature: 400
|
||||
ignited: true
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomalitePyroclastic
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyCore
|
||||
|
|
@ -62,6 +65,9 @@
|
|||
energy: 10
|
||||
color: "#1e070e"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteGravity
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyCore
|
||||
|
|
@ -75,6 +81,9 @@
|
|||
energy: 1.5
|
||||
color: "#befaff"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteIce
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyCore
|
||||
|
|
@ -89,6 +98,9 @@
|
|||
energy: 3.5
|
||||
color: "#cb5b7e"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteFlesh
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyCore
|
||||
|
|
@ -102,6 +114,9 @@
|
|||
energy: 3.5
|
||||
color: "#5ca8cb"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteRock
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyCore
|
||||
|
|
@ -115,6 +130,9 @@
|
|||
energy: 3.5
|
||||
color: "#ffffff"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteLiquid
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyCore
|
||||
|
|
@ -128,6 +146,9 @@
|
|||
energy: 3.5
|
||||
color: "#00ccff"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteBluespace
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyCore
|
||||
|
|
@ -142,6 +163,9 @@
|
|||
color: "#ffffaa"
|
||||
castShadows: false
|
||||
- type: Electrified
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteElectricity
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyCore
|
||||
|
|
@ -157,6 +181,9 @@
|
|||
energy: 2.0
|
||||
color: "#6270bb"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteFlora
|
||||
|
||||
- type: entity
|
||||
parent: [ BaseAnomalyCore, BaseShadow ]
|
||||
|
|
@ -170,6 +197,9 @@
|
|||
energy: 2.0
|
||||
color: "#793a80"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteShadow
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyCore
|
||||
|
|
@ -183,6 +213,9 @@
|
|||
energy: 2.0
|
||||
color: "#56c1e8"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteTech
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyCore
|
||||
|
|
@ -226,6 +259,9 @@
|
|||
energy: 1.5
|
||||
color: "#fca3c0"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomalitePyroclastic
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyInertCore
|
||||
|
|
@ -239,6 +275,9 @@
|
|||
energy: 10
|
||||
color: "#1e070e"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteGravity
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyInertCore
|
||||
|
|
@ -252,6 +291,9 @@
|
|||
energy: 1.5
|
||||
color: "#befaff"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteIce
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyInertCore
|
||||
|
|
@ -266,6 +308,9 @@
|
|||
energy: 3.5
|
||||
color: "#cb5b7e"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteFlesh
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyInertCore
|
||||
|
|
@ -279,6 +324,9 @@
|
|||
energy: 3.5
|
||||
color: "#5ca8cb"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteRock
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyInertCore
|
||||
|
|
@ -292,6 +340,9 @@
|
|||
energy: 3.5
|
||||
color: "#ffffff"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteLiquid
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyInertCore
|
||||
|
|
@ -305,6 +356,9 @@
|
|||
energy: 3.5
|
||||
color: "#00ccff"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteBluespace
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyInertCore
|
||||
|
|
@ -318,6 +372,9 @@
|
|||
energy: 2.0
|
||||
color: "#ffffaa"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteElectricity
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyInertCore
|
||||
|
|
@ -333,6 +390,9 @@
|
|||
energy: 2.0
|
||||
color: "#6270bb"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteFlora
|
||||
|
||||
- type: entity
|
||||
parent: [ BaseAnomalyInertCore, BaseShadow ]
|
||||
|
|
@ -346,6 +406,9 @@
|
|||
energy: 2.0
|
||||
color: "#793a80"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteShadow
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyInertCore
|
||||
|
|
@ -359,6 +422,9 @@
|
|||
energy: 2.0
|
||||
color: "#56c1e8"
|
||||
castShadows: false
|
||||
- type: Summonable # imp
|
||||
requiresBibleUser: false
|
||||
specialItem: SpawnPointGhostAnomaliteTech
|
||||
|
||||
- type: entity
|
||||
parent: BaseAnomalyInertCore
|
||||
|
|
|
|||
|
|
@ -0,0 +1,76 @@
|
|||
# Pyroclastic
|
||||
- type: damageModifierSet
|
||||
id: AnomalitePyroclastic
|
||||
coefficients:
|
||||
Heat: 0.0
|
||||
flatReductions:
|
||||
Heat: 100
|
||||
|
||||
# Gravity
|
||||
- type: damageModifierSet
|
||||
id: AnomaliteGravity
|
||||
coefficients:
|
||||
Blunt: 0.3
|
||||
Piercing: 0.3
|
||||
Slash: 0.3
|
||||
|
||||
# Ice
|
||||
- type: damageModifierSet
|
||||
id: AnomaliteIce
|
||||
coefficients:
|
||||
Cold: 0.0
|
||||
flatReductions:
|
||||
Cold: 100
|
||||
|
||||
# Flesh
|
||||
- type: damageModifierSet
|
||||
id: AnomaliteFlesh
|
||||
coefficients:
|
||||
Slash: 0.0
|
||||
|
||||
# Rock
|
||||
- type: damageModifierSet
|
||||
id: AnomaliteRock
|
||||
coefficients:
|
||||
Blunt: 0.0
|
||||
Structural: 2.0
|
||||
|
||||
# Reagent
|
||||
- type: damageModifierSet
|
||||
id: AnomaliteLiquid
|
||||
coefficients:
|
||||
Poison: 0.0
|
||||
|
||||
# Bluespace
|
||||
- type: damageModifierSet
|
||||
id: AnomaliteBluespace
|
||||
coefficients:
|
||||
Cellular: 0.0
|
||||
Radiation: 0.0
|
||||
|
||||
# Electricity
|
||||
- type: damageModifierSet
|
||||
id: AnomaliteElectricity
|
||||
coefficients:
|
||||
Shock: 0.0
|
||||
|
||||
# Flora
|
||||
- type: damageModifierSet
|
||||
id: AnomaliteFlora
|
||||
coefficients:
|
||||
Piercing: 0.0
|
||||
|
||||
# Shadow
|
||||
- type: damageModifierSet
|
||||
id: AnomaliteShadow
|
||||
coefficients:
|
||||
Asphyxiation: 0.0
|
||||
Bloodloss: 0.0
|
||||
Holy: 2.0 # let there be light
|
||||
|
||||
# Tech
|
||||
- type: damageModifierSet
|
||||
id: AnomaliteTech
|
||||
coefficients:
|
||||
Radiation: 0.5
|
||||
Shock: 0.5
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
- type: nameIdentifierGroup
|
||||
id: AnomalitePyroclastic
|
||||
prefix: ANOM-PY
|
||||
minValue: 0
|
||||
maxValue: 999
|
||||
|
||||
- type: nameIdentifierGroup
|
||||
id: AnomaliteBluespace
|
||||
prefix: ANOM-BL
|
||||
minValue: 0
|
||||
maxValue: 999
|
||||
|
||||
- type: nameIdentifierGroup
|
||||
id: AnomaliteElectric
|
||||
prefix: ANOM-EL
|
||||
minValue: 0
|
||||
maxValue: 999
|
||||
|
||||
- type: nameIdentifierGroup
|
||||
id: AnomaliteFlesh
|
||||
prefix: ANOM-MT # mt for meat - to differentiate from fl for flora
|
||||
minValue: 0
|
||||
maxValue: 999
|
||||
|
||||
- type: nameIdentifierGroup
|
||||
id: AnomaliteFlora
|
||||
prefix: ANOM-FL
|
||||
minValue: 0
|
||||
maxValue: 999
|
||||
|
||||
- type: nameIdentifierGroup
|
||||
id: AnomaliteGravity
|
||||
prefix: ANOM-GR
|
||||
minValue: 0
|
||||
maxValue: 999
|
||||
|
||||
- type: nameIdentifierGroup
|
||||
id: AnomaliteIce
|
||||
prefix: ANOM-FR # fr for frost. i don't think IC would read well
|
||||
minValue: 0
|
||||
maxValue: 999
|
||||
|
||||
- type: nameIdentifierGroup
|
||||
id: AnomaliteReagent
|
||||
prefix: ANOM-LQ # lq for liquid
|
||||
minValue: 0
|
||||
maxValue: 999
|
||||
|
||||
- type: nameIdentifierGroup
|
||||
id: AnomaliteRock
|
||||
prefix: ANOM-RK
|
||||
minValue: 0
|
||||
maxValue: 999
|
||||
|
||||
- type: nameIdentifierGroup
|
||||
id: AnomaliteShadow
|
||||
prefix: ANOM-SH
|
||||
minValue: 0
|
||||
maxValue: 999
|
||||
|
||||
- type: nameIdentifierGroup
|
||||
id: AnomaliteTech
|
||||
prefix: ANOM-TK # tk for tech. tc, te, and th, don't read well
|
||||
minValue: 0
|
||||
maxValue: 999
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
- type: speechSounds
|
||||
id: Anomalite
|
||||
saySound:
|
||||
path: /Audio/_Impstation/Voice/Talk/Anomalite/anomalite.ogg
|
||||
askSound:
|
||||
path: /Audio/_Impstation/Voice/Talk/Anomalite/anomalite_ask.ogg
|
||||
exclaimSound:
|
||||
path: /Audio/_Impstation/Voice/Talk/Anomalite/anomalite_exclaim.ogg
|
||||
|
||||
- type: speechVerb
|
||||
id: Anomalite
|
||||
name: chat-speech-verb-name-anomalite
|
||||
speechVerbStrings:
|
||||
- chat-speech-verb-anomalite-1
|
||||
- chat-speech-verb-anomalite-2
|
||||
- chat-speech-verb-anomalite-3
|
||||
|
||||
- type: emoteSounds
|
||||
id: Anomalite
|
||||
params:
|
||||
variation: 0.125
|
||||
sounds:
|
||||
Scream:
|
||||
path: /Audio/_Impstation/Voice/Talk/Anomalite/anomalite_scream.ogg
|
||||
|
|
@ -0,0 +1,274 @@
|
|||
# Pyroclastic
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostAnomalitePyroclastic
|
||||
name: anomalite spawn point
|
||||
suffix: Pyroclastic
|
||||
categories: [ DoNotMap ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-fireanomalite-name
|
||||
description: ghost-role-information-anomalite-description
|
||||
rules: ghost-role-information-familiar-anomalite-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFamiliar
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobAnomalitePyroclastic
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: _Impstation/Mobs/Anomalites/anomalite.rsi
|
||||
state: anomalyfire
|
||||
|
||||
# Gravity
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostAnomaliteGravity
|
||||
name: anomalite spawn point
|
||||
suffix: Gravity
|
||||
categories: [ DoNotMap ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-gravanomalite-name
|
||||
description: ghost-role-information-anomalite-description
|
||||
rules: ghost-role-information-familiar-anomalite-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFamiliar
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobAnomaliteGravity
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: _Impstation/Mobs/Anomalites/anomalite.rsi
|
||||
state: anomalygravity
|
||||
|
||||
# Ice
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostAnomaliteIce
|
||||
name: anomalite spawn point
|
||||
suffix: Ice
|
||||
categories: [ DoNotMap ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-iceanomalite-name
|
||||
description: ghost-role-information-anomalite-description
|
||||
rules: ghost-role-information-familiar-anomalite-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFamiliar
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobAnomaliteIce
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: _Impstation/Mobs/Anomalites/anomalite.rsi
|
||||
state: anomalyice
|
||||
|
||||
# Flesh
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostAnomaliteFlesh
|
||||
name: anomalite spawn point
|
||||
suffix: Flesh
|
||||
categories: [ DoNotMap ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-fleshanomalite-name
|
||||
description: ghost-role-information-anomalite-description
|
||||
rules: ghost-role-information-familiar-anomalite-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFamiliar
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobAnomaliteFlesh
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: _Impstation/Mobs/Anomalites/anomalite.rsi
|
||||
state: anomalyflesh
|
||||
|
||||
# Rock
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostAnomaliteRock
|
||||
name: anomalite spawn point
|
||||
suffix: Rock
|
||||
categories: [ DoNotMap ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-rockanomalite-name
|
||||
description: ghost-role-information-anomalite-description
|
||||
rules: ghost-role-information-familiar-anomalite-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFamiliar
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobAnomaliteRock
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: _Impstation/Mobs/Anomalites/anomalite.rsi
|
||||
state: anomalyrock
|
||||
|
||||
# Reagent
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostAnomaliteLiquid
|
||||
name: anomalite spawn point
|
||||
suffix: Reagent
|
||||
categories: [ DoNotMap ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-reagentanomalite-name
|
||||
description: ghost-role-information-anomalite-description
|
||||
rules: ghost-role-information-familiar-anomalite-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFamiliar
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobAnomaliteLiquid
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: _Impstation/Mobs/Anomalites/anomalite.rsi
|
||||
state: anomalyreagent
|
||||
|
||||
# Bluespace
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostAnomaliteBluespace
|
||||
name: anomalite spawn point
|
||||
suffix: Bluespace
|
||||
categories: [ DoNotMap ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-bluespaceanomalite-name
|
||||
description: ghost-role-information-anomalite-description
|
||||
rules: ghost-role-information-familiar-anomalite-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFamiliar
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobAnomaliteBluespace
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: _Impstation/Mobs/Anomalites/anomalite.rsi
|
||||
state: anomalybluespace
|
||||
|
||||
# Electricity
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostAnomaliteElectricity
|
||||
name: anomalite spawn point
|
||||
suffix: Electric
|
||||
categories: [ DoNotMap ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-electricanomalite-name
|
||||
description: ghost-role-information-anomalite-description
|
||||
rules: ghost-role-information-familiar-anomalite-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFamiliar
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobAnomaliteElectricity
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: _Impstation/Mobs/Anomalites/anomalite.rsi
|
||||
state: anomalyelectric
|
||||
|
||||
# Flora
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostAnomaliteFlora
|
||||
name: anomalite spawn point
|
||||
suffix: Flora
|
||||
categories: [ DoNotMap ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-floralanomalite-name
|
||||
description: ghost-role-information-anomalite-description
|
||||
rules: ghost-role-information-familiar-anomalite-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFamiliar
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobAnomaliteFlora
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: _Impstation/Mobs/Anomalites/anomalite.rsi
|
||||
state: anomalyflower
|
||||
|
||||
# Shadow
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostAnomaliteShadow
|
||||
name: anomalite spawn point
|
||||
suffix: Shadow
|
||||
categories: [ DoNotMap ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-shadowanomalite-name
|
||||
description: ghost-role-information-anomalite-description
|
||||
rules: ghost-role-information-familiar-anomalite-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFamiliar
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobAnomaliteShadow
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: _Impstation/Mobs/Anomalites/anomalite.rsi
|
||||
state: anomalyshadow
|
||||
|
||||
# Shadow
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostAnomaliteTech
|
||||
name: anomalite spawn point
|
||||
suffix: Tech
|
||||
categories: [ DoNotMap ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-techanomalite-name
|
||||
description: ghost-role-information-anomalite-description
|
||||
rules: ghost-role-information-familiar-anomalite-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFamiliar
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobAnomaliteTech
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: _Impstation/Mobs/Anomalites/anomalite.rsi
|
||||
state: anomalytech
|
||||
|
|
@ -0,0 +1,702 @@
|
|||
- type: entity
|
||||
parent: BaseAnomalyInertCore
|
||||
id: AnomaliteCore
|
||||
name: anomalite core
|
||||
description: It's empty.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Structures/Specific/Anomalies/Cores/gravity_core.rsi
|
||||
|
||||
# Base Anomalite
|
||||
- type: entity
|
||||
parent: [ BaseMob, MobDamageable, MobPolymorphable, MobAtmosExposed, MobCombat, MobBloodstream, MobFlammable ]
|
||||
id: BaseAnomalite
|
||||
name: anomalite
|
||||
abstract: true
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: MindContainer
|
||||
showExamineInfo: true
|
||||
- type: Sprite
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
scale: 1, 1
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Blunt: 0 # this should be a custom type and value for each anomaly type.
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: NpcFactionMember
|
||||
factions:
|
||||
- SimpleNeutral
|
||||
- type: Body
|
||||
prototype: Animal
|
||||
- type: Climbing
|
||||
- type: NameIdentifier
|
||||
group: Anomalite
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: Tag
|
||||
tags:
|
||||
- VimPilot
|
||||
- DoorBumpOpener
|
||||
- AnomalyHost # this is potentially really funny. if not, or if it causes problems, we can remove it.
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.35
|
||||
density: 75
|
||||
restitution: 0.0
|
||||
mask:
|
||||
- CrateMask # this is so they can fly over tables and through plastic flaps
|
||||
layer:
|
||||
- MobLayer
|
||||
- type: Bloodstream
|
||||
bloodMaxVolume: 75
|
||||
bloodReagent: Entropy # DeltaV - Was Anomalium, not part of the initial Anomalite PR. Might port it eventually, but until then Entropy is our closest analogue.
|
||||
- type: InteractionPopup
|
||||
successChance: 0.1
|
||||
interactSuccessString: petting-success-anomalite
|
||||
interactFailureString: petting-success-anomalite
|
||||
interactSuccessSpawn: EffectHearts
|
||||
interactSuccessSound:
|
||||
path: /Audio/Animals/mouse_squeak.ogg # this should be unique per-type.
|
||||
interactFailureSound:
|
||||
path: /Audio/Effects/tesla_consume.ogg # this should be unique per-type.
|
||||
- type: StatusEffects
|
||||
allowed:
|
||||
- Stun
|
||||
- KnockedDown
|
||||
- SlowedDown
|
||||
- Stutter
|
||||
- Electrocution
|
||||
- ForcedSleep
|
||||
- TemporaryBlindness
|
||||
- Pacified
|
||||
- StaminaModifier
|
||||
- Flashed
|
||||
- RadiationProtection
|
||||
- Drowsiness
|
||||
- Adrenaline
|
||||
- type: Puller
|
||||
needsHands: false
|
||||
- type: ComplexInteraction
|
||||
- type: SSDIndicator
|
||||
- type: Speech
|
||||
speechVerb: Anomalite
|
||||
speechSounds: Anomalite
|
||||
allowedEmotes: [ 'Scream' ]
|
||||
- type: Vocal
|
||||
sounds:
|
||||
Male: Anomalite
|
||||
Female: Anomalite
|
||||
Unsexed: Anomalite
|
||||
- type: Emoting
|
||||
- type: BodyEmotes
|
||||
soundsId: GeneralBodyEmotes
|
||||
- type: MobState
|
||||
- type: MobThresholds
|
||||
thresholds:
|
||||
0: Alive
|
||||
100: Dead
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTypeTrigger
|
||||
damageType: Blunt
|
||||
damage: 200
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawn:
|
||||
AnomaliteCore:
|
||||
min: 1
|
||||
max: 1
|
||||
- trigger:
|
||||
!type:DamageTypeTrigger
|
||||
damageType: Heat
|
||||
damage: 1500
|
||||
behaviors:
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawnInContainer: true
|
||||
spawn:
|
||||
Ash:
|
||||
min: 1
|
||||
max: 1
|
||||
- !type:BurnBodyBehavior { }
|
||||
- !type:PlaySoundBehavior
|
||||
sound:
|
||||
collection: MeatLaserImpact
|
||||
- type: StandingState
|
||||
# Anomaly component. Some settings changed to make them not be fucked-up powerful. now they're only a little bit fucked-up powerful.
|
||||
- type: Anomaly
|
||||
cannotSupercrit: true
|
||||
cannotRandomPulse: true
|
||||
deleteEntity: false
|
||||
maxPointsPerSecond: 10
|
||||
corePrototype: AnomaliteCore
|
||||
healthChangePerSecond: 0.0
|
||||
decayhreshold: 9999.0
|
||||
growthThreshold: 9999.0
|
||||
# apid-type always weightless movement
|
||||
- type: MovementAlwaysTouching
|
||||
- type: MovementIgnoreGravity
|
||||
gravityState: true
|
||||
- type: Physics
|
||||
bodyStatus: InAir
|
||||
- type: CanMoveInAir
|
||||
- type: FloatingVisuals
|
||||
animationKey: anomalyfloat
|
||||
- type: AnimationPlayer
|
||||
- type: MovementSpeedModifier
|
||||
weightlessFriction: 1
|
||||
weightlessFrictionNoInput: 2 # so they can actually stop moving
|
||||
weightlessAcceleration: 1.5
|
||||
- type: NoSlip
|
||||
- type: Familiar # Provides information on core to the pinpointer
|
||||
- type: Inventory
|
||||
templateId: anomalite
|
||||
- type: InventorySlots
|
||||
- type: Loadout
|
||||
prototypes:
|
||||
- StartingGearAnomalitePinpointer
|
||||
- type: Strippable
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
enum.StrippingUiKey.Key:
|
||||
type: StrippableBoundUserInterface
|
||||
- type: Hands
|
||||
|
||||
# Anomalites:
|
||||
# Pyroclastic
|
||||
- type: entity
|
||||
parent: [ BaseAnomalite ]
|
||||
id: MobAnomalitePyroclastic
|
||||
suffix: Pyroclastic
|
||||
description: A flickering little sprite, born from the leftover energies of an anomaly core.
|
||||
components:
|
||||
- type: Icon
|
||||
sprite: _Impstation/Mobs/Anomalites/fire.rsi
|
||||
state: anom
|
||||
- type: Sprite
|
||||
sprite: _Impstation/Mobs/Anomalites/fire.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: anom
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: anom
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Heat: 5
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
damageModifierSet: AnomalitePyroclastic
|
||||
- type: Temperature
|
||||
heatDamageThreshold: 325
|
||||
coldDamageThreshold: 0
|
||||
currentTemperature: 310.15
|
||||
coldDamage:
|
||||
types:
|
||||
Cold: 0.1
|
||||
specificHeat: 42
|
||||
heatDamage:
|
||||
types:
|
||||
Heat: 0.0
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 1
|
||||
softness: 10
|
||||
color: "#E25822"
|
||||
- type: NameIdentifier
|
||||
group: AnomalitePyroclastic
|
||||
# Anomaly functionality
|
||||
- type: InnerBodyAnomaly
|
||||
injectionProto: AnomalyInjectionPyroclastic
|
||||
skipStun: true
|
||||
|
||||
# Gravity
|
||||
- type: entity
|
||||
parent: [ BaseAnomalite ]
|
||||
id: MobAnomaliteGravity
|
||||
suffix: Gravity
|
||||
description: A strange little sprite, born from the leftover energies of an anomaly core.
|
||||
components:
|
||||
- type: Icon
|
||||
sprite: _Impstation/Mobs/Anomalites/grav.rsi
|
||||
state: anom
|
||||
- type: Sprite
|
||||
sprite: _Impstation/Mobs/Anomalites/grav.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: anom
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: anom
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Blunt: 5
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
damageModifierSet: AnomaliteGravity
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 1
|
||||
softness: 10
|
||||
color: "#1e070e"
|
||||
- type: NameIdentifier
|
||||
group: AnomaliteGravity
|
||||
# Anomaly functionality
|
||||
- type: InnerBodyAnomaly
|
||||
injectionProto: AnomalyInjectionGravity
|
||||
skipStun: true
|
||||
|
||||
# Ice
|
||||
- type: entity
|
||||
parent: [ BaseAnomalite ]
|
||||
id: MobAnomaliteIce
|
||||
suffix: Ice
|
||||
description: A chilly little sprite, born from the leftover energies of an anomaly core.
|
||||
components:
|
||||
- type: Icon
|
||||
sprite: _Impstation/Mobs/Anomalites/ice.rsi
|
||||
state: anom
|
||||
- type: Sprite
|
||||
sprite: _Impstation/Mobs/Anomalites/ice.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: anom
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: anom
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Cold: 5
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
damageModifierSet: AnomaliteIce
|
||||
- type: Temperature
|
||||
heatDamageThreshold: 325
|
||||
coldDamageThreshold: 0
|
||||
currentTemperature: 310.15
|
||||
coldDamage:
|
||||
types:
|
||||
Cold: 0.0
|
||||
specificHeat: 42
|
||||
heatDamage:
|
||||
types:
|
||||
Heat: 1.5
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 1
|
||||
softness: 10
|
||||
color: "#befaff"
|
||||
- type: NameIdentifier
|
||||
group: AnomaliteIce
|
||||
# Anomaly functionality
|
||||
- type: InnerBodyAnomaly
|
||||
injectionProto: AnomalyInjectionIce
|
||||
skipStun: true
|
||||
|
||||
# Flesh
|
||||
- type: entity
|
||||
parent: [ BaseAnomalite ]
|
||||
id: MobAnomaliteFlesh
|
||||
suffix: Flesh
|
||||
description: A gristly little sprite, born from the leftover energies of an anomaly core.
|
||||
components:
|
||||
- type: Icon
|
||||
sprite: _Impstation/Mobs/Anomalites/flesh.rsi
|
||||
state: anom
|
||||
- type: Sprite
|
||||
sprite: _Impstation/Mobs/Anomalites/flesh.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: anom
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: anom
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Slash: 5
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
damageModifierSet: AnomaliteFlesh
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 1
|
||||
softness: 10
|
||||
color: "#cb5b7e"
|
||||
- type: NameIdentifier
|
||||
group: AnomaliteFlesh
|
||||
# Anomaly functionality
|
||||
- type: InnerBodyAnomaly
|
||||
injectionProto: AnomalyInjectionFlesh
|
||||
skipStun: true
|
||||
|
||||
# Rock
|
||||
- type: entity
|
||||
parent: [ BaseAnomalite ]
|
||||
id: MobAnomaliteRock
|
||||
suffix: Rock
|
||||
description: A sturdy little sprite, born from the leftover energies of an anomaly core.
|
||||
components:
|
||||
- type: Icon
|
||||
sprite: _Impstation/Mobs/Anomalites/rock.rsi
|
||||
state: anom
|
||||
- type: Sprite
|
||||
sprite: _Impstation/Mobs/Anomalites/rock.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: anom
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: anom
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Blunt: 5
|
||||
Structural: 15
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
damageModifierSet: AnomaliteRock
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 1
|
||||
softness: 10
|
||||
color: "#5ca8cb"
|
||||
- type: NameIdentifier
|
||||
group: AnomaliteRock
|
||||
# Anomaly functionality
|
||||
- type: InnerBodyAnomaly
|
||||
injectionProto: AnomalyInjectionRock
|
||||
skipStun: true
|
||||
|
||||
# Reagent
|
||||
- type: entity
|
||||
parent: [ BaseAnomalite ]
|
||||
id: MobAnomaliteLiquid
|
||||
suffix: Liquid
|
||||
description: A sopping little sprite, born from the leftover energies of an anomaly core.
|
||||
components:
|
||||
- type: Icon
|
||||
sprite: _Impstation/Mobs/Anomalites/reagent.rsi
|
||||
state: anom
|
||||
- type: Sprite
|
||||
sprite: _Impstation/Mobs/Anomalites/reagent.rsi
|
||||
layers:
|
||||
- state: anom
|
||||
map: [ "enum.AnomalyVisualLayers.Base", "enum.DamageStateVisualLayers.Base" ]
|
||||
- state: pulse
|
||||
map: [ "enum.AnomalyVisualLayers.Animated" ]
|
||||
visible: false
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: anom
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Poison: 1 # reduced cus they inject their solution into you
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
damageModifierSet: AnomaliteLiquid
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 1
|
||||
softness: 10
|
||||
color: "#ffffff"
|
||||
- type: NameIdentifier
|
||||
group: AnomaliteReagent
|
||||
# Anomaly functionality
|
||||
- type: InnerBodyAnomaly
|
||||
injectionProto: AnomalyInjectionLiquid
|
||||
skipStun: true
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
anomaly:
|
||||
maxVol: 1500
|
||||
- type: MeleeChemicalInjector
|
||||
solution: anomaly
|
||||
transferAmount: 6
|
||||
- type: RandomSprite
|
||||
selected:
|
||||
enum.AnomalyVisualLayers.Base:
|
||||
anom: "#ffffff"
|
||||
enum.AnomalyVisualLayers.Animated:
|
||||
pulse: "#ffffff"
|
||||
- type: SolutionScanner # i think it's fun for them to be able to scan their solutions
|
||||
|
||||
# Bluespace
|
||||
- type: entity
|
||||
parent: [ BaseAnomalite ]
|
||||
id: MobAnomaliteBluespace
|
||||
suffix: Bluespace
|
||||
description: A non-euclidean little sprite, born from the leftover energies of an anomaly core.
|
||||
components:
|
||||
- type: Icon
|
||||
sprite: _Impstation/Mobs/Anomalites/bluespace.rsi
|
||||
state: anom
|
||||
- type: Sprite
|
||||
sprite: _Impstation/Mobs/Anomalites/bluespace.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: anom
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: anom
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Cellular: 5 # there was a great big flash, everything just changed / his molecules got all rearranged
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
damageModifierSet: AnomaliteBluespace
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 1
|
||||
softness: 10
|
||||
color: "#00ccff"
|
||||
- type: NameIdentifier
|
||||
group: AnomaliteBluespace
|
||||
# Anomaly functionality
|
||||
- type: InnerBodyAnomaly
|
||||
injectionProto: AnomalyInjectionBluespace
|
||||
skipStun: true
|
||||
|
||||
# Electricity
|
||||
- type: entity
|
||||
parent: [ BaseAnomalite ]
|
||||
id: MobAnomaliteElectricity
|
||||
suffix: Electricity
|
||||
description: A shocking little sprite, born from the leftover energies of an anomaly core.
|
||||
components:
|
||||
- type: Icon
|
||||
sprite: _Impstation/Mobs/Anomalites/electric.rsi
|
||||
state: anom
|
||||
- type: Sprite
|
||||
sprite: _Impstation/Mobs/Anomalites/electric.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: anom
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: anom
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Shock: 5
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
damageModifierSet: AnomaliteElectricity
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 1
|
||||
softness: 10
|
||||
color: "#ffffaa"
|
||||
- type: NameIdentifier
|
||||
group: AnomaliteElectric
|
||||
# Anomaly functionality
|
||||
- type: InnerBodyAnomaly
|
||||
injectionProto: AnomalyInjectionElectric
|
||||
skipStun: true
|
||||
|
||||
# Flora
|
||||
- type: entity
|
||||
parent: [ BaseAnomalite ]
|
||||
id: MobAnomaliteFlora
|
||||
suffix: Flora
|
||||
description: A blossoming little sprite, born from the leftover energies of an anomaly core.
|
||||
components:
|
||||
- type: Icon
|
||||
sprite: _Impstation/Mobs/Anomalites/flower.rsi
|
||||
state: anom
|
||||
- type: Sprite
|
||||
sprite: _Impstation/Mobs/Anomalites/flower.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: anom
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: anom
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Piercing: 5 # thorns?
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
damageModifierSet: AnomaliteFlora
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 1
|
||||
softness: 10
|
||||
color: "#6270bb"
|
||||
- type: NameIdentifier
|
||||
group: AnomaliteFlora
|
||||
# Anomaly functionality
|
||||
- type: InnerBodyAnomaly
|
||||
injectionProto: AnomalyInjectionFlora
|
||||
skipStun: true
|
||||
|
||||
# Shadow
|
||||
- type: entity
|
||||
parent: [ BaseAnomalite ]
|
||||
id: MobAnomaliteShadow
|
||||
suffix: Shadow
|
||||
description: A dark little sprite, born from the leftover energies of an anomaly core.
|
||||
components:
|
||||
- type: Icon
|
||||
sprite: _Impstation/Mobs/Anomalites/shadow.rsi
|
||||
state: anom
|
||||
- type: Sprite
|
||||
sprite: _Impstation/Mobs/Anomalites/shadow.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: anom
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: anom
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Asphyxiation: 10 # suffocating darkness
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
damageModifierSet: AnomaliteShadow
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 1
|
||||
softness: 10
|
||||
color: "#793a80"
|
||||
- type: NameIdentifier
|
||||
group: AnomaliteShadow
|
||||
# Anomaly functionality
|
||||
- type: InnerBodyAnomaly
|
||||
injectionProto: AnomalyInjectionShadow
|
||||
skipStun: true
|
||||
- type: NightVision
|
||||
isActive: true
|
||||
toggleAction: null
|
||||
color: "#50595C"
|
||||
activateSound: null
|
||||
deactivateSound: null
|
||||
|
||||
# Tech
|
||||
- type: entity
|
||||
parent: [ BaseAnomalite ]
|
||||
id: MobAnomaliteTech
|
||||
suffix: Tech
|
||||
description: A cybernetic little sprite, born from the leftover energies of an anomaly core.
|
||||
components:
|
||||
- type: Icon
|
||||
sprite: _Impstation/Mobs/Anomalites/tech.rsi
|
||||
state: anom
|
||||
- type: Sprite
|
||||
sprite: _Impstation/Mobs/Anomalites/tech.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: anom
|
||||
noRot: true
|
||||
drawdepth: Mobs
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: anom
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Radiation: 5 # there's not really a relevant damage type for this
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
damageModifierSet: AnomaliteTech
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 1
|
||||
softness: 10
|
||||
color: "#56c1e8"
|
||||
- type: NameIdentifier
|
||||
group: AnomaliteTech
|
||||
# Anomaly functionality
|
||||
- type: InnerBodyAnomaly
|
||||
injectionProto: AnomalyInjectionTech
|
||||
skipStun: true
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
# Imp. This is only used for Anomalites
|
||||
- type: entity
|
||||
parent: AnomalyInjectionBase
|
||||
id: AnomalyInjectionLiquid
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: PointLight
|
||||
color: "#ffffff"
|
||||
- type: PuddleCreateAnomaly
|
||||
solution: anomaly
|
||||
- type: InjectionAnomaly
|
||||
solution: anomaly
|
||||
superCriticalInjectRadius: 10
|
||||
- type: ReagentProducerAnomaly
|
||||
solution: anomaly
|
||||
needRecolor: true
|
||||
dangerousChemicals:
|
||||
- UnstableMutagen
|
||||
- Mold
|
||||
- PolytrinicAcid
|
||||
- FerrochromicAcid
|
||||
- FluorosulfuricAcid
|
||||
- SulfuricAcid
|
||||
- HeartbreakerToxin
|
||||
- VentCrud
|
||||
- UncookedAnimalProteins
|
||||
- Thermite
|
||||
- Napalm
|
||||
- Phlogiston
|
||||
- ChlorineTrifluoride
|
||||
- FoamingAgent
|
||||
- BuzzochloricBees
|
||||
- RobustHarvest
|
||||
usefulChemicals:
|
||||
- Cryptobiolin
|
||||
- Dylovene
|
||||
- Arithrazine
|
||||
- Bicaridine
|
||||
- Cryoxadone
|
||||
- Dermaline
|
||||
- Dexalin
|
||||
- DexalinPlus
|
||||
- Epinephrine
|
||||
- Leporazine
|
||||
- Ambuzol
|
||||
- Tricordrazine
|
||||
- Artifexium
|
||||
- Ethylredoxrazine
|
||||
funChemicals:
|
||||
- Desoxyephedrine
|
||||
- Ephedrine
|
||||
- THC
|
||||
- SpaceDrugs
|
||||
- Nocturine
|
||||
- MuteToxin
|
||||
- NorepinephricAcid
|
||||
- Pax
|
||||
- Ipecac
|
||||
- Cognizine
|
||||
- Beer
|
||||
- SpaceGlue
|
||||
- SpaceLube
|
||||
- CogChamp
|
||||
- Honk
|
||||
- Carpetium
|
||||
- JuiceThatMakesYouWeh
|
||||
- type: Drink
|
||||
solution: anomaly
|
||||
- type: DrainableSolution
|
||||
solution: anomaly
|
||||
- type: DrawableSolution
|
||||
solution: anomaly
|
||||
- type: ExaminableSolution
|
||||
solution: anomaly
|
||||
- type: RefillableSolution
|
||||
solution: anomaly
|
||||
- type: InjectableSolution
|
||||
solution: beaker
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
- type: inventoryTemplate
|
||||
id: anomalite
|
||||
slots:
|
||||
- name: pocket1
|
||||
slotTexture: pocket
|
||||
fullTextureName: template_small
|
||||
slotFlags: POCKET
|
||||
slotGroup: MainHotbar
|
||||
stripTime: 3
|
||||
uiWindowPos: 0,3
|
||||
strippingWindowPos: 0,4
|
||||
dependsOn: jumpsuit
|
||||
displayName: Pocket 1
|
||||
stripHidden: true
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
- type: entity
|
||||
parent: PinpointerBase
|
||||
name: core pull
|
||||
description: You have an instinctual knowledge of the location of your core.
|
||||
suffix: Station, Unremoveable
|
||||
id: PinpointerAnomalite
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _DV/Objects/Devices/pinpointer.rsi # DeltaV - They were just using the impstation dragon pinpointer so I made them a custom one
|
||||
layers:
|
||||
- state: pinpointer-anomalite
|
||||
map: ["enum.PinpointerLayers.Base"]
|
||||
- state: pinonnull
|
||||
map: ["enum.PinpointerLayers.Screen"]
|
||||
shader: unshaded
|
||||
visible: false
|
||||
- type: Icon
|
||||
sprite: _DV/Objects/Devices/pinpointer.rsi # DeltaV - They were just using the impstation dragon pinpointer so I made them a custom one
|
||||
state: pinpointer-anomalite
|
||||
- type: Pinpointer
|
||||
targetName: your core
|
||||
activateImmediately: true
|
||||
- type: Unremoveable
|
||||
|
||||
- type: startingGear
|
||||
id: StartingGearAnomalitePinpointer
|
||||
equipment:
|
||||
pocket1: PinpointerAnomalite
|
||||
|
After Width: | Height: | Size: 196 B |
|
After Width: | Height: | Size: 198 B |
|
|
@ -0,0 +1,150 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/59f2a4e10e5ba36033c9734ddebfbbdc6157472d, pinpointer-anomalite by AeraAulin(Github)",
|
||||
"states": [
|
||||
{
|
||||
"name": "pinonalert",
|
||||
"directions": 8,
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
],
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
],
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
],
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
],
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
],
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
],
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
],
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pinonalertdirect",
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pinonalertnull",
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pinonclose",
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pinondirect",
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pinondirectlarge",
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pinondirectsmall",
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pinondirectxtrlarge",
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pinonfar",
|
||||
"delays": [
|
||||
[
|
||||
0.6,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pinonmedium",
|
||||
"delays": [
|
||||
[
|
||||
0.4,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pinonnull",
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pinpointer-anomalite"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 577 B |
|
After Width: | Height: | Size: 196 B |
|
After Width: | Height: | Size: 212 B |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 166 B |
|
After Width: | Height: | Size: 173 B |
|
After Width: | Height: | Size: 152 B |
|
After Width: | Height: | Size: 159 B |
|
After Width: | Height: | Size: 230 B |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 182 B |
|
After Width: | Height: | Size: 524 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 502 B |
|
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anomalybluespace",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "anomalyelectric",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "anomalyfire",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "anomalyflesh",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "anomalyflower",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "anomalygravity",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "anomalyice",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "anomalyreagent",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "anomalyrock",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "anomalyshadow",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "anomalytech",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "blank",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 462 B |
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anom",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pulse",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 384 B |
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anom",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pulse",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 417 B |
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anom",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pulse",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 490 B |
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anom",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pulse",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 501 B |
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anom",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pulse",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 603 B |
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anom",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pulse",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 574 B |
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anom",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pulse",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 578 B |
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anom",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pulse",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 676 B |
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anom",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pulse",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 621 B |
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anom",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pulse",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 549 B |
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by FaelinDraws",
|
||||
"states": [
|
||||
{
|
||||
"name": "anom",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pulse",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.4 KiB |