1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-29 14:35:45 +00:00

Filtres sur casting time, range, duration

This commit is contained in:
Yan Maniez 2019-07-18 13:55:53 +02:00
parent 3164665221
commit 145c050d2d
8 changed files with 52 additions and 19 deletions

View file

@ -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)
);
}

View file

@ -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<KeyValuePair<string, string>> levels,
List<KeyValuePair<string, string>> schools,
List<KeyValuePair<string, string>> rituals,
List<KeyValuePair<string, string>> castingTimes,
List<KeyValuePair<string, string>> ranges,
List<KeyValuePair<string, string>> durations,
List<KeyValuePair<string, string>> 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<KeyValuePair<string, string>> Rituals { get; }
public List<KeyValuePair<string, string>> CastingTimes { get; }
public List<KeyValuePair<string, string>> Ranges { get; }
public List<KeyValuePair<string, string>> Durations { get; }
public List<KeyValuePair<string, string>> Sources { get; }
}

View file

@ -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 :** <!--Range-->personnelle (4,5 mètres de rayon)<!--/Range-->
- **Portée :** <!--Range-->personnelle (4,50 mètres de rayon)<!--/Range-->
@ -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 :** <!--Range-->9 m<!--/Range-->
- **Portée :** <!--Range-->9 mètres<!--/Range-->
@ -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 :** <!--Range-->9 m<!--/Range-->
- **Portée :** <!--Range-->9 mètres<!--/Range-->
@ -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)

View file

@ -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é)

View file

@ -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)

View file

@ -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)

Binary file not shown.

View file

@ -1,5 +1,5 @@

<!--SpellItems Family="SpellHD" Classes="Barde|Clerc|Druide|Ensorceleur|Magicien|Ombrelame|Paladin|Rôdeur|Sorcier" 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" Sources="SRD|MDR"-->
<!--SpellItems Family="SpellHD" Classes="Barde|Clerc|Druide|Ensorceleur|Magicien|Ombrelame|Paladin|Rôdeur|Sorcier" 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" 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" 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" Sources="SRD|MDR"-->
> <!--ParentNameLink-->[Manuel des règles](index.md)<!--/ParentNameLink-->
@ -3905,7 +3905,7 @@ Vous touchez une créature consentante et, jusqu'à la fin du sort, vous l'immun
-  <!--Type-->Invocation<!--/Type--> de niveau <!--Level-->3<!--/Level-->
- **Temps d'incantation :** <!--CastingTime-->1 action<!--/CastingTime-->
- **Portée :** <!--Range-->personnelle (4,5 mètres de rayon)<!--/Range-->
- **Portée :** <!--Range-->personnelle (4,50 mètres de rayon)<!--/Range-->
- **Composantes :** <!--Components-->V, S M (un symbole sacré)<!--/Components-->
- **Durée :** <!--Duration-->concentration, jusqu'à 10 minutes<!--/Duration-->
- Classes: <!--Classes-->[Clerc]<!--/Classes-->
@ -5637,7 +5637,7 @@ Si le MJ est d'accord, vous pouvez choisir un autre effet de malédiction, mais
-  <!--Type-->Nécromancie<!--/Type--> de niveau <!--Level-->5<!--/Level-->
- **Temps d'incantation :** <!--CastingTime-->1 action<!--/CastingTime-->
- **Portée :** <!--Range-->9 m<!--/Range-->
- **Portée :** <!--Range-->9 mètres<!--/Range-->
- **Composantes :** <!--Components-->V, S<!--/Components-->
- **Durée :** <!--Duration-->instantanée<!--/Duration-->
- Classes: <!--Classes-->[Paladin]<!--/Classes-->
@ -9633,7 +9633,7 @@ Vous faites jaillir du sol des stalagmites de pierre d'une hauteur de 3 mètres
-  <!--Type-->Invocation<!--/Type--> de niveau <!--Level-->1<!--/Level-->
- **Temps d'incantation :** <!--CastingTime-->1 action<!--/CastingTime-->
- **Portée :** <!--Range-->9 m<!--/Range-->
- **Portée :** <!--Range-->9 mètres<!--/Range-->
- **Composantes :** <!--Components-->V, S<!--/Components-->
- **Durée :** <!--Duration-->concentration, jusqu'à 1 minute<!--/Duration-->
- Classes: <!--Classes-->[Ensorceleur], [Magicien], [Sorcier]<!--/Classes-->