diff --git a/ARKBreedingStats/Form1.Designer.cs b/ARKBreedingStats/Form1.Designer.cs index 6caf17d0..3733fe03 100644 --- a/ARKBreedingStats/Form1.Designer.cs +++ b/ARKBreedingStats/Form1.Designer.cs @@ -1315,7 +1315,6 @@ private void InitializeComponent() this.statTestingHealth.Size = new System.Drawing.Size(295, 50); this.statTestingHealth.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statTestingHealth.TabIndex = 0; - this.statTestingHealth.Unknown = false; // // labelDomLevelSum // @@ -1342,7 +1341,6 @@ private void InitializeComponent() this.statTestingStamina.Size = new System.Drawing.Size(295, 50); this.statTestingStamina.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statTestingStamina.TabIndex = 1; - this.statTestingStamina.Unknown = false; // // statTestingOxygen // @@ -1360,7 +1358,6 @@ private void InitializeComponent() this.statTestingOxygen.Size = new System.Drawing.Size(295, 50); this.statTestingOxygen.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statTestingOxygen.TabIndex = 2; - this.statTestingOxygen.Unknown = false; // // labelNotTamedNoteTesting // @@ -1387,7 +1384,6 @@ private void InitializeComponent() this.statTestingFood.Size = new System.Drawing.Size(295, 50); this.statTestingFood.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statTestingFood.TabIndex = 3; - this.statTestingFood.Unknown = false; // // label10 // @@ -1414,7 +1410,6 @@ private void InitializeComponent() this.statTestingWeight.Size = new System.Drawing.Size(295, 50); this.statTestingWeight.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statTestingWeight.TabIndex = 4; - this.statTestingWeight.Unknown = false; // // statTestingDamage // @@ -1432,7 +1427,6 @@ private void InitializeComponent() this.statTestingDamage.Size = new System.Drawing.Size(295, 50); this.statTestingDamage.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statTestingDamage.TabIndex = 5; - this.statTestingDamage.Unknown = false; // // statTestingSpeed // @@ -1450,7 +1444,6 @@ private void InitializeComponent() this.statTestingSpeed.Size = new System.Drawing.Size(295, 50); this.statTestingSpeed.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statTestingSpeed.TabIndex = 6; - this.statTestingSpeed.Unknown = false; // // statTestingTorpor // @@ -1468,7 +1461,6 @@ private void InitializeComponent() this.statTestingTorpor.Size = new System.Drawing.Size(295, 50); this.statTestingTorpor.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statTestingTorpor.TabIndex = 7; - this.statTestingTorpor.Unknown = false; // // groupBox5 // @@ -1500,7 +1492,7 @@ private void InitializeComponent() // // creatureInfoInputTester // - this.creatureInfoInputTester.Cooldown = new System.DateTime(2018, 1, 28, 13, 33, 39, 119); + this.creatureInfoInputTester.Cooldown = new System.DateTime(2018, 1, 30, 22, 32, 57, 197); this.creatureInfoInputTester.CreatureName = ""; this.creatureInfoInputTester.CreatureNote = ""; this.creatureInfoInputTester.CreatureOwner = ""; @@ -1510,7 +1502,7 @@ 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, 1, 28, 13, 33, 39, 121); + this.creatureInfoInputTester.Grown = new System.DateTime(2018, 1, 30, 22, 32, 57, 198); this.creatureInfoInputTester.Location = new System.Drawing.Point(321, 184); this.creatureInfoInputTester.mother = null; this.creatureInfoInputTester.MutationCounter = 0; @@ -1665,7 +1657,6 @@ private void InitializeComponent() this.statIOHealth.Size = new System.Drawing.Size(295, 50); this.statIOHealth.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statIOHealth.TabIndex = 0; - this.statIOHealth.Unknown = false; this.statIOHealth.Click += new System.EventHandler(this.statIO_Click); // // statIODamage @@ -1684,7 +1675,6 @@ private void InitializeComponent() this.statIODamage.Size = new System.Drawing.Size(295, 50); this.statIODamage.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statIODamage.TabIndex = 5; - this.statIODamage.Unknown = false; this.statIODamage.Click += new System.EventHandler(this.statIO_Click); // // statIOTorpor @@ -1703,7 +1693,6 @@ private void InitializeComponent() this.statIOTorpor.Size = new System.Drawing.Size(295, 50); this.statIOTorpor.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statIOTorpor.TabIndex = 7; - this.statIOTorpor.Unknown = false; // // statIOWeight // @@ -1721,7 +1710,6 @@ private void InitializeComponent() this.statIOWeight.Size = new System.Drawing.Size(295, 50); this.statIOWeight.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statIOWeight.TabIndex = 4; - this.statIOWeight.Unknown = false; this.statIOWeight.Click += new System.EventHandler(this.statIO_Click); // // statIOSpeed @@ -1740,7 +1728,6 @@ private void InitializeComponent() this.statIOSpeed.Size = new System.Drawing.Size(295, 50); this.statIOSpeed.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statIOSpeed.TabIndex = 6; - this.statIOSpeed.Unknown = false; this.statIOSpeed.Click += new System.EventHandler(this.statIO_Click); // // statIOFood @@ -1759,7 +1746,6 @@ private void InitializeComponent() this.statIOFood.Size = new System.Drawing.Size(295, 50); this.statIOFood.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statIOFood.TabIndex = 3; - this.statIOFood.Unknown = false; this.statIOFood.Click += new System.EventHandler(this.statIO_Click); // // statIOOxygen @@ -1778,7 +1764,6 @@ private void InitializeComponent() this.statIOOxygen.Size = new System.Drawing.Size(295, 50); this.statIOOxygen.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statIOOxygen.TabIndex = 2; - this.statIOOxygen.Unknown = false; this.statIOOxygen.Click += new System.EventHandler(this.statIO_Click); // // statIOStamina @@ -1797,7 +1782,6 @@ private void InitializeComponent() this.statIOStamina.Size = new System.Drawing.Size(295, 50); this.statIOStamina.Status = ARKBreedingStats.StatIOStatus.Neutral; this.statIOStamina.TabIndex = 1; - this.statIOStamina.Unknown = false; this.statIOStamina.Click += new System.EventHandler(this.statIO_Click); // // buttonExtract @@ -1842,7 +1826,7 @@ private void InitializeComponent() // // creatureInfoInputExtractor // - this.creatureInfoInputExtractor.Cooldown = new System.DateTime(2018, 1, 28, 13, 33, 39, 158); + this.creatureInfoInputExtractor.Cooldown = new System.DateTime(2018, 1, 30, 22, 32, 57, 230); this.creatureInfoInputExtractor.CreatureName = ""; this.creatureInfoInputExtractor.CreatureNote = ""; this.creatureInfoInputExtractor.CreatureOwner = ""; @@ -1852,7 +1836,7 @@ 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, 1, 28, 13, 33, 39, 158); + this.creatureInfoInputExtractor.Grown = new System.DateTime(2018, 1, 30, 22, 32, 57, 231); this.creatureInfoInputExtractor.Location = new System.Drawing.Point(321, 184); this.creatureInfoInputExtractor.mother = null; this.creatureInfoInputExtractor.MutationCounter = 0; diff --git a/ARKBreedingStats/Form1.cs b/ARKBreedingStats/Form1.cs index bfcc0bae..62c7bc40 100644 --- a/ARKBreedingStats/Form1.cs +++ b/ARKBreedingStats/Form1.cs @@ -954,8 +954,8 @@ private void listViewPossibilities_SelectedIndexChanged(object sender, EventArgs private void setPossibility(int s, int i, bool validateCombination = false) { - statIOs[s].LevelWild = (Int32)extractor.results[s][i].levelWild; - statIOs[s].LevelDom = (Int32)extractor.results[s][i].levelDom; + statIOs[s].LevelWild = extractor.results[s][i].levelWild; + statIOs[s].LevelDom = extractor.results[s][i].levelDom; statIOs[s].TamingEffectiveness = (Int32)extractor.results[s][i].TE; statIOs[s].BreedingValue = breedingValue(s, i); extractor.chosenResults[s] = i; @@ -989,7 +989,6 @@ private void setWildSpeedLevelAccordingToOthers() { // if all other stats are unique, set speedlevel statIOs[6].LevelWild = Math.Max(0, notDeterminedLevels); - statIOs[6].Unknown = false; } else { @@ -998,8 +997,7 @@ private void setWildSpeedLevelAccordingToOthers() { if (s == 6 || !activeStats[s]) { - statIOs[s].LevelWild = 0; - statIOs[s].Unknown = true; + statIOs[s].LevelWild = -1; } } } @@ -1158,7 +1156,7 @@ private void add2Lib(bool fromExtractor = true) private int[] getCurrentWildLevels(bool fromExtractor = true) { int[] levelsWild = new int[8]; - for (int s = 0; s < 8; s++) { levelsWild[s] = (fromExtractor ? (statIOs[s].Unknown ? -1 : statIOs[s].LevelWild) : testingIOs[s].LevelWild); } + for (int s = 0; s < 8; s++) { levelsWild[s] = (fromExtractor ? statIOs[s].LevelWild : testingIOs[s].LevelWild); } return levelsWild; } @@ -2572,7 +2570,7 @@ private List[] findParentSimilarities(List[] parents, Creature cr return parentListSimilarities; } - //tabcontrolmainchange, tabchange + //tabcontrolmainchange, maintabchange private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { timerList1.updateTimer = (tabControlMain.SelectedTab == tabPageTimer); @@ -2818,7 +2816,7 @@ private void testingStatIOValueUpdate(StatIO sIo) int torporLvl = 0; for (int s = 0; s < 7; s++) { - torporLvl += testingIOs[s].LevelWild; + torporLvl += (testingIOs[s].LevelWild > 0 ? testingIOs[s].LevelWild : 0); } testingIOs[7].LevelWild = torporLvl + hiddenLevelsCreatureTester; } diff --git a/ARKBreedingStats/Form1.resx b/ARKBreedingStats/Form1.resx index a0dc2a21..88f711fa 100644 --- a/ARKBreedingStats/Form1.resx +++ b/ARKBreedingStats/Form1.resx @@ -125,31 +125,6 @@ The TE can differ 0.1% due to ingame-rounding. 17, 17 - - Extraction failed, common causes: - -1. If the creature is bred, check the "Bred Creature"-radiobutton - -2. Taming-Effectiveness-Range too narrow, increase the upper and / or decrase the lower bound - -3. Typo, double-check the input values - -4. Uncheck all Lock-to-Zero-buttons in the stats (all lock-symbols should be green and opened) - -5. If the creature has exactly 100% imprinting, check the "Exactly, don't adjust"-checkbox - -6. If you have enabled the Singleplayer-Settings in the game, make sure the checkbox is enabled in the settings in this program as well - -7. Uncheck the "Consider Wild-level-steps" in the settings. - -8. The maximal wild level is set too low, go to the settings and adjust it - -9. The multipliers in the Settings (File - Settings) are not set to the multipliers of the server. Ask your admin for the correct multipliers and adjust them in the Settings. - -10. The stats of the creature were changed recently and the game displays the old values. Level up a stat, that should trigger a recalculation of the values. - -11. The stat-values in this tool are wrong or the game does show wrong stats. You can via reddit or github send me a screenshot that contains the stats of the creature ingame and the extractor with the typed in values along with the stat-multipliers in the settings. - @@ -232,6 +207,31 @@ The TE can differ 0.1% due to ingame-rounding. 3EnWcIqXZLIQ3XdChGq+ixGgOCJFOf//oGNZTLqel4VLSA4ga5BrcTbyRIRIsQqUtViLEDTXxpd0hLgu a4ywyrbxQbAB3Ak3qLu41mHMfwCWaqdyEzp1TQAAAABJRU5ErkJggg== + + + Extraction failed, common causes: + +1. If the creature is bred, check the "Bred Creature"-radiobutton + +2. Taming-Effectiveness-Range too narrow, increase the upper and / or decrase the lower bound + +3. Typo, double-check the input values + +4. Uncheck all Lock-to-Zero-buttons in the stats (all lock-symbols should be green and opened) + +5. If the creature has exactly 100% imprinting, check the "Exactly, don't adjust"-checkbox + +6. If you have enabled the Singleplayer-Settings in the game, make sure the checkbox is enabled in the settings in this program as well + +7. Uncheck the "Consider Wild-level-steps" in the settings. + +8. The maximal wild level is set too low, go to the settings and adjust it + +9. The multipliers in the Settings (File - Settings) are not set to the multipliers of the server. Ask your admin for the correct multipliers and adjust them in the Settings. + +10. The stats of the creature were changed recently and the game displays the old values. Level up a stat, that should trigger a recalculation of the values. + +11. The stat-values in this tool are wrong or the game does show wrong stats. You can via reddit or github send me a screenshot that contains the stats of the creature ingame and the extractor with the typed in values along with the stat-multipliers in the settings. diff --git a/ARKBreedingStats/Properties/AssemblyInfo.cs b/ARKBreedingStats/Properties/AssemblyInfo.cs index bd5ad60d..9fb0b547 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.24.8")] +[assembly: AssemblyFileVersion("0.24.9")] diff --git a/ARKBreedingStats/StatIO.Designer.cs b/ARKBreedingStats/StatIO.Designer.cs index dec17323..6f5a7317 100644 --- a/ARKBreedingStats/StatIO.Designer.cs +++ b/ARKBreedingStats/StatIO.Designer.cs @@ -34,12 +34,12 @@ private void InitializeComponent() this.checkBoxFixDomZero = new System.Windows.Forms.CheckBox(); this.labelDomLevel = new System.Windows.Forms.Label(); this.labelWildLevel = new System.Windows.Forms.Label(); - this.numericUpDownInput = new System.Windows.Forms.NumericUpDown(); + this.numericUpDownInput = new ARKBreedingStats.uiControls.Nud(); this.panelBarWildLevels = new System.Windows.Forms.Panel(); this.inputPanel = new System.Windows.Forms.Panel(); this.labelFinalValue = new System.Windows.Forms.Label(); - this.numLvD = new System.Windows.Forms.NumericUpDown(); - this.numLvW = new System.Windows.Forms.NumericUpDown(); + this.numLvD = new ARKBreedingStats.uiControls.Nud(); + this.numLvW = new ARKBreedingStats.uiControls.Nud(); this.labelBValue = new System.Windows.Forms.Label(); this.groupBox1.SuspendLayout(); this.panelFinalValue.SuspendLayout(); @@ -120,6 +120,7 @@ private void InitializeComponent() // numericUpDownInput // this.numericUpDownInput.DecimalPlaces = 1; + this.numericUpDownInput.ForeColor = System.Drawing.SystemColors.WindowText; this.numericUpDownInput.Location = new System.Drawing.Point(3, 3); this.numericUpDownInput.Maximum = new decimal(new int[] { 10000000, @@ -168,6 +169,7 @@ private void InitializeComponent() // // numLvD // + this.numLvD.ForeColor = System.Drawing.SystemColors.GrayText; this.numLvD.Location = new System.Drawing.Point(55, 3); this.numLvD.Maximum = new decimal(new int[] { 9999, @@ -182,12 +184,18 @@ private void InitializeComponent() // // numLvW // + this.numLvW.ForeColor = System.Drawing.SystemColors.GrayText; this.numLvW.Location = new System.Drawing.Point(3, 3); this.numLvW.Maximum = new decimal(new int[] { 9999, 0, 0, 0}); + this.numLvW.Minimum = new decimal(new int[] { + 1, + 0, + 0, + -2147483648}); this.numLvW.Name = "numLvW"; this.numLvW.Size = new System.Drawing.Size(46, 20); this.numLvW.TabIndex = 6; @@ -229,10 +237,10 @@ private void InitializeComponent() private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Label labelBValue; - private System.Windows.Forms.NumericUpDown numericUpDownInput; + private uiControls.Nud numericUpDownInput; private System.Windows.Forms.Panel panelBarWildLevels; - private System.Windows.Forms.NumericUpDown numLvD; - private System.Windows.Forms.NumericUpDown numLvW; + private uiControls.Nud numLvD; + private uiControls.Nud numLvW; private System.Windows.Forms.Panel inputPanel; private System.Windows.Forms.Panel panelFinalValue; private System.Windows.Forms.Label labelDomLevel; diff --git a/ARKBreedingStats/StatIO.cs b/ARKBreedingStats/StatIO.cs index 48608b5a..b0653ba8 100644 --- a/ARKBreedingStats/StatIO.cs +++ b/ARKBreedingStats/StatIO.cs @@ -16,7 +16,6 @@ public partial class StatIO : UserControl public bool postTame; // if false (aka creature untamed) display note that stat can be higher after taming private StatIOStatus status; public bool percent; // indicates whether this stat is expressed as a percentile - private bool unknown; private string statName; private double breedingValue; private StatIOInputType inputType; @@ -48,9 +47,17 @@ public double Input get { return (double)this.numericUpDownInput.Value / (percent ? 100 : 1); } set { - if (value > (double)numericUpDownInput.Maximum) value = (double)numericUpDownInput.Maximum; - this.numericUpDownInput.Value = (decimal)value * (percent ? 100 : 1); - this.labelFinalValue.Text = (value * (percent ? 100 : 1)).ToString("N1"); + if (value < 0) + { + this.numericUpDownInput.Value = 0; + labelFinalValue.Text = "unknown"; + } + else + { + if (value > (double)numericUpDownInput.Maximum) value = (double)numericUpDownInput.Maximum; + this.numericUpDownInput.Value = (decimal)value * (percent ? 100 : 1); + this.labelFinalValue.Text = (value * (percent ? 100 : 1)).ToString("N1"); + } } } @@ -69,18 +76,14 @@ public Int32 LevelWild { int v = value; if (v < 0) - { - numLvW.Value = 0; - unknown = true; // value can be unknown if multiple stats are not shown (e.g. wild speed and oxygen) - } + numLvW.Value = -1; // value can be unknown if multiple stats are not shown (e.g. wild speed and oxygen) else { if (v > numLvW.Maximum) v = (int)numLvW.Maximum; this.numLvW.Value = v; - unknown = false; } - this.labelWildLevel.Text = v.ToString() + (unknown ? " (?)" : ""); + this.labelWildLevel.Text = v.ToString() + (value < 0 ? " (?)" : ""); } get { return (Int16)this.numLvW.Value; } } @@ -104,7 +107,7 @@ public double BreedingValue this.labelBValue.Text = Math.Round((percent ? 100 : 1) * value, 1).ToString("N1") + (postTame ? "" : " +*"); breedingValue = value; } - else { this.labelBValue.Text = "error"; } + else { this.labelBValue.Text = "unknown"; } } get { return breedingValue; } } @@ -191,8 +194,6 @@ public StatIOInputType InputType } - public bool Unknown { get { return unknown; } set { unknown = value; } } - public void Clear() { Status = StatIOStatus.Neutral; @@ -202,7 +203,6 @@ public void Clear() labelWildLevel.Text = "0"; labelFinalValue.Text = "0"; labelBValue.Text = ""; - Unknown = false; } private void numLvW_ValueChanged(object sender, EventArgs e) diff --git a/ARKBreedingStats/Stats.cs b/ARKBreedingStats/Stats.cs index d9b9e9f1..e5bf2f0f 100644 --- a/ARKBreedingStats/Stats.cs +++ b/ARKBreedingStats/Stats.cs @@ -10,6 +10,8 @@ public static class Stats { public static double calculateValue(int speciesIndex, int stat, int levelWild, int levelDom, bool dom, double tamingEff, double imprintingBonus) { + if (levelWild < 0) + return -1; if (speciesIndex >= 0) { double add = 0, domMultAffinity = 0, domMult = 1, imprintingM = 1, tamedBaseHP = 1; diff --git a/ARKBreedingStats/Taming.cs b/ARKBreedingStats/Taming.cs index 97fa7bcd..f04b855a 100644 --- a/ARKBreedingStats/Taming.cs +++ b/ARKBreedingStats/Taming.cs @@ -232,7 +232,7 @@ public static TimeSpan tamingDuration(int speciesI, int foodQuantity, string foo return new TimeSpan(0, 0, (int)Math.Ceiling(foodQuantity * foodValue / (taming.foodConsumptionBase * taming.foodConsumptionMult * tamingFoodRateMultiplier))); } - public static string knockoutInfo(int speciesIndex, int level, double longneck, double crossbow, double bow, double slingshot, double club, double prod, out bool knockoutNeeded, out string koNumbers) + public static string knockoutInfo(int speciesIndex, int level, double longneck, double crossbow, double bow, double slingshot, double club, double prod, double boneDamageAdjuster, out bool knockoutNeeded, out string koNumbers) { koNumbers = ""; knockoutNeeded = false; @@ -257,17 +257,13 @@ public static string knockoutInfo(int speciesIndex, int level, double longneck, // shocking tranq dart: 26*17 = 442 // electric prod: 226 - koNumbers = (longneck > 0 ? Math.Ceiling(totalTorpor / (442 * longneck)) + " × Shocking Tranq Darts\n" : "") - + (longneck > 0 ? Math.Ceiling(totalTorpor / (221 * longneck)) + " × Tranquilizer Darts\n" : "") - + (prod > 0 ? Math.Ceiling(totalTorpor / (226 * prod)) + " × Electric Prod Hits\n" : "") - + (crossbow > 0 ? Math.Ceiling(totalTorpor / (157.5 * crossbow)) + " × Tranquilizer Arrows (Crossbow)\n" : "") - + (bow > 0 ? Math.Ceiling(totalTorpor / (90 * bow)) + " × Tranquilizer Arrows (Bow)\n" : "") - + (slingshot > 0 ? Math.Ceiling(totalTorpor / (24.5 * slingshot)) + " × Slingshot Hits\n" : "") - + (club > 0 ? Math.Ceiling(totalTorpor / (10 * club)) + " × Wooden Club Hits\n" : ""); - - //string boneDmAdjusters = boneDamageAdjustersImmobilization(speciesIndex); - //if (boneDmAdjusters.Length > 0) - // koNumbers += "\n" + boneDmAdjusters + "\n"; + koNumbers = (longneck > 0 ? Math.Ceiling(totalTorpor / (442 * boneDamageAdjuster * longneck)) + " × Shocking Tranq Darts\n" : "") + + (longneck > 0 ? Math.Ceiling(totalTorpor / (221 * boneDamageAdjuster * longneck)) + " × Tranquilizer Darts\n" : "") + + (prod > 0 ? Math.Ceiling(totalTorpor / (226 * boneDamageAdjuster * prod)) + " × Electric Prod Hits\n" : "") + + (crossbow > 0 ? Math.Ceiling(totalTorpor / (157.5 * boneDamageAdjuster * crossbow)) + " × Tranquilizer Arrows (Crossbow)\n" : "") + + (bow > 0 ? Math.Ceiling(totalTorpor / (90 * boneDamageAdjuster * bow)) + " × Tranquilizer Arrows (Bow)\n" : "") + + (slingshot > 0 ? Math.Ceiling(totalTorpor / (24.5 * boneDamageAdjuster * slingshot)) + " × Slingshot Hits\n" : "") + + (club > 0 ? Math.Ceiling(totalTorpor / (10 * boneDamageAdjuster * club)) + " × Wooden Club Hits\n" : ""); // torpor depletion per s string torporDepletion = ""; @@ -299,13 +295,15 @@ public static string quickInfoOneFood(int speciesIndex, int level, double taming + $"\nFood has to drop by {hunger:F1} units."; } - public static string boneDamageAdjustersImmobilization(int speciesIndex) + public static string boneDamageAdjustersImmobilization(int speciesIndex, out Dictionary boneDamageAdjusters) { string text = ""; + boneDamageAdjusters = new Dictionary(); if (speciesIndex >= 0 && speciesIndex < Values.V.species.Count) { if (Values.V.species[speciesIndex].boneDamageAdjusters != null) { + boneDamageAdjusters = Values.V.species[speciesIndex].boneDamageAdjusters; foreach (KeyValuePair bd in Values.V.species[speciesIndex].boneDamageAdjusters) { text += (text.Length > 0 ? "\n" : "") + bd.Value + ": × " + bd.Key; diff --git a/ARKBreedingStats/TamingControl.Designer.cs b/ARKBreedingStats/TamingControl.Designer.cs index d2545680..ad092cc6 100644 --- a/ARKBreedingStats/TamingControl.Designer.cs +++ b/ARKBreedingStats/TamingControl.Designer.cs @@ -29,7 +29,7 @@ protected override void Dispose(bool disposing) private void InitializeComponent() { this.labelResult = new System.Windows.Forms.Label(); - this.nudLevel = new System.Windows.Forms.NumericUpDown(); + this.nudLevel = new ARKBreedingStats.uiControls.Nud(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); @@ -37,34 +37,33 @@ private void InitializeComponent() this.buttonAddTorporTimer = new System.Windows.Forms.Button(); this.labelTimeUntilWakingUp = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label(); - this.numericUpDownCurrentTorpor = new System.Windows.Forms.NumericUpDown(); + this.numericUpDownCurrentTorpor = new ARKBreedingStats.uiControls.Nud(); this.label4 = new System.Windows.Forms.Label(); - this.nudWDmLongneck = new System.Windows.Forms.NumericUpDown(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.nudWDmProd = new System.Windows.Forms.NumericUpDown(); + this.nudWDmLongneck = new ARKBreedingStats.uiControls.Nud(); + this.gbWeaponDamage = new System.Windows.Forms.GroupBox(); + this.rbBoneDamageDefault = new System.Windows.Forms.RadioButton(); + this.nudWDmProd = new ARKBreedingStats.uiControls.Nud(); this.chkbDmCrossbow = new System.Windows.Forms.CheckBox(); this.chkbDmBow = new System.Windows.Forms.CheckBox(); this.chkbDmSlingshot = new System.Windows.Forms.CheckBox(); this.chkbDmClub = new System.Windows.Forms.CheckBox(); this.chkbDmLongneck = new System.Windows.Forms.CheckBox(); - this.nudWDmSlingshot = new System.Windows.Forms.NumericUpDown(); + this.nudWDmSlingshot = new ARKBreedingStats.uiControls.Nud(); this.chkbDmProd = new System.Windows.Forms.CheckBox(); - this.nudWDmClub = new System.Windows.Forms.NumericUpDown(); - this.nudWDmBow = new System.Windows.Forms.NumericUpDown(); - this.nudWDmCrossbow = new System.Windows.Forms.NumericUpDown(); + this.nudWDmClub = new ARKBreedingStats.uiControls.Nud(); + this.nudWDmBow = new ARKBreedingStats.uiControls.Nud(); + this.nudWDmCrossbow = new ARKBreedingStats.uiControls.Nud(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.labelKOCount = new System.Windows.Forms.Label(); this.groupBox3 = new System.Windows.Forms.GroupBox(); this.groupBox4 = new System.Windows.Forms.GroupBox(); this.btnAddStarvingTimer = new System.Windows.Forms.Button(); this.lblTimeUntilStarving = new System.Windows.Forms.Label(); - this.label6 = new System.Windows.Forms.Label(); - this.nudCurrentFood = new System.Windows.Forms.NumericUpDown(); ((System.ComponentModel.ISupportInitialize)(this.nudLevel)).BeginInit(); this.groupBox9.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownCurrentTorpor)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.nudWDmLongneck)).BeginInit(); - this.groupBox1.SuspendLayout(); + this.gbWeaponDamage.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.nudWDmProd)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.nudWDmSlingshot)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.nudWDmClub)).BeginInit(); @@ -73,7 +72,6 @@ private void InitializeComponent() this.groupBox2.SuspendLayout(); this.groupBox3.SuspendLayout(); this.groupBox4.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.nudCurrentFood)).BeginInit(); this.SuspendLayout(); // // labelResult @@ -87,6 +85,7 @@ private void InitializeComponent() // // nudLevel // + this.nudLevel.ForeColor = System.Drawing.SystemColors.WindowText; this.nudLevel.Location = new System.Drawing.Point(42, 1); this.nudLevel.Maximum = new decimal(new int[] { 10000, @@ -208,6 +207,7 @@ private void InitializeComponent() // nudWDmLongneck // this.nudWDmLongneck.DecimalPlaces = 1; + this.nudWDmLongneck.ForeColor = System.Drawing.SystemColors.WindowText; this.nudWDmLongneck.Location = new System.Drawing.Point(147, 45); this.nudWDmLongneck.Maximum = new decimal(new int[] { 1000, @@ -229,30 +229,43 @@ private void InitializeComponent() 0}); this.nudWDmLongneck.ValueChanged += new System.EventHandler(this.nudWDm_ValueChanged); // - // groupBox1 - // - this.groupBox1.Controls.Add(this.nudWDmProd); - this.groupBox1.Controls.Add(this.chkbDmCrossbow); - this.groupBox1.Controls.Add(this.chkbDmBow); - this.groupBox1.Controls.Add(this.chkbDmSlingshot); - this.groupBox1.Controls.Add(this.chkbDmClub); - this.groupBox1.Controls.Add(this.chkbDmLongneck); - this.groupBox1.Controls.Add(this.nudWDmSlingshot); - this.groupBox1.Controls.Add(this.chkbDmProd); - this.groupBox1.Controls.Add(this.nudWDmClub); - this.groupBox1.Controls.Add(this.nudWDmBow); - this.groupBox1.Controls.Add(this.nudWDmCrossbow); - this.groupBox1.Controls.Add(this.nudWDmLongneck); - this.groupBox1.Location = new System.Drawing.Point(691, 3); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(206, 175); - this.groupBox1.TabIndex = 7; - this.groupBox1.TabStop = false; - this.groupBox1.Text = "Weapon-Damage [%]"; + // gbWeaponDamage + // + this.gbWeaponDamage.Controls.Add(this.rbBoneDamageDefault); + this.gbWeaponDamage.Controls.Add(this.nudWDmProd); + this.gbWeaponDamage.Controls.Add(this.chkbDmCrossbow); + this.gbWeaponDamage.Controls.Add(this.chkbDmBow); + this.gbWeaponDamage.Controls.Add(this.chkbDmSlingshot); + this.gbWeaponDamage.Controls.Add(this.chkbDmClub); + this.gbWeaponDamage.Controls.Add(this.chkbDmLongneck); + this.gbWeaponDamage.Controls.Add(this.nudWDmSlingshot); + this.gbWeaponDamage.Controls.Add(this.chkbDmProd); + this.gbWeaponDamage.Controls.Add(this.nudWDmClub); + this.gbWeaponDamage.Controls.Add(this.nudWDmBow); + this.gbWeaponDamage.Controls.Add(this.nudWDmCrossbow); + this.gbWeaponDamage.Controls.Add(this.nudWDmLongneck); + this.gbWeaponDamage.Location = new System.Drawing.Point(691, 3); + this.gbWeaponDamage.Name = "gbWeaponDamage"; + this.gbWeaponDamage.Size = new System.Drawing.Size(206, 251); + this.gbWeaponDamage.TabIndex = 7; + this.gbWeaponDamage.TabStop = false; + this.gbWeaponDamage.Text = "Weapon-Damage [%]"; + // + // rbBoneDamageDefault + // + this.rbBoneDamageDefault.Location = new System.Drawing.Point(6, 173); + this.rbBoneDamageDefault.Name = "rbBoneDamageDefault"; + this.rbBoneDamageDefault.Size = new System.Drawing.Size(194, 17); + this.rbBoneDamageDefault.TabIndex = 12; + this.rbBoneDamageDefault.TabStop = true; + this.rbBoneDamageDefault.Text = "Default (1×)"; + this.rbBoneDamageDefault.UseVisualStyleBackColor = true; + this.rbBoneDamageDefault.CheckedChanged += new System.EventHandler(this.rbBoneDamage_CheckedChanged); // // nudWDmProd // this.nudWDmProd.DecimalPlaces = 1; + this.nudWDmProd.ForeColor = System.Drawing.SystemColors.WindowText; this.nudWDmProd.Location = new System.Drawing.Point(147, 19); this.nudWDmProd.Maximum = new decimal(new int[] { 1000, @@ -336,6 +349,7 @@ private void InitializeComponent() // nudWDmSlingshot // this.nudWDmSlingshot.DecimalPlaces = 1; + this.nudWDmSlingshot.ForeColor = System.Drawing.SystemColors.WindowText; this.nudWDmSlingshot.Location = new System.Drawing.Point(147, 123); this.nudWDmSlingshot.Maximum = new decimal(new int[] { 1000, @@ -371,6 +385,7 @@ private void InitializeComponent() // nudWDmClub // this.nudWDmClub.DecimalPlaces = 1; + this.nudWDmClub.ForeColor = System.Drawing.SystemColors.WindowText; this.nudWDmClub.Location = new System.Drawing.Point(147, 149); this.nudWDmClub.Maximum = new decimal(new int[] { 1000, @@ -395,6 +410,7 @@ private void InitializeComponent() // nudWDmBow // this.nudWDmBow.DecimalPlaces = 1; + this.nudWDmBow.ForeColor = System.Drawing.SystemColors.WindowText; this.nudWDmBow.Location = new System.Drawing.Point(147, 97); this.nudWDmBow.Maximum = new decimal(new int[] { 1000, @@ -419,6 +435,7 @@ private void InitializeComponent() // nudWDmCrossbow // this.nudWDmCrossbow.DecimalPlaces = 1; + this.nudWDmCrossbow.ForeColor = System.Drawing.SystemColors.WindowText; this.nudWDmCrossbow.Location = new System.Drawing.Point(147, 71); this.nudWDmCrossbow.Maximum = new decimal(new int[] { 1000, @@ -443,9 +460,9 @@ private void InitializeComponent() // groupBox2 // this.groupBox2.Controls.Add(this.labelKOCount); - this.groupBox2.Location = new System.Drawing.Point(691, 184); + this.groupBox2.Location = new System.Drawing.Point(691, 260); this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(206, 296); + this.groupBox2.Size = new System.Drawing.Size(206, 257); this.groupBox2.TabIndex = 8; this.groupBox2.TabStop = false; this.groupBox2.Text = "KO-Counting"; @@ -455,7 +472,7 @@ private void InitializeComponent() this.labelKOCount.Dock = System.Windows.Forms.DockStyle.Fill; this.labelKOCount.Location = new System.Drawing.Point(3, 16); this.labelKOCount.Name = "labelKOCount"; - this.labelKOCount.Size = new System.Drawing.Size(200, 277); + this.labelKOCount.Size = new System.Drawing.Size(200, 238); this.labelKOCount.TabIndex = 0; this.labelKOCount.Text = "KO"; // @@ -473,8 +490,6 @@ private void InitializeComponent() // this.groupBox4.Controls.Add(this.btnAddStarvingTimer); this.groupBox4.Controls.Add(this.lblTimeUntilStarving); - this.groupBox4.Controls.Add(this.label6); - this.groupBox4.Controls.Add(this.nudCurrentFood); this.groupBox4.Location = new System.Drawing.Point(515, 3); this.groupBox4.Name = "groupBox4"; this.groupBox4.Size = new System.Drawing.Size(170, 94); @@ -494,41 +509,12 @@ private void InitializeComponent() // // lblTimeUntilStarving // - this.lblTimeUntilStarving.AutoSize = true; - this.lblTimeUntilStarving.Location = new System.Drawing.Point(6, 37); + this.lblTimeUntilStarving.Location = new System.Drawing.Point(6, 16); this.lblTimeUntilStarving.Name = "lblTimeUntilStarving"; - this.lblTimeUntilStarving.Size = new System.Drawing.Size(95, 13); + this.lblTimeUntilStarving.Size = new System.Drawing.Size(158, 46); this.lblTimeUntilStarving.TabIndex = 2; this.lblTimeUntilStarving.Text = "Time until starving:"; // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(6, 16); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(68, 13); - this.label6.TabIndex = 1; - this.label6.Text = "Current Food"; - // - // nudCurrentFood - // - this.nudCurrentFood.DecimalPlaces = 1; - this.nudCurrentFood.Increment = new decimal(new int[] { - 10, - 0, - 0, - 0}); - this.nudCurrentFood.Location = new System.Drawing.Point(87, 14); - this.nudCurrentFood.Maximum = new decimal(new int[] { - 1000000, - 0, - 0, - 0}); - this.nudCurrentFood.Name = "nudCurrentFood"; - this.nudCurrentFood.Size = new System.Drawing.Size(77, 20); - this.nudCurrentFood.TabIndex = 0; - this.nudCurrentFood.ValueChanged += new System.EventHandler(this.nudCurrentFood_ValueChanged); - // // TamingControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -537,7 +523,7 @@ private void InitializeComponent() this.Controls.Add(this.groupBox4); this.Controls.Add(this.groupBox3); this.Controls.Add(this.groupBox2); - this.Controls.Add(this.groupBox1); + this.Controls.Add(this.gbWeaponDamage); this.Controls.Add(this.label4); this.Controls.Add(this.groupBox9); this.Controls.Add(this.label3); @@ -551,8 +537,8 @@ private void InitializeComponent() this.groupBox9.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownCurrentTorpor)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.nudWDmLongneck)).EndInit(); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); + this.gbWeaponDamage.ResumeLayout(false); + this.gbWeaponDamage.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.nudWDmProd)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.nudWDmSlingshot)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.nudWDmClub)).EndInit(); @@ -561,8 +547,6 @@ private void InitializeComponent() this.groupBox2.ResumeLayout(false); this.groupBox3.ResumeLayout(false); this.groupBox4.ResumeLayout(false); - this.groupBox4.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.nudCurrentFood)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -570,25 +554,25 @@ private void InitializeComponent() #endregion private System.Windows.Forms.Label labelResult; - private System.Windows.Forms.NumericUpDown nudLevel; + private uiControls.Nud nudLevel; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.GroupBox groupBox9; private System.Windows.Forms.Label labelTimeUntilWakingUp; private System.Windows.Forms.Label label9; - private System.Windows.Forms.NumericUpDown numericUpDownCurrentTorpor; + private uiControls.Nud numericUpDownCurrentTorpor; private System.Windows.Forms.Label label4; - private System.Windows.Forms.NumericUpDown nudWDmLongneck; - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.NumericUpDown nudWDmClub; - private System.Windows.Forms.NumericUpDown nudWDmBow; - private System.Windows.Forms.NumericUpDown nudWDmCrossbow; + private uiControls.Nud nudWDmLongneck; + private System.Windows.Forms.GroupBox gbWeaponDamage; + private uiControls.Nud nudWDmClub; + private uiControls.Nud nudWDmBow; + private uiControls.Nud nudWDmCrossbow; private System.Windows.Forms.GroupBox groupBox2; private System.Windows.Forms.Label labelKOCount; - private System.Windows.Forms.NumericUpDown nudWDmSlingshot; + private uiControls.Nud nudWDmSlingshot; private System.Windows.Forms.Button buttonAddTorporTimer; - private System.Windows.Forms.NumericUpDown nudWDmProd; + private uiControls.Nud nudWDmProd; private System.Windows.Forms.CheckBox chkbDmCrossbow; private System.Windows.Forms.CheckBox chkbDmBow; private System.Windows.Forms.CheckBox chkbDmSlingshot; @@ -599,7 +583,6 @@ private void InitializeComponent() private System.Windows.Forms.GroupBox groupBox4; private System.Windows.Forms.Button btnAddStarvingTimer; private System.Windows.Forms.Label lblTimeUntilStarving; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.NumericUpDown nudCurrentFood; + private System.Windows.Forms.RadioButton rbBoneDamageDefault; } } diff --git a/ARKBreedingStats/TamingControl.cs b/ARKBreedingStats/TamingControl.cs index 48dcebde..9efbb07d 100644 --- a/ARKBreedingStats/TamingControl.cs +++ b/ARKBreedingStats/TamingControl.cs @@ -24,6 +24,9 @@ public partial class TamingControl : UserControl public string quickTamingInfos; private double foodDepletion; private string firstFeedingWaiting; + private List rbBoneDamageAdjusters; + private List rbBoneDamageAdjusterValues; + private double currentBoneDamageAdjuster; public TamingControl() @@ -32,6 +35,10 @@ public TamingControl() updateCalculation = true; wakeUpTime = DateTime.Now; starvingTime = DateTime.Now; + rbBoneDamageAdjusters = new List(); + rbBoneDamageAdjusters.Add(rbBoneDamageDefault); + rbBoneDamageAdjusterValues = new List(); + rbBoneDamageAdjusterValues.Add(1); } public void setLevel(int level, bool updateTamingData = true) @@ -46,17 +53,44 @@ public int level { set { } } public void setSpeciesIndex(int speciesIndex) { - if (speciesIndex >= 0 && Values.V.species[speciesIndex].taming != null) + if (speciesIndex >= 0 && Values.V.species[speciesIndex].taming != null && this.speciesIndex != speciesIndex) { + this.SuspendLayout(); + this.speciesIndex = speciesIndex; - boneDamageAdjustersImmobilization = Taming.boneDamageAdjustersImmobilization(speciesIndex); + // bone damage adjusters + Dictionary boneDamageAdjusters = new Dictionary(); + boneDamageAdjustersImmobilization = Taming.boneDamageAdjustersImmobilization(speciesIndex, out boneDamageAdjusters); + + int ib = 0; + foreach (KeyValuePair bd in boneDamageAdjusters) + { + ib++; + if (ib >= rbBoneDamageAdjusters.Count) + { + RadioButton rbBD = new RadioButton(); + gbWeaponDamage.Controls.Add(rbBD); + rbBD.Location = new Point(6, 173 + 19 * ib); + rbBD.AutoSize = false; + rbBD.Size = new Size(194, 17); + + rbBoneDamageAdjusters.Add(rbBD); + rbBoneDamageAdjusterValues.Add(1); + rbBD.CheckedChanged += new System.EventHandler(this.rbBoneDamage_CheckedChanged); + } + rbBoneDamageAdjusterValues[ib] = bd.Key; + rbBoneDamageAdjusters[ib].Text = bd.Value + " (" + bd.Key.ToString() + "×)"; + rbBoneDamageAdjusters[ib].Visible = true; + } + for (int j = ib + 1; j < rbBoneDamageAdjusters.Count; j++) + rbBoneDamageAdjusters[j].Visible = false; + rbBoneDamageAdjusters[0].Checked = true; + // bone damage adjusters adjusted updateCalculation = false; - this.SuspendLayout(); TamingData td = Values.V.species[speciesIndex].taming; - foodDepletion = td.foodConsumptionBase * td.foodConsumptionMult * tamingFoodRateMultiplier; TamingFoodControl tf; @@ -187,7 +221,18 @@ public void updateTamingData() labelResult.Text = "Not enough food to tame the creature!"; numericUpDownCurrentTorpor.Value = (decimal)(Values.V.species[speciesIndex].stats[7].BaseValue * (1 + Values.V.species[speciesIndex].stats[7].IncPerWildLevel * (level - 1))); - nudCurrentFood.Value = (decimal)(Values.V.species[speciesIndex].stats[3].BaseValue * (1 + Values.V.species[speciesIndex].stats[3].IncPerWildLevel * (level / 7))); + + // displays the time until the food has decreased enough to tame the creature in one go. + var durationStarving = new TimeSpan(0, 0, (int)(hunger / foodDepletion)); + lblTimeUntilStarving.Text = "Time until you can feed all needed food in one go: " + Utils.duration(durationStarving); + if (Values.V.species[speciesIndex].stats[3].BaseValue * (1 + Values.V.species[speciesIndex].stats[3].IncPerWildLevel * (level / 7)) < hunger) + { + lblTimeUntilStarving.Text += "\nCareful: this creature could have not enough food, so you might have to feed it before this time to prevent it from starving (check its inventory)!"; + lblTimeUntilStarving.ForeColor = Color.DarkRed; + } + else lblTimeUntilStarving.ForeColor = SystemColors.ControlText; + + starvingTime = DateTime.Now.Add(durationStarving); } } @@ -229,12 +274,6 @@ private void numericUpDownCurrentTorpor_ValueChanged(object sender, EventArgs e) private void nudCurrentFood_ValueChanged(object sender, EventArgs e) { - var duration = new TimeSpan(0, 0, (int)((double)nudCurrentFood.Value / foodDepletion)); - lblTimeUntilStarving.Text = "Time until starving: " + Utils.duration(duration); - if (duration.TotalSeconds < 30) lblTimeUntilStarving.ForeColor = Color.DarkRed; - else if (duration.TotalSeconds < 120) lblTimeUntilStarving.ForeColor = Color.DarkGoldenrod; - else lblTimeUntilStarving.ForeColor = Color.Black; - starvingTime = DateTime.Now.Add(duration); } private void nudWDm_ValueChanged(object sender, EventArgs e) @@ -247,8 +286,10 @@ private void chkbDm_CheckedChanged(object sender, EventArgs e) updateKOCounting(); } - private void updateKOCounting() + private void updateKOCounting(double boneDamageAdjuster = 0) { + if (boneDamageAdjuster == 0) + boneDamageAdjuster = currentBoneDamageAdjuster; bool knockoutNeeded; labelKOCount.Text = Taming.knockoutInfo(speciesIndex, (int)nudLevel.Value, chkbDmLongneck.Checked ? (double)nudWDmLongneck.Value / 100 : 0, @@ -257,6 +298,7 @@ private void updateKOCounting() chkbDmSlingshot.Checked ? (double)nudWDmSlingshot.Value / 100 : 0, chkbDmClub.Checked ? (double)nudWDmClub.Value / 100 : 0, chkbDmProd.Checked ? (double)nudWDmProd.Value / 100 : 0, + boneDamageAdjuster, out knockoutNeeded, out koNumbers) + (boneDamageAdjustersImmobilization.Length > 0 ? "\n\n" + boneDamageAdjustersImmobilization : ""); labelKOCount.ForeColor = knockoutNeeded ? SystemColors.ControlText : SystemColors.GrayText; if (!knockoutNeeded) @@ -307,7 +349,7 @@ private void buttonAddTorporTimer_Click(object sender, EventArgs e) private void btnAddStarvingTimer_Click(object sender, EventArgs e) { if (speciesIndex >= 0) - CreateTimer("Starving of " + Values.V.speciesNames[speciesIndex], starvingTime, null, TimerControl.TimerGroups.Starving.ToString()); + CreateTimer("StarveTaming of " + Values.V.speciesNames[speciesIndex], starvingTime, null, TimerControl.TimerGroups.Starving.ToString()); } public void setTamingMultipliers(double tamingSpeedMultiplier, double tamingFoodRateMultiplier) @@ -317,6 +359,20 @@ public void setTamingMultipliers(double tamingSpeedMultiplier, double tamingFood updateTamingData(); } + private void rbBoneDamage_CheckedChanged(object sender, EventArgs e) + { + RadioButton rb = (RadioButton)sender; + if (rb.Checked) + { + int i = rbBoneDamageAdjusters.IndexOf(rb); + if (i >= 0) + currentBoneDamageAdjuster = rbBoneDamageAdjusterValues[i]; + else + currentBoneDamageAdjuster = 1; + updateKOCounting(); + } + } + private void updateFirstFeedingWaiting() { int s = Taming.durationAfterFirstFeeding(speciesIndex, (int)nudLevel.Value, foodDepletion); diff --git a/ARKBreedingStats/TamingFoodControl.Designer.cs b/ARKBreedingStats/TamingFoodControl.Designer.cs index 6421a1a3..8fbee378 100644 --- a/ARKBreedingStats/TamingFoodControl.Designer.cs +++ b/ARKBreedingStats/TamingFoodControl.Designer.cs @@ -29,10 +29,10 @@ protected override void Dispose(bool disposing) private void InitializeComponent() { this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.labelDuration = new System.Windows.Forms.Label(); this.button1 = new System.Windows.Forms.Button(); this.labelFoodUsed = new System.Windows.Forms.Label(); - this.numericUpDown1 = new System.Windows.Forms.NumericUpDown(); - this.labelDuration = new System.Windows.Forms.Label(); + this.numericUpDown1 = new ARKBreedingStats.uiControls.Nud(); this.groupBox1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); this.SuspendLayout(); @@ -51,6 +51,15 @@ private void InitializeComponent() this.groupBox1.TabStop = false; this.groupBox1.Text = "groupBox1"; // + // labelDuration + // + this.labelDuration.AutoSize = true; + this.labelDuration.Location = new System.Drawing.Point(218, 21); + this.labelDuration.Name = "labelDuration"; + this.labelDuration.Size = new System.Drawing.Size(58, 13); + this.labelDuration.TabIndex = 3; + this.labelDuration.Text = "0:00:00:00"; + // // button1 // this.button1.Location = new System.Drawing.Point(88, 16); @@ -73,6 +82,7 @@ private void InitializeComponent() // // numericUpDown1 // + this.numericUpDown1.ForeColor = System.Drawing.SystemColors.GrayText; this.numericUpDown1.Location = new System.Drawing.Point(6, 19); this.numericUpDown1.Maximum = new decimal(new int[] { 99999, @@ -84,15 +94,6 @@ private void InitializeComponent() this.numericUpDown1.TabIndex = 0; this.numericUpDown1.ValueChanged += new System.EventHandler(this.numericUpDown1_ValueChanged); // - // labelDuration - // - this.labelDuration.AutoSize = true; - this.labelDuration.Location = new System.Drawing.Point(218, 21); - this.labelDuration.Name = "labelDuration"; - this.labelDuration.Size = new System.Drawing.Size(58, 13); - this.labelDuration.TabIndex = 3; - this.labelDuration.Text = "0:00:00:00"; - // // TamingFoodControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -110,7 +111,7 @@ private void InitializeComponent() #endregion private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.NumericUpDown numericUpDown1; + private uiControls.Nud numericUpDown1; private System.Windows.Forms.Label labelFoodUsed; private System.Windows.Forms.Button button1; private System.Windows.Forms.Label labelDuration; diff --git a/ARKBreedingStats/json/classicFlyers.json b/ARKBreedingStats/json/classicFlyers.json index 2d91ff87..5a1a3243 100644 --- a/ARKBreedingStats/json/classicFlyers.json +++ b/ARKBreedingStats/json/classicFlyers.json @@ -1 +1 @@ -{"ver":"1.0.5","species":[{"name":"Argentavis","statsRaw":[[null,null,0.27],[750,0.1,0.1],null,null,[350,0.02,0.04,0,0],null,[null,null,0.025],null],"NoImprintingForSpeed":false},{"name":"Lymantria","statsRaw":[null,[180,0.1,0.1],null,null,null,null,[null,null,0.025],null]},{"name":"Pelagornis","statsRaw":[[210,0.2,0.27,0.5,0],[320,0.1,0.1],null,null,[135,0.02,0.04,0,0],null,[null,null,0.025],null],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Pteranodon","statsRaw":[[210,0.2,0.27,0.5,0],[300,0.1,0.1],null,null,[150,0.02,0.04,0,0],null,[null,null,0.018518],null],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Quetzal","statsRaw":[[1200,0.2,0.27,0.5,0],[750,0.1,0.1],null,null,[780,0.02,0.04,0,0],null,[null,null,0.02194],null],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Tapejara","statsRaw":[null,[450,0.1,0.1],null,null,[330],null,[null,null,0.0457],null],"NoImprintingForSpeed":false},{"name":"Fire Wyvern","statsRaw":[null,[400,0.1,0.1],null,null,[350],null,[null,null,0.025],null],"NoImprintingForSpeed":false},{"name":"Lightning Wyvern","statsRaw":[null,[400,0.1,0.1],null,null,[350],null,[null,null,0.025],null],"NoImprintingForSpeed":false},{"name":"Poison Wyvern","statsRaw":[null,[400,0.1,0.1],null,null,[350],null,[null,null,0.025],null],"NoImprintingForSpeed":false}]} \ No newline at end of file +{"ver":"1.0.6","species":[{"name":"Argentavis","statsRaw":[[null,null,0.27],[750,0.1,0.1],null,null,[350,0.02,0.04,0,0],[null,null,0.1],[null,null,0.025],null],"NoImprintingForSpeed":false},{"name":"Lymantria","statsRaw":[[255],[180,0.1,0.1],null,null,[null,null,0.04],null,[null,null,0.03],null]},{"name":"Pelagornis","statsRaw":[[210,0.2,0.27,0.5,0],[320,0.1,0.1],null,null,[135,0.02,0.04,0,0],[null,null,0.1],[null,null,0.01827061827],null],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Pteranodon","statsRaw":[[210,0.2,0.27,0.5,0],[300,0.1,0.1],null,null,[150,0.02,0.04,0,0],[null,null,0.1],[null,null,0.018518],null],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Quetzal","statsRaw":[[1200,0.2,0.27,0.5,0],[750,0.1,0.1],null,null,[780,0.02,0.04,0,0],null,[null,null,0.02194],null],"TamedBaseHealthMultiplier":1,"NoImprintingForSpeed":false},{"name":"Tapejara","statsRaw":[null,[450,0.1,0.1],null,null,[330],null,[null,null,0.01827901709],null],"NoImprintingForSpeed":false},{"name":"Fire Wyvern","statsRaw":[null,[400,0.1,0.1],null,null,[350],null,[null,null,0.025],null],"NoImprintingForSpeed":false},{"name":"Lightning Wyvern","statsRaw":[null,[400,0.1,0.1],null,null,[350],null,[null,null,0.025],null],"NoImprintingForSpeed":false},{"name":"Poison Wyvern","statsRaw":[null,[400,0.1,0.1],null,null,[350],null,[null,null,0.025],null],"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 4518a772..0a4968fc 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":966},{"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":15,"width":132,"x":1219,"y":266},{"height":23,"width":270,"x":1144,"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],[14,0,0,0,8640,12736,12736,12480,16382,16382,14561,14432,6256,7280,16383,16383,3128,3640,3640,3612],[11,0,0,0,120,120,508,1022,991,7,15,511,1022,1984,1920,967,1023,510,120,120],[15,0,0,0,30846,15615,7399,7911,4071,2046,1980,960,480,16096,32752,30712,25528,29628,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,15,15,15,0,0,0,0,0,0,15,15,15],[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],[15,0,0,0,32704,32752,16888,124,16158,32670,32655,24591,24591,32655,32719,25551,25551,29647,32734,32670,16444,252,2032,2016],[15,0,0,0,960,2016,2016,4080,4080,3696,7800,7800,15420,16316,32732,32734,28766,28687,28687,24583],[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],[14,0,0,0,1023,4095,8191,15879,15367,14343,14343,14343,14343,14343,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],[14,0,0,0,15367,7687,3847,1927,1991,999,503,247,503,999,1991,1927,3847,7943,15879,15367],[10,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,1023,1023,1023],[14,0,0,0,8207,8207,12319,12319,14399,14399,14399,7295,7287,7927,3815,4071,4071,1991,1991,903],[14,0,0,0,14351,14367,14367,14399,14463,14463,14583,14823,15303,15303,16263,16135,16135,15879,15367,14343],[15,0,0,0,8176,32764,32508,30782,28702,24591,24591,24591,24591,24591,24591,28702,30782,32508,16376,8176],[13,0,0,0,1023,4095,4095,3847,7687,3847,3847,4039,2023,487,7,7,7,7,7,7],[15,0,0,0,8176,32764,32508,30782,28702,24591,24591,24591,24591,24591,24591,28702,30782,32508,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],[15,0,0,0,28687,28687,30735,30751,30750,15422,15420,7740,7800,7800,4088,4080,2032,2016,992,992],[15,0,0,0,3847,3847,8079,8079,16271,16335,14799,31214,30958,28926,28926,28798,24702,24700,24636,16444],[15,0,0,0,30735,30751,15422,15932,8056,4080,2032,992,2016,2032,4080,8056,15932,15422,30751,30735],[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],[15,0,0,0,0,0,0,0,29167,32767,32767,3983,1935,1935,1935,1935,1935,1935,1935,1935],[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],[5,0,0,0,0,0,3,3,31,31,7,7,7,7,7,7,7,15,31,30],[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,115591,115591,116679,59342,59086,61166,61166,31852,31868,31804,30780,14392],[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]],[[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],[2,0,3,3,0,0,3,3,3,3,3,3,3,3,3],[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","{","|","}","~"]],"resolutionHeight":1440,"resolutionWidth":2560,"statDistance":0} \ No newline at end of file +{"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":270,"x":1144,"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,15,15,15,0,0,0,0,0,0,15,15,15],[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","{","|","}","~"]],"resolutionHeight":1440,"resolutionWidth":2560,"statDistance":0} \ No newline at end of file diff --git a/ARKBreedingStats/ocr/ArkOCR.cs b/ARKBreedingStats/ocr/ArkOCR.cs index a95dd7ec..a251fa51 100644 --- a/ARKBreedingStats/ocr/ArkOCR.cs +++ b/ARKBreedingStats/ocr/ArkOCR.cs @@ -283,7 +283,7 @@ public bool calibrateFromFontFile(int pixelSize, string calibrationText) { foreach (char c in calibrationText) { - graphics.FillRectangle(Brushes.Black, 0, 0, 20, pixelSize); + graphics.FillRectangle(Brushes.Black, 0, 0, 31, pixelSize); graphics.DrawString(c.ToString(), f, Brushes.White, 0, -2); bool foundLetter = false; @@ -295,7 +295,7 @@ public bool calibrateFromFontFile(int pixelSize, string calibrationText) foundLetter = HasWhiteInVerticalLine(bitmap, letterStart, false); } while (!(foundLetter || letterStart >= bitmap.Width)); - StoreImageInAlphabet(c, bitmap, letterStart, 20); + StoreImageInAlphabet(c, bitmap, letterStart, 31); } } } diff --git a/ARKBreedingStats/uiControls/nud.cs b/ARKBreedingStats/uiControls/nud.cs index 7ab045f3..198d00d6 100644 --- a/ARKBreedingStats/uiControls/nud.cs +++ b/ARKBreedingStats/uiControls/nud.cs @@ -14,5 +14,13 @@ protected override void OnEnter(EventArgs e) base.OnEnter(e); Select(0, Text.Length); } + + protected override void OnValueChanged(EventArgs e) + { + base.OnValueChanged(e); + if (Value == 0) + ForeColor = System.Drawing.SystemColors.GrayText; + else ForeColor = System.Drawing.SystemColors.WindowText; + } } } diff --git a/ARKBreedingStats/ver.txt b/ARKBreedingStats/ver.txt index b2f100cb..83ba3b31 100644 --- a/ARKBreedingStats/ver.txt +++ b/ARKBreedingStats/ver.txt @@ -1 +1 @@ -276.42.1,0.24.8 \ No newline at end of file +276.42.1,0.24.9 \ No newline at end of file