135 lines
4.1 KiB
C#
135 lines
4.1 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Pf2eModel.Model.Base;
|
|
using Pf2eModel.Model.Common;
|
|
using Pf2eModel.Model.Common.I18n;
|
|
using Pf2eModel.Model.Enum;
|
|
using Pf2eModel.Model.Structure.DeityRelation;
|
|
|
|
namespace Pf2eModel.Model.Structure;
|
|
|
|
/// <summary>
|
|
/// Божество.
|
|
/// </summary>
|
|
[EntityOfType(EntityType.Deity)]
|
|
public class Deity : 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 = 2)]
|
|
[Comment("Тип божества")]
|
|
public DeityType Type { get; set; }
|
|
|
|
/// <summary>
|
|
/// Категория божества.
|
|
/// </summary>
|
|
[Column(Order = 3)]
|
|
[Comment("Категория божества")]
|
|
public string Category { get; set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Тип божественный силы.
|
|
/// </summary>
|
|
[Column(Order = 4)]
|
|
[Comment("Тип божественной силы")]
|
|
public DeityFonts Fonts { get; set; }
|
|
|
|
/// <summary>
|
|
/// Тип освящения.
|
|
/// </summary>
|
|
[Column(Order = 5)]
|
|
[Comment("Тип освящения")]
|
|
public DeitySanctification Sanctification { get; set; }
|
|
|
|
/// <summary>
|
|
/// Обязательное освящение.
|
|
/// </summary>
|
|
[Column(Order = 6)]
|
|
[Comment("Обязательное освящение")]
|
|
public bool SanctificationMust { get; set; }
|
|
|
|
/// <summary>
|
|
/// Заветы божества.
|
|
/// </summary>
|
|
[Column(Order = 7)]
|
|
[Comment("Заветы божества")]
|
|
public LocaleString Edicts { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Анафемы божества.
|
|
/// </summary>
|
|
[Column(Order = 8)]
|
|
[Comment("Анафемы божества")]
|
|
public LocaleString Anathema { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Религиозный символ божества.
|
|
/// </summary>
|
|
[Column(Order = 9)]
|
|
[Comment("Религиозный символ божества")]
|
|
public LocaleString ReligiousSymbol { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Священное животное божества.
|
|
/// </summary>
|
|
[Column(Order = 10)]
|
|
[Comment("Священное животное божества")]
|
|
public LocaleString SacredAnimal { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Область покровительства божества.
|
|
/// </summary>
|
|
[Column(Order = 11)]
|
|
[Comment("Область покровительства божества")]
|
|
public LocaleString AreaOfConcern { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Атрибуты божества.
|
|
/// </summary>
|
|
public ICollection<DeityAttribute> DeityAttributes { get; set; } = new List<DeityAttribute>();
|
|
|
|
/// <summary>
|
|
/// Домены божества.
|
|
/// </summary>
|
|
public ICollection<DeityDomain> DeityDomains { get; set; } = new List<DeityDomain>();
|
|
|
|
/// <summary>
|
|
/// Заклинания божества.
|
|
/// </summary>
|
|
public ICollection<DeitySpell> DeitySpells { get; set; } = new List<DeitySpell>();
|
|
|
|
/// <summary>
|
|
/// Оружия божества.
|
|
/// </summary>
|
|
public ICollection<DeityWeapon> DeityWeapons { get; set; } = new List<DeityWeapon>();
|
|
|
|
/// <summary>
|
|
/// Категория божества (связь).
|
|
/// </summary>
|
|
public DeityCategory? CategoryEntity { get; set; }
|
|
|
|
/// <summary>
|
|
/// Идентификатор категории божества.
|
|
/// </summary>
|
|
[Column(Order = 12)]
|
|
[Comment("Идентификатор категории божества")]
|
|
public int? CategoryId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Навыки божества.
|
|
/// </summary>
|
|
public ICollection<Training> Skills { get; set; } = new List<Training>();
|
|
}
|