diff --git a/ARKBreedingStats/Properties/AssemblyInfo.cs b/ARKBreedingStats/Properties/AssemblyInfo.cs
index ed3d532f..0c1f66c0 100644
--- a/ARKBreedingStats/Properties/AssemblyInfo.cs
+++ b/ARKBreedingStats/Properties/AssemblyInfo.cs
@@ -30,6 +30,6 @@
// Revision
//
[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("0.63.1.0")]
+[assembly: AssemblyFileVersion("0.63.1.1")]
[assembly: NeutralResourcesLanguage("en")]
diff --git a/ARKBreedingStats/StatsOptions/LevelColorSettings/LevelGraphOptionsControl.cs b/ARKBreedingStats/StatsOptions/LevelColorSettings/LevelGraphOptionsControl.cs
index 003efa1d..f6304319 100644
--- a/ARKBreedingStats/StatsOptions/LevelColorSettings/LevelGraphOptionsControl.cs
+++ b/ARKBreedingStats/StatsOptions/LevelColorSettings/LevelGraphOptionsControl.cs
@@ -58,7 +58,8 @@ private void ResetCurrentSettingsToDefault(object sender, EventArgs e)
SelectedStatsOptions.StatOptions[si] = new StatLevelColors
{
LevelGraphRepresentation = LevelGraphRepresentation.GetDefaultValue,
- LevelGraphRepresentationMutation = LevelGraphRepresentation.GetDefaultMutationLevelValue
+ LevelGraphRepresentationMutation = LevelGraphRepresentation.GetDefaultMutationLevelValue,
+ UseDifferentColorsForMutationLevels = true
};
_statOptionsControls[si].SetStatOptions(SelectedStatsOptions.StatOptions[si], isNotRoot, SelectedStatsOptions.ParentOptions);
}
diff --git a/ARKBreedingStats/StatsOptions/LevelColorSettings/StatLevelColors.cs b/ARKBreedingStats/StatsOptions/LevelColorSettings/StatLevelColors.cs
index 2a46f5c5..c12155ee 100644
--- a/ARKBreedingStats/StatsOptions/LevelColorSettings/StatLevelColors.cs
+++ b/ARKBreedingStats/StatsOptions/LevelColorSettings/StatLevelColors.cs
@@ -56,7 +56,7 @@ private LevelGraphRepresentation GetLevelGraphRepresentation(int level, bool use
&& level % 2 == 1)
return LevelGraphRepresentationOdd;
- return LevelGraphRepresentation;
+ return LevelGraphRepresentation ?? LevelGraphRepresentation.GetDefaultValue;
}
public Color GetLevelColor(int level, bool useCustomOdd = true, bool mutationLevel = false)
@@ -85,9 +85,9 @@ public override void Initialize()
///
/// Call before saving. Sets unused settings to null.
///
- public override void PrepareForSaving()
+ public override void PrepareForSaving(bool isRoot)
{
- if (!OverrideParent)
+ if (!OverrideParent && !isRoot)
{
LevelGraphRepresentation = null;
LevelGraphRepresentationOdd = null;
diff --git a/ARKBreedingStats/StatsOptions/StatOptionsBase.cs b/ARKBreedingStats/StatsOptions/StatOptionsBase.cs
index dbb9badb..2f24f6e8 100644
--- a/ARKBreedingStats/StatsOptions/StatOptionsBase.cs
+++ b/ARKBreedingStats/StatsOptions/StatOptionsBase.cs
@@ -4,7 +4,7 @@ public abstract class StatOptionsBase
{
public abstract void Initialize();
- public abstract void PrepareForSaving();
+ public abstract void PrepareForSaving(bool isRoot);
///
/// If true don't use values of parent but overrides of this object.
diff --git a/ARKBreedingStats/StatsOptions/StatsOptionsSettings.cs b/ARKBreedingStats/StatsOptions/StatsOptionsSettings.cs
index 7010edbc..05ccc155 100644
--- a/ARKBreedingStats/StatsOptions/StatsOptionsSettings.cs
+++ b/ARKBreedingStats/StatsOptions/StatsOptionsSettings.cs
@@ -131,7 +131,7 @@ public void SaveSettings()
o.ParentName = null; // don't save direct loop
foreach (var so in o.StatOptions)
{
- so.PrepareForSaving();
+ so.PrepareForSaving(string.IsNullOrEmpty(o.Name));
}
}
@@ -171,7 +171,7 @@ public StatsOptions GetStatsOptions(Species species)
}
else
{
- // error, on default settings available
+ // error, no default settings available
return null;
}
diff --git a/ARKBreedingStats/StatsOptions/TopStatsSettings/ConsiderTopStats.cs b/ARKBreedingStats/StatsOptions/TopStatsSettings/ConsiderTopStats.cs
index cfc5a5db..5130156b 100644
--- a/ARKBreedingStats/StatsOptions/TopStatsSettings/ConsiderTopStats.cs
+++ b/ARKBreedingStats/StatsOptions/TopStatsSettings/ConsiderTopStats.cs
@@ -22,9 +22,9 @@ public override void Initialize()
OverrideParent = OverrideParentBool;
}
- public override void PrepareForSaving()
+ public override void PrepareForSaving(bool isRoot)
{
- OverrideParentBool = OverrideParent;
+ OverrideParentBool = OverrideParent || isRoot;
}
public override bool DefinesData() => true;
diff --git a/ARKBreedingStats/_manifest.json b/ARKBreedingStats/_manifest.json
index 953789b1..e284a5a5 100644
--- a/ARKBreedingStats/_manifest.json
+++ b/ARKBreedingStats/_manifest.json
@@ -4,7 +4,7 @@
"ARK Smart Breeding": {
"Id": "ARK Smart Breeding",
"Category": "main",
- "version": "0.63.1.0"
+ "version": "0.63.1.1"
},
"SpeciesColorImages": {
"Id": "SpeciesColorImages",