mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-10-29 06:26:02 +00:00
Refonte filtre de sorts
This commit is contained in:
parent
64eeee346d
commit
027c7b5677
695 changed files with 4316 additions and 2767 deletions
|
|
@ -11,6 +11,8 @@ namespace AideDeJeuLib
|
|||
|
||||
public class FilteredItems : Items
|
||||
{
|
||||
public string Family { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[YamlMember]
|
||||
public List<Item> SubItems
|
||||
|
|
|
|||
|
|
@ -202,11 +202,11 @@ namespace AideDeJeuLib
|
|||
{ "MonstersHD", typeof(MonstersHD) },
|
||||
{ "MonstersVO", typeof(MonstersVO) },
|
||||
{ "Spell", typeof(Spell) },
|
||||
{ "SpellHD", typeof(SpellHD) },
|
||||
{ "SpellVO", typeof(SpellVO) },
|
||||
//{ "SpellHD", typeof(SpellHD) },
|
||||
//{ "SpellVO", typeof(SpellVO) },
|
||||
{ "Spells", typeof(Spells) },
|
||||
{ "SpellsHD", typeof(SpellsHD) },
|
||||
{ "SpellsVO", typeof(SpellsVO) },
|
||||
//{ "SpellsHD", typeof(SpellsHD) },
|
||||
//{ "SpellsVO", typeof(SpellsVO) },
|
||||
{ "Equipment", typeof(Equipment) },
|
||||
{ "Equipments", typeof(Equipments) },
|
||||
{ "LinkItem", typeof(LinkItem) },
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ namespace AideDeJeuLib
|
|||
{
|
||||
public class Spell : Item
|
||||
{
|
||||
public string Family { get; set; }
|
||||
public string Level { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string Concentration { get; set; }
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ using System.Xml.Serialization;
|
|||
|
||||
namespace AideDeJeuLib
|
||||
{
|
||||
public class SpellHD : Spell
|
||||
{
|
||||
}
|
||||
//public class SpellHD : Spell
|
||||
//{
|
||||
//}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ using System.Xml.Serialization;
|
|||
|
||||
namespace AideDeJeuLib
|
||||
{
|
||||
public class SpellVO : Spell
|
||||
{
|
||||
}
|
||||
//public class SpellVO : Spell
|
||||
//{
|
||||
//}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,37 @@
|
|||
using System;
|
||||
using AideDeJeu.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using YamlDotNet.Serialization;
|
||||
using System.Linq;
|
||||
|
||||
namespace AideDeJeuLib
|
||||
{
|
||||
public class Spells : FilteredItems
|
||||
{
|
||||
public string Classes { get; set; }
|
||||
public string Levels { get; set; }
|
||||
public string Schools { get; set; }
|
||||
public string Rituals { get; set; }
|
||||
public string Sources { get; set; }
|
||||
|
||||
public List<KeyValuePair<string, string>> Split(string collapsed)
|
||||
{
|
||||
if (collapsed == null) return new List<KeyValuePair<string, string>>();
|
||||
var split = collapsed.Split(new string[] { ", " }, StringSplitOptions.None).Select(s => new KeyValuePair<string, string>(s, s)).ToList();
|
||||
split.Insert(0, new KeyValuePair<string, string>("", "-"));
|
||||
return split;
|
||||
}
|
||||
public override FilterViewModel GetNewFilterViewModel()
|
||||
{
|
||||
return new SpellFilterViewModel(Family,
|
||||
Split(Classes),
|
||||
Split(Levels),
|
||||
Split(Schools),
|
||||
Split(Rituals),
|
||||
Split(Sources)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,78 @@
|
|||
using AideDeJeu.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Linq;
|
||||
|
||||
namespace AideDeJeuLib
|
||||
{
|
||||
public class SpellsHD : Spells
|
||||
{
|
||||
/* public class SpellsHD : Spells
|
||||
{
|
||||
public List<KeyValuePair<string, string>> Split(string collapsed)
|
||||
{
|
||||
return collapsed.Split(new string[] { ", " }, StringSplitOptions.None).Select(s => new KeyValuePair<string, string>(s,s)).ToList();
|
||||
}
|
||||
public override FilterViewModel GetNewFilterViewModel()
|
||||
{
|
||||
return new HDSpellFilterViewModel();
|
||||
return new HDSpellFilterViewModel(ParentName,
|
||||
Split(Classes),
|
||||
Split(Levels),
|
||||
Split(Schools),
|
||||
Split(Rituals),
|
||||
Split(Sources)
|
||||
|
||||
//new List<KeyValuePair<string, string>>(){
|
||||
// new KeyValuePair<string, string>("", "Toutes" ),
|
||||
// new KeyValuePair<string, string>("Barde", "Barde" ),
|
||||
// new KeyValuePair<string, string>("Clerc", "Clerc" ),
|
||||
// new KeyValuePair<string, string>("Druide", "Druide" ),
|
||||
// new KeyValuePair<string, string>("Ensorceleur", "Ensorceleur" ),
|
||||
// new KeyValuePair<string, string>("Magicien", "Magicien" ),
|
||||
// new KeyValuePair<string, string>("Ombrelame", "Ombrelame" ),
|
||||
// new KeyValuePair<string, string>("Paladin", "Paladin" ),
|
||||
// new KeyValuePair<string, string>("Rôdeur", "Rôdeur" ),
|
||||
// new KeyValuePair<string, string>("Sorcier", "Sorcier" ),
|
||||
//},
|
||||
|
||||
//new List<KeyValuePair<string, string>>()
|
||||
//{
|
||||
// new KeyValuePair<string, string>("0", "Sorts mineurs"),
|
||||
// new KeyValuePair<string, string>("1", "Niveau 1"),
|
||||
// new KeyValuePair<string, string>("2", "Niveau 2"),
|
||||
// new KeyValuePair<string, string>("3", "Niveau 3"),
|
||||
// new KeyValuePair<string, string>("4", "Niveau 4"),
|
||||
// new KeyValuePair<string, string>("5", "Niveau 5"),
|
||||
// new KeyValuePair<string, string>("6", "Niveau 6"),
|
||||
// new KeyValuePair<string, string>("7", "Niveau 7"),
|
||||
// new KeyValuePair<string, string>("8", "Niveau 8"),
|
||||
// new KeyValuePair<string, string>("9", "Niveau 9"),
|
||||
//},
|
||||
|
||||
//new List<KeyValuePair<string, string>>()
|
||||
//{
|
||||
// new KeyValuePair<string, string>("", "Toutes"),
|
||||
// new KeyValuePair<string, string>("abjuration", "Abjuration"),
|
||||
// new KeyValuePair<string, string>("divination", "Divination"),
|
||||
// new KeyValuePair<string, string>("enchantement", "Enchantement"),
|
||||
// new KeyValuePair<string, string>("évocation", "Évocation"),
|
||||
// new KeyValuePair<string, string>("illusion", "Illusion"),
|
||||
// new KeyValuePair<string, string>("invocation", "Invocation"),
|
||||
// new KeyValuePair<string, string>("cromancie", "Nécromancie"),
|
||||
// new KeyValuePair<string, string>("transmutation", "Transmutation"),
|
||||
//},
|
||||
|
||||
//new List<KeyValuePair<string, string>>()
|
||||
//{
|
||||
// new KeyValuePair<string, string>("", "Tous"),
|
||||
// new KeyValuePair<string, string>("rituel", "Rituel"),
|
||||
//},
|
||||
|
||||
//new List<KeyValuePair<string, string>>()
|
||||
//{
|
||||
// new KeyValuePair<string, string>("", "Toutes"),
|
||||
// new KeyValuePair<string, string>("(SRD", "SRD"),
|
||||
// new KeyValuePair<string, string>("(MDR", "MDR (H&D)"),
|
||||
//}
|
||||
);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ using System.Text;
|
|||
|
||||
namespace AideDeJeuLib
|
||||
{
|
||||
public class SpellsVO : Spells
|
||||
{
|
||||
public override FilterViewModel GetNewFilterViewModel()
|
||||
{
|
||||
return new VOSpellFilterViewModel();
|
||||
}
|
||||
}
|
||||
//public class SpellsVO : Spells
|
||||
//{
|
||||
// //public override FilterViewModel GetNewFilterViewModel()
|
||||
// //{
|
||||
// // return new SpellFilterViewModel();
|
||||
// //}
|
||||
//}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ using System.Linq;
|
|||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
using static AideDeJeu.ViewModels.StoreViewModel;
|
||||
|
||||
namespace AideDeJeu.ViewModels
|
||||
{
|
||||
|
|
@ -178,7 +177,7 @@ namespace AideDeJeu.ViewModels
|
|||
|
||||
|
||||
#region Spells
|
||||
public abstract class SpellFilterViewModel : FilterViewModel
|
||||
public class SpellFilterViewModel : FilterViewModel
|
||||
{
|
||||
private IEnumerable<Filter> _Filters = null;
|
||||
public override IEnumerable<Filter> Filters
|
||||
|
|
@ -191,7 +190,7 @@ namespace AideDeJeu.ViewModels
|
|||
{
|
||||
new Filter() { Key = FilterKeys.Class, Name = "Classe", KeyValues = Classes, _Index = 0 },
|
||||
new Filter() { Key = FilterKeys.MinLevel, Name = "Niveau Minimum", KeyValues = Niveaux, _Index = 0 },
|
||||
new Filter() { Key = FilterKeys.MaxLevel, Name = "Niveau Maximum", KeyValues = Niveaux, _Index = 9 },
|
||||
new Filter() { Key = FilterKeys.MaxLevel, Name = "Niveau Maximum", KeyValues = Niveaux, _Index = 0 },
|
||||
new Filter() { Key = FilterKeys.School, Name = "École", KeyValues = Ecoles, _Index = 0 },
|
||||
new Filter() { Key = FilterKeys.Ritual, Name = "Rituel", KeyValues = Rituels, _Index = 0 },
|
||||
new Filter() { Key = FilterKeys.Source, Name = "Source", KeyValues = Sources, _Index = 0 },
|
||||
|
|
@ -202,6 +201,68 @@ namespace AideDeJeu.ViewModels
|
|||
}
|
||||
}
|
||||
|
||||
public string Family { get; set; }
|
||||
public SpellFilterViewModel(
|
||||
string family,
|
||||
List<KeyValuePair<string, string>> classes,
|
||||
List<KeyValuePair<string, string>> levels,
|
||||
List<KeyValuePair<string, string>> schools,
|
||||
List<KeyValuePair<string, string>> rituals,
|
||||
List<KeyValuePair<string, string>> sources)
|
||||
{
|
||||
this.Family = family;
|
||||
this.Classes = classes;
|
||||
this.Niveaux = levels;
|
||||
this.Ecoles = schools;
|
||||
this.Rituels = rituals;
|
||||
this.Sources = sources;
|
||||
}
|
||||
|
||||
public string LevelConverter(string level)
|
||||
{
|
||||
if (level == "") return null;
|
||||
if (level.StartsWith("Niveau ")) return level.Substring(7);
|
||||
if (level.StartsWith("Level ")) return level.Substring(6);
|
||||
return "0";
|
||||
}
|
||||
public override async Task<IEnumerable<Item>> GetFilteredItemsAsync(CancellationToken token = default)
|
||||
{
|
||||
var levelComparer = new LevelComparer();
|
||||
var classe = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Class).SelectedKey ?? "";
|
||||
var niveauMin = LevelConverter(Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinLevel).SelectedKey) ?? "0";
|
||||
var niveauMax = LevelConverter(Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxLevel).SelectedKey) ?? "9";
|
||||
var ecole = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.School).SelectedKey ?? "";
|
||||
var ritual = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Ritual).SelectedKey ?? "";
|
||||
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
||||
try
|
||||
{
|
||||
await StoreViewModel.SemaphoreLibrary.WaitAsync();
|
||||
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
||||
{
|
||||
return context.Spells.Where(spell =>
|
||||
spell.Family == this.Family &&
|
||||
levelComparer.Compare(spell.Level, niveauMin) >= 0 &&
|
||||
levelComparer.Compare(spell.Level, niveauMax) <= 0 &&
|
||||
spell.Type.ToLower().Contains(ecole.ToLower()) &&
|
||||
(spell.Source != null && spell.Source.Contains(source)) &&
|
||||
(spell.Classes != null && spell.Classes.Contains(classe)) &&
|
||||
(string.IsNullOrEmpty(ritual) || (spell.Ritual != null && spell.Ritual.Contains(ritual))) &&
|
||||
(
|
||||
(Helpers.RemoveDiacritics(spell.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||
(Helpers.RemoveDiacritics(spell.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||
)).OrderBy(spell => spell.Name).ToList();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new List<Item>();
|
||||
}
|
||||
finally
|
||||
{
|
||||
StoreViewModel.SemaphoreLibrary.Release();
|
||||
}
|
||||
}
|
||||
|
||||
//public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
||||
//{
|
||||
// return await Task.Run(() =>
|
||||
|
|
@ -234,18 +295,19 @@ namespace AideDeJeu.ViewModels
|
|||
|
||||
//}
|
||||
|
||||
public abstract List<KeyValuePair<string, string>> Classes { get; }
|
||||
public List<KeyValuePair<string, string>> Classes { get; }
|
||||
|
||||
public abstract List<KeyValuePair<string, string>> Niveaux { get; }
|
||||
public List<KeyValuePair<string, string>> Niveaux { get; }
|
||||
|
||||
public abstract List<KeyValuePair<string, string>> Ecoles { get; }
|
||||
public List<KeyValuePair<string, string>> Ecoles { get; }
|
||||
|
||||
public abstract List<KeyValuePair<string, string>> Rituels { get; }
|
||||
public List<KeyValuePair<string, string>> Rituels { get; }
|
||||
|
||||
public abstract List<KeyValuePair<string, string>> Sources { get; }
|
||||
public List<KeyValuePair<string, string>> Sources { get; }
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
public class VFSpellFilterViewModel : SpellFilterViewModel
|
||||
{
|
||||
public override Task<IEnumerable<Item>> GetFilteredItemsAsync(CancellationToken cancellationToken = default)
|
||||
|
|
@ -400,12 +462,33 @@ namespace AideDeJeu.ViewModels
|
|||
|
||||
public class HDSpellFilterViewModel : SpellFilterViewModel
|
||||
{
|
||||
public HDSpellFilterViewModel(
|
||||
string parent,
|
||||
List<KeyValuePair<string, string>> classes,
|
||||
List<KeyValuePair<string, string>> levels,
|
||||
List<KeyValuePair<string, string>> schools,
|
||||
List<KeyValuePair<string, string>> rituals,
|
||||
List<KeyValuePair<string, string>> sources)
|
||||
{
|
||||
this.Classes = classes;
|
||||
this.Niveaux = levels;
|
||||
this.Ecoles = schools;
|
||||
this.Rituels = rituals;
|
||||
this.Sources = sources;
|
||||
}
|
||||
|
||||
public string LevelConverter(string level)
|
||||
{
|
||||
if (level == "-") return null;
|
||||
if (level.StartsWith("Niveau ")) return level.Substring(7);
|
||||
return "0";
|
||||
}
|
||||
public override async Task<IEnumerable<Item>> GetFilteredItemsAsync(CancellationToken token = default)
|
||||
{
|
||||
var levelComparer = new LevelComparer();
|
||||
var classe = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Class).SelectedKey ?? "";
|
||||
var niveauMin = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinLevel).SelectedKey ?? "0";
|
||||
var niveauMax = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxLevel).SelectedKey ?? "9";
|
||||
var niveauMin = LevelConverter(Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinLevel).SelectedKey) ?? "0";
|
||||
var niveauMax = LevelConverter(Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxLevel).SelectedKey) ?? "9";
|
||||
var ecole = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.School).SelectedKey ?? "";
|
||||
var ritual = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Ritual).SelectedKey ?? "";
|
||||
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
||||
|
|
@ -490,7 +573,7 @@ namespace AideDeJeu.ViewModels
|
|||
new KeyValuePair<string, string>("(SRD", "SRD"),
|
||||
new KeyValuePair<string, string>("(MDR", "MDR (H&D)"),
|
||||
};
|
||||
}
|
||||
}*/
|
||||
#endregion Spells
|
||||
|
||||
#region Monsters
|
||||
|
|
|
|||
|
|
@ -460,9 +460,9 @@ namespace AideDeJeu.ViewModels
|
|||
public DbSet<MagicItem> MagicItems { get; set; }
|
||||
public DbSet<Spell> Spells { get; set; }
|
||||
public DbSet<Monster> Monsters { get; set; }
|
||||
public DbSet<SpellHD> SpellsHD { get; set; }
|
||||
//public DbSet<Spell> Spells { get; set; }
|
||||
public DbSet<MonsterHD> MonstersHD { get; set; }
|
||||
public DbSet<SpellVO> SpellsVO { get; set; }
|
||||
//public DbSet<SpellVO> SpellsVO { get; set; }
|
||||
public DbSet<MonsterVO> MonstersVO { get; set; }
|
||||
public DbSet<RaceItem> Races { get; set; }
|
||||
public DbSet<ClassItem> Classes { get; set; }
|
||||
|
|
@ -486,8 +486,9 @@ namespace AideDeJeu.ViewModels
|
|||
base.OnModelCreating(modelBuilder);
|
||||
modelBuilder.Entity<MonstersHD>();
|
||||
modelBuilder.Entity<MonstersVO>();
|
||||
modelBuilder.Entity<SpellsHD>();
|
||||
modelBuilder.Entity<SpellsVO>();
|
||||
//modelBuilder.Entity<SpellsHD>().HasBaseType<Spells>();
|
||||
//modelBuilder.Entity<SpellsVO>().HasBaseType<Spells>();
|
||||
modelBuilder.Entity<Spells>();
|
||||
modelBuilder.Entity<Equipments>();
|
||||
modelBuilder.Entity<MagicItems>();
|
||||
}
|
||||
|
|
|
|||
1094
Data/HD/hd_spells.md
1094
Data/HD/hd_spells.md
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Abjuration
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Abjuration
|
||||
Ritual: rituel
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 6
|
||||
Type: Invocation
|
||||
CastingTime: 10 minutes
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Enchantement
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Nécromancie
|
||||
CastingTime: 1 minute
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Enchantement
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Illusion
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Invocation
|
||||
Ritual: rituel
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Invocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Enchantement
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action bonus
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Évocation
|
||||
CastingTime: 1 action bonus
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Abjuration
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 9
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: tour de magie
|
||||
Type: Invocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 4
|
||||
Type: Illusion
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: tour de magie
|
||||
Type: Divination
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Divination
|
||||
CastingTime: 1 minute
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Abjuration
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: tour de magie
|
||||
Type: Enchantement
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Illusion
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 8
|
||||
Type: Abjuration
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 8
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 4
|
||||
Type: Abjuration
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 6
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Enchantement
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Divination
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Nécromancie
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Illusion
|
||||
Ritual: rituel
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Abjuration
|
||||
CastingTime: 1 réaction à effectuer lorsque vous êtes touché par une attaque ou un sort de _[projectile magique](hd_spells_projectile_magique.md)_
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 4
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Abjuration
|
||||
CastingTime: 1 action bonus
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: tour de magie
|
||||
Type: Invocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 7
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 7
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Nécromancie
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Nécromancie
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Nécromancie
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 6
|
||||
Type: Nécromancie
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Invocation
|
||||
CastingTime: 1 minute
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Abjuration
|
||||
CastingTime: 1 minute
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 6
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 8
|
||||
Type: Abjuration
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 9
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 7
|
||||
Type: Invocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Enchantement
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 4
|
||||
Type: Invocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Enchantement
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Divination
|
||||
CastingTime: 10 minutes
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 8
|
||||
Type: Nécromancie
|
||||
CastingTime: 1 heure
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Enchantement
|
||||
CastingTime: 1 minute
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 4
|
||||
Type: Invocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Invocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Invocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Divination
|
||||
Ritual: rituel
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Nécromancie
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Divination
|
||||
Ritual: rituel
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Divination
|
||||
Ritual: rituel
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Enchantement
|
||||
CastingTime: 1 minute
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Divination
|
||||
Ritual: rituel
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 4
|
||||
Type: Enchantement
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Évocation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 4
|
||||
Type: Enchantement
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: tour de magie
|
||||
Type: Nécromancie
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Divination
|
||||
Ritual: rituel
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Nécromancie
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 6
|
||||
Type: Nécromancie
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 6
|
||||
Type: Évocation
|
||||
CastingTime: 10 minutes
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 3
|
||||
Type: Abjuration
|
||||
CastingTime: 1 réaction à utiliser quand vous voyez une créature située dans un rayon de 18 mètres autour de vous lancer un sort
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 4
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 8
|
||||
Type: Transmutation
|
||||
CastingTime: 10 minutes
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 6
|
||||
Type: Invocation
|
||||
Ritual: rituel
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 5
|
||||
Type: Abjuration
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 2
|
||||
Type: Transmutation
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
!SpellHD
|
||||
!Spell
|
||||
Family: SpellHD
|
||||
Level: 1
|
||||
Type: Illusion
|
||||
CastingTime: 1 action
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue