using Content.Shared._CP14.Religion.Prototypes; using Content.Shared._CP14.Religion.Systems; using Content.Shared.FixedPoint; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared._CP14.Religion.Components; /// /// Determines whether the entity is a follower of God, or may never be able to become one /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(CP14SharedReligionGodSystem))] public sealed partial class CP14ReligionFollowerComponent : Component { [DataField, AutoNetworkedField] public ProtoId? Religion; [DataField, AutoNetworkedField] public HashSet> RejectedReligions = new(); [DataField] public EntProtoId RenounceActionProto = "CP14ActionRenounceFromGod"; [DataField] public EntProtoId AppealToGofProto = "CP14ActionAppealToGod"; [DataField] public EntityUid? RenounceAction; [DataField] public EntityUid? AppealAction; /// /// how much energy does the entity transfer to its god /// [DataField] public FixedPoint2 EnergyToGodTransfer = 0.5f; /// /// how often will the entity transfer mana to its patreon /// [DataField] public float ManaTransferDelay = 3f; /// /// the time of the next magic energy change /// [DataField] public TimeSpan NextUpdateTime { get; set; } = TimeSpan.Zero; }