using System; using Robust.Shared.Analyzers; using Robust.Shared.GameObjects; using Content.Shared.Damage; using Content.Shared.Damage.Prototypes; using Robust.Shared.Serialization.Manager.Attributes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; using Robust.Shared.ViewVariables; namespace Content.Server.Bible.Components { [RegisterComponent] public sealed class BibleComponent : Component { // Damage that will be healed on a success [DataField("damage", required: true)] [ViewVariables(VVAccess.ReadWrite)] public DamageSpecifier Damage = default!; // Damage that will be dealt on a failure [DataField("damageOnFail", required: true)] [ViewVariables(VVAccess.ReadWrite)] public DamageSpecifier DamageOnFail = default!; // Damage that will be dealt when a non-chaplain attempts to heal [DataField("damageOnUntrainedUse", required: true)] [ViewVariables(VVAccess.ReadWrite)] public DamageSpecifier DamageOnUntrainedUse = default!; //Chance the bible will fail to heal someone with no helmet [DataField("failChance", required:true)] [ViewVariables(VVAccess.ReadWrite)] public float FailChance = 0.34f; public TimeSpan LastAttackTime; public TimeSpan CooldownEnd; public float CooldownTime { get; } = 5f; } }