64 lines
1.9 KiB
C#
64 lines
1.9 KiB
C#
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;
|
|
|
|
/// <summary>
|
|
/// Способность.
|
|
/// </summary>
|
|
[EntityOfType(EntityType.Feat)]
|
|
public class Feat : IEntity
|
|
{
|
|
/// <inheritdoc/>
|
|
[Key]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
|
[Column(Order = 1)]
|
|
[Comment("Идентификатор")]
|
|
public int Id { get; set; }
|
|
|
|
/// <inheritdoc/>
|
|
public Entity Entity { get; set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Категория способности.
|
|
/// </summary>
|
|
[Column(Order = 3)]
|
|
[Comment("Категория способности")]
|
|
public FeatCategory Category { get; set; }
|
|
|
|
/// <summary>
|
|
/// Уровень способности.
|
|
/// </summary>
|
|
[Column(Order = 4)]
|
|
[Comment("Уровень способности")]
|
|
public int Level { get; set; }
|
|
|
|
/// <summary>
|
|
/// Количество действий, необходимых для применения фита.
|
|
/// </summary>
|
|
[Column(Order = 5)]
|
|
[Comment("Количество действий")]
|
|
public ActionEnum Actions { get; set; } = ActionEnum.Other;
|
|
|
|
/// <summary>
|
|
/// Дополнительная информация.
|
|
/// </summary>
|
|
[Column(Order = 6)]
|
|
[Comment("Дополнительная информация")]
|
|
public string? Extra { get; set; }
|
|
|
|
/// <summary>
|
|
/// Архетипы, которые могут использовать эту способность.
|
|
/// </summary>
|
|
public ICollection<Archetype> Archetypes { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Требования к получению способности.
|
|
/// </summary>
|
|
public ICollection<FeatPrerequisite> FeatPrerequisites { get; set; } = [];
|
|
}
|