78 lines
1.9 KiB
C#
78 lines
1.9 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)]
|
|
[MaxLength(255)]
|
|
public int? Duration { get; set; } = null;
|
|
|
|
[Column(Order = 5)]
|
|
public bool IsFocus { get; set; }
|
|
|
|
[Column(Order = 6)]
|
|
public SpellTradition[] Traditions { get; set; } = [];
|
|
|
|
[Column(Order = 6)]
|
|
public int Range { get; set; }
|
|
|
|
[Column(Order = 7)]
|
|
public LocaleString? Trigger { get; set; } = null;
|
|
|
|
[Column(Order = 8)]
|
|
public LocaleString? Target { get; set; } = null;
|
|
|
|
/*
|
|
[Column(Order = 4)]
|
|
public bool Counteraction { get; set; }
|
|
|
|
[Column(Order = 5)]
|
|
public bool Sustained { get; set; }
|
|
|
|
[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<SpellDefense> SpellDefenses { get; set; } = new List<SpellDefense>();
|
|
}
|