using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Microsoft.EntityFrameworkCore; using Pf2eModel.Model.Base; using Pf2eModel.Model.Enum; using Pf2eModel.Model.Structure.FeatRelation; namespace Pf2eModel.Model.Structure; /// /// Способность. /// [EntityOfType(EntityType.Feat)] public class Feat : IEntity { /// [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] [Column(Order = 1)] [Comment("Идентификатор")] public int Id { get; set; } /// public Entity Entity { get; set; } = null!; /// /// Категория способности. /// [Column(Order = 3)] [Comment("Категория способности")] public FeatCategory Category { get; set; } /// /// Уровень способности. /// [Column(Order = 4)] [Comment("Уровень способности")] public int Level { get; set; } [Column(Order = 5)] [Comment("Количество действий")] public int? Actions { get; set; } = null; [Column(Order = 6)] public int? MaxActions { get; set; } = null; [Column(Order = 7)] public bool IsReaction { get; set; } = false; [Column(Order = 8)] public bool IsFreeAction { get; set; } = false; [Column(Order = 9)] public bool IsPassive { get; set; } = false; /// /// Дополнительная информация. /// [Column(Order = 10)] [Comment("Дополнительная информация")] public string? Extra { get; set; } /// /// Архетипы, которые могут использовать эту способность. /// public ICollection Archetypes { get; set; } = []; /// /// Требования к получению способности. /// public ICollection FeatPrerequisites { get; set; } = []; }