using Content.Shared._CP14.MagicRitual.Actions; using Content.Shared._CP14.MagicRitual.Requirements; using Content.Shared._CP14.MagicRitualTrigger; using Robust.Shared.Prototypes; namespace Content.Shared._CP14.MagicRitual; /// /// Magical entity that reacts to world events /// [RegisterComponent, Access(typeof(CP14SharedRitualSystem))] public sealed partial class CP14MagicRitualPhaseComponent : Component { /// /// A link to the ritual itself in which this phase is found /// [DataField] public Entity? Ritual; [DataField] public Color PhaseColor = Color.White; [DataField] public List Edges = new(); /// /// by moving to this node, the ritual will end instantly. /// [DataField] public bool DeadEnd = false; } [DataRecord] public partial record struct RitualPhaseEdge() { public EntProtoId Target { get; set; } public List Triggers { get; set; } = new(); public List Requirements { get; set; } = new(); public List Actions { get; set; } = new(); }