diff --git a/AideDeJeu/AideDeJeu/Models/Spells/SpellItems.cs b/AideDeJeu/AideDeJeu/Models/Spells/SpellItems.cs index c43e0e09..c0812c25 100644 --- a/AideDeJeu/AideDeJeu/Models/Spells/SpellItems.cs +++ b/AideDeJeu/AideDeJeu/Models/Spells/SpellItems.cs @@ -15,6 +15,9 @@ namespace AideDeJeuLib public string Levels { get; set; } public string Schools { get; set; } public string Rituals { get; set; } + public string CastingTimes { get; set; } + public string Ranges { get; set; } + public string Durations { get; set; } public string Sources { get; set; } public override FilterViewModel GetNewFilterViewModel() @@ -24,6 +27,9 @@ namespace AideDeJeuLib Split(Levels), Split(Schools), Split(Rituals), + Split(CastingTimes), + Split(Ranges), + Split(Durations), Split(Sources) ); } diff --git a/AideDeJeu/AideDeJeu/ViewModels/Library/FilterViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/Library/FilterViewModel.cs index 62d988fd..6aa8eb56 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/Library/FilterViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/Library/FilterViewModel.cs @@ -85,6 +85,9 @@ namespace AideDeJeu.ViewModels.Library MaxLevel, School, Ritual, + CastingTime, + Range, + Duration, Source, Category, Type, @@ -194,6 +197,9 @@ namespace AideDeJeu.ViewModels.Library new Filter() { Key = FilterKeys.MaxLevel, Name = "Niveau Maximum", KeyValues = Levels, _Index = 0 }, new Filter() { Key = FilterKeys.School, Name = "École", KeyValues = Schools, _Index = 0 }, new Filter() { Key = FilterKeys.Ritual, Name = "Rituel", KeyValues = Rituals, _Index = 0 }, + new Filter() { Key = FilterKeys.CastingTime, Name = "Temps d'incantation", KeyValues = CastingTimes, _Index = 0 }, + new Filter() { Key = FilterKeys.Range, Name = "Portée", KeyValues = Ranges, _Index = 0 }, + new Filter() { Key = FilterKeys.Duration, Name = "Durée", KeyValues = Durations, _Index = 0 }, new Filter() { Key = FilterKeys.Source, Name = "Source", KeyValues = Sources, _Index = 0 }, }; RegisterFilters(); @@ -210,6 +216,9 @@ namespace AideDeJeu.ViewModels.Library List> levels, List> schools, List> rituals, + List> castingTimes, + List> ranges, + List> durations, List> sources) { this.Family = family; @@ -217,6 +226,9 @@ namespace AideDeJeu.ViewModels.Library this.Levels = levels; this.Schools = schools; this.Rituals = rituals; + this.CastingTimes = castingTimes; + this.Ranges = ranges; + this.Durations = durations; this.Sources = sources; } @@ -235,6 +247,9 @@ namespace AideDeJeu.ViewModels.Library var levelMax = LevelConverter(Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxLevel).SelectedKey) ?? "9"; var school = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.School).SelectedKey ?? ""; var ritual = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Ritual).SelectedKey ?? ""; + var castingTime = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.CastingTime).SelectedKey ?? ""; + var range = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Range).SelectedKey ?? ""; + var duration = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Duration).SelectedKey ?? ""; var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? ""; try { @@ -249,6 +264,9 @@ namespace AideDeJeu.ViewModels.Library (spell.Source != null && spell.Source.Contains(source)) && (spell.Classes != null && spell.Classes.Contains(classe)) && (string.IsNullOrEmpty(ritual) || (spell.Ritual != null && spell.Ritual.Contains(ritual))) && + (spell.CastingTime != null) && spell.CastingTime.Contains(castingTime) && + (spell.Range != null) && spell.Range.Contains(range) && + (spell.Duration != null) && spell.Duration.Contains(duration) && ( (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())) @@ -274,6 +292,12 @@ namespace AideDeJeu.ViewModels.Library public List> Rituals { get; } + public List> CastingTimes { get; } + + public List> Ranges { get; } + + public List> Durations { get; } + public List> Sources { get; } } diff --git a/Data/HD/hd_spells.md b/Data/HD/hd_spells.md index 5fcdcc65..0856a009 100644 --- a/Data/HD/hd_spells.md +++ b/Data/HD/hd_spells.md @@ -4,6 +4,9 @@ Classes: Barde|Clerc|Druide|Ensorceleur|Magicien|Ombrelame|Paladin|Rôdeur|Sorci Levels: Sorts mineurs|Niveau 1|Niveau 2|Niveau 3|Niveau 4|Niveau 5|Niveau 6|Niveau 7|Niveau 8|Niveau 9 Schools: Abjuration|Divination|Enchantement|Évocation|Illusion|Invocation|Nécromancie|Transmutation Rituals: Rituel +CastingTimes: 1 réaction|1 action bonus|1 action|1 minute|10 minutes|1 heure|8 heures|12 heures|24 heures +Ranges: personnel|contact|vision|selon l'arme utilisée|spéciale|1,5 mètre|3 mètres|4,50 mètres|9 mètres|12 mètres|18 mètres|27 mètres|30 mètres|36 mètres|45 mètres|90 mètres|150 mètres|450 mètres|1 kilomètre|1,5 kilomètre|7,5 kilomètres|750 kilomètres|illimitée +Durations: concentration, jusqu'à 1 round|concentration, jusqu'à 1 minute|concentration, jusqu'à 10 minutes|concentration, jusqu'à 1 heure|concentration, jusqu'à 2 heures|concentration, jusqu'à 8 heures|concentration, jusqu'à 24 heures|concentration, jusqu'à 1 jour|instantané|instantanée|1 round|1 minute|jusqu'à 1 minute|10 minutes|1 heure|jusqu'à 1 heure|8 heures|jusqu'à 8 heures|24 heures|1 jour|7 jours|10 jours|30 jours|jusqu'à dissipation|jusqu'à dissipation ou déclenchement|spéciale Sources: SRD|MDR Family: SpellHD SubItems: @@ -20380,7 +20383,7 @@ SubItems: Level: 3 Type: Invocation CastingTime: 1 action - Range: personnelle (4,5 mètres de rayon) + Range: personnelle (4,50 mètres de rayon) Components: V, S M (un symbole sacré) Duration: concentration, jusqu'à 10 minutes Classes: '[Clerc](hd_cleric.md)' @@ -20420,7 +20423,7 @@ SubItems: - - **Portée :** personnelle (4,5 mètres de rayon) + - **Portée :** personnelle (4,50 mètres de rayon) @@ -20486,7 +20489,7 @@ SubItems: CastingTime: 1 action - Range: personnelle (4,5 mètres de rayon) + Range: personnelle (4,50 mètres de rayon) Components: V, S M (un symbole sacré) @@ -29272,7 +29275,7 @@ SubItems: Level: 5 Type: Nécromancie CastingTime: 1 action - Range: 9 m + Range: 9 mètres Components: V, S Duration: instantanée Classes: '[Paladin](hd_paladin.md)' @@ -29301,7 +29304,7 @@ SubItems: - - **Portée :** 9 m + - **Portée :** 9 mètres @@ -29339,7 +29342,7 @@ SubItems: CastingTime: 1 action - Range: 9 m + Range: 9 mètres Components: V, S @@ -49924,7 +49927,7 @@ SubItems: Level: 1 Type: Invocation CastingTime: 1 action - Range: 9 m + Range: 9 mètres Components: V, S Duration: concentration, jusqu'à 1 minute Classes: '[Ensorceleur](hd_sorcerer.md), [Magicien](hd_wizard.md), [Sorcier](hd_warlock.md)' @@ -49953,7 +49956,7 @@ SubItems: - - **Portée :** 9 m + - **Portée :** 9 mètres @@ -49997,7 +50000,7 @@ SubItems: CastingTime: 1 action - Range: 9 m + Range: 9 mètres Components: V, S @@ -59448,7 +59451,7 @@ Vous touchez une créature consentante et, jusqu'à la fin du sort, vous l'immun - **Temps d'incantation :** 1 action -- **Portée :** personnelle (4,5 mètres de rayon) +- **Portée :** personnelle (4,50 mètres de rayon) - **Composantes :** V, S M (un symbole sacré) @@ -61256,7 +61259,7 @@ Si le MJ est d'accord, vous pouvez choisir un autre effet de malédiction, mais -  Nécromancie de niveau 5 - **Temps d'incantation :** 1 action -- **Portée :** 9 m +- **Portée :** 9 mètres - **Composantes :** V, S - **Durée :** instantanée - Classes: [Paladin](hd_paladin.md) @@ -65424,7 +65427,7 @@ Vous faites jaillir du sol des stalagmites de pierre d'une hauteur de 3 mètres -  Invocation de niveau 1 - **Temps d'incantation :** 1 action -- **Portée :** 9 m +- **Portée :** 9 mètres - **Composantes :** V, S - **Durée :** concentration, jusqu'à 1 minute - Classes: [Ensorceleur](hd_sorcerer.md), [Magicien](hd_wizard.md), [Sorcier](hd_warlock.md) diff --git a/Data/HD/hd_spells_esprits_gardiens.md b/Data/HD/hd_spells_esprits_gardiens.md index ac479a94..e3546f6c 100644 --- a/Data/HD/hd_spells_esprits_gardiens.md +++ b/Data/HD/hd_spells_esprits_gardiens.md @@ -10,7 +10,7 @@ - **Temps d'incantation :** 1 action -- **Portée :** personnelle (4,5 mètres de rayon) +- **Portée :** personnelle (4,50 mètres de rayon) - **Composantes :** V, S M (un symbole sacré) diff --git a/Data/HD/hd_spells_jugement_dernier.md b/Data/HD/hd_spells_jugement_dernier.md index ccd44a8e..5adf31ea 100644 --- a/Data/HD/hd_spells_jugement_dernier.md +++ b/Data/HD/hd_spells_jugement_dernier.md @@ -6,7 +6,7 @@ -  Nécromancie de niveau 5 - **Temps d'incantation :** 1 action -- **Portée :** 9 m +- **Portée :** 9 mètres - **Composantes :** V, S - **Durée :** instantanée - Classes: [Paladin](hd_paladin.md) diff --git a/Data/HD/hd_spells_strangulation.md b/Data/HD/hd_spells_strangulation.md index e881fef1..995924e6 100644 --- a/Data/HD/hd_spells_strangulation.md +++ b/Data/HD/hd_spells_strangulation.md @@ -6,7 +6,7 @@ -  Invocation de niveau 1 - **Temps d'incantation :** 1 action -- **Portée :** 9 m +- **Portée :** 9 mètres - **Composantes :** V, S - **Durée :** concentration, jusqu'à 1 minute - Classes: [Ensorceleur](hd_sorcerer.md), [Magicien](hd_wizard.md), [Sorcier](hd_warlock.md) diff --git a/Data/library.db b/Data/library.db index e1428038..89a97eb2 100644 Binary files a/Data/library.db and b/Data/library.db differ diff --git a/Data/spells_hd.md b/Data/spells_hd.md index e01c3293..a272b4b5 100644 --- a/Data/spells_hd.md +++ b/Data/spells_hd.md @@ -1,5 +1,5 @@  - +[Manuel des règles](index.md) @@ -3905,7 +3905,7 @@ Vous touchez une créature consentante et, jusqu'à la fin du sort, vous l'immun -  Invocation de niveau 3 - **Temps d'incantation :** 1 action -- **Portée :** personnelle (4,5 mètres de rayon) +- **Portée :** personnelle (4,50 mètres de rayon) - **Composantes :** V, S M (un symbole sacré) - **Durée :** concentration, jusqu'à 10 minutes - Classes: [Clerc] @@ -5637,7 +5637,7 @@ Si le MJ est d'accord, vous pouvez choisir un autre effet de malédiction, mais -  Nécromancie de niveau 5 - **Temps d'incantation :** 1 action -- **Portée :** 9 m +- **Portée :** 9 mètres - **Composantes :** V, S - **Durée :** instantanée - Classes: [Paladin] @@ -9633,7 +9633,7 @@ Vous faites jaillir du sol des stalagmites de pierre d'une hauteur de 3 mètres -  Invocation de niveau 1 - **Temps d'incantation :** 1 action -- **Portée :** 9 m +- **Portée :** 9 mètres - **Composantes :** V, S - **Durée :** concentration, jusqu'à 1 minute - Classes: [Ensorceleur], [Magicien], [Sorcier]