Files
Pf2eDataScrapper/Pf2eModel/Model/Structure/Spell.cs
T

70 lines
1.7 KiB
C#

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<SpellArea> SpellAreas { get; set; } = [];
public virtual SpellRitual? SpellRitual { get; set; }
public virtual ICollection<SpellDamage> SpellDamages { get; set; } = new List<SpellDamage>();
public virtual ICollection<SpellDefense> SpellDefenses { get; set; } = new List<SpellDefense>();
}