73 lines
2.1 KiB
C#
73 lines
2.1 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; }
|
|
|
|
[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;
|
|
|
|
/// <summary>
|
|
/// Дополнительная информация.
|
|
/// </summary>
|
|
[Column(Order = 10)]
|
|
[Comment("Дополнительная информация")]
|
|
public string? Extra { get; set; }
|
|
|
|
/// <summary>
|
|
/// Архетипы, которые могут использовать эту способность.
|
|
/// </summary>
|
|
public ICollection<Archetype> Archetypes { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Требования к получению способности.
|
|
/// </summary>
|
|
public ICollection<FeatPrerequisite> FeatPrerequisites { get; set; } = [];
|
|
}
|