using Content.Shared.DoAfter; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; namespace Content.Shared._CP14.MagicRitual; /// /// Called out a ritual when any of its phase triggers are activated /// public sealed class CP14RitualTriggerEvent : EntityEventArgs { public EntProtoId NextPhase; public CP14RitualTriggerEvent(EntProtoId phase) { NextPhase = phase; } } /// /// Called out at a ritual when his stability is altered /// public sealed class CP14RitualStabilityChangedEvent : EntityEventArgs { public float OldStability; public float NewStability; public CP14RitualStabilityChangedEvent(float oldS, float newS) { OldStability = oldS; NewStability = newS; } } /// /// Called on both the ritual and the phase when they link together /// public sealed class CP14RitualPhaseBoundEvent : EntityEventArgs { public EntityUid Ritual; public EntityUid Phase; public CP14RitualPhaseBoundEvent(EntityUid r, EntityUid p) { Ritual = r; Phase = p; } } /// /// Invoked at the ritual holder entity when the ritual is complete and the phase entities have been removed /// public sealed class CP14RitualEndEvent : EntityEventArgs { public EntityUid Ritual; public CP14RitualEndEvent(EntityUid r) { Ritual = r; } } /// /// Invoked at the ritual holder entity when the ritual begins, and invokes the starting phase /// public sealed class CP14RitualStartEvent : EntityEventArgs { public EntityUid Ritual; public CP14RitualStartEvent(EntityUid r) { Ritual = r; } } [Serializable, NetSerializable] public sealed partial class CP14ActivateRitualDoAfter : SimpleDoAfterEvent { } [Serializable, NetSerializable] public enum RitualVisuals { Color, Enabled, }