using Robust.Shared.Prototypes;
namespace Content.Shared._CP14.MagicSpellStorage;
///
/// A component that allows you to store spells in items
///
[RegisterComponent, Access(typeof(CP14SpellStorageSystem))]
public sealed partial class CP14SpellStorageComponent : Component
{
///
/// list of spell prototypes used for initialization.
///
[DataField]
public List Spells = new();
///
/// created after the initialization of spell entities.
///
[DataField]
public List SpellEntities = new();
///
/// allows you to use an caster's mana to create spells.
///
[DataField]
public bool CanUseCasterMana = true;
///
/// Maximum number of spells in storage.
///
[DataField]
public int MaxSpellsCount = 1;
///
/// allows you to getting spells from another storage.
///
[DataField]
public bool AllowSpellsGetting = false;
///
/// allows you to transfer spells to another storage. It won't work if AllowSpellsGetting is True.
///
[DataField]
public bool AllowSpellsTransfering = false;
///
/// It work if AllowSpellsTransfering is True. Delete storage entity after interact.
///
[DataField]
public bool DeleteStorageAfterInteract = false;
}