diff --git a/ARKBreedingStats/App.config b/ARKBreedingStats/App.config
index cf2fd3da..e9a0f7a6 100644
--- a/ARKBreedingStats/App.config
+++ b/ARKBreedingStats/App.config
@@ -118,6 +118,18 @@
False
+
+
+
+
+ False
+
+
+
+
+
+ False
+
diff --git a/ARKBreedingStats/BreedingPlan.cs b/ARKBreedingStats/BreedingPlan.cs
index 0dc375b4..027d5498 100644
--- a/ARKBreedingStats/BreedingPlan.cs
+++ b/ARKBreedingStats/BreedingPlan.cs
@@ -192,11 +192,9 @@ private void AsyncCalculateBreedingScoresAndDisplayPairs(BreedingMode breedingMo
// chosen Creature (only consider this one for its sex)
bool considerChosenCreature = chosenCreature != null;
- labelTitle.Text = currentSpecies + (considerChosenCreature ? " (only pairings with \"" + chosenCreature.name + "\")" : "");
- if (considerChosenCreature && (chosenCreature.neutered || chosenCreature.status != CreatureStatus.Available))
- labelTitle.Text += "! Breeding not possible ! (" + (chosenCreature.neutered ? "neutered" : "not available") + ")";
-
// filter by tags
+ int crCountF = females.Count;
+ int crCountM = males.Count;
List chosenF, chosenM;
if (considerChosenCreature && chosenCreature.sex == Sex.Female)
chosenF = new List();
@@ -205,11 +203,18 @@ private void AsyncCalculateBreedingScoresAndDisplayPairs(BreedingMode breedingMo
chosenM = new List();
else chosenM = filterByTags(males);
+ bool creaturesTagFilteredOut = (crCountF != chosenF.Count)
+ || (crCountM != chosenM.Count);
+
+ crCountF = chosenF.Count;
+ crCountM = chosenM.Count;
if (nudMutationLimit.Value >= 0)
{
chosenF = chosenF.Where(c => c.mutationsMaternal + c.mutationsPaternal <= nudMutationLimit.Value).ToList();
chosenM = chosenM.Where(c => c.mutationsMaternal + c.mutationsPaternal <= nudMutationLimit.Value).ToList();
}
+ bool creaturesMutationsFilteredOut = (crCountF != chosenF.Count)
+ || (crCountM != chosenM.Count);
if (considerChosenCreature)
{
@@ -219,10 +224,31 @@ private void AsyncCalculateBreedingScoresAndDisplayPairs(BreedingMode breedingMo
chosenM.Add(chosenCreature);
}
+ labelTitle.Text = currentSpecies + (considerChosenCreature ? " (only pairings with \"" + chosenCreature.name + "\")" : "");
+ if (considerChosenCreature && (chosenCreature.neutered || chosenCreature.status != CreatureStatus.Available))
+ labelTitle.Text += "! Breeding not possible ! (" + (chosenCreature.neutered ? "neutered" : "not available") + ")";
+
+ string warningText = "";
+ if (creaturesTagFilteredOut) warningText = "Some creatures are filtered out due to their tags";
+ if (creaturesMutationsFilteredOut) warningText += (warningText.Length > 0 ? " or mutations" : "Some creatures are filtered out due to their mutations");
+ if (warningText.Length > 0) setMessageLabelText(warningText + ".\nThe top-stats shown here might not be the top-stats of your entire library", MessageBoxIcon.Warning);
+
+
+ var combinedCreatures = new List(chosenF);
+ combinedCreatures.AddRange(chosenM);
+ // determine top-stats for choosen creatures.
+ int[] topStats = new int[7];
+ foreach (Creature c in combinedCreatures)
+ {
+ for (int s = 0; s < 7; s++)
+ {
+ if (c.levelsWild[s] > topStats[s])
+ c.levelsWild[s] = topStats[s];
+ }
+ }
+
if (Properties.Settings.Default.IgnoreSexInBreedingPlan)
{
- var combinedCreatures = new List(chosenF);
- combinedCreatures.AddRange(chosenM);
chosenF = new List(combinedCreatures);
chosenM = new List(combinedCreatures);
}
@@ -260,9 +286,9 @@ private void AsyncCalculateBreedingScoresAndDisplayPairs(BreedingMode breedingMo
{
if (breedingMode == BreedingMode.TopStatsLucky)
{
- if (female.topBreedingStats[s] || male.topBreedingStats[s])
+ if (female.levelsWild[s] == topStats[s] || male.levelsWild[s] == topStats[s])
{
- if (female.topBreedingStats[s] && male.topBreedingStats[s])
+ if (female.levelsWild[s] == topStats[s] && male.levelsWild[s] == topStats[s])
tt *= 1.142;
}
else if (bestLevels[s] > 0)
@@ -272,10 +298,10 @@ private void AsyncCalculateBreedingScoresAndDisplayPairs(BreedingMode breedingMo
{
bestPossLevels[s] = (Int16)Math.Max(female.levelsWild[s], male.levelsWild[s]);
tt *= .01;
- if (female.topBreedingStats[s] || male.topBreedingStats[s])
+ if (female.levelsWild[s] == topStats[s] || male.levelsWild[s] == topStats[s])
{
nrTS++;
- eTS += ((female.topBreedingStats[s] && male.topBreedingStats[s]) ? 1 : 0.7);
+ eTS += ((female.levelsWild[s] == topStats[s] && male.levelsWild[s] == topStats[s]) ? 1 : 0.7);
}
}
}
@@ -472,7 +498,7 @@ private void AsyncCalculateBreedingScoresAndDisplayPairs(BreedingMode breedingMo
setMessageLabelText("There is already a creature in your library that has all the available top-stats ("
+ bestCreature.name + " " + Utils.sexSymbol(bestCreature.sex) + ")."
+ "\nThe currently selected conservative-breeding-mode might show some suggestions that may seem non-optimal.\n"
- + "Change the breeding-mode to \"High Stats\" for better suggestions.");
+ + "Change the breeding-mode to \"High Stats\" for better suggestions.", MessageBoxIcon.Warning);
}
}
else
@@ -534,7 +560,7 @@ public void ClearControls()
labelInfo.Visible = false;
labelProbabilityBest.Text = "";
offspringPossibilities1.Clear();
- setMessageLabelText("");
+ setMessageLabelText("", MessageBoxIcon.None);
}
public void Clear()
diff --git a/ARKBreedingStats/CreatureCollection.cs b/ARKBreedingStats/CreatureCollection.cs
index 086c1594..2bfbdc78 100644
--- a/ARKBreedingStats/CreatureCollection.cs
+++ b/ARKBreedingStats/CreatureCollection.cs
@@ -25,6 +25,8 @@ namespace ARKBreedingStats
public List hiddenOwners = new List(); // which owners are not selected to be shown
[XmlArray]
internal List hiddenServers = new List();
+ [XmlArray]
+ public List dontShowTags = new List(); // which tags are selected to be not shown
public bool showDeads = true;
public bool showUnavailable = true;
public bool showNeutered = true;
@@ -37,6 +39,7 @@ namespace ARKBreedingStats
public int maxBreedingSuggestions = 10;
public bool considerWildLevelSteps = false;
public int wildLevelStep = 5;
+ public int maxServerLevel = 450; // on official servers a creature with more than 450 total levels will be deleted
public double imprintingMultiplier = 1;
public double babyCuddleIntervalMultiplier = 1;
@@ -89,7 +92,8 @@ public bool mergeCreatureList(List creaturesToMerge, bool update = fal
if (old.species != creature.species) continue;
bool recalculate = false;
- if (old.status == CreatureStatus.Unavailable && creature.status == CreatureStatus.Alive) {
+ if (old.status == CreatureStatus.Unavailable && creature.status == CreatureStatus.Alive)
+ {
old.colors = creature.colors;
old.cooldownUntil = creature.cooldownUntil;
old.domesticatedAt = creature.domesticatedAt;
@@ -126,32 +130,39 @@ public bool mergeCreatureList(List creaturesToMerge, bool update = fal
old.valuesDom = creature.valuesDom;
creaturesWereAdded = true;
recalculate = true;
- } else {
+ }
+ else
+ {
- if (old.name != creature.name) {
+ if (old.name != creature.name)
+ {
old.name = creature.name;
creaturesWereAdded = true;
}
- if (!old.levelsWild.SequenceEqual(creature.levelsWild)) {
+ if (!old.levelsWild.SequenceEqual(creature.levelsWild))
+ {
old.levelsWild = creature.levelsWild;
recalculate = true;
creaturesWereAdded = true;
}
- if (!old.levelsDom.SequenceEqual(creature.levelsDom)) {
+ if (!old.levelsDom.SequenceEqual(creature.levelsDom))
+ {
old.levelsDom = creature.levelsDom;
recalculate = true;
creaturesWereAdded = true;
}
- if (old.imprintingBonus != creature.imprintingBonus) {
+ if (old.imprintingBonus != creature.imprintingBonus)
+ {
old.imprintingBonus = creature.imprintingBonus;
recalculate = true;
creaturesWereAdded = true;
}
- if (old.tamingEff != creature.tamingEff) {
+ if (old.tamingEff != creature.tamingEff)
+ {
old.tamingEff = creature.tamingEff;
recalculate = true;
creaturesWereAdded = true;
diff --git a/ARKBreedingStats/CreatureInfoInput.cs b/ARKBreedingStats/CreatureInfoInput.cs
index 28b9c96a..5af954e1 100644
--- a/ARKBreedingStats/CreatureInfoInput.cs
+++ b/ARKBreedingStats/CreatureInfoInput.cs
@@ -27,13 +27,14 @@ public partial class CreatureInfoInput : UserControl
private List _females;
private List _males;
private string[] _ownersTribes;
- public bool ownerLock, tribeLock; // if true the OCR will not change these fields
private int[] regionColorIDs;
+ private bool _tribeLock, _ownerLock;
public CreatureInfoInput()
{
InitializeComponent();
speciesIndex = -1;
+ textBoxName.Text = "";
parentComboBoxMother.naLabel = " - Mother n/a";
parentComboBoxMother.Items.Add(" - Mother n/a");
parentComboBoxFather.naLabel = " - Father n/a";
@@ -432,21 +433,41 @@ private void textBoxOwner_Leave(object sender, EventArgs e)
}
}
+ // if true the OCR will not change these fields
+ public bool OwnerLock
+ {
+ get { return _ownerLock; }
+ set
+ {
+ _ownerLock = value;
+ textBoxOwner.BackColor = value ? Color.LightGray : SystemColors.Window;
+ }
+ }
+ // if true the OCR will not change these fields
+ public bool TribeLock
+ {
+ get { return _tribeLock; }
+ set
+ {
+ _tribeLock = value;
+ textBoxTribe.BackColor = value ? Color.LightGray : SystemColors.Window;
+ }
+ }
+
private void lblOwner_Click(object sender, EventArgs e)
{
- ownerLock = !ownerLock;
- textBoxOwner.BackColor = ownerLock ? Color.LightGray : SystemColors.Window;
+ OwnerLock = !OwnerLock;
}
private void lblName_Click(object sender, EventArgs e)
{
- Clipboard.SetText(textBoxName.Text);
+ if (textBoxName.Text.Length > 0)
+ Clipboard.SetText(textBoxName.Text);
}
private void lblTribe_Click(object sender, EventArgs e)
{
- tribeLock = !tribeLock;
- textBoxTribe.BackColor = tribeLock ? Color.LightGray : SystemColors.Window;
+ TribeLock = !TribeLock;
}
}
}
diff --git a/ARKBreedingStats/Extraction.cs b/ARKBreedingStats/Extraction.cs
index a2288078..70a7054b 100644
--- a/ARKBreedingStats/Extraction.cs
+++ b/ARKBreedingStats/Extraction.cs
@@ -72,11 +72,6 @@ public void extractLevels(int speciesI, int level, List statIOs, double
this.bred = bred;
if (bred)
postTamed = true;
- //else if (autoDetectTamed && stats[7].AddWhenTamed > 0)
- //{
- // // torpor is directly proportional to wild level. Check if creature is wild or tamed (doesn't work with creatures that have no additive bonus on torpor, e.g. the Giganotosaurus)
- // postTamed = (Math.Round(stats[7].BaseValue * (1 + stats[7].IncPerWildLevel * Math.Round((statIOs[7].Input - stats[7].BaseValue) / (stats[7].BaseValue * stats[7].IncPerWildLevel))), 3) != statIOs[7].Input);
- //}
else
postTamed = tamed;
@@ -335,7 +330,7 @@ private List CalculateImprintingBonus(double imprintingBonusRounded, dou
for (int torporLevel = wildLevelsFromImprintedTorpor.Min; torporLevel <= wildLevelsFromImprintedTorpor.Max; torporLevel++)
{
int support = 0;
- MinMaxDouble imprintingBonusFromTorpor = new MinMaxDouble(
+ MinMaxDouble imprintingBonusRange = new MinMaxDouble(
(((torpor - 0.05) / (1 + stats[7].MultAffinity) - stats[7].AddWhenTamed) / Stats.calculateValue(speciesIndex, 7, torporLevel, 0, false, 0, 0) - 1) / (0.2 * imprintingBonusMultiplier),
(((torpor + 0.05) / (1 + stats[7].MultAffinity) - stats[7].AddWhenTamed) / Stats.calculateValue(speciesIndex, 7, torporLevel, 0, false, 0, 0) - 1) / (0.2 * imprintingBonusMultiplier));
@@ -348,23 +343,30 @@ private List CalculateImprintingBonus(double imprintingBonusRounded, dou
// NOTE. it's assumed if the IB-food is in the range of IB-torpor, the values are correct. This doesn't have to be true, but is very probable. If extraction-issues appear, this assumption could be the reason.
- if (imprintingBonusFromTorpor.Includes(imprintingBonusFromFood)
- && Stats.calculateValue(speciesIndex, 7, torporLevel, 0, true, 1, imprintingBonusFromFood.Mean) == torpor)
+ //if (imprintingBonusFromTorpor.Includes(imprintingBonusFromFood)
+ if (imprintingBonusRange.Overlaps(imprintingBonusFromFood))
{
- imprintingBonusFromTorpor = imprintingBonusFromFood;
- support++;
+ MinMaxDouble intersectionIB = new MinMaxDouble(imprintingBonusRange);
+ intersectionIB.SetToInsersectionWith(imprintingBonusFromFood);
+ if (Stats.calculateValue(speciesIndex, 7, torporLevel, 0, true, 1, intersectionIB.Min) <= torpor
+ && Stats.calculateValue(speciesIndex, 7, torporLevel, 0, true, 1, intersectionIB.Max) >= torpor)
+ {
+ //imprintingBonusFromTorpor = imprintingBonusFromFood;
+ imprintingBonusRange.SetToInsersectionWith(imprintingBonusFromFood);
+ support++;
+ }
}
}
// if classic method results in value in the possible range, take this, probably most exact value
- if (imprintingBonusFromTorpor.Includes(imprintingBonusFromGainPerCuddle)
+ if (imprintingBonusRange.Includes(imprintingBonusFromGainPerCuddle)
&& Stats.calculateValue(speciesIndex, 7, torporLevel, 0, true, 1, imprintingBonusFromGainPerCuddle) == torpor)
{
- imprintingBonusFromTorpor.MinMax = imprintingBonusFromGainPerCuddle;
+ imprintingBonusRange.MinMax = imprintingBonusFromGainPerCuddle;
support++;
}
- imprintingBonusList.Add(imprintingBonusFromTorpor);
+ imprintingBonusList.Add(imprintingBonusRange);
otherStatsSupportIB.Add(support);
}
diff --git a/ARKBreedingStats/Form1.Designer.cs b/ARKBreedingStats/Form1.Designer.cs
index 6478ffc0..71276987 100644
--- a/ARKBreedingStats/Form1.Designer.cs
+++ b/ARKBreedingStats/Form1.Designer.cs
@@ -190,6 +190,9 @@ private void InitializeComponent()
this.tabPageServer = new System.Windows.Forms.TabPage();
this.checkedListBoxFilterServers = new System.Windows.Forms.CheckedListBox();
this.cbServerFilterAll = new System.Windows.Forms.CheckBox();
+ this.tabPageTags = new System.Windows.Forms.TabPage();
+ this.checkedListBoxFilterTags = new System.Windows.Forms.CheckedListBox();
+ this.cbFilterTagsAll = new System.Windows.Forms.CheckBox();
this.tabPage3 = new System.Windows.Forms.TabPage();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.checkedListBoxConsiderStatTop = new System.Windows.Forms.CheckedListBox();
@@ -345,6 +348,7 @@ private void InitializeComponent()
this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.tabPageServer.SuspendLayout();
+ this.tabPageTags.SuspendLayout();
this.tabPage3.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
this.tabPage4.SuspendLayout();
@@ -1302,7 +1306,7 @@ private void InitializeComponent()
this.tabControlMain.Name = "tabControlMain";
this.tabControlMain.SelectedIndex = 1;
this.tabControlMain.Size = new System.Drawing.Size(1162, 688);
- this.tabControlMain.TabIndex = 0;
+ this.tabControlMain.TabIndex = 3;
this.tabControlMain.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
//
// tabPageStatTesting
@@ -1631,7 +1635,7 @@ private void InitializeComponent()
//
// creatureInfoInputTester
//
- this.creatureInfoInputTester.Cooldown = new System.DateTime(2018, 4, 9, 20, 28, 29, 583);
+ this.creatureInfoInputTester.Cooldown = new System.DateTime(2018, 4, 14, 11, 39, 47, 496);
this.creatureInfoInputTester.CreatureName = "";
this.creatureInfoInputTester.CreatureNote = "";
this.creatureInfoInputTester.CreatureOwner = "";
@@ -1641,13 +1645,14 @@ private void InitializeComponent()
this.creatureInfoInputTester.CreatureTribe = "";
this.creatureInfoInputTester.domesticatedAt = new System.DateTime(2016, 7, 5, 13, 11, 41, 997);
this.creatureInfoInputTester.father = null;
- this.creatureInfoInputTester.Grown = new System.DateTime(2018, 4, 9, 20, 28, 29, 584);
+ this.creatureInfoInputTester.Grown = new System.DateTime(2018, 4, 14, 11, 39, 47, 497);
this.creatureInfoInputTester.Location = new System.Drawing.Point(321, 184);
this.creatureInfoInputTester.mother = null;
this.creatureInfoInputTester.MutationCounterFather = 0;
this.creatureInfoInputTester.MutationCounterMother = 0;
this.creatureInfoInputTester.Name = "creatureInfoInputTester";
this.creatureInfoInputTester.Neutered = false;
+ this.creatureInfoInputTester.OwnerLock = false;
this.creatureInfoInputTester.RegionColors = new int[] {
0,
0,
@@ -1657,6 +1662,7 @@ private void InitializeComponent()
0};
this.creatureInfoInputTester.Size = new System.Drawing.Size(229, 438);
this.creatureInfoInputTester.TabIndex = 4;
+ this.creatureInfoInputTester.TribeLock = false;
this.creatureInfoInputTester.Add2Library_Clicked += new ARKBreedingStats.CreatureInfoInput.Add2LibraryClickedEventHandler(this.creatureInfoInputTester_Add2Library_Clicked);
this.creatureInfoInputTester.Save2Library_Clicked += new ARKBreedingStats.CreatureInfoInput.Save2LibraryClickedEventHandler(this.creatureInfoInputTester_Save2Library_Clicked);
this.creatureInfoInputTester.ParentListRequested += new ARKBreedingStats.CreatureInfoInput.RequestParentListEventHandler(this.creatureInfoInput_ParentListRequested);
@@ -1972,7 +1978,7 @@ private void InitializeComponent()
//
// creatureInfoInputExtractor
//
- this.creatureInfoInputExtractor.Cooldown = new System.DateTime(2018, 4, 9, 20, 28, 29, 616);
+ this.creatureInfoInputExtractor.Cooldown = new System.DateTime(2018, 4, 14, 11, 39, 47, 531);
this.creatureInfoInputExtractor.CreatureName = "";
this.creatureInfoInputExtractor.CreatureNote = "";
this.creatureInfoInputExtractor.CreatureOwner = "";
@@ -1982,13 +1988,14 @@ private void InitializeComponent()
this.creatureInfoInputExtractor.CreatureTribe = "";
this.creatureInfoInputExtractor.domesticatedAt = new System.DateTime(2016, 7, 5, 13, 12, 15, 968);
this.creatureInfoInputExtractor.father = null;
- this.creatureInfoInputExtractor.Grown = new System.DateTime(2018, 4, 9, 20, 28, 29, 617);
+ this.creatureInfoInputExtractor.Grown = new System.DateTime(2018, 4, 14, 11, 39, 47, 531);
this.creatureInfoInputExtractor.Location = new System.Drawing.Point(321, 184);
this.creatureInfoInputExtractor.mother = null;
this.creatureInfoInputExtractor.MutationCounterFather = 0;
this.creatureInfoInputExtractor.MutationCounterMother = 0;
this.creatureInfoInputExtractor.Name = "creatureInfoInputExtractor";
this.creatureInfoInputExtractor.Neutered = false;
+ this.creatureInfoInputExtractor.OwnerLock = false;
this.creatureInfoInputExtractor.RegionColors = new int[] {
0,
0,
@@ -1998,6 +2005,7 @@ private void InitializeComponent()
0};
this.creatureInfoInputExtractor.Size = new System.Drawing.Size(229, 438);
this.creatureInfoInputExtractor.TabIndex = 7;
+ this.creatureInfoInputExtractor.TribeLock = false;
this.creatureInfoInputExtractor.Add2Library_Clicked += new ARKBreedingStats.CreatureInfoInput.Add2LibraryClickedEventHandler(this.creatureInfoInput1_Add2Library_Clicked);
this.creatureInfoInputExtractor.ParentListRequested += new ARKBreedingStats.CreatureInfoInput.RequestParentListEventHandler(this.creatureInfoInput_ParentListRequested);
//
@@ -2038,6 +2046,7 @@ private void InitializeComponent()
this.tabControlLibFilter.Controls.Add(this.tabPage1);
this.tabControlLibFilter.Controls.Add(this.tabPage2);
this.tabControlLibFilter.Controls.Add(this.tabPageServer);
+ this.tabControlLibFilter.Controls.Add(this.tabPageTags);
this.tabControlLibFilter.Controls.Add(this.tabPage3);
this.tabControlLibFilter.Controls.Add(this.tabPage4);
this.tabControlLibFilter.Controls.Add(this.tabPageLibRadarChart);
@@ -2137,6 +2146,40 @@ private void InitializeComponent()
this.cbServerFilterAll.UseVisualStyleBackColor = true;
this.cbServerFilterAll.CheckedChanged += new System.EventHandler(this.cbServerFilterAll_CheckedChanged);
//
+ // tabPageTags
+ //
+ this.tabPageTags.Controls.Add(this.checkedListBoxFilterTags);
+ this.tabPageTags.Controls.Add(this.cbFilterTagsAll);
+ this.tabPageTags.Location = new System.Drawing.Point(4, 22);
+ this.tabPageTags.Name = "tabPageTags";
+ this.tabPageTags.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageTags.Size = new System.Drawing.Size(187, 228);
+ this.tabPageTags.TabIndex = 6;
+ this.tabPageTags.Text = "Tags";
+ this.tabPageTags.UseVisualStyleBackColor = true;
+ //
+ // checkedListBoxFilterTags
+ //
+ this.checkedListBoxFilterTags.CheckOnClick = true;
+ this.checkedListBoxFilterTags.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.checkedListBoxFilterTags.FormattingEnabled = true;
+ this.checkedListBoxFilterTags.Location = new System.Drawing.Point(3, 27);
+ this.checkedListBoxFilterTags.Name = "checkedListBoxFilterTags";
+ this.checkedListBoxFilterTags.Size = new System.Drawing.Size(181, 198);
+ this.checkedListBoxFilterTags.TabIndex = 4;
+ this.checkedListBoxFilterTags.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.checkedListBoxFilterTags_ItemCheck);
+ //
+ // cbFilterTagsAll
+ //
+ this.cbFilterTagsAll.Dock = System.Windows.Forms.DockStyle.Top;
+ this.cbFilterTagsAll.Location = new System.Drawing.Point(3, 3);
+ this.cbFilterTagsAll.Name = "cbFilterTagsAll";
+ this.cbFilterTagsAll.Size = new System.Drawing.Size(181, 24);
+ this.cbFilterTagsAll.TabIndex = 5;
+ this.cbFilterTagsAll.Text = "All";
+ this.cbFilterTagsAll.UseVisualStyleBackColor = true;
+ this.cbFilterTagsAll.CheckedChanged += new System.EventHandler(this.cbFilterTagsAll_CheckedChanged);
+ //
// tabPage3
//
this.tabPage3.Controls.Add(this.tableLayoutPanel2);
@@ -2935,7 +2978,7 @@ private void InitializeComponent()
this.btnReadValuesFromArk.Location = new System.Drawing.Point(262, 3);
this.btnReadValuesFromArk.Name = "btnReadValuesFromArk";
this.btnReadValuesFromArk.Size = new System.Drawing.Size(111, 45);
- this.btnReadValuesFromArk.TabIndex = 41;
+ this.btnReadValuesFromArk.TabIndex = 3;
this.btnReadValuesFromArk.Text = "Read Values From ARK Window";
this.btnReadValuesFromArk.UseVisualStyleBackColor = true;
this.btnReadValuesFromArk.Click += new System.EventHandler(this.btnReadValuesFromArk_Click);
@@ -2946,7 +2989,7 @@ private void InitializeComponent()
this.cbEventMultipliers.Location = new System.Drawing.Point(53, 29);
this.cbEventMultipliers.Name = "cbEventMultipliers";
this.cbEventMultipliers.Size = new System.Drawing.Size(54, 17);
- this.cbEventMultipliers.TabIndex = 51;
+ this.cbEventMultipliers.TabIndex = 1;
this.cbEventMultipliers.Text = "Event";
this.cbEventMultipliers.UseVisualStyleBackColor = true;
this.cbEventMultipliers.CheckedChanged += new System.EventHandler(this.cbEvolutionEvent_CheckedChanged);
@@ -3226,14 +3269,14 @@ private void InitializeComponent()
this.panelToolBar.Location = new System.Drawing.Point(0, 49);
this.panelToolBar.Name = "panelToolBar";
this.panelToolBar.Size = new System.Drawing.Size(1162, 54);
- this.panelToolBar.TabIndex = 45;
+ this.panelToolBar.TabIndex = 2;
//
// btImportLastExported
//
this.btImportLastExported.Location = new System.Drawing.Point(379, 3);
this.btImportLastExported.Name = "btImportLastExported";
this.btImportLastExported.Size = new System.Drawing.Size(57, 44);
- this.btImportLastExported.TabIndex = 56;
+ this.btImportLastExported.TabIndex = 4;
this.btImportLastExported.Text = "Last Export";
this.btImportLastExported.UseVisualStyleBackColor = true;
this.btImportLastExported.Click += new System.EventHandler(this.btImportLastExported_Click);
@@ -3255,7 +3298,7 @@ private void InitializeComponent()
this.tbSpeciesGlobal.Location = new System.Drawing.Point(104, 3);
this.tbSpeciesGlobal.Name = "tbSpeciesGlobal";
this.tbSpeciesGlobal.Size = new System.Drawing.Size(152, 20);
- this.tbSpeciesGlobal.TabIndex = 13;
+ this.tbSpeciesGlobal.TabIndex = 8;
this.tbSpeciesGlobal.Click += new System.EventHandler(this.tbSpeciesGlobal_Click);
this.tbSpeciesGlobal.Enter += new System.EventHandler(this.tbSpeciesGlobal_Enter);
this.tbSpeciesGlobal.KeyUp += new System.Windows.Forms.KeyEventHandler(this.tbSpeciesGlobal_KeyUp);
@@ -3266,7 +3309,7 @@ private void InitializeComponent()
this.cbGuessSpecies.Location = new System.Drawing.Point(155, 29);
this.cbGuessSpecies.Name = "cbGuessSpecies";
this.cbGuessSpecies.Size = new System.Drawing.Size(97, 17);
- this.cbGuessSpecies.TabIndex = 55;
+ this.cbGuessSpecies.TabIndex = 2;
this.cbGuessSpecies.Text = "Guess Species";
this.cbGuessSpecies.UseVisualStyleBackColor = true;
//
@@ -3278,7 +3321,7 @@ private void InitializeComponent()
this.chkbToggleOverlay.Location = new System.Drawing.Point(1097, 28);
this.chkbToggleOverlay.Name = "chkbToggleOverlay";
this.chkbToggleOverlay.Size = new System.Drawing.Size(53, 23);
- this.chkbToggleOverlay.TabIndex = 53;
+ this.chkbToggleOverlay.TabIndex = 7;
this.chkbToggleOverlay.Text = "Overlay";
this.chkbToggleOverlay.UseVisualStyleBackColor = true;
this.chkbToggleOverlay.CheckedChanged += new System.EventHandler(this.chkbToggleOverlay_CheckedChanged);
@@ -3292,7 +3335,7 @@ private void InitializeComponent()
this.labelListening.Location = new System.Drawing.Point(1129, 3);
this.labelListening.Name = "labelListening";
this.labelListening.Size = new System.Drawing.Size(21, 20);
- this.labelListening.TabIndex = 52;
+ this.labelListening.TabIndex = 6;
this.labelListening.Text = "🎤";
this.labelListening.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.labelListening.Click += new System.EventHandler(this.labelListening_Click);
@@ -3303,7 +3346,7 @@ private void InitializeComponent()
this.label9.Location = new System.Drawing.Point(53, 6);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(45, 13);
- this.label9.TabIndex = 2;
+ this.label9.TabIndex = 0;
this.label9.Text = "Species";
//
// lbLibrarySelectionInfo
@@ -3311,7 +3354,7 @@ private void InitializeComponent()
this.lbLibrarySelectionInfo.Location = new System.Drawing.Point(442, 3);
this.lbLibrarySelectionInfo.Name = "lbLibrarySelectionInfo";
this.lbLibrarySelectionInfo.Size = new System.Drawing.Size(547, 45);
- this.lbLibrarySelectionInfo.TabIndex = 54;
+ this.lbLibrarySelectionInfo.TabIndex = 5;
//
// speciesSelector1
//
@@ -3384,6 +3427,7 @@ private void InitializeComponent()
this.tabPage1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false);
this.tabPageServer.ResumeLayout(false);
+ this.tabPageTags.ResumeLayout(false);
this.tabPage3.ResumeLayout(false);
this.tableLayoutPanel2.ResumeLayout(false);
this.tableLayoutPanel2.PerformLayout();
@@ -3698,5 +3742,8 @@ private void InitializeComponent()
private StatsMultiplierTesting statsMultiplierTesting1;
private System.Windows.Forms.ToolStripButton copyToMultiplierTesterToolStripButton;
private System.Windows.Forms.Label lbWildLevelTester;
+ private System.Windows.Forms.TabPage tabPageTags;
+ private System.Windows.Forms.CheckedListBox checkedListBoxFilterTags;
+ private System.Windows.Forms.CheckBox cbFilterTagsAll;
}
}
diff --git a/ARKBreedingStats/Form1.cs b/ARKBreedingStats/Form1.cs
index f945d17d..c0999445 100644
--- a/ARKBreedingStats/Form1.cs
+++ b/ARKBreedingStats/Form1.cs
@@ -33,7 +33,7 @@ public partial class Form1 : Form
public delegate void InputValueChangedEventHandler(StatIO s);
public delegate void collectionChangedEventHandler(bool changed = true, string species = "0"); // if "0" is passed as species, breeding-related controls are not updated
public delegate void setSpeciesIndexEventHandler(int speciesIndex);
- public delegate void setMessageLabelTextEventHandler(string text);
+ public delegate void setMessageLabelTextEventHandler(string text, MessageBoxIcon icon);
private bool updateTorporInTester, filterListAllowed;
private bool[] considerStatHighlight = new bool[] { true, true, false, false, true, true, false, false }; // consider this stat for color-highlighting, topness etc
private bool autoSave;
@@ -332,6 +332,13 @@ private void Form1_Load(object sender, EventArgs e)
}
else labelListening.Visible = labelListeningVisible;
+ // default owner and tribe
+ creatureInfoInputExtractor.CreatureOwner = Properties.Settings.Default.DefaultOwnerName;
+ creatureInfoInputExtractor.CreatureTribe = Properties.Settings.Default.DefaultTribeName;
+ creatureInfoInputExtractor.OwnerLock = Properties.Settings.Default.OwnerNameLocked;
+ creatureInfoInputExtractor.TribeLock = Properties.Settings.Default.TribeNameLocked;
+
+
clearAll();
// UI loaded
@@ -1581,7 +1588,7 @@ private bool loadCollectionFile(string fileName, bool keepCurrentCreatures = fal
Values.V.loadValues();
if (speechRecognition != null) speechRecognition.updateNeeded = true;
}
- if (creatureCollection.additionalValues.Length > 0 && Values.V.modValuesFile != creatureCollection.additionalValues) loadAdditionalValues(Path.GetDirectoryName(fileName) + @"\" + creatureCollection.additionalValues, false, false);
+ if (creatureCollection.additionalValues.Length > 0 && Values.V.modValuesFile != creatureCollection.additionalValues) loadAdditionalValues(@"json\" + creatureCollection.additionalValues, false, false);
if (creatureCollection.multipliers == null)
{
@@ -1620,8 +1627,6 @@ private bool loadCollectionFile(string fileName, bool keepCurrentCreatures = fal
///// creatures loaded.
- lastAutoSaveBackup = DateTime.Now.AddMinutes(-10);
-
// calculate creature values
recalculateAllCreaturesValues();
@@ -1638,6 +1643,8 @@ private bool loadCollectionFile(string fileName, bool keepCurrentCreatures = fal
updateTempCreatureDropDown();
Properties.Settings.Default.LastSaveFile = fileName;
+ lastAutoSaveBackup = DateTime.Now.AddMinutes(-10);
+
return true;
}
@@ -1722,20 +1729,40 @@ private void createOwnerList()
List serverList = new List();
checkedListBoxFilterServers.Items.Clear();
bool removeWOServer = true;
- checkedListBoxFilterServers.Items.Add("n/a", (!creatureCollection.hiddenOwners.Contains("n/a")));
+ checkedListBoxFilterServers.Items.Add("n/a", (!creatureCollection.hiddenServers.Contains("n/a")));
foreach (Creature c in creatureCollection.creatures)
{
if (String.IsNullOrEmpty(c.server))
removeWOServer = false;
else if (c.server.Length > 0 && !checkedListBoxFilterServers.Items.Contains(c.server))
{
- checkedListBoxFilterServers.Items.Add(c.server, !creatureCollection.hiddenOwners.Contains(c.server));
+ checkedListBoxFilterServers.Items.Add(c.server, !creatureCollection.hiddenServers.Contains(c.server));
serverList.Add(c.server);
}
}
if (removeWOServer)
checkedListBoxFilterServers.Items.RemoveAt(0);
+ // tag checkboxes
+ checkedListBoxFilterTags.Items.Clear();
+ bool removeWOTag = true;
+ checkedListBoxFilterTags.Items.Add("n/a", !creatureCollection.dontShowTags.Contains("n/a"));
+ foreach (Creature c in creatureCollection.creatures)
+ {
+ if (c.tags.Count == 0)
+ removeWOTag = false;
+ else if (c.tags.Count > 0)
+ {
+ for (int t = 0; t < c.tags.Count; t++)
+ {
+ if (!checkedListBoxFilterTags.Items.Contains(c.tags[t]))
+ checkedListBoxFilterTags.Items.Add(c.tags[t], !creatureCollection.dontShowTags.Contains(c.tags[t]));
+ }
+ }
+ }
+ if (removeWOTag)
+ checkedListBoxFilterTags.Items.RemoveAt(0);
+
// owners
string[] owners = tribesControl1.playerNames;
creatureInfoInputExtractor.AutocompleteOwnerList = owners;
@@ -1906,6 +1933,10 @@ private ListViewItem createCreatureLVItem(Creature cr, ListViewGroup g)
{
lvi.SubItems[0].ForeColor = Color.DarkBlue;
}
+ else if (cr.levelsWild[7] + 1 > creatureCollection.maxServerLevel - creatureCollection.maxDomLevel)
+ {
+ lvi.SubItems[0].ForeColor = Color.LightSalmon; // this creature may pass the max server level and can be deleted
+ }
lvi.UseItemStyleForSubItems = false;
@@ -2233,12 +2264,18 @@ private void Form1_FormClosed(object sender, FormClosedEventArgs e)
// save last selected species in combobox
Properties.Settings.Default.lastSpecies = speciesSelector1.LastSpecies;
- // save settings for next session
- Properties.Settings.Default.Save();
-
// save onlyNonMutatedInBreedingPlanner
Properties.Settings.Default.MutationLimitBreedingPlanner = breedingPlan1.MutationLimit;
+ // save default owner and tribe name and if they're locked
+ Properties.Settings.Default.DefaultOwnerName = creatureInfoInputExtractor.CreatureOwner;
+ Properties.Settings.Default.DefaultTribeName = creatureInfoInputExtractor.CreatureTribe;
+ Properties.Settings.Default.OwnerNameLocked = creatureInfoInputExtractor.OwnerLock;
+ Properties.Settings.Default.TribeNameLocked = creatureInfoInputExtractor.TribeLock;
+
+ /////// save settings for next session
+ Properties.Settings.Default.Save();
+
// remove old cache-files
if (Directory.Exists("img/cache"))
{
@@ -2298,9 +2335,18 @@ private void listViewLibrary_SelectedIndexChanged(object sender, EventArgs e)
}
}
- private void setMessageLabelText(string text = "")
+ private void setMessageLabelText(string text = "", MessageBoxIcon icon = MessageBoxIcon.None)
{
lbLibrarySelectionInfo.Text = text;
+ switch (icon)
+ {
+ case MessageBoxIcon.Warning:
+ lbLibrarySelectionInfo.BackColor = Color.LightSalmon;
+ break;
+ default:
+ lbLibrarySelectionInfo.BackColor = SystemColors.Control;
+ break;
+ }
}
private void checkBoxShowDead_CheckedChanged(object sender, EventArgs e)
@@ -2493,6 +2539,36 @@ private void checkedListBoxFilterServers_ItemCheck(object sender, ItemCheckEvent
}
}
+ private void cbFilterTagsAll_CheckedChanged(object sender, EventArgs e)
+ {
+ filterListAllowed = false;
+
+ bool chck = cbFilterTagsAll.Checked;
+ creatureCollection.dontShowTags.Clear();
+ for (int i = 0; i < checkedListBoxFilterTags.Items.Count; i++)
+ {
+ checkedListBoxFilterTags.SetItemChecked(i, chck);
+ if (!chck) creatureCollection.dontShowTags.Add(checkedListBoxFilterTags.Items[i].ToString());
+ }
+
+ filterListAllowed = true;
+ filterLib();
+ }
+
+ private void checkedListBoxFilterTags_ItemCheck(object sender, ItemCheckEventArgs e)
+ {
+ if (filterListAllowed)
+ {
+ // update shownTags
+ string tag = checkedListBoxFilterTags.Items[e.Index].ToString();
+ if (e.NewValue == CheckState.Unchecked) { creatureCollection.dontShowTags.Add(tag); }
+ else { creatureCollection.dontShowTags.Remove(tag); }
+
+ recalculateTopStatsIfNeeded();
+ filterLib();
+ }
+ }
+
///
/// Recalculate topstats if filters are used in topstat-calculation
///
@@ -2574,6 +2650,10 @@ private IEnumerable applyLibraryFilterSettings(IEnumerable c
bool hideWOServer = creatureCollection.hiddenServers.Contains("n/a");
creatures = creatures.Where(c => !creatureCollection.hiddenServers.Contains(c.server) && (!hideWOServer || c.server != ""));
+ // tags filter
+ bool dontShowWOTags = creatureCollection.dontShowTags.Contains("n/a");
+ creatures = creatures.Where(c => (!dontShowWOTags && c.tags.Count == 0) || c.tags.Except(creatureCollection.dontShowTags).Any());
+
// show also dead creatures?
if (!libraryViews["Dead"])
creatures = creatures.Where(c => c.status != CreatureStatus.Dead);
@@ -3945,9 +4025,9 @@ public void doOCR(string imageFilePath = "", bool manuallyTriggered = true)
numericUpDownLevel.Value = (decimal)OCRvalues[9];
creatureInfoInputExtractor.CreatureName = dinoName;
- if (!creatureInfoInputExtractor.ownerLock)
+ if (!creatureInfoInputExtractor.OwnerLock)
creatureInfoInputExtractor.CreatureOwner = ownerName;
- if (!creatureInfoInputExtractor.tribeLock)
+ if (!creatureInfoInputExtractor.TribeLock)
creatureInfoInputExtractor.CreatureTribe = tribeName;
creatureInfoInputExtractor.CreatureSex = sex;
creatureInfoInputExtractor.RegionColors = new int[6];
@@ -4424,9 +4504,8 @@ private bool loadAdditionalValues(string file, bool showResult = false, bool app
private void loadAdditionalValuesToolStripMenuItem_Click(object sender, EventArgs e)
{
- MessageBox.Show("Additional files have to be located in the exact same folder as the library-file is located.\n"
- + "You may load it from somewhere else, but after reloading the library it will not work if it's not placed in the same folder.\n\n"
- + "(this is to ensure functionality if the library is used by multiple users via a cloud-service.)", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ MessageBox.Show("The files which contain the additional values have to be located in the folder \"json\" in the folder where the ARK Smart Breeding executable is located.\n"
+ + "You may load it from somewhere else, but after reloading the library it will not work if it's not placed in the json folder.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
OpenFileDialog dlg = new OpenFileDialog
{
Filter = "Additional values-file (*.json)|*.json"
diff --git a/ARKBreedingStats/ImportExported.cs b/ARKBreedingStats/ImportExported.cs
index b615d49e..9eab15df 100644
--- a/ARKBreedingStats/ImportExported.cs
+++ b/ARKBreedingStats/ImportExported.cs
@@ -96,7 +96,7 @@ static public CreatureValues importExportedCreature(string filePath)
break;
case "BabyAge":
int speciesIndex = Values.V.speciesIndex(cv.species);
- if (speciesIndex >= 0 && value >= 0 && value <= 1)
+ if (speciesIndex >= 0 && value >= 0 && value <= 1 && Values.V.species[speciesIndex].breeding != null)
cv.growingUntil = DateTime.Now.AddSeconds((int)(Values.V.species[speciesIndex].breeding.maturationTimeAdjusted * (1 - value)));
break;
case "CharacterLevel":
diff --git a/ARKBreedingStats/Properties/AssemblyInfo.cs b/ARKBreedingStats/Properties/AssemblyInfo.cs
index 5cd86c77..41055b84 100644
--- a/ARKBreedingStats/Properties/AssemblyInfo.cs
+++ b/ARKBreedingStats/Properties/AssemblyInfo.cs
@@ -33,4 +33,4 @@
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("0.27.3")]
+[assembly: AssemblyFileVersion("0.27.4")]
diff --git a/ARKBreedingStats/Properties/Settings.Designer.cs b/ARKBreedingStats/Properties/Settings.Designer.cs
index b40976e9..0764009b 100644
--- a/ARKBreedingStats/Properties/Settings.Designer.cs
+++ b/ARKBreedingStats/Properties/Settings.Designer.cs
@@ -520,5 +520,53 @@ public bool IgnoreSexInBreedingPlan {
this["IgnoreSexInBreedingPlan"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("")]
+ public string DefaultOwnerName {
+ get {
+ return ((string)(this["DefaultOwnerName"]));
+ }
+ set {
+ this["DefaultOwnerName"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("False")]
+ public bool OwnerNameLocked {
+ get {
+ return ((bool)(this["OwnerNameLocked"]));
+ }
+ set {
+ this["OwnerNameLocked"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("")]
+ public string DefaultTribeName {
+ get {
+ return ((string)(this["DefaultTribeName"]));
+ }
+ set {
+ this["DefaultTribeName"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("False")]
+ public bool TribeNameLocked {
+ get {
+ return ((bool)(this["TribeNameLocked"]));
+ }
+ set {
+ this["TribeNameLocked"] = value;
+ }
+ }
}
}
diff --git a/ARKBreedingStats/Properties/Settings.settings b/ARKBreedingStats/Properties/Settings.settings
index 0b22b045..5b3b7671 100644
--- a/ARKBreedingStats/Properties/Settings.settings
+++ b/ARKBreedingStats/Properties/Settings.settings
@@ -128,5 +128,17 @@
False
+
+
+
+
+ False
+
+
+
+
+
+ False
+
\ No newline at end of file
diff --git a/ARKBreedingStats/json/classicFlyers.json b/ARKBreedingStats/json/classicFlyers.json
index 7c49ef16..db8fdcf3 100644
--- a/ARKBreedingStats/json/classicFlyers.json
+++ b/ARKBreedingStats/json/classicFlyers.json
@@ -1 +1 @@
-{"ver":"1.0.10","species":[{"name":"Argentavis","statsRaw":[[365,0.2,0.27,0.5,0],[400,0.05,0.075,0,0],[150,0.1,0.1,0,0],[2000,0.1,0.1,0,0],[400,0.02,0.055,0,0],[1,0.05,0.1,0.5,0.4],[1,0,0.025,0,0],[600,0.06,0,0.5,0]],"NoImprintingForSpeed":false},{"name":"Lymantria","statsRaw":[[255,0.2,0.27,0.5,0],[180,0.1,0.1,0,0],[150,0.1,0.1,0,0],[2000,0.1,0.1,0,0],[175,0.02,0.04,0,0],[1,0.05,0.1,0.5,0.4],[1,0,0.03,0,0],[550,0.06,0,0.5,0]]},{"name":"Pelagornis","statsRaw":[[240,0.2,0.27,0.5,0],[320,0.1,0.1,0,0],[150,0.1,0.1,0,0],[1200,0.1,0.1,0,0.15],[150,0.02,0.04,0,0],[1,0.05,0.1,0.65,0.4],[1,0,0.01827061827,0.365,0],[120,0.06,0,0.5,0]],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Pteranodon","statsRaw":[[210,0.2,0.27,0.5,0],[300,0.1,0.1,0,0],[150,0.1,0.1,0,0],[1200,0.1,0.1,0,0.15],[150,0.02,0.04,0,0],[1,0.05,0.1,0.65,0.4],[1,0,0.018518,0.35,0],[120,0.06,0,0.5,0]],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Quetzal","statsRaw":[[1200,0.2,0.27,0.5,0],[800,0.1,0.1,0,0],[150,0.1,0.1,0,0],[1200,0.1,0.1,0,0.15],[800,0.02,0.04,0,0],[1,0.04,0.1,0.4,0.4],[1,0,0.02194,0.365,0],[1850,0.06,0,0.5,0]],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Tapejara","statsRaw":[[325,0.2,0.27,0.5,0],[450,0.1,0.1,0,0],[150,0.1,0.1,0,0],[1600,0.1,0.1,0,0.15],[330,0.02,0.04,0,0],[1,0.05,0.1,0.5,0.4],[1,0,0.01827901709,0.365,0],[450,0.06,0,0.5,0]],"NoImprintingForSpeed":false},{"name":"Fire Wyvern","statsRaw":[[1725,0.15,0.2025,-1050,0],[400,0.1,0.1,0,0],[150,0.1,0.1,0,0],[2000,0.1,0.1,0,0],[400,0.02,0.04,0,0],[1,0.05,0.1,-0.25,0.4],[1,0,0.025,0,0],[725,0.06,0,0.5,0]],"NoImprintingForSpeed":false},{"name":"Lightning Wyvern","statsRaw":[[1725,0.15,0.2025,-1050,0],[400,0.1,0.1,0,0],[150,0.1,0.1,0,0],[2000,0.1,0.1,0,0],[400,0.02,0.04,0,0],[1,0.05,0.1,-0.25,0.4],[1,0,0.025,0,0],[725,0.06,0,0.5,0]],"NoImprintingForSpeed":false},{"name":"Poison Wyvern","statsRaw":[[1725,0.15,0.2025,-1050,0],[400,0.1,0.1,0,0],[150,0.1,0.1,0,0],[2000,0.1,0.1,0,0],[400,0.02,0.04,0,0],[1,0.05,0.1,-0.25,0.4],[1,0,0.025,0,0],[725,0.06,0,0.5,0]],"NoImprintingForSpeed":false}]}
\ No newline at end of file
+{"ver":"1.0.11","species":[{"name":"Argentavis","statsRaw":[[365,0.2,0.27,0.5,0],[400,0.05,0.075,0,0],[150,0.1,0.1,0,0],[2000,0.1,0.1,0,0],[400,0.02,0.055,0,0],[1,0.05,0.1,0.5,0.4],[1,0,0.025,0,0],[600,0.06,0,0.5,0]],"NoImprintingForSpeed":false},{"name":"Griffin","statsRaw":[[1325,0.2,0.216,-1000,0],[250,0.05,0.06,0,0],[150,0.1,0.1,0,0],[1600,0.1,0.1,0,0.15],[280,0.02,0.04,0,0],[1,0.05,0.1,-0.5,0.4],[1,0,0,0.365,0],[1500,0.06,0,0.5,0]],"NoImprintingForSpeed":false},{"name":"Lymantria","statsRaw":[[255,0.2,0.27,0.5,0],[180,0.1,0.1,0,0],[150,0.1,0.1,0,0],[2000,0.1,0.1,0,0],[175,0.02,0.04,0,0],[1,0.05,0.1,0.5,0.4],[1,0,0.03,0,0],[550,0.06,0,0.5,0]]},{"name":"Pelagornis","statsRaw":[[240,0.2,0.27,0.5,0],[320,0.1,0.1,0,0],[150,0.1,0.1,0,0],[1200,0.1,0.1,0,0.15],[150,0.02,0.04,0,0],[1,0.05,0.1,0.65,0.4],[1,0,0.01827061827,0.365,0],[120,0.06,0,0.5,0]],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Pteranodon","statsRaw":[[210,0.2,0.27,0.5,0],[300,0.1,0.1,0,0],[150,0.1,0.1,0,0],[1200,0.1,0.1,0,0.15],[150,0.02,0.04,0,0],[1,0.05,0.1,0.65,0.4],[1,0,0.018518,0.35,0],[120,0.06,0,0.5,0]],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Quetzal","statsRaw":[[1200,0.2,0.27,0.5,0],[800,0.1,0.1,0,0],[150,0.1,0.1,0,0],[1200,0.1,0.1,0,0.15],[800,0.02,0.04,0,0],[1,0.04,0.1,0.4,0.4],[1,0,0.02194,0.365,0],[1850,0.06,0,0.5,0]],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Tapejara","statsRaw":[[325,0.2,0.27,0.5,0],[450,0.1,0.1,0,0],[150,0.1,0.1,0,0],[1600,0.1,0.1,0,0.15],[330,0.02,0.04,0,0],[1,0.05,0.1,0.5,0.4],[1,0,0.01827901709,0.365,0],[450,0.06,0,0.5,0]],"NoImprintingForSpeed":false},{"name":"Fire Wyvern","statsRaw":[[1725,0.15,0.2025,-1050,0],[400,0.1,0.1,0,0],[150,0.1,0.1,0,0],[2000,0.1,0.1,0,0],[400,0.02,0.04,0,0],[1,0.05,0.1,-0.25,0.4],[1,0,0.025,0,0],[725,0.06,0,0.5,0]],"NoImprintingForSpeed":false},{"name":"Lightning Wyvern","statsRaw":[[1725,0.15,0.2025,-1050,0],[400,0.1,0.1,0,0],[150,0.1,0.1,0,0],[2000,0.1,0.1,0,0],[400,0.02,0.04,0,0],[1,0.05,0.1,-0.25,0.4],[1,0,0.025,0,0],[725,0.06,0,0.5,0]],"NoImprintingForSpeed":false},{"name":"Poison Wyvern","statsRaw":[[1725,0.15,0.2025,-1050,0],[400,0.1,0.1,0,0],[150,0.1,0.1,0,0],[2000,0.1,0.1,0,0],[400,0.02,0.04,0,0],[1,0.05,0.1,-0.25,0.4],[1,0,0.025,0,0],[725,0.06,0,0.5,0]],"NoImprintingForSpeed":false}]}
\ No newline at end of file
diff --git a/ARKBreedingStats/json/ocr_2560x1440_100.json b/ARKBreedingStats/json/ocr_2560x1440_100.json
index f4e3ac60..858f1658 100644
--- a/ARKBreedingStats/json/ocr_2560x1440_100.json
+++ b/ARKBreedingStats/json/ocr_2560x1440_100.json
@@ -1 +1 @@
-{"description":"","fontSizes":[13,15,23,18],"guiZoom":100,"labelRectangles":[{"height":15,"width":200,"x":1288,"y":679},{"height":15,"width":200,"x":1288,"y":736},{"height":15,"width":200,"x":1288,"y":793},{"height":15,"width":200,"x":1288,"y":851},{"height":15,"width":200,"x":1288,"y":908},{"height":15,"width":142,"x":1346,"y":965},{"height":15,"width":200,"x":1288,"y":1023},{"height":15,"width":200,"x":1288,"y":1080},{"height":15,"width":164,"x":1324,"y":1137},{"height":23,"width":132,"x":1219,"y":262},{"height":23,"width":306,"x":1126,"y":216},{"height":18,"width":202,"x":1178,"y":310},{"height":13,"width":92,"x":1238,"y":291}],"letterArrays":[[[2,0,3,3,3,3,1,1,0,3,3],[8,0,72,40,40,254,36,127,20,20,18],[5,4,30,7,5,7,28,20,28,15,4],[9,0,71,69,37,501,341,335,328,324,452],[8,0,30,50,18,30,142,155,113,115,158],[1,0,1,1,1],[2,0,2,3,1,1,1,1,1,1,1,3,2],[2,0,1,3,2,2,2,2,2,2,2,3,1],[5,4,4,31,14,10,10],[5,0,0,4,4,4,31,4,4,4],[1,0,0,0,0,0,0,0,0,0,1,1,1],[2,0,0,0,0,0,0,3],[2,0,0,0,0,0,0,0,0,3,3],[5,0,24,8,8,12,4,6,2,2,3],[5,0,14,27,17,17,17,17,17,27,14],[4,0,12,14,13,12,12,12,12,12,12],[5,0,14,25,16,24,8,4,2,3,31],[5,0,15,25,16,24,14,24,16,24,15],[7,0,48,56,56,52,54,50,127,48,48],[5,0,31,3,1,15,24,16,16,24,15],[5,0,28,2,1,13,19,17,17,27,14],[5,0,31,16,24,8,8,12,4,6,2],[5,0,14,25,17,27,14,27,17,17,14],[5,0,14,27,17,17,27,22,16,24,7],[2,0,0,0,3,3,0,0,0,3,3],[2,0,0,0,3,3,0,0,0,0,3,1,1],[5,0,0,0,24,6,3,7,28],[5,0,0,0,31,0,0,31],[5,0,0,0,3,12,24,28,7],[4,0,15,8,8,12,6,2,0,2,2],[10,0,248,390,626,585,589,581,585,441,6,124],[9,0,16,56,40,108,68,254,198,130,387],[7,0,63,99,99,99,63,99,67,99,63],[6,0,60,38,3,1,1,1,3,6,60],[8,0,63,99,195,195,131,195,195,99,63],[5,0,31,3,3,3,31,3,3,3,31],[5,0,31,3,3,3,31,3,3,3,3],[7,0,60,6,3,1,113,97,67,102,124],[8,0,195,195,195,195,255,195,195,195,195],[2,0,3,3,3,3,3,3,3,3,3],[3,0,0,4,4,4,4,4,4,4,4,4,6,3],[7,0,35,51,27,15,15,27,19,51,99],[6,0,3,3,3,3,3,3,3,3,63],[10,0,771,903,903,975,843,843,827,819,819],[8,0,195,199,207,203,219,211,243,227,195],[8,0,60,102,195,129,129,129,195,102,60],[6,0,31,51,35,51,31,3,3,3,3],[8,0,60,102,195,129,129,129,195,102,60,96,64],[6,0,31,63,49,49,29,25,25,49],[5,0,30,19,1,3,14,24,16,25,15],[7,0,127,8,8,8,8,8,8,8,8],[8,0,195,195,195,195,195,195,195,102,60],[8,0,195,66,66,102,36,36,60,24,24],[12,0,3171,1122,1122,1266,1686,660,924,780,780],[8,0,66,102,36,24,24,60,36,102,195],[8,0,195,66,38,60,24,24,24,24,24],[5,0,31,24,24,12,4,6,3,3,31],[3,0,7,1,1,1,1,1,1,1,1,1,7],[5,0,3,2,2,6,4,12,8,8,24],[3,0,7,4,4,4,4,4,4,4,4,4,7],[5,0,4,6,10,9,17,17],[6,0,0,0,0,0,0,0,0,0,0,0,63],[2,1,2],[6,0,0,0,30,48,48,62,49,49,47],[6,1,1,1,31,51,35,35,35,51,29],[4,0,0,0,14,3,1,1,1,3,14],[6,32,32,32,62,51,49,33,49,51,46],[5,0,0,0,14,31,19,31,3,31,4],[4,14,2,2,15,3,2,2,2,2,2],[7,0,0,0,124,50,34,50,28,2,62,99,35,30],[6,1,1,1,31,51,35,33,33,33,33],[2,0,3,0,3,3,3,3,3,3],[3,6,6,0,6,6,6,6,6,6,6,6,6,3],[5,1,1,1,17,9,13,7,11,25,17],[2,3,3,3,3,3,3,3,3,3,3],[9,0,0,0,0,511,307,273,273,273,273,273],[6,0,0,0,29,51,35,33,33,33,33],[6,0,0,0,30,51,33,33,33,51,30],[6,0,0,0,29,51,35,35,35,51,31,1,1,1],[6,0,0,0,46,51,49,33,49,51,62,32,32,32],[5,0,0,0,25,7,3,3,3,3,3],[4,0,0,0,15,1,3,14,8,8,15],[3,0,2,3,7,3,3,3,3,3,6],[6,0,0,0,33,33,33,33,49,51,46],[7,0,0,0,99,34,34,54,20,28,8],[11,0,0,0,1571,626,594,854,476,396,396],[5,0,0,0,17,27,14,14,14,27,17],[7,0,0,0,99,34,34,54,20,28,8,8,12,7],[4,0,0,0,15,12,4,6,2,1,15],[5,0,24,12,4,4,4,3,6,4,4,12,24],[2,3,3,3,3,3,3,3,3,3,3,3,3,3],[5,0,3,6,4,4,4,24,12,4,4,14,7],[2,0,0,0,0,3,1]],[[3,0,0,7,7,7,7,7,7,7,0,7,7],[12,0,0,952,408,4095,4095,460,204,2047,204,230,102],[7,0,0,28,63,55,3,63,126,112,127,31,28],[13,3710,3687,1895,1023,1022,448,224,4080,8176,6584,6556,8092,8078,1024],[10,0,0,127,7,3,199,1022,199,195,231,255,126],[2,0,0,3,3,3],[4,0,0,14,7,7,7,7,3,3,3,7,7,7,6,14],[4,0,0,7,7,7,6,14,14,14,14,14,6,7,7,3],[5,0,0,23,31,15,11],[6,0,0,0,0,0,12,12,63,63,12,12],[3,0,0,0,0,0,0,0,0,0,0,0,7,3,3],[4,0,0,0,0,0,0,0,15,15],[3,0,0,0,0,0,0,0,0,0,0,0,7,7,7],[10,960,448,480,224,240,112,120,56,28,28,30,14,7,7],[13,1016,4092,3870,7694,7183,7175,7175,7175,7175,7183,3598,4094,2044,1016],[5,30,31,28,28,28,28,28,28,28,28,28,28,28,12],[10,510,511,967,896,896,896,448,480,240,120,60,927,1023,1023],[10,254,511,963,896,896,448,508,508,896,896,896,963,511,254],[11,480,224,112,120,952,924,926,910,975,2047,2047,896,896,896],[10,1022,510,6,7,7,255,1023,962,896,896,896,511,511,126],[11,240,248,60,30,207,1023,2047,1799,1799,1799,1927,1023,510,248],[10,1023,1023,896,384,448,192,224,96,112,56,56,28,28,14],[11,1022,2047,1799,1799,1935,1022,510,2047,1799,1799,1799,2047,1022,248],[11,1022,1935,1799,1799,1799,1807,2046,2046,896,960,496,248,56,16],[3,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7],[4,0,0,0,0,14,14,0,0,0,0,0,15,7,7],[7,0,0,0,0,0,112,124,31,15,62,112,64],[6,0,0,0,0,0,0,63,63,0,63],[7,0,0,0,0,0,3,31,124,120,63,7,1],[7,0,0,127,112,96,112,126,30,14,0,14,14],[15,0,480,4092,7710,14823,16375,30471,30691,30707,30527,14335,16375,7694,124,112],[11,0,0,120,120,252,252,462,510,502,911,903,1795],[9,0,0,255,455,455,231,127,487,455,455,511,255],[9,0,112,510,271,7,7,7,7,7,15,510,508],[10,0,0,511,455,903,903,903,903,903,967,511,255],[11,2047,2047,7,7,7,7,2047,2047,1023,7,7,7,7,2047,2047],[8,0,0,255,7,7,7,127,127,7,7,7,7],[9,0,112,510,271,7,7,7,455,455,455,510,508],[10,0,0,903,903,903,903,1023,1023,903,903,903,903],[3,0,0,7,7,7,7,7,7,7,7,7,7],[4,0,0,14,14,14,14,14,14,14,14,15,7],[11,0,0,967,231,119,127,63,127,247,231,455,1927],[9,7,7,7,7,7,7,7,7,7,7,7,7,7,511,511],[12,0,0,3591,3855,3855,3999,3999,4095,4095,3831,3831,3687],[10,0,0,903,911,927,959,951,1015,999,967,967,903],[11,0,112,510,911,1799,1799,1799,1799,1799,903,1022,508],[9,0,0,255,487,455,455,247,127,7,7,7,7],[11,0,112,510,911,1799,1799,1799,1799,1799,903,1022,508,224,448,384],[10,0,0,255,455,455,455,255,63,119,231,487,967],[9,0,56,255,135,3,7,255,254,448,448,255,127],[8,0,0,255,28,28,28,28,28,28,28,28,28],[10,0,0,903,903,903,903,903,903,903,903,510,252],[16,61447,28687,30735,30750,14366,15388,7228,7740,3704,3704,3952,2032,2016,992,992],[13,0,0,7395,7411,7667,7671,3519,3999,3999,3855,3854,1550],[11,0,0,1927,462,254,252,120,120,252,494,463,1927],[10,0,0,967,455,238,238,124,56,56,56,56,56],[8,0,0,255,224,96,112,56,28,14,6,255,255],[4,0,0,15,3,3,3,3,3,3,3,3,3,3,15,15],[7,0,0,7,7,14,14,28,28,56,56,112,112],[5,0,0,31,28,28,28,28,28,28,28,28,28,28,31,31],[7,0,0,28,30,62,51,115],[7,0,0,0,0,0,0,0,0,0,0,0,0,127,127],[4,0,0,15],[7,0,0,0,0,30,127,112,126,127,115,127,127],[8,0,0,7,7,63,127,231,231,231,231,127,63],[6,0,0,0,0,60,63,7,3,3,7,63,62],[7,0,0,96,96,124,127,103,99,99,103,127,126],[7,0,0,0,0,28,127,119,127,127,3,127,126],[6,0,62,63,7,31,31,7,7,7,7,7,7],[8,0,0,0,0,124,255,231,227,227,231,255,254,96,127,31],[8,0,0,7,7,63,127,231,231,231,231,231,231],[3,0,0,7,0,7,7,7,7,7,7,7,7],[3,0,0,7,0,7,7,7,7,7,7,7,7,7,3,3],[8,0,0,7,7,127,255,231,231,127,63,119,231],[3,0,0,7,7,7,7,7,7,7,7,7,7],[12,0,0,0,0,1979,4095,3703,3703,3703,3703,3703,3703],[8,0,0,0,0,59,127,231,231,231,231,231,231],[8,0,0,0,0,60,127,231,227,227,227,127,62],[8,0,0,0,0,30,127,231,231,231,231,127,63,7,7,7],[8,0,0,0,0,124,255,231,227,227,227,255,254,224,224,224],[5,0,0,0,0,27,31,7,7,7,7,7,7],[7,0,0,0,0,62,63,3,31,127,112,127,63],[4,0,0,0,3,15,15,7,7,7,7,15,15],[8,0,0,0,0,231,231,231,231,231,231,255,254],[8,0,0,0,0,227,115,119,55,62,62,30,28],[11,0,0,0,0,1843,1907,1915,1023,1023,991,974,462],[8,0,0,0,0,227,119,62,30,28,62,119,243],[8,0,0,0,0,227,115,119,55,62,62,30,28,12,14,7],[7,0,0,0,0,127,127,56,28,14,6,7,63],[5,0,0,28,14,14,14,14,7,7,14,14,14,14,14,28],[3,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7],[5,0,0,7,7,7,7,7,30,30,7,7,7,7,7,3],[6,0,0,0,0,0,0,0,47,63],[11,136,260,260,260,136,112,32,32,2047,32,32,32,32],[13,6144,5120,4608,4352,4224,4188,34,65,65,65,34,28]],[[3,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7],[19,0,0,0,57792,29120,29120,28864,524286,524286,14561,14432,6256,7280,262143,131071,3128,3640,3640,3612],[11,0,0,0,120,120,508,1022,991,7,15,511,1022,1984,1920,967,1023,510,120,120],[16,0,0,0,30846,15615,7399,7911,4071,2046,1980,960,480,16096,32752,30712,25528,62396,32542,15887],[15,0,0,0,2044,2046,1823,15,15,3599,7710,32764,32766,7711,7695,7695,7695,4031,4094,1016],[4,0,0,0,15,15,7,7,7],[6,0,0,0,60,28,30,30,30,14,15,15,15,15,15,15,15,15,15,14,30,30,28,60],[5,0,0,0,7,7,15,15,15,14,30,30,30,30,30,30,30,30,14,15,15,15,7,7],[7,0,0,0,12,45,127,78,30,63],[8,0,0,0,0,0,0,0,0,0,28,28,28,255,255,28,28,28],[5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,15,15,7,7],[5,0,0,0,0,0,0,0,0,0,0,0,0,31,31],[3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7],[11,0,0,0,1920,1920,960,960,480,480,240,240,120,124,60,62,30,31,15,7],[15,0,0,0,2032,8188,16254,15390,31759,30735,30735,30735,30735,30735,30735,31759,15390,16254,8188,2032],[5,0,0,0,30,31,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[12,0,0,0,1020,2047,4063,3843,3840,3840,3840,1920,1984,992,496,248,124,4095,4095,4095],[12,0,0,0,511,2047,1999,3840,3840,1792,1984,1020,1020,1920,3840,3840,3840,2047,2047,511],[13,0,0,0,960,480,480,240,120,3960,3900,3870,3870,3855,4095,8191,8191,3840,3840,3840],[12,0,0,0,2046,2046,14,14,14,14,511,2047,1991,3841,3840,3840,3840,1927,2047,510],[13,0,0,256,448,992,1016,124,60,30,2046,4095,7951,7695,7695,7695,7695,7998,4092,1016],[11,0,0,0,2047,2047,2047,1920,960,960,480,480,240,240,120,60,60,30,30,15],[13,0,0,0,2044,4094,8127,7695,7695,7695,4094,2044,4094,7695,7695,7695,7695,8127,4094,2044],[13,0,0,0,2040,4094,7966,7695,7695,7183,7183,7711,8190,8188,3840,3968,1984,1008,504,112],[4,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,7,7,7],[5,0,0,0,0,0,0,0,30,30,30,0,0,0,0,0,0,0,30,15,15,7,7],[10,0,0,0,0,0,0,0,0,896,992,1016,255,31,15,127,1020,992,896],[8,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255],[11,0,0,0,0,0,0,0,0,7,31,127,1020,2016,1984,1016,255,31,7],[10,0,0,0,255,511,995,960,896,960,960,510,254,30,30,30,0,30,30,30],[23,0,0,0,131008,524272,1032696,2031740,1982238,3997598,4063119,3792911,3792911,7995279,7995343,3793871,3793871,4060111,4063198,2097054,2080828,491772,2032,2016],[17,0,0,0,960,2016,2016,4080,4080,3696,7800,7800,15420,16316,32732,32734,28766,61455,61455,122887],[13,0,0,0,2047,4095,4095,7687,3591,3847,1927,999,4071,3847,7687,7687,7687,4095,4095,1023],[14,0,0,0,16368,16376,15612,62,30,15,15,15,15,15,15,30,62,15868,16376,16352],[15,0,0,0,1023,4095,8191,15879,15367,30727,30727,30727,30727,30727,15367,15367,15879,8191,4095,1023],[12,0,0,0,2047,2047,2047,7,7,7,7,2047,2047,7,7,7,7,4095,4095,4095],[11,0,0,0,2047,2047,2047,7,7,7,7,2047,2047,7,7,7,7,7,7,7],[14,0,0,0,16368,16376,15612,62,30,15,15,15,15,15375,15375,15390,15422,16124,16376,16352],[14,0,0,0,15367,15367,15367,15367,15367,15367,15367,16383,16383,15367,15367,15367,15367,15367,15367,15367],[3,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],[6,0,0,0,56,56,56,56,56,56,56,56,56,56,56,56,60,63,31,15],[15,0,0,0,31751,7687,3847,1927,1991,999,503,247,503,999,1991,1927,3847,7943,15879,31751],[10,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,1023,1023,1023],[17,0,0,0,122895,122895,127007,127007,129087,129087,129087,121983,121975,122615,118503,118759,118759,116679,116679,115591],[15,0,0,0,30735,30751,30751,30783,30847,30847,30967,31207,31687,31687,32647,32519,32519,32263,31751,30727],[17,0,0,0,8176,32764,32508,63550,61470,122895,122895,122895,122895,122895,122895,61470,63550,32508,16376,8176],[13,0,0,0,1023,4095,4095,3847,7687,3847,3847,4039,2023,487,7,7,7,7,7,7],[17,0,0,0,8176,32764,32508,63550,61470,122895,122895,122895,122895,122895,122895,61470,63550,65276,32760,8176,3840,7680,15360,15360],[14,0,0,0,2047,4095,4095,7687,7687,3847,3847,2023,1015,487,999,1991,1927,3847,7943,15879],[13,0,0,0,4088,8190,7999,15,15,15,31,4095,8190,7680,7680,7680,7680,8095,4095,1022],[12,0,0,0,4095,4095,4095,112,112,112,112,112,112,112,112,112,112,112,112,112],[14,0,0,0,15367,15367,15367,15367,15367,15367,15367,15367,15367,15367,15367,15375,15375,8190,8190,2040],[17,0,0,0,126991,61455,63503,30751,30750,15422,15420,7740,7800,7800,4088,4080,2032,2016,992,992],[21,0,0,0,1969927,921351,991119,991119,999311,999375,473551,489966,522478,520446,520446,258174,254078,254076,254012,245820],[16,0,0,0,63503,30751,15422,15932,8056,4080,2032,992,2016,2032,4080,8056,15932,15422,30751,63503],[15,0,0,0,30735,15375,15390,7710,7740,3900,1912,2032,1008,992,480,480,480,480,480,480],[12,0,0,0,4095,4095,4095,1920,1920,960,480,240,120,120,60,30,15,4095,4095,4095],[7,0,0,0,127,127,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,127,127],[11,0,0,0,15,15,31,30,60,60,120,120,240,240,480,480,960,960,1920,1920],[6,0,0,0,63,63,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,63,63],[11,0,0,0,112,120,248,252,478,974,911,1927],[11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2047,2047],[5,0,0,0,15,15,30],[11,0,0,0,0,0,0,0,252,1022,2046,1920,1920,2046,2047,1935,1935,1999,2047,1918],[12,0,0,0,15,15,15,15,511,2047,2047,3855,3855,3855,3855,3855,3855,2015,2047,511],[10,0,0,0,0,0,0,0,1016,1022,1022,15,15,15,15,15,15,830,1022,1016],[12,0,0,0,3840,3840,3840,3840,4088,4094,4095,3855,3855,3855,3855,3855,3855,4094,4094,2040],[12,0,0,0,0,0,0,0,248,1022,2046,1935,1807,2047,4095,15,15,1598,2046,2040],[9,0,0,240,508,510,30,15,255,255,255,15,15,15,15,15,15,15,15,15],[12,0,0,0,0,0,0,0,1008,4092,4094,3855,3855,3855,3855,3855,3855,4095,4094,4088,3840,1922,2046,510],[12,0,0,0,15,15,15,15,1007,2047,4095,3855,3855,3855,3855,3855,3855,3855,3855,3855],[4,0,0,0,15,15,0,0,15,15,15,15,15,15,15,15,15,15,15,15],[4,0,0,0,15,15,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,7],[13,0,0,0,15,15,15,15,1007,4095,4095,3599,7695,3855,2031,495,975,1935,3983,7951],[4,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15],[19,0,0,0,0,0,0,0,61935,262143,262143,233359,231311,493455,493455,493455,493455,493455,493455,493455],[12,0,0,0,0,0,0,0,1007,2047,4095,3855,3855,3855,3855,3855,3855,3855,3855,3855],[12,0,0,0,0,0,0,0,504,2046,2046,3855,3855,3855,3855,3855,3855,3999,2046,504],[12,0,0,0,0,0,0,0,510,2047,2047,3855,3855,3855,3855,3855,3855,2047,2047,511,15,15,15,15],[12,0,0,0,0,0,0,0,2032,4092,4094,3855,3855,3855,3855,3855,3855,4095,4094,4092,3840,3840,3840,3840],[7,0,0,0,0,0,0,0,111,127,127,31,15,15,15,15,15,15,15,15],[11,0,0,0,0,0,0,0,508,1022,991,7,15,511,1022,1984,1920,967,1023,510],[7,0,0,0,0,0,7,7,127,127,127,15,15,15,15,15,15,31,127,126],[12,0,0,0,0,0,0,0,3855,3855,3855,3855,3855,3855,3855,3855,3855,4062,4094,3964],[12,0,0,0,0,0,0,0,3847,1927,1935,1935,974,990,478,508,508,252,248,120],[17,0,0,0,0,0,0,0,123847,123847,124879,59375,59375,61422,65278,32382,32382,31868,31804,15420],[12,0,0,0,0,0,0,0,3847,1935,990,510,508,248,248,508,508,990,1935,3975],[12,0,0,0,0,0,0,0,3847,1799,1935,1935,974,990,478,508,508,252,248,120,120,60,62,30],[10,0,0,0,0,0,0,0,1023,1023,1023,480,480,240,120,60,30,15,1023,1023],[7,0,0,0,124,60,60,28,30,30,30,30,31,15,7,15,30,30,30,30,30,28,60,124],[3,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],[7,0,0,0,15,15,14,30,30,30,30,30,62,124,124,60,30,30,30,30,30,14,15,15],[8,0,0,0,0,0,0,0,0,0,0,0,3,255,255,240],[32,4261539840,4279238144,3753901952,3758096320,2415919088,134088696,66585592,132120828,130023548,264241214,260046910,260046911,528482335,528482335,528482335,528482335,260046911,260046911,264241214,130023550,132120828,66060792,66979832],[32,534774780,532677116,1065353470,1056964734,2130706559,2130706559,2113929279,2113929279,2113929279,2130706495,2130706559,2130706687,1065353470,532677116,535824380,536838140,268435448,134217712,67108800,16777088,4193792,1046528,520192]],[[3,0,7,7,7,7,7,7,7,7,7,7,0,7,7],[15,0,3168,3696,1648,1584,32767,1849,824,792,792,8191,412,396,462],[8,0,60,60,126,255,135,7,127,254,224,227,255,60,60],[12,0,3614,1855,947,947,511,254,240,112,4088,3804,3292,4046,1991],[11,0,56,254,143,7,391,911,2046,2047,903,903,967,511,252],[3,0,7,7,7,7],[5,0,28,14,14,15,7,7,7,7,7,7,7,7,7,14,14,30],[5,0,7,7,15,14,14,14,14,14,30,14,14,14,14,14,7,7],[5,0,6,6,31,22,15,13],[6,0,0,0,0,0,0,14,14,63,63,14,14,14],[4,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7],[4,0,0,0,0,0,0,0,0,15,15],[2,0,0,0,0,0,0,0,0,0,0,0,0,3,3],[9,0,480,224,240,112,120,56,60,28,30,14,15,7,7],[12,0,240,1020,2014,1807,1799,3847,3847,3847,3847,1799,1935,1022,508],[3,0,6,7,7,7,7,7,7,7,7,7,7,7,7],[9,0,60,255,487,448,448,448,480,240,120,60,30,511,511],[9,0,62,255,487,448,448,480,254,254,448,448,481,255,127],[10,0,224,112,120,56,476,478,462,463,511,1023,960,448,448],[9,0,511,511,7,7,7,127,255,480,448,448,448,511,127],[10,0,96,240,252,30,14,511,1023,903,903,903,911,1022,252],[9,0,511,511,224,224,112,112,56,56,28,30,14,15,7],[10,0,120,510,975,903,903,510,510,1023,903,903,903,1023,510],[10,0,120,510,975,903,903,903,975,1022,960,480,240,124,60],[3,0,0,0,0,0,7,7,0,0,0,0,0,7,7],[3,0,0,0,0,0,7,7,0,0,0,0,0,7,7,7,3],[8,0,0,0,0,0,192,240,126,31,7,31,252,240,128],[7,0,0,0,0,0,0,0,127,127,0,127,127],[9,0,0,0,0,0,1,15,63,248,480,252,63,7,1],[8,0,14,127,113,224,224,112,127,31,7,7,0,7,7],[16,0,1984,16376,63612,57374,53231,57319,56327,57223,57319,56567,56439,57335,65518,63518,508,504],[13,0,240,240,496,504,1016,924,924,1822,2030,4094,3607,7687,7175],[11,0,255,1023,967,1927,903,967,503,967,1927,1927,1927,1023,511],[11,0,480,2044,1854,15,7,7,7,7,7,15,1054,2044,2040],[12,0,127,1023,1991,3847,3591,3591,3591,3591,3591,3847,1927,2047,511],[10,0,1023,1023,7,7,7,7,511,511,7,7,7,1023,1023],[9,0,511,511,7,7,7,7,511,511,7,7,7,7,7],[11,0,480,2044,1854,15,7,7,7,1799,1799,1807,1822,2046,2040],[12,0,3591,3591,3591,3591,3591,3591,4095,4095,3591,3591,3591,3591,3591],[3,0,7,7,7,7,7,7,7,7,7,7,7,7,7],[5,0,28,28,28,28,28,28,28,28,28,28,30,15,7],[13,0,3591,1799,903,455,487,247,119,247,487,967,1927,1799,7943],[8,0,7,7,7,7,7,7,7,7,7,7,7,255,255],[14,0,14351,14351,15375,15391,15903,15935,16191,16247,15223,15351,15335,14823,14791],[12,0,3591,3599,3615,3647,3647,3703,3815,4071,4039,3975,3975,3847,3591],[13,0,496,2044,4030,7695,7175,7175,7175,7175,7175,7695,3870,4094,1016],[11,0,255,1023,967,1927,1927,903,1015,503,55,7,7,7,7],[13,0,496,2044,4030,7695,7175,7175,7175,7175,7175,7695,3870,4094,1016,960,1920,1792,768],[12,0,255,1023,967,1927,1927,903,503,247,231,487,967,1927,3847],[10,0,248,1022,911,7,7,15,511,1020,896,896,897,1023,255],[9,0,511,511,56,56,56,56,56,56,56,56,56,56,56],[12,0,3591,3591,3591,3591,3591,3591,3591,3591,3591,3855,1806,2046,1016],[13,0,7687,7687,3591,3855,1806,1950,926,924,1020,504,504,240,240],[16,0,57795,58311,58343,29671,30695,30583,30583,32311,32318,15934,15390,15390,15390],[13,0,7687,3855,1934,924,1020,504,240,248,504,1020,1950,3855,7687],[12,0,3847,1799,1935,910,476,476,248,248,112,112,112,112,112],[10,0,1023,1023,896,448,480,224,112,56,28,30,15,1023,1023],[5,0,31,31,7,7,7,7,7,7,7,7,7,7,7,7,31,31],[9,0,7,7,15,14,30,28,60,56,120,112,240,224,480],[6,0,63,63,56,56,56,56,56,56,56,56,56,56,56,56,63,63],[9,0,24,60,60,126,118,231,451],[9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,511,511],[4,0,3,7,14],[9,0,0,0,0,0,255,255,480,508,511,487,487,511,510],[9,0,7,7,7,7,255,511,455,455,455,455,455,511,127],[8,0,0,0,0,0,254,255,7,7,7,7,7,255,252],[9,0,448,448,448,448,510,511,455,455,455,455,455,511,508],[9,0,0,0,0,0,254,255,455,455,511,7,7,254,252],[5,0,30,31,7,3,31,31,3,3,3,3,3,3,3],[9,0,0,0,0,0,510,511,455,455,455,455,455,511,508,448,511,255],[9,0,7,7,7,7,255,511,455,455,455,455,455,455,455],[3,0,7,7,0,0,7,7,7,7,7,7,7,7,7],[3,0,7,7,0,0,7,7,7,7,7,7,7,7,7,7,7,3,3],[10,0,7,7,7,7,511,1023,903,967,487,119,231,487,967],[3,0,7,7,7,7,7,7,7,7,7,7,7,7,7],[14,0,0,0,0,0,8191,16383,14823,14791,14791,14791,14791,14791,14791],[9,0,0,0,0,0,255,511,455,455,455,455,455,455,455],[10,0,0,0,0,0,254,511,455,455,967,455,455,511,124],[9,0,0,0,0,0,255,511,455,455,455,455,455,511,127,7,7,7],[9,0,0,0,0,0,510,511,455,455,455,455,455,511,510,448,448,448],[6,0,0,0,0,0,63,63,7,7,7,7,7,7,7],[8,0,0,0,0,0,255,255,7,63,255,224,224,255,127],[5,0,0,0,3,7,31,31,7,7,7,7,7,31,30],[9,0,0,0,0,0,455,455,455,455,455,455,455,511,510],[9,0,0,0,0,0,451,487,231,239,126,126,126,60,60],[14,0,0,0,0,0,15591,7415,7671,7671,4031,4030,3998,1822,1822],[9,0,0,0,0,0,487,239,126,60,60,124,126,231,487],[9,0,0,0,0,0,451,487,231,239,126,126,126,60,60,28,30,15,6],[8,0,0,0,0,0,255,255,112,56,28,30,15,255,255],[5,0,28,14,14,14,14,14,15,7,3,7,15,14,14,14,14,30],[3,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],[6,0,7,7,7,15,15,14,14,62,60,30,14,14,15,15,7,7],[6,0,0,0,0,0,0,0,0,39,63,56]]],"letters":[["!","#","$","%","&","'","(",")","*","+",",","-",".","\/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~"],["!","#","$","%","&","'","(",")","*","+",",","-",".","\/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","♀","♂"],["!","#","$","%","&","'","(",")","*","+",",","-",".","\/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","♂","♀"],["!","#","$","%","&","'","(",")","*","+",",","-",".","\/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~"]],"resize":1,"resolutionHeight":1440,"resolutionWidth":2560,"statDistance":0}
\ No newline at end of file
+{"description":"","fontSizes":[13,15,23,18],"guiZoom":100,"labelRectangles":[{"height":15,"width":160,"x":1328,"y":679},{"height":15,"width":160,"x":1328,"y":736},{"height":15,"width":160,"x":1328,"y":793},{"height":15,"width":160,"x":1328,"y":851},{"height":15,"width":160,"x":1328,"y":908},{"height":15,"width":140,"x":1348,"y":965},{"height":15,"width":140,"x":1348,"y":1023},{"height":15,"width":160,"x":1328,"y":1080},{"height":15,"width":160,"x":1328,"y":1137},{"height":23,"width":132,"x":1219,"y":262},{"height":23,"width":306,"x":1126,"y":216},{"height":18,"width":202,"x":1178,"y":310},{"height":13,"width":92,"x":1238,"y":291}],"letterArrays":[[[2,0,3,3,3,3,1,1,0,3,3],[8,0,72,40,40,254,36,127,20,20,18],[5,4,30,7,5,7,28,20,28,15,4],[9,0,71,69,37,501,341,335,328,324,452],[8,0,30,50,18,30,142,155,113,115,158],[1,0,1,1,1],[2,0,2,3,1,1,1,1,1,1,1,3,2],[2,0,1,3,2,2,2,2,2,2,2,3,1],[5,4,4,31,14,10,10],[5,0,0,4,4,4,31,4,4,4],[1,0,0,0,0,0,0,0,0,0,1,1,1],[2,0,0,0,0,0,0,3],[2,0,0,0,0,0,0,0,0,3,3],[5,0,24,8,8,12,4,6,2,2,3],[5,0,14,27,17,17,17,17,17,27,14],[4,0,12,14,13,12,12,12,12,12,12],[5,0,14,25,16,24,8,4,2,3,31],[5,0,15,25,16,24,14,24,16,24,15],[7,0,48,56,56,52,54,50,127,48,48],[5,0,31,3,1,15,24,16,16,24,15],[5,0,28,2,1,13,19,17,17,27,14],[5,0,31,16,24,8,8,12,4,6,2],[5,0,14,25,17,27,14,27,17,17,14],[5,0,14,27,17,17,27,22,16,24,7],[2,0,0,0,3,3,0,0,0,3,3],[2,0,0,0,3,3,0,0,0,0,3,1,1],[5,0,0,0,24,6,3,7,28],[5,0,0,0,31,0,0,31],[5,0,0,0,3,12,24,28,7],[4,0,15,8,8,12,6,2,0,2,2],[10,0,248,390,626,585,589,581,585,441,6,124],[9,0,16,56,40,108,68,254,198,130,387],[7,0,63,99,99,99,63,99,67,99,63],[6,0,60,38,3,1,1,1,3,6,60],[8,0,63,99,195,195,131,195,195,99,63],[5,0,31,3,3,3,31,3,3,3,31],[5,0,31,3,3,3,31,3,3,3,3],[7,0,60,6,3,1,113,97,67,102,124],[8,0,195,195,195,195,255,195,195,195,195],[2,0,3,3,3,3,3,3,3,3,3],[3,0,0,4,4,4,4,4,4,4,4,4,6,3],[7,0,35,51,27,15,15,27,19,51,99],[6,0,3,3,3,3,3,3,3,3,63],[10,0,771,903,903,975,843,843,827,819,819],[8,0,195,199,207,203,219,211,243,227,195],[8,0,60,102,195,129,129,129,195,102,60],[6,0,31,51,35,51,31,3,3,3,3],[8,0,60,102,195,129,129,129,195,102,60,96,64],[6,0,31,63,49,49,29,25,25,49],[5,0,30,19,1,3,14,24,16,25,15],[7,0,127,8,8,8,8,8,8,8,8],[8,0,195,195,195,195,195,195,195,102,60],[8,0,195,66,66,102,36,36,60,24,24],[12,0,3171,1122,1122,1266,1686,660,924,780,780],[8,0,66,102,36,24,24,60,36,102,195],[8,0,195,66,38,60,24,24,24,24,24],[5,0,31,24,24,12,4,6,3,3,31],[3,0,7,1,1,1,1,1,1,1,1,1,7],[5,0,3,2,2,6,4,12,8,8,24],[3,0,7,4,4,4,4,4,4,4,4,4,7],[5,0,4,6,10,9,17,17],[6,0,0,0,0,0,0,0,0,0,0,0,63],[2,1,2],[6,0,0,0,30,48,48,62,49,49,47],[6,1,1,1,31,51,35,35,35,51,29],[4,0,0,0,14,3,1,1,1,3,14],[6,32,32,32,62,51,49,33,49,51,46],[5,0,0,0,14,31,19,31,3,31,4],[4,14,2,2,15,3,2,2,2,2,2],[7,0,0,0,124,50,34,50,28,2,62,99,35,30],[6,1,1,1,31,51,35,33,33,33,33],[2,0,3,0,3,3,3,3,3,3],[3,6,6,0,6,6,6,6,6,6,6,6,6,3],[5,1,1,1,17,9,13,7,11,25,17],[2,3,3,3,3,3,3,3,3,3,3],[9,0,0,0,0,511,307,273,273,273,273,273],[6,0,0,0,29,51,35,33,33,33,33],[6,0,0,0,30,51,33,33,33,51,30],[6,0,0,0,29,51,35,35,35,51,31,1,1,1],[6,0,0,0,46,51,49,33,49,51,62,32,32,32],[5,0,0,0,25,7,3,3,3,3,3],[4,0,0,0,15,1,3,14,8,8,15],[3,0,2,3,7,3,3,3,3,3,6],[6,0,0,0,33,33,33,33,49,51,46],[7,0,0,0,99,34,34,54,20,28,8],[11,0,0,0,1571,626,594,854,476,396,396],[5,0,0,0,17,27,14,14,14,27,17],[7,0,0,0,99,34,34,54,20,28,8,8,12,7],[4,0,0,0,15,12,4,6,2,1,15],[5,0,24,12,4,4,4,3,6,4,4,12,24],[2,3,3,3,3,3,3,3,3,3,3,3,3,3],[5,0,3,6,4,4,4,24,12,4,4,14,7],[2,0,0,0,0,3,1]],[[3,0,0,7,7,7,7,7,7,7,0,7,7],[12,0,0,952,408,4095,4095,460,204,2047,204,230,102],[7,0,0,28,63,55,3,63,126,112,127,31,28],[13,3710,3687,1895,1023,1022,448,224,4080,8176,6584,6556,8092,8078,1024],[10,0,0,127,7,3,199,1022,199,195,231,255,126],[2,0,0,3,3,3],[4,0,0,14,7,7,7,7,3,3,3,7,7,7,6,14],[4,0,0,7,7,7,6,14,14,14,14,14,6,7,7,3],[5,0,0,23,31,15,11],[6,0,0,0,0,0,12,12,63,63,12,12],[3,0,0,0,0,0,0,0,0,0,0,0,7,3,3],[4,0,0,0,0,0,0,0,15,15],[3,0,0,0,0,0,0,0,0,0,0,0,7,7,7],[10,960,448,480,224,240,112,120,56,28,28,30,14,7,7],[13,1016,4092,3870,7694,7183,7175,7175,7175,7175,7183,3598,4094,2044,1016],[5,30,31,28,28,28,28,28,28,28,28,28,28,28,12],[10,510,511,967,896,896,896,448,480,240,120,60,927,1023,1023],[10,254,511,963,896,896,448,508,508,896,896,896,963,511,254],[11,480,224,112,120,952,924,926,910,975,2047,2047,896,896,896],[10,1022,510,6,7,7,255,1023,962,896,896,896,511,511,126],[11,240,248,60,30,207,1023,2047,1799,1799,1799,1927,1023,510,248],[10,1023,1023,896,384,448,192,224,96,112,56,56,28,28,14],[11,1022,2047,1799,1799,1935,1022,510,2047,1799,1799,1799,2047,1022,248],[11,1022,1935,1799,1799,1799,1807,2046,2046,896,960,496,248,56,16],[3,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7],[4,0,0,0,0,14,14,0,0,0,0,0,15,7,7],[7,0,0,0,0,0,112,124,31,15,62,112,64],[6,0,0,0,0,0,0,63,63,0,63],[7,0,0,0,0,0,3,31,124,120,63,7,1],[7,0,0,127,112,96,112,126,30,14,0,14,14],[15,0,480,4092,7710,14823,16375,30471,30691,30707,30527,14335,16375,7694,124,112],[11,0,0,120,120,252,252,462,510,502,911,903,1795],[9,0,0,255,455,455,231,127,487,455,455,511,255],[9,0,112,510,271,7,7,7,7,7,15,510,508],[10,0,0,511,455,903,903,903,903,903,967,511,255],[11,2047,2047,7,7,7,7,2047,2047,1023,7,7,7,7,2047,2047],[8,0,0,255,7,7,7,127,127,7,7,7,7],[9,0,112,510,271,7,7,7,455,455,455,510,508],[10,0,0,903,903,903,903,1023,1023,903,903,903,903],[3,0,0,7,7,7,7,7,7,7,7,7,7],[4,0,0,14,14,14,14,14,14,14,14,15,7],[11,0,0,967,231,119,127,63,127,247,231,455,1927],[9,7,7,7,7,7,7,7,7,7,7,7,7,7,511,511],[12,0,0,3591,3855,3855,3999,3999,4095,4095,3831,3831,3687],[10,0,0,903,911,927,959,951,1015,999,967,967,903],[11,0,112,510,911,1799,1799,1799,1799,1799,903,1022,508],[9,0,0,255,487,455,455,247,127,7,7,7,7],[11,0,112,510,911,1799,1799,1799,1799,1799,903,1022,508,224,448,384],[10,0,0,255,455,455,455,255,63,119,231,487,967],[9,0,56,255,135,3,7,255,254,448,448,255,127],[8,0,0,255,28,28,28,28,28,28,28,28,28],[10,0,0,903,903,903,903,903,903,903,903,510,252],[16,61447,28687,30735,30750,14366,15388,7228,7740,3704,3704,3952,2032,2016,992,992],[13,0,0,7395,7411,7667,7671,3519,3999,3999,3855,3854,1550],[11,0,0,1927,462,254,252,120,120,252,494,463,1927],[10,0,0,967,455,238,238,124,56,56,56,56,56],[8,0,0,255,224,96,112,56,28,14,6,255,255],[4,0,0,15,3,3,3,3,3,3,3,3,3,3,15,15],[7,0,0,7,7,14,14,28,28,56,56,112,112],[5,0,0,31,28,28,28,28,28,28,28,28,28,28,31,31],[7,0,0,28,30,62,51,115],[7,0,0,0,0,0,0,0,0,0,0,0,0,127,127],[4,0,0,15],[7,0,0,0,0,30,127,112,126,127,115,127,127],[8,0,0,7,7,63,127,231,231,231,231,127,63],[6,0,0,0,0,60,63,7,3,3,7,63,62],[7,0,0,96,96,124,127,103,99,99,103,127,126],[7,0,0,0,0,28,127,119,127,127,3,127,126],[6,0,62,63,7,31,31,7,7,7,7,7,7],[8,0,0,0,0,124,255,231,227,227,231,255,254,96,127,31],[8,0,0,7,7,63,127,231,231,231,231,231,231],[3,0,0,7,0,7,7,7,7,7,7,7,7],[3,0,0,7,0,7,7,7,7,7,7,7,7,7,3,3],[8,0,0,7,7,127,255,231,231,127,63,119,231],[3,0,0,7,7,7,7,7,7,7,7,7,7],[12,0,0,0,0,1979,4095,3703,3703,3703,3703,3703,3703],[8,0,0,0,0,59,127,231,231,231,231,231,231],[8,0,0,0,0,60,127,231,227,227,227,127,62],[8,0,0,0,0,30,127,231,231,231,231,127,63,7,7,7],[8,0,0,0,0,124,255,231,227,227,227,255,254,224,224,224],[5,0,0,0,0,27,31,7,7,7,7,7,7],[7,0,0,0,0,62,63,3,31,127,112,127,63],[4,0,0,0,3,15,15,7,7,7,7,15,15],[8,0,0,0,0,231,231,231,231,231,231,255,254],[8,0,0,0,0,227,115,119,55,62,62,30,28],[11,0,0,0,0,1843,1907,1915,1023,1023,991,974,462],[8,0,0,0,0,227,119,62,30,28,62,119,243],[8,0,0,0,0,227,115,119,55,62,62,30,28,12,14,7],[7,0,0,0,0,127,127,56,28,14,6,7,63],[5,0,0,28,14,14,14,14,7,7,14,14,14,14,14,28],[3,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7],[5,0,0,7,7,7,7,7,30,30,7,7,7,7,7,3],[6,0,0,0,0,0,0,0,47,63],[11,136,260,260,260,136,112,32,32,2047,32,32,32,32],[13,6144,5120,4608,4352,4224,4188,34,65,65,65,34,28]],[[3,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7],[19,0,0,0,57792,29120,29120,28864,524286,524286,14561,14432,6256,7280,262143,131071,3128,3640,3640,3612],[11,0,0,0,120,120,508,1022,991,7,15,511,1022,1984,1920,967,1023,510,120,120],[16,0,0,0,30846,15615,7399,7911,4071,2046,1980,960,480,16096,32752,30712,25528,62396,32542,15887],[15,0,0,0,2044,2046,1823,15,15,3599,7710,32764,32766,7711,7695,7695,7695,4031,4094,1016],[4,0,0,0,15,15,7,7,7],[6,0,0,0,60,28,30,30,30,14,15,15,15,15,15,15,15,15,15,14,30,30,28,60],[5,0,0,0,7,7,15,15,15,14,30,30,30,30,30,30,30,30,14,15,15,15,7,7],[7,0,0,0,12,45,127,78,30,63],[8,0,0,0,0,0,0,0,0,0,28,28,28,255,255,28,28,28],[5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,15,15,7,7],[5,0,0,0,0,0,0,0,0,0,0,0,0,31,31],[3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7],[11,0,0,0,1920,1920,960,960,480,480,240,240,120,124,60,62,30,31,15,7],[15,0,0,0,2032,8188,16254,15390,31759,30735,30735,30735,30735,30735,30735,31759,15390,16254,8188,2032],[5,0,0,0,30,31,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[12,0,0,0,1020,2047,4063,3843,3840,3840,3840,1920,1984,992,496,248,124,4095,4095,4095],[12,0,0,0,511,2047,1999,3840,3840,1792,1984,1020,1020,1920,3840,3840,3840,2047,2047,511],[13,0,0,0,960,480,480,240,120,3960,3900,3870,3870,3855,4095,8191,8191,3840,3840,3840],[12,0,0,0,2046,2046,14,14,14,14,511,2047,1991,3841,3840,3840,3840,1927,2047,510],[13,0,0,256,448,992,1016,124,60,30,2046,4095,7951,7695,7695,7695,7695,7998,4092,1016],[11,0,0,0,2047,2047,2047,1920,960,960,480,480,240,240,120,60,60,30,30,15],[13,0,0,0,2044,4094,8127,7695,7695,7695,4094,2044,4094,7695,7695,7695,7695,8127,4094,2044],[13,0,0,0,2040,4094,7966,7695,7695,7183,7183,7711,8190,8188,3840,3968,1984,1008,504,112],[4,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,7,7,7],[5,0,0,0,0,0,0,0,30,30,30,0,0,0,0,0,0,0,30,15,15,7,7],[10,0,0,0,0,0,0,0,0,896,992,1016,255,31,15,127,1020,992,896],[8,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255],[11,0,0,0,0,0,0,0,0,7,31,127,1020,2016,1984,1016,255,31,7],[10,0,0,0,255,511,995,960,896,960,960,510,254,30,30,30,0,30,30,30],[23,0,0,0,131008,524272,1032696,2031740,1982238,3997598,4063119,3792911,3792911,7995279,7995343,3793871,3793871,4060111,4063198,2097054,2080828,491772,2032,2016],[17,0,0,0,960,2016,2016,4080,4080,3696,7800,7800,15420,16316,32732,32734,28766,61455,61455,122887],[13,0,0,0,2047,4095,4095,7687,3591,3847,1927,999,4071,3847,7687,7687,7687,4095,4095,1023],[14,0,0,0,16368,16376,15612,62,30,15,15,15,15,15,15,30,62,15868,16376,16352],[15,0,0,0,1023,4095,8191,15879,15367,30727,30727,30727,30727,30727,15367,15367,15879,8191,4095,1023],[12,0,0,0,2047,2047,2047,7,7,7,7,2047,2047,7,7,7,7,4095,4095,4095],[11,0,0,0,2047,2047,2047,7,7,7,7,2047,2047,7,7,7,7,7,7,7],[14,0,0,0,16368,16376,15612,62,30,15,15,15,15,15375,15375,15390,15422,16124,16376,16352],[14,0,0,0,15367,15367,15367,15367,15367,15367,15367,16383,16383,15367,15367,15367,15367,15367,15367,15367],[3,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],[6,0,0,0,56,56,56,56,56,56,56,56,56,56,56,56,60,63,31,15],[15,0,0,0,31751,7687,3847,1927,1991,999,503,247,503,999,1991,1927,3847,7943,15879,31751],[10,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,1023,1023,1023],[17,0,0,0,122895,122895,127007,127007,129087,129087,129087,121983,121975,122615,118503,118759,118759,116679,116679,115591],[15,0,0,0,30735,30751,30751,30783,30847,30847,30967,31207,31687,31687,32647,32519,32519,32263,31751,30727],[17,0,0,0,8176,32764,32508,63550,61470,122895,122895,122895,122895,122895,122895,61470,63550,32508,16376,8176],[13,0,0,0,1023,4095,4095,3847,7687,3847,3847,4039,2023,487,7,7,7,7,7,7],[17,0,0,0,8176,32764,32508,63550,61470,122895,122895,122895,122895,122895,122895,61470,63550,65276,32760,8176,3840,7680,15360,15360],[14,0,0,0,2047,4095,4095,7687,7687,3847,3847,2023,1015,487,999,1991,1927,3847,7943,15879],[13,0,0,0,4088,8190,7999,15,15,15,31,4095,8190,7680,7680,7680,7680,8095,4095,1022],[12,0,0,0,4095,4095,4095,112,112,112,112,112,112,112,112,112,112,112,112,112],[14,0,0,0,15367,15367,15367,15367,15367,15367,15367,15367,15367,15367,15367,15375,15375,8190,8190,2040],[17,0,0,0,126991,61455,63503,30751,30750,15422,15420,7740,7800,7800,4088,4080,2032,2016,992,992],[21,0,0,0,1969927,921351,991119,991119,999311,999375,473551,489966,522478,520446,520446,258174,254078,254076,254012,245820],[16,0,0,0,63503,30751,15422,15932,8056,4080,2032,992,2016,2032,4080,8056,15932,15422,30751,63503],[15,0,0,0,30735,15375,15390,7710,7740,3900,1912,2032,1008,992,480,480,480,480,480,480],[12,0,0,0,4095,4095,4095,1920,1920,960,480,240,120,120,60,30,15,4095,4095,4095],[7,0,0,0,127,127,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,127,127],[11,0,0,0,15,15,31,30,60,60,120,120,240,240,480,480,960,960,1920,1920],[6,0,0,0,63,63,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,63,63],[11,0,0,0,112,120,248,252,478,974,911,1927],[11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2047,2047],[5,0,0,0,15,15,30],[11,0,0,0,0,0,0,0,252,1022,2046,1920,1920,2046,2047,1935,1935,1999,2047,1918],[12,0,0,0,15,15,15,15,511,2047,2047,3855,3855,3855,3855,3855,3855,2015,2047,511],[10,0,0,0,0,0,0,0,1016,1022,1022,15,15,15,15,15,15,830,1022,1016],[12,0,0,0,3840,3840,3840,3840,4088,4094,4095,3855,3855,3855,3855,3855,3855,4094,4094,2040],[12,0,0,0,0,0,0,0,248,1022,2046,1935,1807,2047,4095,15,15,1598,2046,2040],[9,0,0,240,508,510,30,15,255,255,255,15,15,15,15,15,15,15,15,15],[12,0,0,0,0,0,0,0,1008,4092,4094,3855,3855,3855,3855,3855,3855,4095,4094,4088,3840,1922,2046,510],[12,0,0,0,15,15,15,15,1007,2047,4095,3855,3855,3855,3855,3855,3855,3855,3855,3855],[4,0,0,0,15,15,0,0,15,15,15,15,15,15,15,15,15,15,15,15],[4,0,0,0,15,15,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,7],[13,0,0,0,15,15,15,15,1007,4095,4095,3599,7695,3855,2031,495,975,1935,3983,7951],[4,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15],[19,0,0,0,0,0,0,0,61935,262143,262143,233359,231311,493455,493455,493455,493455,493455,493455,493455],[12,0,0,0,0,0,0,0,1007,2047,4095,3855,3855,3855,3855,3855,3855,3855,3855,3855],[12,0,0,0,0,0,0,0,504,2046,2046,3855,3855,3855,3855,3855,3855,3999,2046,504],[12,0,0,0,0,0,0,0,510,2047,2047,3855,3855,3855,3855,3855,3855,2047,2047,511,15,15,15,15],[12,0,0,0,0,0,0,0,2032,4092,4094,3855,3855,3855,3855,3855,3855,4095,4094,4092,3840,3840,3840,3840],[7,0,0,0,0,0,0,0,111,127,127,31,15,15,15,15,15,15,15,15],[11,0,0,0,0,0,0,0,508,1022,991,7,15,511,1022,1984,1920,967,1023,510],[7,0,0,0,0,0,7,7,127,127,127,15,15,15,15,15,15,31,127,126],[12,0,0,0,0,0,0,0,3855,3855,3855,3855,3855,3855,3855,3855,3855,4062,4094,3964],[12,0,0,0,0,0,0,0,3847,1927,1935,1935,974,990,478,508,508,252,248,120],[17,0,0,0,0,0,0,0,123847,123847,124879,59375,59375,61422,65278,32382,32382,31868,31804,15420],[12,0,0,0,0,0,0,0,3847,1935,990,510,508,248,248,508,508,990,1935,3975],[12,0,0,0,0,0,0,0,3847,1799,1935,1935,974,990,478,508,508,252,248,120,120,60,62,30],[10,0,0,0,0,0,0,0,1023,1023,1023,480,480,240,120,60,30,15,1023,1023],[7,0,0,0,124,60,60,28,30,30,30,30,31,15,7,15,30,30,30,30,30,28,60,124],[3,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],[7,0,0,0,15,15,14,30,30,30,30,30,62,124,124,60,30,30,30,30,30,14,15,15],[8,0,0,0,0,0,0,0,0,0,0,0,3,255,255,240],[32,4261539840,4279238144,3753901952,3758096320,2415919088,134088696,66585592,132120828,130023548,264241214,260046910,260046911,528482335,528482335,528482335,528482335,260046911,260046911,264241214,130023550,132120828,66060792,66979832],[32,534774780,532677116,1065353470,1056964734,2130706559,2130706559,2113929279,2113929279,2113929279,2130706495,2130706559,2130706687,1065353470,532677116,535824380,536838140,268435448,134217712,67108800,16777088,4193792,1046528,520192]],[[3,0,7,7,7,7,7,7,7,7,7,7,0,7,7],[15,0,3168,3696,1648,1584,32767,1849,824,792,792,8191,412,396,462],[8,0,60,60,126,255,135,7,127,254,224,227,255,60,60],[12,0,3614,1855,947,947,511,254,240,112,4088,3804,3292,4046,1991],[11,0,56,254,143,7,391,911,2046,2047,903,903,967,511,252],[3,0,7,7,7,7],[5,0,28,14,14,15,7,7,7,7,7,7,7,7,7,14,14,30],[5,0,7,7,15,14,14,14,14,14,30,14,14,14,14,14,7,7],[5,0,6,6,31,22,15,13],[6,0,0,0,0,0,0,14,14,63,63,14,14,14],[4,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7],[4,0,0,0,0,0,0,0,0,15,15],[2,0,0,0,0,0,0,0,0,0,0,0,0,3,3],[9,0,480,224,240,112,120,56,60,28,30,14,15,7,7],[12,0,240,1020,2014,1807,1799,3847,3847,3847,3847,1799,1935,1022,508],[3,0,6,7,7,7,7,7,7,7,7,7,7,7,7],[9,0,60,255,487,448,448,448,480,240,120,60,30,511,511],[9,0,62,255,487,448,448,480,254,254,448,448,481,255,127],[10,0,224,112,120,56,476,478,462,463,511,1023,960,448,448],[9,0,511,511,7,7,7,127,255,480,448,448,448,511,127],[10,0,96,240,252,30,14,511,1023,903,903,903,911,1022,252],[9,0,511,511,224,224,112,112,56,56,28,30,14,15,7],[10,0,120,510,975,903,903,510,510,1023,903,903,903,1023,510],[10,0,120,510,975,903,903,903,975,1022,960,480,240,124,60],[3,0,0,0,0,0,7,7,0,0,0,0,0,7,7],[3,0,0,0,0,0,7,7,0,0,0,0,0,7,7,7,3],[8,0,0,0,0,0,192,240,126,31,7,31,252,240,128],[7,0,0,0,0,0,0,0,127,127,0,127,127],[9,0,0,0,0,0,1,15,63,248,480,252,63,7,1],[8,0,14,127,113,224,224,112,127,31,7,7,0,7,7],[16,0,1984,16376,63612,57374,53231,57319,56327,57223,57319,56567,56439,57335,65518,63518,508,504],[13,0,240,240,496,504,1016,924,924,1822,2030,4094,3607,7687,7175],[11,0,255,1023,967,1927,903,967,503,967,1927,1927,1927,1023,511],[11,0,480,2044,1854,15,7,7,7,7,7,15,1054,2044,2040],[12,0,127,1023,1991,3847,3591,3591,3591,3591,3591,3847,1927,2047,511],[10,0,1023,1023,7,7,7,7,511,511,7,7,7,1023,1023],[9,0,511,511,7,7,7,7,511,511,7,7,7,7,7],[11,0,480,2044,1854,15,7,7,7,1799,1799,1807,1822,2046,2040],[12,0,3591,3591,3591,3591,3591,3591,4095,4095,3591,3591,3591,3591,3591],[3,0,7,7,7,7,7,7,7,7,7,7,7,7,7],[5,0,28,28,28,28,28,28,28,28,28,28,30,15,7],[13,0,3591,1799,903,455,487,247,119,247,487,967,1927,1799,7943],[8,0,7,7,7,7,7,7,7,7,7,7,7,255,255],[14,0,14351,14351,15375,15391,15903,15935,16191,16247,15223,15351,15335,14823,14791],[12,0,3591,3599,3615,3647,3647,3703,3815,4071,4039,3975,3975,3847,3591],[13,0,496,2044,4030,7695,7175,7175,7175,7175,7175,7695,3870,4094,1016],[11,0,255,1023,967,1927,1927,903,1015,503,55,7,7,7,7],[13,0,496,2044,4030,7695,7175,7175,7175,7175,7175,7695,3870,4094,1016,960,1920,1792,768],[12,0,255,1023,967,1927,1927,903,503,247,231,487,967,1927,3847],[10,0,248,1022,911,7,7,15,511,1020,896,896,897,1023,255],[9,0,511,511,56,56,56,56,56,56,56,56,56,56,56],[12,0,3591,3591,3591,3591,3591,3591,3591,3591,3591,3855,1806,2046,1016],[13,0,7687,7687,3591,3855,1806,1950,926,924,1020,504,504,240,240],[16,0,57795,58311,58343,29671,30695,30583,30583,32311,32318,15934,15390,15390,15390],[13,0,7687,3855,1934,924,1020,504,240,248,504,1020,1950,3855,7687],[12,0,3847,1799,1935,910,476,476,248,248,112,112,112,112,112],[10,0,1023,1023,896,448,480,224,112,56,28,30,15,1023,1023],[5,0,31,31,7,7,7,7,7,7,7,7,7,7,7,7,31,31],[9,0,7,7,15,14,30,28,60,56,120,112,240,224,480],[6,0,63,63,56,56,56,56,56,56,56,56,56,56,56,56,63,63],[9,0,24,60,60,126,118,231,451],[9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,511,511],[4,0,3,7,14],[9,0,0,0,0,0,255,255,480,508,511,487,487,511,510],[9,0,7,7,7,7,255,511,455,455,455,455,455,511,127],[8,0,0,0,0,0,254,255,7,7,7,7,7,255,252],[9,0,448,448,448,448,510,511,455,455,455,455,455,511,508],[9,0,0,0,0,0,254,255,455,455,511,7,7,254,252],[5,0,30,31,7,3,31,31,3,3,3,3,3,3,3],[9,0,0,0,0,0,510,511,455,455,455,455,455,511,508,448,511,255],[9,0,7,7,7,7,255,511,455,455,455,455,455,455,455],[3,0,7,7,0,0,7,7,7,7,7,7,7,7,7],[3,0,7,7,0,0,7,7,7,7,7,7,7,7,7,7,7,3,3],[10,0,7,7,7,7,511,1023,903,967,487,119,231,487,967],[3,0,7,7,7,7,7,7,7,7,7,7,7,7,7],[14,0,0,0,0,0,8191,16383,14823,14791,14791,14791,14791,14791,14791],[9,0,0,0,0,0,255,511,455,455,455,455,455,455,455],[10,0,0,0,0,0,254,511,455,455,967,455,455,511,124],[9,0,0,0,0,0,255,511,455,455,455,455,455,511,127,7,7,7],[9,0,0,0,0,0,510,511,455,455,455,455,455,511,510,448,448,448],[6,0,0,0,0,0,63,63,7,7,7,7,7,7,7],[8,0,0,0,0,0,255,255,7,63,255,224,224,255,127],[5,0,0,0,3,7,31,31,7,7,7,7,7,31,30],[9,0,0,0,0,0,455,455,455,455,455,455,455,511,510],[9,0,0,0,0,0,451,487,231,239,126,126,126,60,60],[14,0,0,0,0,0,15591,7415,7671,7671,4031,4030,3998,1822,1822],[9,0,0,0,0,0,487,239,126,60,60,124,126,231,487],[9,0,0,0,0,0,451,487,231,239,126,126,126,60,60,28,30,15,6],[8,0,0,0,0,0,255,255,112,56,28,30,15,255,255],[5,0,28,14,14,14,14,14,15,7,3,7,15,14,14,14,14,30],[3,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],[6,0,7,7,7,15,15,14,14,62,60,30,14,14,15,15,7,7],[6,0,0,0,0,0,0,0,0,39,63,56]]],"letters":[["!","#","$","%","&","'","(",")","*","+",",","-",".","\/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~"],["!","#","$","%","&","'","(",")","*","+",",","-",".","\/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","♀","♂"],["!","#","$","%","&","'","(",")","*","+",",","-",".","\/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","♂","♀"],["!","#","$","%","&","'","(",")","*","+",",","-",".","\/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~"]],"resize":1,"resolutionHeight":1440,"resolutionWidth":2560,"statDistance":0}
\ No newline at end of file
diff --git a/ARKBreedingStats/miscClasses/ValueMinMax.cs b/ARKBreedingStats/miscClasses/ValueMinMax.cs
index 2ab73729..7abd2d50 100644
--- a/ARKBreedingStats/miscClasses/ValueMinMax.cs
+++ b/ARKBreedingStats/miscClasses/ValueMinMax.cs
@@ -21,6 +21,12 @@ public MinMaxDouble(double minMax)
Max = minMax;
}
+ public MinMaxDouble(MinMaxDouble source)
+ {
+ Min = source.Min;
+ Max = source.Max;
+ }
+
public double Mean { get { return (Min + Max) / 2; } }
public double MinMax { set { Min = value; Max = value; } }
diff --git a/ARKBreedingStats/settings/Settings.Designer.cs b/ARKBreedingStats/settings/Settings.Designer.cs
index 8e297def..836ae38d 100644
--- a/ARKBreedingStats/settings/Settings.Designer.cs
+++ b/ARKBreedingStats/settings/Settings.Designer.cs
@@ -87,6 +87,7 @@ private void InitializeComponent()
this.label10 = new System.Windows.Forms.Label();
this.numericUpDownDomLevelNr = new ARKBreedingStats.uiControls.Nud();
this.groupBox4 = new System.Windows.Forms.GroupBox();
+ this.cbIgnoreSexInBreedingPlan = new System.Windows.Forms.CheckBox();
this.label16 = new System.Windows.Forms.Label();
this.radioButtonFahrenheit = new System.Windows.Forms.RadioButton();
this.radioButtonCelsius = new System.Windows.Forms.RadioButton();
@@ -144,6 +145,9 @@ private void InitializeComponent()
this.dgvFileLocation_FileLocation = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dgvFileLocation_Change = new System.Windows.Forms.DataGridViewButtonColumn();
this.dgvFileLocation_Delete = new System.Windows.Forms.DataGridViewButtonColumn();
+ this.convenientNameDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.serverNameDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.fileLocationDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.aTImportFileLocationBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.btAddSavegameFileLocation = new System.Windows.Forms.Button();
this.groupBox14 = new System.Windows.Forms.GroupBox();
@@ -154,10 +158,8 @@ private void InitializeComponent()
this.tabPageImportExported = new System.Windows.Forms.TabPage();
this.fileSelectorImportExported = new ARKBreedingStats.uiControls.FileSelector();
this.label25 = new System.Windows.Forms.Label();
- this.convenientNameDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.serverNameDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.fileLocationDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.cbIgnoreSexInBreedingPlan = new System.Windows.Forms.CheckBox();
+ this.nudMaxServerLevel = new ARKBreedingStats.uiControls.Nud();
+ this.label26 = new System.Windows.Forms.Label();
this.groupBoxMultiplier.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nudWaitBeforeScreenCapture)).BeginInit();
@@ -206,6 +208,7 @@ private void InitializeComponent()
this.groupBox14.SuspendLayout();
this.groupBox13.SuspendLayout();
this.tabPageImportExported.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.nudMaxServerLevel)).BeginInit();
this.SuspendLayout();
//
// groupBoxMultiplier
@@ -571,7 +574,7 @@ private void InitializeComponent()
this.groupBox2.Controls.Add(this.numericUpDownImprintingM);
this.groupBox2.Controls.Add(this.label8);
this.groupBox2.Controls.Add(this.numericUpDownHatching);
- this.groupBox2.Location = new System.Drawing.Point(333, 216);
+ this.groupBox2.Location = new System.Drawing.Point(333, 241);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(309, 177);
this.groupBox2.TabIndex = 4;
@@ -843,6 +846,8 @@ private void InitializeComponent()
//
// groupBox3
//
+ this.groupBox3.Controls.Add(this.nudMaxServerLevel);
+ this.groupBox3.Controls.Add(this.label26);
this.groupBox3.Controls.Add(this.numericUpDownMaxChartLevel);
this.groupBox3.Controls.Add(this.label18);
this.groupBox3.Controls.Add(this.label11);
@@ -851,7 +856,7 @@ private void InitializeComponent()
this.groupBox3.Controls.Add(this.numericUpDownDomLevelNr);
this.groupBox3.Location = new System.Drawing.Point(333, 6);
this.groupBox3.Name = "groupBox3";
- this.groupBox3.Size = new System.Drawing.Size(246, 100);
+ this.groupBox3.Size = new System.Drawing.Size(246, 127);
this.groupBox3.TabIndex = 2;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Maximal Levels on Server";
@@ -934,6 +939,16 @@ private void InitializeComponent()
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Breeding Planner";
//
+ // cbIgnoreSexInBreedingPlan
+ //
+ this.cbIgnoreSexInBreedingPlan.AutoSize = true;
+ this.cbIgnoreSexInBreedingPlan.Location = new System.Drawing.Point(6, 68);
+ this.cbIgnoreSexInBreedingPlan.Name = "cbIgnoreSexInBreedingPlan";
+ this.cbIgnoreSexInBreedingPlan.Size = new System.Drawing.Size(157, 17);
+ this.cbIgnoreSexInBreedingPlan.TabIndex = 5;
+ this.cbIgnoreSexInBreedingPlan.Text = "Ignore Sex in Breeding-Plan";
+ this.cbIgnoreSexInBreedingPlan.UseVisualStyleBackColor = true;
+ //
// label16
//
this.label16.AutoSize = true;
@@ -994,7 +1009,7 @@ private void InitializeComponent()
this.groupBox5.Controls.Add(this.label14);
this.groupBox5.Controls.Add(this.numericUpDownTamingFoodRate);
this.groupBox5.Controls.Add(this.numericUpDownTamingSpeed);
- this.groupBox5.Location = new System.Drawing.Point(333, 138);
+ this.groupBox5.Location = new System.Drawing.Point(333, 163);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(309, 72);
this.groupBox5.TabIndex = 3;
@@ -1258,7 +1273,7 @@ private void InitializeComponent()
//
// buttonEventToDefault
//
- this.buttonEventToDefault.Location = new System.Drawing.Point(506, 399);
+ this.buttonEventToDefault.Location = new System.Drawing.Point(506, 424);
this.buttonEventToDefault.Name = "buttonEventToDefault";
this.buttonEventToDefault.Size = new System.Drawing.Size(136, 23);
this.buttonEventToDefault.TabIndex = 6;
@@ -1268,7 +1283,7 @@ private void InitializeComponent()
//
// buttonAllTBMultipliersOne
//
- this.buttonAllTBMultipliersOne.Location = new System.Drawing.Point(333, 399);
+ this.buttonAllTBMultipliersOne.Location = new System.Drawing.Point(333, 424);
this.buttonAllTBMultipliersOne.Name = "buttonAllTBMultipliersOne";
this.buttonAllTBMultipliersOne.Size = new System.Drawing.Size(167, 23);
this.buttonAllTBMultipliersOne.TabIndex = 5;
@@ -1279,7 +1294,7 @@ private void InitializeComponent()
// labelEvent
//
this.labelEvent.AutoSize = true;
- this.labelEvent.Location = new System.Drawing.Point(593, 122);
+ this.labelEvent.Location = new System.Drawing.Point(593, 147);
this.labelEvent.Name = "labelEvent";
this.labelEvent.Size = new System.Drawing.Size(78, 13);
this.labelEvent.TabIndex = 9;
@@ -1439,7 +1454,7 @@ private void InitializeComponent()
this.customSCCustom.Location = new System.Drawing.Point(6, 139);
this.customSCCustom.Name = "customSCCustom";
this.customSCCustom.Size = new System.Drawing.Size(401, 23);
- this.customSCCustom.SoundFile = null;
+ this.customSCCustom.SoundFile = "";
this.customSCCustom.TabIndex = 7;
//
// customSCWakeup
@@ -1447,7 +1462,7 @@ private void InitializeComponent()
this.customSCWakeup.Location = new System.Drawing.Point(6, 81);
this.customSCWakeup.Name = "customSCWakeup";
this.customSCWakeup.Size = new System.Drawing.Size(401, 23);
- this.customSCWakeup.SoundFile = "";
+ this.customSCWakeup.SoundFile = null;
this.customSCWakeup.TabIndex = 6;
//
// customSCBirth
@@ -1455,7 +1470,7 @@ private void InitializeComponent()
this.customSCBirth.Location = new System.Drawing.Point(6, 110);
this.customSCBirth.Name = "customSCBirth";
this.customSCBirth.Size = new System.Drawing.Size(401, 23);
- this.customSCBirth.SoundFile = "";
+ this.customSCBirth.SoundFile = null;
this.customSCBirth.TabIndex = 5;
//
// customSCStarving
@@ -1463,7 +1478,7 @@ private void InitializeComponent()
this.customSCStarving.Location = new System.Drawing.Point(6, 52);
this.customSCStarving.Name = "customSCStarving";
this.customSCStarving.Size = new System.Drawing.Size(401, 23);
- this.customSCStarving.SoundFile = null;
+ this.customSCStarving.SoundFile = "";
this.customSCStarving.TabIndex = 4;
//
// label20
@@ -1601,6 +1616,24 @@ private void InitializeComponent()
this.dgvFileLocation_Delete.UseColumnTextForButtonValue = true;
this.dgvFileLocation_Delete.Width = 50;
//
+ // convenientNameDataGridViewTextBoxColumn
+ //
+ this.convenientNameDataGridViewTextBoxColumn.DataPropertyName = "ConvenientName";
+ this.convenientNameDataGridViewTextBoxColumn.HeaderText = "ConvenientName";
+ this.convenientNameDataGridViewTextBoxColumn.Name = "convenientNameDataGridViewTextBoxColumn";
+ //
+ // serverNameDataGridViewTextBoxColumn
+ //
+ this.serverNameDataGridViewTextBoxColumn.DataPropertyName = "ServerName";
+ this.serverNameDataGridViewTextBoxColumn.HeaderText = "ServerName";
+ this.serverNameDataGridViewTextBoxColumn.Name = "serverNameDataGridViewTextBoxColumn";
+ //
+ // fileLocationDataGridViewTextBoxColumn
+ //
+ this.fileLocationDataGridViewTextBoxColumn.DataPropertyName = "FileLocation";
+ this.fileLocationDataGridViewTextBoxColumn.HeaderText = "FileLocation";
+ this.fileLocationDataGridViewTextBoxColumn.Name = "fileLocationDataGridViewTextBoxColumn";
+ //
// aTImportFileLocationBindingSource
//
this.aTImportFileLocationBindingSource.AllowNew = false;
@@ -1692,33 +1725,31 @@ private void InitializeComponent()
this.label25.TabIndex = 0;
this.label25.Text = resources.GetString("label25.Text");
//
- // convenientNameDataGridViewTextBoxColumn
- //
- this.convenientNameDataGridViewTextBoxColumn.DataPropertyName = "ConvenientName";
- this.convenientNameDataGridViewTextBoxColumn.HeaderText = "ConvenientName";
- this.convenientNameDataGridViewTextBoxColumn.Name = "convenientNameDataGridViewTextBoxColumn";
- //
- // serverNameDataGridViewTextBoxColumn
+ // nudMaxServerLevel
//
- this.serverNameDataGridViewTextBoxColumn.DataPropertyName = "ServerName";
- this.serverNameDataGridViewTextBoxColumn.HeaderText = "ServerName";
- this.serverNameDataGridViewTextBoxColumn.Name = "serverNameDataGridViewTextBoxColumn";
- //
- // fileLocationDataGridViewTextBoxColumn
- //
- this.fileLocationDataGridViewTextBoxColumn.DataPropertyName = "FileLocation";
- this.fileLocationDataGridViewTextBoxColumn.HeaderText = "FileLocation";
- this.fileLocationDataGridViewTextBoxColumn.Name = "fileLocationDataGridViewTextBoxColumn";
+ this.nudMaxServerLevel.Location = new System.Drawing.Point(183, 97);
+ this.nudMaxServerLevel.Maximum = new decimal(new int[] {
+ 100000,
+ 0,
+ 0,
+ 0});
+ this.nudMaxServerLevel.Minimum = new decimal(new int[] {
+ 1,
+ 0,
+ 0,
+ -2147483648});
+ this.nudMaxServerLevel.Name = "nudMaxServerLevel";
+ this.nudMaxServerLevel.Size = new System.Drawing.Size(57, 20);
+ this.nudMaxServerLevel.TabIndex = 11;
//
- // cbIgnoreSexInBreedingPlan
+ // label26
//
- this.cbIgnoreSexInBreedingPlan.AutoSize = true;
- this.cbIgnoreSexInBreedingPlan.Location = new System.Drawing.Point(6, 68);
- this.cbIgnoreSexInBreedingPlan.Name = "cbIgnoreSexInBreedingPlan";
- this.cbIgnoreSexInBreedingPlan.Size = new System.Drawing.Size(157, 17);
- this.cbIgnoreSexInBreedingPlan.TabIndex = 5;
- this.cbIgnoreSexInBreedingPlan.Text = "Ignore Sex in Breeding-Plan";
- this.cbIgnoreSexInBreedingPlan.UseVisualStyleBackColor = true;
+ this.label26.AutoSize = true;
+ this.label26.Location = new System.Drawing.Point(10, 99);
+ this.label26.Name = "label26";
+ this.label26.Size = new System.Drawing.Size(83, 13);
+ this.label26.TabIndex = 12;
+ this.label26.Text = "Max Total Level";
//
// Settings
//
@@ -1799,6 +1830,7 @@ private void InitializeComponent()
this.groupBox13.ResumeLayout(false);
this.tabPageImportExported.ResumeLayout(false);
this.tabPageImportExported.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.nudMaxServerLevel)).EndInit();
this.ResumeLayout(false);
}
@@ -1933,5 +1965,7 @@ private void InitializeComponent()
private System.Windows.Forms.DataGridViewTextBoxColumn convenientNameDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn serverNameDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn fileLocationDataGridViewTextBoxColumn;
+ private uiControls.Nud nudMaxServerLevel;
+ private System.Windows.Forms.Label label26;
}
}
\ No newline at end of file
diff --git a/ARKBreedingStats/settings/Settings.cs b/ARKBreedingStats/settings/Settings.cs
index dc240af5..fef52348 100644
--- a/ARKBreedingStats/settings/Settings.cs
+++ b/ARKBreedingStats/settings/Settings.cs
@@ -70,6 +70,7 @@ private void initStuff()
tt.SetToolTip(buttonSetToOfficialMP, "Set all stat-multipliers to the default values");
tt.SetToolTip(cbAllowMoreThanHundredImprinting, "Enable this if on your server more than 100% imprinting are possible, e.g. with the mod S+ with a Nanny");
tt.SetToolTip(cbDevTools, "Shows extra tabs for multiplier-testing and extraction test-cases.");
+ tt.SetToolTip(nudMaxServerLevel, "The max level allowed on the server. Currently creatures with more than 450 levels will be deleted on official servers.\nSet to -1 to disable a warning in this app.");
}
private void loadSettings(CreatureCollection cc)
@@ -91,6 +92,7 @@ private void loadSettings(CreatureCollection cc)
numericUpDownDomLevelNr.Value = cc.maxDomLevel;
numericUpDownMaxBreedingSug.Value = cc.maxBreedingSuggestions;
numericUpDownMaxWildLevel.Value = cc.maxWildLevel;
+ nudMaxServerLevel.Value = cc.maxServerLevel;
numericUpDownMaxChartLevel.Value = cc.maxChartLevel;
numericUpDownImprintingM.Value = (decimal)cc.imprintingMultiplier;
numericUpDownBabyCuddleIntervalMultiplier.Value = (decimal)cc.babyCuddleIntervalMultiplier;
@@ -174,6 +176,7 @@ private void saveSettings()
cc.maxDomLevel = (int)numericUpDownDomLevelNr.Value;
WildMaxChanged = WildMaxChanged || (cc.maxWildLevel != (int)numericUpDownMaxWildLevel.Value);
cc.maxWildLevel = (int)numericUpDownMaxWildLevel.Value;
+ cc.maxServerLevel = (int)nudMaxServerLevel.Value;
cc.maxChartLevel = (int)numericUpDownMaxChartLevel.Value;
cc.maxBreedingSuggestions = (int)numericUpDownMaxBreedingSug.Value;
Properties.Settings.Default.IgnoreSexInBreedingPlan = cbIgnoreSexInBreedingPlan.Checked;
diff --git a/ARKBreedingStats/settings/Settings.resx b/ARKBreedingStats/settings/Settings.resx
index 4e46f2b7..4043de50 100644
--- a/ARKBreedingStats/settings/Settings.resx
+++ b/ARKBreedingStats/settings/Settings.resx
@@ -140,6 +140,24 @@ It works with the window-mode "Fullscreen-Windowed" and sometimes does not work
17, 17
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ 17, 17
+
The creature data can be imported from the save-game, if it is available. The data has to be extracted first with the ark-tools.
If you set the according files below, you can start the process automatically from the file-menu. Make sure the folders are correct.
diff --git a/ARKBreedingStats/ver.txt b/ARKBreedingStats/ver.txt
index 0809504b..e1c35e72 100644
--- a/ARKBreedingStats/ver.txt
+++ b/ARKBreedingStats/ver.txt
@@ -1 +1 @@
-279.234.1,0.27.3
+279.234.1,0.27.4