mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-10-29 22:45:44 +00:00
Refonte filtres monstres
This commit is contained in:
parent
479f8b5dc2
commit
170252a158
684 changed files with 4088 additions and 3210 deletions
|
|
@ -13,6 +13,14 @@ namespace AideDeJeuLib
|
||||||
{
|
{
|
||||||
public string Family { get; set; }
|
public string Family { 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;
|
||||||
|
}
|
||||||
|
|
||||||
[IgnoreDataMember]
|
[IgnoreDataMember]
|
||||||
[YamlMember]
|
[YamlMember]
|
||||||
public List<Item> SubItems
|
public List<Item> SubItems
|
||||||
|
|
|
||||||
|
|
@ -196,11 +196,11 @@ namespace AideDeJeuLib
|
||||||
{
|
{
|
||||||
{ "Generic", typeof(Generic) },
|
{ "Generic", typeof(Generic) },
|
||||||
{ "Monster", typeof(Monster) },
|
{ "Monster", typeof(Monster) },
|
||||||
{ "MonsterHD", typeof(MonsterHD) },
|
//{ "MonsterHD", typeof(MonsterHD) },
|
||||||
{ "MonsterVO", typeof(MonsterVO) },
|
//{ "MonsterVO", typeof(MonsterVO) },
|
||||||
{ "Monsters", typeof(Monsters) },
|
{ "Monsters", typeof(Monsters) },
|
||||||
{ "MonstersHD", typeof(MonstersHD) },
|
//{ "MonstersHD", typeof(MonstersHD) },
|
||||||
{ "MonstersVO", typeof(MonstersVO) },
|
//{ "MonstersVO", typeof(MonstersVO) },
|
||||||
{ "Spell", typeof(Spell) },
|
{ "Spell", typeof(Spell) },
|
||||||
//{ "SpellHD", typeof(SpellHD) },
|
//{ "SpellHD", typeof(SpellHD) },
|
||||||
//{ "SpellVO", typeof(SpellVO) },
|
//{ "SpellVO", typeof(SpellVO) },
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ namespace AideDeJeuLib
|
||||||
{
|
{
|
||||||
public class Monster : Item
|
public class Monster : Item
|
||||||
{
|
{
|
||||||
|
public string Family { get; set; }
|
||||||
public string Type { get; set; }
|
public string Type { get; set; }
|
||||||
public string Size { get; set; }
|
public string Size { get; set; }
|
||||||
public string Alignment { get; set; }
|
public string Alignment { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
using AideDeJeu;
|
|
||||||
using AideDeJeu.Tools;
|
|
||||||
using Markdig.Syntax;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Runtime.Serialization;
|
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
using System.Xml;
|
|
||||||
|
|
||||||
namespace AideDeJeuLib
|
|
||||||
{
|
|
||||||
public class MonsterHD : Monster
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
using AideDeJeu;
|
|
||||||
using AideDeJeu.Tools;
|
|
||||||
using Markdig.Syntax;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Runtime.Serialization;
|
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
using System.Xml;
|
|
||||||
|
|
||||||
namespace AideDeJeuLib
|
|
||||||
{
|
|
||||||
public class MonsterVO : Monster
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using AideDeJeu.ViewModels;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
|
|
@ -6,5 +7,19 @@ namespace AideDeJeuLib
|
||||||
{
|
{
|
||||||
public class Monsters : FilteredItems
|
public class Monsters : FilteredItems
|
||||||
{
|
{
|
||||||
|
public string Types { get; set; }
|
||||||
|
public string Challenges { get; set; }
|
||||||
|
public string Sizes { get; set; }
|
||||||
|
public string Sources { get; set; }
|
||||||
|
|
||||||
|
public override FilterViewModel GetNewFilterViewModel()
|
||||||
|
{
|
||||||
|
return new MonsterFilterViewModel(Family,
|
||||||
|
Split(Types),
|
||||||
|
Split(Challenges),
|
||||||
|
Split(Sizes),
|
||||||
|
Split(Sources)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
using AideDeJeu.ViewModels;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace AideDeJeuLib
|
|
||||||
{
|
|
||||||
public class MonstersHD : Monsters
|
|
||||||
{
|
|
||||||
public override FilterViewModel GetNewFilterViewModel()
|
|
||||||
{
|
|
||||||
return new HDMonsterFilterViewModel();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
using AideDeJeu.ViewModels;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace AideDeJeuLib
|
|
||||||
{
|
|
||||||
public class MonstersVO : Monsters
|
|
||||||
{
|
|
||||||
public override FilterViewModel GetNewFilterViewModel()
|
|
||||||
{
|
|
||||||
return new VOMonsterFilterViewModel();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
using AideDeJeu.Tools;
|
|
||||||
using Markdig.Syntax;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Runtime.Serialization;
|
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
using System.Xml;
|
|
||||||
using System.Xml.Serialization;
|
|
||||||
|
|
||||||
namespace AideDeJeuLib
|
|
||||||
{
|
|
||||||
//public class SpellHD : Spell
|
|
||||||
//{
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
using AideDeJeu.Tools;
|
|
||||||
using Markdig.Syntax;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Runtime.Serialization;
|
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
using System.Xml;
|
|
||||||
using System.Xml.Serialization;
|
|
||||||
|
|
||||||
namespace AideDeJeuLib
|
|
||||||
{
|
|
||||||
//public class SpellVO : Spell
|
|
||||||
//{
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
|
|
@ -16,13 +16,6 @@ namespace AideDeJeuLib
|
||||||
public string Rituals { get; set; }
|
public string Rituals { get; set; }
|
||||||
public string Sources { 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()
|
public override FilterViewModel GetNewFilterViewModel()
|
||||||
{
|
{
|
||||||
return new SpellFilterViewModel(Family,
|
return new SpellFilterViewModel(Family,
|
||||||
|
|
@ -34,4 +27,4 @@ namespace AideDeJeuLib
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
using AideDeJeu.ViewModels;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace AideDeJeuLib
|
|
||||||
{
|
|
||||||
/* 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(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)"),
|
|
||||||
//}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
using AideDeJeu.ViewModels;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace AideDeJeuLib
|
|
||||||
{
|
|
||||||
//public class SpellsVO : Spells
|
|
||||||
//{
|
|
||||||
// //public override FilterViewModel GetNewFilterViewModel()
|
|
||||||
// //{
|
|
||||||
// // return new SpellFilterViewModel();
|
|
||||||
// //}
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
|
|
@ -202,6 +202,7 @@ namespace AideDeJeu.ViewModels
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Family { get; set; }
|
public string Family { get; set; }
|
||||||
|
|
||||||
public SpellFilterViewModel(
|
public SpellFilterViewModel(
|
||||||
string family,
|
string family,
|
||||||
List<KeyValuePair<string, string>> classes,
|
List<KeyValuePair<string, string>> classes,
|
||||||
|
|
@ -262,39 +263,7 @@ namespace AideDeJeu.ViewModels
|
||||||
StoreViewModel.SemaphoreLibrary.Release();
|
StoreViewModel.SemaphoreLibrary.Release();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
|
||||||
//{
|
|
||||||
// return await Task.Run(() =>
|
|
||||||
// {
|
|
||||||
// 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 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 ?? "";
|
|
||||||
// //token.ThrowIfCancellationRequested();
|
|
||||||
// return items.Where(item =>
|
|
||||||
// {
|
|
||||||
// var spell = item as Spell;
|
|
||||||
// return
|
|
||||||
// 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)
|
|
||||||
// .AsEnumerable();
|
|
||||||
// }, token);
|
|
||||||
|
|
||||||
//}
|
|
||||||
|
|
||||||
public List<KeyValuePair<string, string>> Classes { get; }
|
public List<KeyValuePair<string, string>> Classes { get; }
|
||||||
|
|
||||||
public List<KeyValuePair<string, string>> Niveaux { get; }
|
public List<KeyValuePair<string, string>> Niveaux { get; }
|
||||||
|
|
@ -306,278 +275,11 @@ namespace AideDeJeu.ViewModels
|
||||||
public 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)
|
|
||||||
{
|
|
||||||
throw new System.NotImplementedException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Classes { get; } = 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>("Paladin", "Paladin" ),
|
|
||||||
new KeyValuePair<string, string>("Rôdeur", "Rôdeur" ),
|
|
||||||
new KeyValuePair<string, string>("Sorcier", "Sorcier" ),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Niveaux { get; } = 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"),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Ecoles { get; } = 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"),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Rituels { get; } = new List<KeyValuePair<string, string>>()
|
|
||||||
{
|
|
||||||
new KeyValuePair<string, string>("", "Tous"),
|
|
||||||
new KeyValuePair<string, string>("rituel", "Rituel"),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Sources { get; } = new List<KeyValuePair<string, string>>()
|
|
||||||
{
|
|
||||||
new KeyValuePair<string, string>("", "Toutes"),
|
|
||||||
new KeyValuePair<string, string>("(SRD", "SRD"),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public class VOSpellFilterViewModel : SpellFilterViewModel
|
|
||||||
{
|
|
||||||
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 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.SpellsVO.Where(spell =>
|
|
||||||
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 List<KeyValuePair<string, string>> Classes { get; } = new List<KeyValuePair<string, string>>()
|
|
||||||
{
|
|
||||||
new KeyValuePair<string, string>("", "All" ),
|
|
||||||
new KeyValuePair<string, string>("Bard", "Bard" ),
|
|
||||||
new KeyValuePair<string, string>("Cleric", "Cleric" ),
|
|
||||||
new KeyValuePair<string, string>("Druid", "Druid" ),
|
|
||||||
new KeyValuePair<string, string>("Sorcerer", "Sorcerer" ),
|
|
||||||
new KeyValuePair<string, string>("Paladin", "Paladin" ),
|
|
||||||
new KeyValuePair<string, string>("Ranger", "Ranger" ),
|
|
||||||
new KeyValuePair<string, string>("Warlock", "Warlock" ),
|
|
||||||
new KeyValuePair<string, string>("Wizard", "Wizard" ),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Niveaux { get; } = new List<KeyValuePair<string, string>>()
|
|
||||||
{
|
|
||||||
new KeyValuePair<string, string>("0", "Sorts mineurs"),
|
|
||||||
new KeyValuePair<string, string>("1", "Level 1"),
|
|
||||||
new KeyValuePair<string, string>("2", "Level 2"),
|
|
||||||
new KeyValuePair<string, string>("3", "Level 3"),
|
|
||||||
new KeyValuePair<string, string>("4", "Level 4"),
|
|
||||||
new KeyValuePair<string, string>("5", "Level 5"),
|
|
||||||
new KeyValuePair<string, string>("6", "Level 6"),
|
|
||||||
new KeyValuePair<string, string>("7", "Level 7"),
|
|
||||||
new KeyValuePair<string, string>("8", "Level 8"),
|
|
||||||
new KeyValuePair<string, string>("9", "Level 9"),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Ecoles { get; } = new List<KeyValuePair<string, string>>()
|
|
||||||
{
|
|
||||||
new KeyValuePair<string, string>("", "All"),
|
|
||||||
new KeyValuePair<string, string>("abjuration", "Abjuration"),
|
|
||||||
new KeyValuePair<string, string>("conjuration", "Conjuration"),
|
|
||||||
new KeyValuePair<string, string>("divination", "Divination"),
|
|
||||||
new KeyValuePair<string, string>("enchantment", "Enchantment"),
|
|
||||||
new KeyValuePair<string, string>("evocation", "Evocation"),
|
|
||||||
new KeyValuePair<string, string>("illusion", "Illusion"),
|
|
||||||
new KeyValuePair<string, string>("necromancy", "Necromancy"),
|
|
||||||
new KeyValuePair<string, string>("transmutation", "Transmutation"),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Rituels { get; } = new List<KeyValuePair<string, string>>()
|
|
||||||
{
|
|
||||||
new KeyValuePair<string, string>("", "All"),
|
|
||||||
new KeyValuePair<string, string>("(ritual)", "Ritual"),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Sources { get; } = new List<KeyValuePair<string, string>>()
|
|
||||||
{
|
|
||||||
new KeyValuePair<string, string>("", "All"),
|
|
||||||
new KeyValuePair<string, string>("(SRD", "SRD"),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
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 = 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.SpellsHD.Where(spell =>
|
|
||||||
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 List<KeyValuePair<string, string>> Classes { get; } = 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" ),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Niveaux { get; } = 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"),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Ecoles { get; } = 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"),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Rituels { get; } = new List<KeyValuePair<string, string>>()
|
|
||||||
{
|
|
||||||
new KeyValuePair<string, string>("", "Tous"),
|
|
||||||
new KeyValuePair<string, string>("rituel", "Rituel"),
|
|
||||||
};
|
|
||||||
|
|
||||||
public override List<KeyValuePair<string, string>> Sources { get; } = new List<KeyValuePair<string, string>>()
|
|
||||||
{
|
|
||||||
new KeyValuePair<string, string>("", "Toutes"),
|
|
||||||
new KeyValuePair<string, string>("(SRD", "SRD"),
|
|
||||||
new KeyValuePair<string, string>("(MDR", "MDR (H&D)"),
|
|
||||||
};
|
|
||||||
}*/
|
|
||||||
#endregion Spells
|
#endregion Spells
|
||||||
|
|
||||||
#region Monsters
|
#region Monsters
|
||||||
public abstract class MonsterFilterViewModel : FilterViewModel
|
public class MonsterFilterViewModel : FilterViewModel
|
||||||
{
|
{
|
||||||
private IEnumerable<Filter> _Filters = null;
|
private IEnumerable<Filter> _Filters = null;
|
||||||
public override IEnumerable<Filter> Filters
|
public override IEnumerable<Filter> Filters
|
||||||
|
|
@ -591,7 +293,7 @@ namespace AideDeJeu.ViewModels
|
||||||
//new Filter() { Key = FilterKeys.Category, Name = "Catégories", KeyValues = Categories, _Index = 0 },
|
//new Filter() { Key = FilterKeys.Category, Name = "Catégories", KeyValues = Categories, _Index = 0 },
|
||||||
new Filter() { Key = FilterKeys.Type, Name = "Type", KeyValues = Types, _Index = 0 },
|
new Filter() { Key = FilterKeys.Type, Name = "Type", KeyValues = Types, _Index = 0 },
|
||||||
new Filter() { Key = FilterKeys.MinPower, Name = "FP Minimum", KeyValues = Powers, _Index = 0 },
|
new Filter() { Key = FilterKeys.MinPower, Name = "FP Minimum", KeyValues = Powers, _Index = 0 },
|
||||||
new Filter() { Key = FilterKeys.MaxPower, Name = "FP Maximum", KeyValues = Powers, _Index = 28 },
|
new Filter() { Key = FilterKeys.MaxPower, Name = "FP Maximum", KeyValues = Powers, _Index = 0 },
|
||||||
new Filter() { Key = FilterKeys.Size, Name = "Taille", KeyValues = Sizes, _Index = 0 },
|
new Filter() { Key = FilterKeys.Size, Name = "Taille", KeyValues = Sizes, _Index = 0 },
|
||||||
//new Filter() { Key = FilterKeys.Legendary, Name = "Légendaire", KeyValues = Legendaries, _Index = 0 },
|
//new Filter() { Key = FilterKeys.Legendary, Name = "Légendaire", KeyValues = Legendaries, _Index = 0 },
|
||||||
new Filter() { Key = FilterKeys.Source, Name = "Source", KeyValues = Sources, _Index = 0 },
|
new Filter() { Key = FilterKeys.Source, Name = "Source", KeyValues = Sources, _Index = 0 },
|
||||||
|
|
@ -602,64 +304,82 @@ namespace AideDeJeu.ViewModels
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default)
|
public string Family { get; set; }
|
||||||
//{
|
|
||||||
// return await Task.Run(() =>
|
|
||||||
// {
|
|
||||||
// var powerComparer = new PowerComparer();
|
|
||||||
|
|
||||||
// //var category = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Category).SelectedKey ?? "";
|
public MonsterFilterViewModel(
|
||||||
// var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
string family,
|
||||||
// //token.ThrowIfCancellationRequested();
|
List<KeyValuePair<string, string>> types,
|
||||||
|
List<KeyValuePair<string, string>> challenges,
|
||||||
|
List<KeyValuePair<string, string>> sizes,
|
||||||
|
List<KeyValuePair<string, string>> sources)
|
||||||
|
{
|
||||||
|
this.Family = family;
|
||||||
|
this.Types = types;
|
||||||
|
this.Powers = challenges;
|
||||||
|
this.Sizes = sizes;
|
||||||
|
this.Sources = sources;
|
||||||
|
}
|
||||||
|
|
||||||
// var minPower = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinPower).SelectedKey ?? "0 (0 PX)";
|
public List<KeyValuePair<string, string>> Categories { get; }
|
||||||
// //token.ThrowIfCancellationRequested();
|
|
||||||
|
|
||||||
// var maxPower = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxPower).SelectedKey ?? "30 (155000 PX)";
|
public List<KeyValuePair<string, string>> Types { get; }
|
||||||
// //token.ThrowIfCancellationRequested();
|
|
||||||
|
|
||||||
// var size = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Size).SelectedKey ?? "";
|
public List<KeyValuePair<string, string>> Powers { get; }
|
||||||
// //token.ThrowIfCancellationRequested();
|
|
||||||
// //var legendary = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Legendary).SelectedKey ?? "";
|
|
||||||
|
|
||||||
// var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
public List<KeyValuePair<string, string>> Sizes { get; }
|
||||||
// token.ThrowIfCancellationRequested();
|
|
||||||
|
|
||||||
// return items.Where(item =>
|
public List<KeyValuePair<string, string>> Legendaries { get; }
|
||||||
// {
|
|
||||||
// var monster = item as Monster;
|
|
||||||
// return
|
|
||||||
// monster != null &&
|
|
||||||
// monster.Type.Contains(type) &&
|
|
||||||
// (string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
|
|
||||||
// (string.IsNullOrEmpty(source) || (monster.Source != null && monster.Source.Contains(source))) &&
|
|
||||||
// powerComparer.Compare(monster.Challenge, minPower) >= 0 &&
|
|
||||||
// powerComparer.Compare(monster.Challenge, maxPower) <= 0 &&
|
|
||||||
// (
|
|
||||||
// (Helpers.RemoveDiacritics(monster.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
|
||||||
// (Helpers.RemoveDiacritics(monster.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
|
||||||
// );
|
|
||||||
// })
|
|
||||||
// .OrderBy(monster => monster.Name)
|
|
||||||
// .AsEnumerable();
|
|
||||||
// }, token);
|
|
||||||
|
|
||||||
//}
|
public List<KeyValuePair<string, string>> Sources { get; }
|
||||||
|
|
||||||
public abstract List<KeyValuePair<string, string>> Categories { get; }
|
public string ChallengeConverter(string challenge)
|
||||||
|
{
|
||||||
|
if (challenge == "") return null;
|
||||||
|
return challenge;
|
||||||
|
}
|
||||||
|
public override async Task<IEnumerable<Item>> GetFilteredItemsAsync(CancellationToken token = default)
|
||||||
|
{
|
||||||
|
var powerComparer = new PowerComparer();
|
||||||
|
|
||||||
public abstract List<KeyValuePair<string, string>> Types { get; }
|
var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? "";
|
||||||
|
var minPower = ChallengeConverter(Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinPower).SelectedKey) ?? "0 (0 PX)";
|
||||||
|
var maxPower = ChallengeConverter(Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxPower).SelectedKey) ?? "30 (155000 PX)";
|
||||||
|
var size = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Size).SelectedKey ?? "";
|
||||||
|
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
|
||||||
|
token.ThrowIfCancellationRequested();
|
||||||
|
|
||||||
public abstract List<KeyValuePair<string, string>> Powers { get; }
|
try
|
||||||
|
{
|
||||||
public abstract List<KeyValuePair<string, string>> Sizes { get; }
|
await StoreViewModel.SemaphoreLibrary.WaitAsync();
|
||||||
|
using (var context = await StoreViewModel.GetLibraryContextAsync())
|
||||||
public abstract List<KeyValuePair<string, string>> Legendaries { get; }
|
{
|
||||||
|
return context.Monsters.Where(monster =>
|
||||||
public abstract List<KeyValuePair<string, string>> Sources { get; }
|
monster != null &&
|
||||||
|
monster.Family == this.Family &&
|
||||||
|
monster.Type.Contains(type) &&
|
||||||
|
(string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
|
||||||
|
(string.IsNullOrEmpty(source) || (monster.Source != null && monster.Source.Contains(source))) &&
|
||||||
|
powerComparer.Compare(monster.Challenge, minPower) >= 0 &&
|
||||||
|
powerComparer.Compare(monster.Challenge, maxPower) <= 0 &&
|
||||||
|
(
|
||||||
|
(Helpers.RemoveDiacritics(monster.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) ||
|
||||||
|
(Helpers.RemoveDiacritics(monster.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower()))
|
||||||
|
)
|
||||||
|
).OrderBy(monster => monster.Name).ToList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new List<Item>();
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
StoreViewModel.SemaphoreLibrary.Release();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
public class VFMonsterFilterViewModel : MonsterFilterViewModel
|
public class VFMonsterFilterViewModel : MonsterFilterViewModel
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -1004,7 +724,7 @@ namespace AideDeJeu.ViewModels
|
||||||
new KeyValuePair<string, string>("(SRD", "SRD"),
|
new KeyValuePair<string, string>("(SRD", "SRD"),
|
||||||
new KeyValuePair<string, string>("(CEO", "CEO (H&D)"),
|
new KeyValuePair<string, string>("(CEO", "CEO (H&D)"),
|
||||||
};
|
};
|
||||||
}
|
}*/
|
||||||
#endregion Monsters
|
#endregion Monsters
|
||||||
|
|
||||||
#region Equipments
|
#region Equipments
|
||||||
|
|
|
||||||
|
|
@ -462,9 +462,9 @@ namespace AideDeJeu.ViewModels
|
||||||
public DbSet<Spell> Spells { get; set; }
|
public DbSet<Spell> Spells { get; set; }
|
||||||
public DbSet<Monster> Monsters { get; set; }
|
public DbSet<Monster> Monsters { get; set; }
|
||||||
//public DbSet<Spell> Spells { get; set; }
|
//public DbSet<Spell> Spells { get; set; }
|
||||||
public DbSet<MonsterHD> MonstersHD { 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<MonsterVO> MonstersVO { get; set; }
|
||||||
public DbSet<RaceItem> Races { get; set; }
|
public DbSet<RaceItem> Races { get; set; }
|
||||||
public DbSet<ClassItem> Classes { get; set; }
|
public DbSet<ClassItem> Classes { get; set; }
|
||||||
public DbSet<SubRaceItem> SubRaces { get; set; }
|
public DbSet<SubRaceItem> SubRaces { get; set; }
|
||||||
|
|
@ -485,8 +485,8 @@ namespace AideDeJeu.ViewModels
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||||
{
|
{
|
||||||
base.OnModelCreating(modelBuilder);
|
base.OnModelCreating(modelBuilder);
|
||||||
modelBuilder.Entity<MonstersHD>();
|
modelBuilder.Entity<Monsters>();
|
||||||
modelBuilder.Entity<MonstersVO>();
|
//modelBuilder.Entity<MonstersVO>();
|
||||||
//modelBuilder.Entity<SpellsHD>().HasBaseType<Spells>();
|
//modelBuilder.Entity<SpellsHD>().HasBaseType<Spells>();
|
||||||
//modelBuilder.Entity<SpellsVO>().HasBaseType<Spells>();
|
//modelBuilder.Entity<SpellsVO>().HasBaseType<Spells>();
|
||||||
modelBuilder.Entity<Spells>();
|
modelBuilder.Entity<Spells>();
|
||||||
|
|
|
||||||
|
|
@ -363,8 +363,8 @@ namespace AideDeJeuCmd
|
||||||
|
|
||||||
var itemsSRD = await context.Items.Where(item => (item.Source != null && item.Source.Contains("SRD"))).ToListAsync();
|
var itemsSRD = await context.Items.Where(item => (item.Source != null && item.Source.Contains("SRD"))).ToListAsync();
|
||||||
var monsters = await context.Monsters.ToListAsync();
|
var monsters = await context.Monsters.ToListAsync();
|
||||||
var monstersHD = await context.MonstersHD.ToListAsync();
|
//var monstersHD = await context.MonstersHD.ToListAsync();
|
||||||
var monstersVO = await context.MonstersVO.ToListAsync();
|
//var monstersVO = await context.MonstersVO.ToListAsync();
|
||||||
var spells = await context.Spells.ToListAsync();
|
var spells = await context.Spells.ToListAsync();
|
||||||
var classes = await context.Classes.ToListAsync();
|
var classes = await context.Classes.ToListAsync();
|
||||||
var races = await context.Races.ToListAsync();
|
var races = await context.Races.ToListAsync();
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Aberration
|
Type: Aberration
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Loyal Mauvais
|
Alignment: Loyal Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Aberration
|
Type: Aberration
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: loyal mauvais
|
Alignment: loyal mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Humanoïde (n'importe quelle race)
|
Type: Humanoïde (n'importe quelle race)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: n'importe quel alignement
|
Alignment: n'importe quel alignement
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: P
|
Size: P
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: neutre bon
|
Alignment: neutre bon
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Mort-vivant
|
Type: Mort-vivant
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: Neutre Mauvais
|
Alignment: Neutre Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Aberration
|
Type: Aberration
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: loyal mauvais
|
Alignment: loyal mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature monstrueuse
|
Type: Créature monstrueuse
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Loyal Neutre
|
Alignment: Loyal Neutre
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature monstrueuse
|
Type: Créature monstrueuse
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: TP
|
Size: TP
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Plante
|
Type: Plante
|
||||||
Size: TG
|
Size: TG
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Plante
|
Type: Plante
|
||||||
Size: P
|
Size: P
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Humanoïde (n'importe quelle race)
|
Type: Humanoïde (n'importe quelle race)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: n'importe quel alignement
|
Alignment: n'importe quel alignement
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature artificielle
|
Type: Créature artificielle
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Humanoïde (n'importe quelle race)
|
Type: Humanoïde (n'importe quelle race)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: n'importe quel alignement autre que Bon
|
Alignment: n'importe quel alignement autre que Bon
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Élémentaire
|
Type: Élémentaire
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: Loyal Neutre
|
Alignment: Loyal Neutre
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Aberration
|
Type: Aberration
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: neutre
|
Alignment: neutre
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: P
|
Size: P
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Fiélon (démon)
|
Type: Fiélon (démon)
|
||||||
Size: TG
|
Size: TG
|
||||||
Alignment: Chaotique Mauvais
|
Alignment: Chaotique Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Humanoïde (n'importe quelle race)
|
Type: Humanoïde (n'importe quelle race)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: n'importe quel alignement autre que Loyal
|
Alignment: n'importe quel alignement autre que Loyal
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature monstrueuse
|
Type: Créature monstrueuse
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature monstrueuse
|
Type: Créature monstrueuse
|
||||||
Size: TG
|
Size: TG
|
||||||
Alignment: Neutre Mauvais
|
Alignment: Neutre Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: TP
|
Size: TP
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Humanoïde (n'importe quelle race)
|
Type: Humanoïde (n'importe quelle race)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: n'importe quel alignement Chaotique
|
Alignment: n'importe quel alignement Chaotique
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: TP
|
Size: TP
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Mort-vivant
|
Type: Mort-vivant
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: Chaotique Mauvais
|
Alignment: Chaotique Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature monstrueuse
|
Type: Créature monstrueuse
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Humanoïde (n'importe quelle race)
|
Type: Humanoïde (n'importe quelle race)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: n'importe quel alignement autre que Loyal
|
Alignment: n'importe quel alignement autre que Loyal
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature monstrueuse
|
Type: Créature monstrueuse
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Neutre Bon
|
Alignment: Neutre Bon
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature monstrueuse
|
Type: Créature monstrueuse
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Neutre Mauvais
|
Alignment: Neutre Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: P
|
Size: P
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Humanoïde (gobelinoïde)
|
Type: Humanoïde (gobelinoïde)
|
||||||
Size: P
|
Size: P
|
||||||
Alignment: neutre mauvais
|
Alignment: neutre mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Humanoïde (demi-orc)
|
Type: Humanoïde (demi-orc)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: Neutre Mauvais
|
Alignment: Neutre Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: TP
|
Size: TP
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: TP
|
Size: TP
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Loyal Bon
|
Alignment: Loyal Bon
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Humanoïde (n'importe quelle race)
|
Type: Humanoïde (n'importe quelle race)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: n'importe quel alignement
|
Alignment: n'importe quel alignement
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature monstrueuse
|
Type: Créature monstrueuse
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: Neutre Mauvais
|
Alignment: Neutre Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Fée
|
Type: Fée
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: Loyal Bon
|
Alignment: Loyal Bon
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature monstrueuse
|
Type: Créature monstrueuse
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Chaotique Mauvais
|
Alignment: Chaotique Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: TP
|
Size: TP
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: neutre
|
Alignment: neutre
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Aberration
|
Type: Aberration
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Chaotique Mauvais
|
Alignment: Chaotique Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature monstrueuse
|
Type: Créature monstrueuse
|
||||||
Size: P
|
Size: P
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: TP
|
Size: TP
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Céleste
|
Type: Céleste
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: Loyal Bon
|
Alignment: Loyal Bon
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: TP
|
Size: TP
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Plante
|
Type: Plante
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Bête
|
Type: Bête
|
||||||
Size: TG
|
Size: TG
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Vase
|
Type: Vase
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: non-alignée
|
Alignment: non-alignée
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Fiélon
|
Type: Fiélon
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Neutre Mauvais
|
Alignment: Neutre Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Céleste
|
Type: Céleste
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: Loyal Bon
|
Alignment: Loyal Bon
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Aberration
|
Type: Aberration
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Neutre Mauvais
|
Alignment: Neutre Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Fiélon (diable)
|
Type: Fiélon (diable)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: Loyal Mauvais
|
Alignment: Loyal Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Fiélon (diable)
|
Type: Fiélon (diable)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: Loyal Mauvais
|
Alignment: Loyal Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Fiélon (diable)
|
Type: Fiélon (diable)
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Loyal Mauvais
|
Alignment: Loyal Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Fiélon (diable)
|
Type: Fiélon (diable)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: Loyal Mauvais
|
Alignment: Loyal Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Fiélon (diable)
|
Type: Fiélon (diable)
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Loyal Mauvais
|
Alignment: Loyal Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Fiélon (diable)
|
Type: Fiélon (diable)
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Loyal Mauvais
|
Alignment: Loyal Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Fiélon (diable, métamorphe)
|
Type: Fiélon (diable, métamorphe)
|
||||||
Size: TP
|
Size: TP
|
||||||
Alignment: Loyal Mauvais
|
Alignment: Loyal Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Fiélon (diable)
|
Type: Fiélon (diable)
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Loyal Mauvais
|
Alignment: Loyal Mauvais
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Aberration
|
Type: Aberration
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Chaotique Neutre
|
Alignment: Chaotique Neutre
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Élémentaire
|
Type: Élémentaire
|
||||||
Size: G
|
Size: G
|
||||||
Alignment: Chaotique Bon
|
Alignment: Chaotique Bon
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Créature monstrueuse (métamorphe)
|
Type: Créature monstrueuse (métamorphe)
|
||||||
Size: M
|
Size: M
|
||||||
Alignment: neutre
|
Alignment: neutre
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
!MonsterHD
|
!Monster
|
||||||
|
Family: MonsterHD
|
||||||
Type: Dragon
|
Type: Dragon
|
||||||
Size: TG
|
Size: TG
|
||||||
Alignment: Chaotique Mauvais
|
Alignment: Chaotique Mauvais
|
||||||
|
|
|
||||||
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