using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Pf2eModel.Model.Base; using Pf2eModel.Model.Common.I18n; using Pf2eModel.Model.Enum; using Pf2eModel.Model.Structure.SpellRelation; namespace Pf2eModel.Model.Structure; [EntityOfType(EntityType.Spell)] public class Spell : IEntity { [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] [Column(Order = 1)] public int Id { get; set; } public Entity Entity { get; set; } = null!; [Column(Order = 2)] public int Level { get; set; } [Column(Order = 3)] public ActionEnum Actions { get; set; } = ActionEnum.Other; [Column(Order = 4)] public bool IsFocus { get; set; } // --- [Column(Order = 4)] public bool Counteraction { get; set; } [Column(Order = 5)] public bool Sustained { get; set; } [Column(Order = 6)] [MaxLength(255)] public string Duration { get; set; } = null!; [Column(Order = 7)] [MaxLength(255)] public string Range { get; set; } = null!; [Column(Order = 8)] [MaxLength(255)] public string Requirements { get; set; } = null!; [Column(Order = 9)] [MaxLength(255)] public string Target { get; set; } = null!; [Column(Order = 10)] [MaxLength(255)] public string Time { get; set; } = null!; [Column(Order = 11)] public bool CanHeightening { get; set; } // --- public virtual ICollection SpellAreas { get; set; } = []; public virtual SpellRitual? SpellRitual { get; set; } public virtual ICollection SpellDamages { get; set; } = new List(); public virtual ICollection SpellDefenses { get; set; } = new List(); }