using Terraria.ModLoader;
using Terraria;

namespace Decimation.Lib.Buffs
{
    internal abstract class DecimationBuff : ModBuff
    {
        protected bool save = false;
        protected bool displayTime = true;
        protected bool clearable = true;

        protected new abstract string DisplayName { get; }
        protected new abstract string Description { get; }
        public virtual bool Debuff { get; } = false;

        protected abstract void Init();

        public sealed override void SetDefaults()
        {
            base.DisplayName.SetDefault(DisplayName);
            base.Description.SetDefault(Description);

            Main.debuff[Type] = Debuff;
            Main.buffNoSave[Type] = !save;
            Main.buffNoTimeDisplay[Type] = !displayTime;
            canBeCleared = clearable;
        }
    }
}
