Ice anomaly spawns ice underneath it (#21227)

* added TileAnomalySystem to AnomalyIce

* added FloorIce for station

* created ice crust entity to spawn under ice anomaly

* update draw depth for ice crust

* uh oh, added ice-sliding but at what cost

* resolved mispredicts

* updated sprite alpha, removed appearance component (not used)

* fixed function not reflecting event name, left datafield attributes blank, added one comment about saving data (?)

---------

Co-authored-by: Yurii Kis <yurii.kis@smartteksas.com>
This commit is contained in:
KISS
2023-11-06 04:41:42 +02:00
committed by GitHub
parent b1f39ad2ad
commit 4cacb7b9e3
10 changed files with 261 additions and 16 deletions

View File

@@ -1,7 +1,4 @@
using Content.Shared.Maps;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
namespace Content.Shared.Anomaly.Effects.Components;
@@ -36,8 +33,21 @@ public sealed partial class EntitySpawnAnomalyComponent : Component
public float SpawnRange = 5f;
/// <summary>
/// The tile that is spawned by the anomaly's effect
/// Whether or not anomaly spawns entities on Pulse
/// </summary>
[DataField("floorTileId", customTypeSerializer: typeof(PrototypeIdSerializer<ContentTileDefinition>)), ViewVariables(VVAccess.ReadWrite)]
public string FloorTileId = "FloorFlesh";
[DataField, ViewVariables(VVAccess.ReadWrite)]
public bool SpawnOnPulse = true;
/// <summary>
/// Whether or not anomaly spawns entities on SuperCritical
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public bool SpawnOnSuperCritical = true;
/// <summary>
/// Whether or not anomaly spawns entities on StabilityChanged
/// The idea was to spawn entities either on Pulse/Supercritical OR StabilityChanged
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public bool SpawnOnStabilityChanged = false;
}