Ритуалы!
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
using NpgsqlTypes;
|
||||
|
||||
namespace Pf2eModel.Model.Enum;
|
||||
|
||||
public enum ElementEnum
|
||||
{
|
||||
[PgName("universal")]
|
||||
Universal,
|
||||
|
||||
[PgName("air")]
|
||||
Air,
|
||||
|
||||
[PgName("water")]
|
||||
Water,
|
||||
|
||||
[PgName("earth")]
|
||||
Earth,
|
||||
|
||||
[PgName("fire")]
|
||||
Fire,
|
||||
|
||||
[PgName("wood")]
|
||||
Wood,
|
||||
|
||||
[PgName("metal")]
|
||||
Metal,
|
||||
}
|
||||
@@ -52,6 +52,9 @@ public enum EntityType
|
||||
[PgName("spell")]
|
||||
Spell,
|
||||
|
||||
[PgName("ritual")]
|
||||
Ritual,
|
||||
|
||||
[PgName("language")]
|
||||
Language,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
using NpgsqlTypes;
|
||||
|
||||
namespace Pf2eModel.Model.Enum;
|
||||
|
||||
public enum TrainingRank
|
||||
{
|
||||
[PgName("untrained")]
|
||||
Untrained,
|
||||
|
||||
[PgName("trained")]
|
||||
Trained,
|
||||
|
||||
[PgName("expert")]
|
||||
Expert,
|
||||
|
||||
[PgName("master")]
|
||||
Master,
|
||||
|
||||
[PgName("legendary")]
|
||||
Legendary,
|
||||
|
||||
[PgName("mythic")]
|
||||
Mythic,
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
namespace Pf2eModel.Model.Enum;
|
||||
|
||||
public enum TrainingStage
|
||||
{
|
||||
Untrained = 0,
|
||||
|
||||
Trained = 1,
|
||||
|
||||
Expert = 2,
|
||||
|
||||
Master = 3,
|
||||
|
||||
Legendary = 4,
|
||||
}
|
||||
@@ -20,7 +20,7 @@ public class BackgroundTraining
|
||||
public int TrainingId { get; set; }
|
||||
|
||||
[Column(Order = 4)]
|
||||
public TrainingStage Level { get; set; }
|
||||
public TrainingRank Rank { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public Background Background { get; set; } = null!;
|
||||
|
||||
@@ -20,7 +20,7 @@ public class ClassTraining
|
||||
public int? TrainingId { get; set; }
|
||||
|
||||
[Column(Order = 4)]
|
||||
public TrainingStage Stage { get; set; }
|
||||
public TrainingRank Rank { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public Class Class { get; set; } = null!;
|
||||
|
||||
@@ -19,7 +19,7 @@ public class SubclassTrainings
|
||||
public int TrainingId { get; set; }
|
||||
|
||||
[Column(Order = 4)]
|
||||
public TrainingStage Stage { get; set; } = TrainingStage.Trained;
|
||||
public TrainingRank Rank { get; set; } = TrainingRank.Trained;
|
||||
|
||||
public Subclass Subclass { get; set; } = null!;
|
||||
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Pf2eModel.Model.Base;
|
||||
using Pf2eModel.Model.Common.I18n;
|
||||
using Pf2eModel.Model.Enum;
|
||||
using Pf2eModel.Model.Structure.RitualRelation;
|
||||
|
||||
namespace Pf2eModel.Model.Structure;
|
||||
|
||||
[EntityOfType(EntityType.Ritual)]
|
||||
public class Ritual : 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)]
|
||||
[Comment("Продолжительность ритуала в секундах")]
|
||||
public int CastTime { get; set; }
|
||||
|
||||
[Column(Order = 4)]
|
||||
[Comment("Время действия эффекта ритуала в секундах")]
|
||||
public int Duration { get; set; }
|
||||
|
||||
[Column(Order = 5)]
|
||||
public ElementEnum[] Elements { get; set; } = [];
|
||||
|
||||
[Column(Order = 6)]
|
||||
public int Range { get; set; }
|
||||
|
||||
[Column(Order = 7)]
|
||||
public TrainingRank PrimaryCheckRank { get; set; } = TrainingRank.Trained;
|
||||
|
||||
[Column(Order = 8)]
|
||||
public LocaleString? PrimaryCheckSuffix { get; set; } = null;
|
||||
|
||||
[Column(Order = 9)]
|
||||
public int SecondaryCasters { get; set; } = 0;
|
||||
|
||||
[Column(Order = 10)]
|
||||
public int SecondaryCastersMax { get; set; } = 0;
|
||||
|
||||
[Column(Order = 11)]
|
||||
public LocaleString? SecondaryCastersSuffix { get; set; } = null;
|
||||
|
||||
[Column(Order = 12)]
|
||||
public LocaleString? RangeString { get; set; } = null;
|
||||
|
||||
[Column(Order = 13)]
|
||||
public LocaleString? Target { get; set; } = null;
|
||||
|
||||
[Column(Order = 14)]
|
||||
public LocaleString? Cost { get; set; } = null;
|
||||
|
||||
[Column(Order = 15)]
|
||||
public LocaleString? Requirement { get; set; } = null;
|
||||
|
||||
public virtual RitualArea? Area { get; set; } = null;
|
||||
|
||||
public virtual ICollection<RitualCheck> Checks { get; set; } = [];
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Pf2eModel.Model.Common.I18n;
|
||||
using Pf2eModel.Model.Enum;
|
||||
|
||||
namespace Pf2eModel.Model.Structure.RitualRelation;
|
||||
|
||||
public class RitualArea
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
[Column(Order = 1)]
|
||||
public int RitualId { get; set; }
|
||||
|
||||
[Column(Order = 2)]
|
||||
[MaxLength(255)]
|
||||
public LocaleString? Details { get; set; }
|
||||
|
||||
[Column(Order = 3)]
|
||||
public SpellAreaType Type { get; set; }
|
||||
|
||||
public virtual Ritual Ritual { get; set; } = null!;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Pf2eModel.Model.Common;
|
||||
using Pf2eModel.Model.Common.I18n;
|
||||
using Pf2eModel.Model.Enum;
|
||||
|
||||
namespace Pf2eModel.Model.Structure.RitualRelation;
|
||||
|
||||
public class RitualCheck
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column(Order = 1)]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Column(Order = 2)]
|
||||
public int RitualId { get; set; }
|
||||
|
||||
public Ritual Ritual { get; set; } = null!;
|
||||
|
||||
[Column(Order = 3)]
|
||||
public int? TrainingId { get; set; }
|
||||
|
||||
public Training? Training { get; set; } = null!;
|
||||
|
||||
[Column(Order = 4)]
|
||||
public LocaleString? TrainingString { get; set; } = null;
|
||||
|
||||
[Column(Order = 5)]
|
||||
public TrainingRank Rank { get; set; }
|
||||
|
||||
[Column(Order = 6)]
|
||||
public bool IsSecondary { get; set; }
|
||||
}
|
||||
@@ -21,27 +21,36 @@ public class Spell : IEntity
|
||||
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 = 4)]
|
||||
public ActionEnum Actions { get; set; } = ActionEnum.Other;
|
||||
|
||||
[Column(Order = 5)]
|
||||
[MaxLength(255)]
|
||||
public int? Duration { get; set; } = null;
|
||||
|
||||
[Column(Order = 6)]
|
||||
public int Range { get; set; }
|
||||
|
||||
[Column(Order = 7)]
|
||||
public LocaleString? Trigger { get; set; } = null;
|
||||
public SpellTradition[] Traditions { get; set; } = [];
|
||||
|
||||
[Column(Order = 8)]
|
||||
public ElementEnum[] Elements { get; set; } = [];
|
||||
|
||||
[Column(Order = 9)]
|
||||
public LocaleString? Trigger { get; set; } = null;
|
||||
|
||||
[Column(Order = 10)]
|
||||
public LocaleString? Target { get; set; } = null;
|
||||
|
||||
[Column(Order = 11)]
|
||||
public LocaleString? Cost { get; set; } = null;
|
||||
|
||||
[Column(Order = 12)]
|
||||
public LocaleString? Requirement { get; set; } = null;
|
||||
|
||||
/*
|
||||
[Column(Order = 4)]
|
||||
public bool Counteraction { get; set; }
|
||||
@@ -71,7 +80,5 @@ public class Spell : IEntity
|
||||
|
||||
public virtual ICollection<SpellArea> SpellAreas { get; set; } = [];
|
||||
|
||||
public virtual SpellRitual? SpellRitual { get; set; }
|
||||
|
||||
public virtual ICollection<SpellDefense> SpellDefenses { get; set; } = new List<SpellDefense>();
|
||||
}
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Pf2eModel.Model.Structure.SpellRelation;
|
||||
|
||||
public class SpellRitual
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
[Column(Order = 1)]
|
||||
public int SpellId { get; set; }
|
||||
|
||||
[Column(Order = 2)]
|
||||
[MaxLength(255)]
|
||||
public string PrimaryCheck { get; set; } = null!;
|
||||
|
||||
[Column(Order = 3)]
|
||||
public int SecondaryCasters { get; set; }
|
||||
|
||||
[Column(Order = 4)]
|
||||
[MaxLength(255)]
|
||||
public string SecondaryChecks { get; set; } = null!;
|
||||
|
||||
public virtual Spell Spell { get; set; } = null!;
|
||||
}
|
||||
Reference in New Issue
Block a user