diff --git a/AideDeJeu/AideDeJeu/Models/Races/RaceItem.cs b/AideDeJeu/AideDeJeu/Models/Races/RaceItem.cs
index afe2797c..5028beb0 100644
--- a/AideDeJeu/AideDeJeu/Models/Races/RaceItem.cs
+++ b/AideDeJeu/AideDeJeu/Models/Races/RaceItem.cs
@@ -13,7 +13,14 @@ namespace AideDeJeuLib
string IntelligenceBonus { get; set; }
string WisdomBonus { get; set; }
string CharismaBonus { get; set; }
- string AnyAbilityBonus { get; set; }
+
+ string DispatchedBonus { get; set; }
+ string MaxDispatchedStrengthBonus { get; set; }
+ string MaxDispatchedDexterityBonus { get; set; }
+ string MaxDispatchedConstitutionBonus { get; set; }
+ string MaxDispatchedIntelligenceBonus { get; set; }
+ string MaxDispatchedWisdomBonus { get; set; }
+ string MaxDispatchedCharismaBonus { get; set; }
string AbilityScoreIncrease { get; set; }
string Age { get; set; }
diff --git a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/AbilitiesViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/AbilitiesViewModel.cs
index 1458338e..ab5d95b9 100644
--- a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/AbilitiesViewModel.cs
+++ b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/AbilitiesViewModel.cs
@@ -28,12 +28,49 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
public class AbilityViewModel : BaseViewModel
{
private int? _BaseValue = null;
- public int? BaseValue { get { return _BaseValue; } set { SetProperty(ref _BaseValue, value); OnPropertyChanged(nameof(Value)); OnPropertyChanged(nameof(Mod)); } }
- private int _Bonus = 0;
- public int Bonus { get { return _Bonus; } set { SetProperty(ref _Bonus, value); OnPropertyChanged(nameof(Value)); OnPropertyChanged(nameof(Mod)); } }
+ public int? BaseValue
+ {
+ get { return _BaseValue; }
+ set
+ {
+ SetProperty(ref _BaseValue, value);
+ OnPropertyChanged(nameof(Value));
+ OnPropertyChanged(nameof(Mod));
+ OnPropertyChanged(nameof(ValueString));
+ OnPropertyChanged(nameof(ModString));
+ }
+ }
+ private int _RacialBonus = 0;
+ public int RacialBonus
+ {
+ get { return _RacialBonus; }
+ set
+ {
+ SetProperty(ref _RacialBonus, value);
+ OnPropertyChanged(nameof(Value));
+ OnPropertyChanged(nameof(Mod));
+ OnPropertyChanged(nameof(ValueString));
+ OnPropertyChanged(nameof(ModString));
+ }
+ }
+ private int _RacialDispatchedBonus = 0;
+ public int RacialDispatchedBonus
+ {
+ get { return _RacialDispatchedBonus; }
+ set
+ {
+ SetProperty(ref _RacialDispatchedBonus, value);
+ OnPropertyChanged(nameof(Value));
+ OnPropertyChanged(nameof(Mod));
+ OnPropertyChanged(nameof(ValueString));
+ OnPropertyChanged(nameof(ModString));
+ }
+ }
- public int? Value { get { return BaseValue != null ? BaseValue + Bonus : null; } }
+ public int? Value { get { return BaseValue != null ? BaseValue + RacialBonus + RacialDispatchedBonus : null; } }
+ public string ValueString { get { return Value != null ? Value.ToString() : null; } }
public int? Mod { get { return Value != null ? Value / 2 - 5 : null; } }
+ public string ModString { get { return Mod != null ? Mod.Value.ToString("+0;-#") : null; } }
}
}
diff --git a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs
index 5ce8b021..5a601400 100644
--- a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs
+++ b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs
@@ -56,12 +56,12 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
switch(e.PropertyName)
{
case nameof(SelectedPlayerCharacter.Race):
- SelectedPlayerCharacter.Abilities.Strength.Bonus = int.Parse(SelectedPlayerCharacter.Race.Race.StrengthBonus ?? "0");
- SelectedPlayerCharacter.Abilities.Dexterity.Bonus = int.Parse(SelectedPlayerCharacter.Race.Race.DexterityBonus ?? "0");
- SelectedPlayerCharacter.Abilities.Constitution.Bonus = int.Parse(SelectedPlayerCharacter.Race.Race.ConstitutionBonus ?? "0");
- SelectedPlayerCharacter.Abilities.Intelligence.Bonus = int.Parse(SelectedPlayerCharacter.Race.Race.IntelligenceBonus ?? "0");
- SelectedPlayerCharacter.Abilities.Wisdom.Bonus = int.Parse(SelectedPlayerCharacter.Race.Race.WisdomBonus ?? "0");
- SelectedPlayerCharacter.Abilities.Charisma.Bonus = int.Parse(SelectedPlayerCharacter.Race.Race.CharismaBonus ?? "0");
+ SelectedPlayerCharacter.Abilities.Strength.RacialBonus = int.Parse(SelectedPlayerCharacter.Race.Race.StrengthBonus ?? "0");
+ SelectedPlayerCharacter.Abilities.Dexterity.RacialBonus = int.Parse(SelectedPlayerCharacter.Race.Race.DexterityBonus ?? "0");
+ SelectedPlayerCharacter.Abilities.Constitution.RacialBonus = int.Parse(SelectedPlayerCharacter.Race.Race.ConstitutionBonus ?? "0");
+ SelectedPlayerCharacter.Abilities.Intelligence.RacialBonus = int.Parse(SelectedPlayerCharacter.Race.Race.IntelligenceBonus ?? "0");
+ SelectedPlayerCharacter.Abilities.Wisdom.RacialBonus = int.Parse(SelectedPlayerCharacter.Race.Race.WisdomBonus ?? "0");
+ SelectedPlayerCharacter.Abilities.Charisma.RacialBonus = int.Parse(SelectedPlayerCharacter.Race.Race.CharismaBonus ?? "0");
break;
}
}
@@ -1229,17 +1229,17 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
(SelectedPersonalityDefect ?? string.Empty)
);
form.SetField("For Valeur", SelectedPlayerCharacter?.Abilities?.Strength?.Value?.ToString());
- form.SetField("For MOD", SelectedPlayerCharacter?.Abilities?.Strength?.Mod?.ToString());
+ form.SetField("For MOD", SelectedPlayerCharacter?.Abilities?.Strength?.ModString);
form.SetField("Dex Valeur", SelectedPlayerCharacter?.Abilities?.Dexterity?.Value?.ToString());
- form.SetField("Dex MOD", SelectedPlayerCharacter?.Abilities?.Dexterity?.Mod?.ToString());
+ form.SetField("Dex MOD", SelectedPlayerCharacter?.Abilities?.Dexterity?.ModString);
form.SetField("Con Valeur", SelectedPlayerCharacter?.Abilities?.Constitution?.Value?.ToString());
- form.SetField("Con MOD", SelectedPlayerCharacter?.Abilities?.Constitution?.Mod?.ToString());
+ form.SetField("Con MOD", SelectedPlayerCharacter?.Abilities?.Constitution?.ModString);
form.SetField("Int Valeur", SelectedPlayerCharacter?.Abilities?.Intelligence?.Value?.ToString());
- form.SetField("Int MOD", SelectedPlayerCharacter?.Abilities?.Intelligence?.Mod?.ToString());
+ form.SetField("Int MOD", SelectedPlayerCharacter?.Abilities?.Intelligence?.ModString);
form.SetField("Sag Valeur", SelectedPlayerCharacter?.Abilities?.Wisdom?.Value?.ToString());
- form.SetField("Sag MOD", SelectedPlayerCharacter?.Abilities?.Wisdom?.Mod?.ToString());
+ form.SetField("Sag MOD", SelectedPlayerCharacter?.Abilities?.Wisdom?.ModString);
form.SetField("Cha Valeur", SelectedPlayerCharacter?.Abilities?.Charisma?.Value?.ToString());
- form.SetField("Cha MOD", SelectedPlayerCharacter?.Abilities?.Charisma?.Mod?.ToString());
+ form.SetField("Cha MOD", SelectedPlayerCharacter?.Abilities?.Charisma?.ModString);
//PdfContentByte cb = stamper.GetOverContent(1);
//cb.SetRGBColorFill(255, 0, 0);
diff --git a/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml b/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml
index 5a9cb40f..0f4b5bf8 100644
--- a/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml
+++ b/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml
@@ -207,6 +207,8 @@
+
+
diff --git a/Data/half-elf_hd.md b/Data/half-elf_hd.md
index fed38e2a..cb50779a 100644
--- a/Data/half-elf_hd.md
+++ b/Data/half-elf_hd.md
@@ -1,5 +1,5 @@
-
+
> [Races](races_hd.md#)