diff --git a/ARKBreedingStats/ARKBreedingStats.csproj b/ARKBreedingStats/ARKBreedingStats.csproj index 2e21bcf6..61fda602 100644 --- a/ARKBreedingStats/ARKBreedingStats.csproj +++ b/ARKBreedingStats/ARKBreedingStats.csproj @@ -80,6 +80,12 @@ Form1.cs + + UserControl + + + MultiplierSetting.cs + UserControl @@ -99,6 +105,12 @@ True Settings.settings + + Form + + + Settings.cs + UserControl @@ -112,6 +124,7 @@ StatIO.cs + @@ -127,6 +140,9 @@ Form1.cs + + MultiplierSetting.cs + Pedigree.cs @@ -143,6 +159,9 @@ Resources.resx True + + Settings.cs + StatDisplay.cs @@ -163,6 +182,7 @@ SettingsSingleFileGenerator Settings.Designer.cs + Designer diff --git a/ARKBreedingStats/AboutBox1.Designer.cs b/ARKBreedingStats/AboutBox1.Designer.cs index e0771b41..2dabd5a3 100644 --- a/ARKBreedingStats/AboutBox1.Designer.cs +++ b/ARKBreedingStats/AboutBox1.Designer.cs @@ -34,35 +34,39 @@ private void InitializeComponent() this.textBoxDescription = new System.Windows.Forms.TextBox(); this.okButton = new System.Windows.Forms.Button(); this.linkLabel = new System.Windows.Forms.LinkLabel(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.tableLayoutPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.SuspendLayout(); // // tableLayoutPanel // - this.tableLayoutPanel.ColumnCount = 1; + this.tableLayoutPanel.ColumnCount = 2; this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F)); this.tableLayoutPanel.Controls.Add(this.labelProductName, 0, 0); this.tableLayoutPanel.Controls.Add(this.labelVersion, 0, 1); this.tableLayoutPanel.Controls.Add(this.labelCopyright, 0, 2); this.tableLayoutPanel.Controls.Add(this.textBoxDescription, 0, 4); - this.tableLayoutPanel.Controls.Add(this.okButton, 0, 5); + this.tableLayoutPanel.Controls.Add(this.okButton, 1, 5); this.tableLayoutPanel.Controls.Add(this.linkLabel, 0, 3); + this.tableLayoutPanel.Controls.Add(this.pictureBox1, 0, 5); this.tableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel.Location = new System.Drawing.Point(9, 9); this.tableLayoutPanel.Name = "tableLayoutPanel"; this.tableLayoutPanel.RowCount = 6; - this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); - this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); - this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); - this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); - this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); - this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 11.11111F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 11.11111F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 11.11111F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 11.11111F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 55.55556F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); this.tableLayoutPanel.Size = new System.Drawing.Size(417, 265); this.tableLayoutPanel.TabIndex = 0; // // labelProductName // + this.tableLayoutPanel.SetColumnSpan(this.labelProductName, 2); this.labelProductName.Dock = System.Windows.Forms.DockStyle.Fill; this.labelProductName.Location = new System.Drawing.Point(6, 0); this.labelProductName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); @@ -75,8 +79,9 @@ private void InitializeComponent() // // labelVersion // + this.tableLayoutPanel.SetColumnSpan(this.labelVersion, 2); this.labelVersion.Dock = System.Windows.Forms.DockStyle.Fill; - this.labelVersion.Location = new System.Drawing.Point(6, 26); + this.labelVersion.Location = new System.Drawing.Point(6, 24); this.labelVersion.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); this.labelVersion.MaximumSize = new System.Drawing.Size(0, 17); this.labelVersion.Name = "labelVersion"; @@ -87,8 +92,9 @@ private void InitializeComponent() // // labelCopyright // + this.tableLayoutPanel.SetColumnSpan(this.labelCopyright, 2); this.labelCopyright.Dock = System.Windows.Forms.DockStyle.Fill; - this.labelCopyright.Location = new System.Drawing.Point(6, 52); + this.labelCopyright.Location = new System.Drawing.Point(6, 48); this.labelCopyright.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 17); this.labelCopyright.Name = "labelCopyright"; @@ -99,14 +105,15 @@ private void InitializeComponent() // // textBoxDescription // + this.tableLayoutPanel.SetColumnSpan(this.textBoxDescription, 2); this.textBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill; - this.textBoxDescription.Location = new System.Drawing.Point(6, 107); + this.textBoxDescription.Location = new System.Drawing.Point(6, 99); this.textBoxDescription.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); this.textBoxDescription.Multiline = true; this.textBoxDescription.Name = "textBoxDescription"; this.textBoxDescription.ReadOnly = true; this.textBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.textBoxDescription.Size = new System.Drawing.Size(408, 126); + this.textBoxDescription.Size = new System.Drawing.Size(408, 119); this.textBoxDescription.TabIndex = 23; this.textBoxDescription.TabStop = false; this.textBoxDescription.Text = "Beschreibung"; @@ -125,8 +132,9 @@ private void InitializeComponent() // linkLabel // this.linkLabel.AutoSize = true; + this.tableLayoutPanel.SetColumnSpan(this.linkLabel, 2); this.linkLabel.Dock = System.Windows.Forms.DockStyle.Fill; - this.linkLabel.Location = new System.Drawing.Point(6, 78); + this.linkLabel.Location = new System.Drawing.Point(6, 72); this.linkLabel.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); this.linkLabel.MaximumSize = new System.Drawing.Size(0, 17); this.linkLabel.Name = "linkLabel"; @@ -136,6 +144,17 @@ private void InitializeComponent() this.linkLabel.Text = "ARK Smart Breeding: Check for more info and new versions"; this.linkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel_LinkClicked); // + // pictureBox1 + // + this.pictureBox1.Cursor = System.Windows.Forms.Cursors.Hand; + this.pictureBox1.Image = global::ARKBreedingStats.Properties.Resources.kofi; + this.pictureBox1.Location = new System.Drawing.Point(3, 224); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(178, 36); + this.pictureBox1.TabIndex = 26; + this.pictureBox1.TabStop = false; + this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click); + // // AboutBox1 // this.AcceptButton = this.okButton; @@ -154,6 +173,7 @@ private void InitializeComponent() this.Text = "AboutBox1"; this.tableLayoutPanel.ResumeLayout(false); this.tableLayoutPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); } @@ -167,5 +187,6 @@ private void InitializeComponent() private System.Windows.Forms.TextBox textBoxDescription; private System.Windows.Forms.Button okButton; private System.Windows.Forms.LinkLabel linkLabel; + private System.Windows.Forms.PictureBox pictureBox1; } } diff --git a/ARKBreedingStats/AboutBox1.cs b/ARKBreedingStats/AboutBox1.cs index c809f15e..0b695b5e 100644 --- a/ARKBreedingStats/AboutBox1.cs +++ b/ARKBreedingStats/AboutBox1.cs @@ -98,5 +98,10 @@ private void linkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs { System.Diagnostics.Process.Start("https://github.com/cadon/ARKStatsExtractor"); } + + private void pictureBox1_Click(object sender, EventArgs e) + { + System.Diagnostics.Process.Start("http://ko-fi.com/826WMCII3B24"); + } } } diff --git a/ARKBreedingStats/App.config b/ARKBreedingStats/App.config index 755d58a0..2c2a8cb5 100644 --- a/ARKBreedingStats/App.config +++ b/ARKBreedingStats/App.config @@ -25,6 +25,9 @@ 100, 100 + + + diff --git a/ARKBreedingStats/Creature.cs b/ARKBreedingStats/Creature.cs index ac208f32..724fc9d3 100644 --- a/ARKBreedingStats/Creature.cs +++ b/ARKBreedingStats/Creature.cs @@ -64,10 +64,20 @@ public void calculateLevelFound() { levelFound = 0; if (!isBred && tamingEff >= 0) - levelFound = (int)Math.Ceiling((levelsWild[7] + 1) / (1 + tamingEff / 2)); + levelFound = (int)Math.Ceiling(levelHatched / (1 + tamingEff / 2)); } - public int level { get { return 1 + levelsWild[7] + levelsDom.Sum(); } } + public int levelHatched + { + get + { + int lvl = levelsWild[7] + 1; + if (species == "Plesiosaur" && lvl < 35) + lvl = 35; + return lvl; + } + } + public int level { get { return levelHatched + levelsDom.Sum(); } } public Int32 topStatsCount { get { return topBreedingStats.Count(s => s); } } @@ -117,8 +127,6 @@ public Creature Father } get { return father; } } - - public int levelHatched { get { return levelsWild[7] + 1; } } } public enum Gender diff --git a/ARKBreedingStats/CreatureBox.cs b/ARKBreedingStats/CreatureBox.cs index ddd0940d..1bd491b2 100644 --- a/ARKBreedingStats/CreatureBox.cs +++ b/ARKBreedingStats/CreatureBox.cs @@ -102,9 +102,9 @@ public void buttonEdit_Click(object sender, EventArgs e) textBoxOwner.Text = creature.owner; textBoxNote.Text = creature.note; gender = creature.gender; - buttonGender.Text = Utils.gSym(gender); + buttonGender.Text = Utils.genderSymbol(gender); status = creature.status; - buttonStatus.Text = Utils.sSym(status); + buttonStatus.Text = Utils.statusSymbol(status); textBoxName.SelectAll(); textBoxName.Focus(); panel1.Visible = true; @@ -150,7 +150,7 @@ public void updateLabel() { if (creature != null) { - labelGender.Text = Utils.gSym(creature.gender); + labelGender.Text = Utils.genderSymbol(creature.gender); groupBox1.Text = creature.name + " (" + creature.species + ", Lvl " + creature.level + ")"; if (creature.Mother != null || creature.Father != null) { @@ -250,14 +250,14 @@ private void buttonCancel_Click(object sender, EventArgs e) private void buttonGender_Click(object sender, EventArgs e) { - gender = Utils.nextG(gender); - buttonGender.Text = Utils.gSym(gender); + gender = Utils.nextGender(gender); + buttonGender.Text = Utils.genderSymbol(gender); } private void buttonStatus_Click(object sender, EventArgs e) { - status = Utils.nextS(status); - buttonStatus.Text = Utils.sSym(status); + status = Utils.nextStatus(status); + buttonStatus.Text = Utils.statusSymbol(status); } private void checkBoxIsBred_CheckedChanged(object sender, EventArgs e) diff --git a/ARKBreedingStats/CreatureCollection.cs b/ARKBreedingStats/CreatureCollection.cs index 04dd8625..ce93bd60 100644 --- a/ARKBreedingStats/CreatureCollection.cs +++ b/ARKBreedingStats/CreatureCollection.cs @@ -14,7 +14,7 @@ namespace ARKBreedingStats [XmlArray] public List creatures = new List(); [XmlArray] - public double[][] multipliers; // multipliers[stat][m], m: 0:tamingadd, 1:tamingmult, 2:levelupdom, 3:levelupdom + public double[][] multipliers; // multipliers[stat][m], m: 0:tamingadd, 1:tamingmult, 2:levelupdom, 3:levelupwild [XmlArray] public List hiddenOwners = new List(); // which owners are not selected to be shown [XmlArray] diff --git a/ARKBreedingStats/CreatureInfoInput.cs b/ARKBreedingStats/CreatureInfoInput.cs index defcd1a5..08b91959 100644 --- a/ARKBreedingStats/CreatureInfoInput.cs +++ b/ARKBreedingStats/CreatureInfoInput.cs @@ -61,21 +61,8 @@ public Creature father private void buttonGender_Click(object sender, EventArgs e) { - switch (gender) - { - case Gender.Male: - gender = Gender.Unknown; - buttonGender.Text = "?"; - break; - case Gender.Female: - gender = Gender.Male; - buttonGender.Text = "♂"; - break; - default: - gender = Gender.Female; - buttonGender.Text = "♀"; - break; - } + gender = Utils.nextGender(gender); + buttonGender.Text = Utils.genderSymbol(gender); } public List[] Parents @@ -174,6 +161,6 @@ private void comboBoxParents_DropDownClosed(object sender, EventArgs e) { tt.Hide((ComboBox)sender); } - + } } diff --git a/ARKBreedingStats/Form1.Designer.cs b/ARKBreedingStats/Form1.Designer.cs index be22bf6f..01292926 100644 --- a/ARKBreedingStats/Form1.Designer.cs +++ b/ARKBreedingStats/Form1.Designer.cs @@ -49,6 +49,7 @@ private void InitializeComponent() this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.loadMultipliersfileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.quitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.groupBox1 = new System.Windows.Forms.GroupBox(); @@ -105,13 +106,31 @@ private void InitializeComponent() this.radioButtonWild = new System.Windows.Forms.RadioButton(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPageStatTesting = new System.Windows.Forms.TabPage(); + this.creatureInfoInputTester = new ARKBreedingStats.CreatureInfoInput(); this.labelNotTamedNoteTesting = new System.Windows.Forms.Label(); this.labelTestingInfo = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label(); + this.statTestingTorpor = new ARKBreedingStats.StatIO(); + this.statTestingSpeed = new ARKBreedingStats.StatIO(); + this.statTestingDamage = new ARKBreedingStats.StatIO(); + this.statTestingWeight = new ARKBreedingStats.StatIO(); + this.statTestingFood = new ARKBreedingStats.StatIO(); + this.statTestingOxygen = new ARKBreedingStats.StatIO(); + this.statTestingStamina = new ARKBreedingStats.StatIO(); + this.statTestingHealth = new ARKBreedingStats.StatIO(); this.tabPageExtractor = new System.Windows.Forms.TabPage(); + this.creatureInfoInput1 = new ARKBreedingStats.CreatureInfoInput(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.checkBoxQuickWildCheck = new System.Windows.Forms.CheckBox(); this.buttonExtractor2Tester = new System.Windows.Forms.Button(); + this.statIOStamina = new ARKBreedingStats.StatIO(); + this.statIOOxygen = new ARKBreedingStats.StatIO(); + this.statIOHealth = new ARKBreedingStats.StatIO(); + this.statIOFood = new ARKBreedingStats.StatIO(); + this.statIOSpeed = new ARKBreedingStats.StatIO(); + this.statIOWeight = new ARKBreedingStats.StatIO(); + this.statIOTorpor = new ARKBreedingStats.StatIO(); + this.statIODamage = new ARKBreedingStats.StatIO(); this.tabPageLibrary = new System.Windows.Forms.TabPage(); this.tableLayoutPanelLibrary = new System.Windows.Forms.TableLayoutPanel(); this.tabControlLibFilter = new System.Windows.Forms.TabControl(); @@ -143,32 +162,13 @@ private void InitializeComponent() this.columnHeaderDm = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeaderSp = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeaderTo = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.creatureBoxListView = new ARKBreedingStats.CreatureBox(); this.tabPagePedigree = new System.Windows.Forms.TabPage(); + this.pedigree1 = new ARKBreedingStats.Pedigree(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar(); this.toolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); - this.buttonTester2Extractor = new System.Windows.Forms.Button(); this.statTestingTamingEfficiency = new System.Windows.Forms.NumericUpDown(); - this.creatureInfoInputTester = new ARKBreedingStats.CreatureInfoInput(); - this.statTestingTorpor = new ARKBreedingStats.StatIO(); - this.statTestingSpeed = new ARKBreedingStats.StatIO(); - this.statTestingDamage = new ARKBreedingStats.StatIO(); - this.statTestingWeight = new ARKBreedingStats.StatIO(); - this.statTestingFood = new ARKBreedingStats.StatIO(); - this.statTestingOxygen = new ARKBreedingStats.StatIO(); - this.statTestingStamina = new ARKBreedingStats.StatIO(); - this.statTestingHealth = new ARKBreedingStats.StatIO(); - this.creatureInfoInput1 = new ARKBreedingStats.CreatureInfoInput(); - this.statIOStamina = new ARKBreedingStats.StatIO(); - this.statIOOxygen = new ARKBreedingStats.StatIO(); - this.statIOHealth = new ARKBreedingStats.StatIO(); - this.statIOFood = new ARKBreedingStats.StatIO(); - this.statIOSpeed = new ARKBreedingStats.StatIO(); - this.statIOWeight = new ARKBreedingStats.StatIO(); - this.statIOTorpor = new ARKBreedingStats.StatIO(); - this.statIODamage = new ARKBreedingStats.StatIO(); - this.creatureBoxListView = new ARKBreedingStats.CreatureBox(); - this.pedigree1 = new ARKBreedingStats.Pedigree(); this.groupBox1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.NumericUpDownTestingTE)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.statTestingDinoLevel)).BeginInit(); @@ -238,7 +238,7 @@ private void InitializeComponent() // // buttonExtract // - this.buttonExtract.Location = new System.Drawing.Point(307, 204); + this.buttonExtract.Location = new System.Drawing.Point(307, 194); this.buttonExtract.Name = "buttonExtract"; this.buttonExtract.Size = new System.Drawing.Size(228, 35); this.buttonExtract.TabIndex = 10; @@ -291,9 +291,10 @@ private void InitializeComponent() // // checkBoxJustTamed // + this.checkBoxJustTamed.AutoSize = true; this.checkBoxJustTamed.Location = new System.Drawing.Point(307, 171); this.checkBoxJustTamed.Name = "checkBoxJustTamed"; - this.checkBoxJustTamed.Size = new System.Drawing.Size(107, 31); + this.checkBoxJustTamed.Size = new System.Drawing.Size(177, 17); this.checkBoxJustTamed.TabIndex = 13; this.checkBoxJustTamed.Text = "Since Taming no Server-Restart"; this.checkBoxJustTamed.UseVisualStyleBackColor = true; @@ -333,6 +334,7 @@ private void InitializeComponent() this.saveAsToolStripMenuItem, this.toolStripSeparator2, this.loadMultipliersfileToolStripMenuItem, + this.settingsToolStripMenuItem, this.toolStripSeparator1, this.quitToolStripMenuItem}); this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; @@ -391,6 +393,13 @@ private void InitializeComponent() this.loadMultipliersfileToolStripMenuItem.Text = "Load Multipliers-file..."; this.loadMultipliersfileToolStripMenuItem.Click += new System.EventHandler(this.loadMultipliersfileToolStripMenuItem_Click); // + // settingsToolStripMenuItem + // + this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(246, 22); + this.settingsToolStripMenuItem.Text = "Settings..."; + this.settingsToolStripMenuItem.Click += new System.EventHandler(this.settingsToolStripMenuItem_Click); + // // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; @@ -639,15 +648,15 @@ private void InitializeComponent() // // labelDoc // - this.labelDoc.Location = new System.Drawing.Point(307, 242); + this.labelDoc.Location = new System.Drawing.Point(307, 232); this.labelDoc.Name = "labelDoc"; - this.labelDoc.Size = new System.Drawing.Size(228, 135); + this.labelDoc.Size = new System.Drawing.Size(228, 145); this.labelDoc.TabIndex = 24; this.labelDoc.Text = resources.GetString("labelDoc.Text"); // // labelFootnote // - this.labelFootnote.Location = new System.Drawing.Point(6, 489); + this.labelFootnote.Location = new System.Drawing.Point(6, 495); this.labelFootnote.Name = "labelFootnote"; this.labelFootnote.Size = new System.Drawing.Size(295, 16); this.labelFootnote.TabIndex = 18; @@ -893,7 +902,7 @@ private void InitializeComponent() this.panelSums.Controls.Add(this.labelSumWildSB); this.panelSums.Controls.Add(this.labelSumDom); this.panelSums.Controls.Add(this.labelSumSB); - this.panelSums.Location = new System.Drawing.Point(6, 454); + this.panelSums.Location = new System.Drawing.Point(6, 460); this.panelSums.Name = "panelSums"; this.panelSums.Size = new System.Drawing.Size(295, 32); this.panelSums.TabIndex = 35; @@ -978,9 +987,18 @@ private void InitializeComponent() this.tabPageStatTesting.Text = "Stat Testing"; this.tabPageStatTesting.UseVisualStyleBackColor = true; // + // creatureInfoInputTester + // + this.creatureInfoInputTester.Location = new System.Drawing.Point(310, 293); + this.creatureInfoInputTester.Name = "creatureInfoInputTester"; + this.creatureInfoInputTester.Size = new System.Drawing.Size(230, 165); + this.creatureInfoInputTester.TabIndex = 42; + this.creatureInfoInputTester.Add2Library_Clicked += new ARKBreedingStats.CreatureInfoInput.Add2LibraryClickedEventHandler(this.creatureInfoInputTester_Add2Library_Clicked); + this.creatureInfoInputTester.ParentListRequested += new ARKBreedingStats.CreatureInfoInput.RequestParentListEventHandler(this.creatureInfoInput_ParentListRequested); + // // labelNotTamedNoteTesting // - this.labelNotTamedNoteTesting.Location = new System.Drawing.Point(3, 459); + this.labelNotTamedNoteTesting.Location = new System.Drawing.Point(3, 488); this.labelNotTamedNoteTesting.Name = "labelNotTamedNoteTesting"; this.labelNotTamedNoteTesting.Size = new System.Drawing.Size(295, 16); this.labelNotTamedNoteTesting.TabIndex = 41; @@ -1006,6 +1024,150 @@ private void InitializeComponent() this.label10.TabIndex = 36; this.label10.Text = "Current Value"; // + // statTestingTorpor + // + this.statTestingTorpor.BackColor = System.Drawing.SystemColors.Control; + this.statTestingTorpor.BreedingValue = 0D; + this.statTestingTorpor.DomLevelZero = false; + this.statTestingTorpor.ForeColor = System.Drawing.SystemColors.ControlText; + this.statTestingTorpor.Input = 100D; + this.statTestingTorpor.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statTestingTorpor.LevelDom = 0; + this.statTestingTorpor.LevelWild = 0; + this.statTestingTorpor.Location = new System.Drawing.Point(6, 408); + this.statTestingTorpor.Name = "statTestingTorpor"; + this.statTestingTorpor.Percent = false; + this.statTestingTorpor.Size = new System.Drawing.Size(295, 50); + this.statTestingTorpor.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statTestingTorpor.TabIndex = 35; + this.statTestingTorpor.Unknown = false; + // + // statTestingSpeed + // + this.statTestingSpeed.BackColor = System.Drawing.SystemColors.Control; + this.statTestingSpeed.BreedingValue = 0D; + this.statTestingSpeed.DomLevelZero = false; + this.statTestingSpeed.ForeColor = System.Drawing.SystemColors.ControlText; + this.statTestingSpeed.Input = 100D; + this.statTestingSpeed.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statTestingSpeed.LevelDom = 0; + this.statTestingSpeed.LevelWild = 0; + this.statTestingSpeed.Location = new System.Drawing.Point(6, 357); + this.statTestingSpeed.Name = "statTestingSpeed"; + this.statTestingSpeed.Percent = false; + this.statTestingSpeed.Size = new System.Drawing.Size(295, 50); + this.statTestingSpeed.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statTestingSpeed.TabIndex = 7; + this.statTestingSpeed.Unknown = false; + // + // statTestingDamage + // + this.statTestingDamage.BackColor = System.Drawing.SystemColors.Control; + this.statTestingDamage.BreedingValue = 0D; + this.statTestingDamage.DomLevelZero = false; + this.statTestingDamage.ForeColor = System.Drawing.SystemColors.ControlText; + this.statTestingDamage.Input = 100D; + this.statTestingDamage.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statTestingDamage.LevelDom = 0; + this.statTestingDamage.LevelWild = 0; + this.statTestingDamage.Location = new System.Drawing.Point(6, 306); + this.statTestingDamage.Name = "statTestingDamage"; + this.statTestingDamage.Percent = false; + this.statTestingDamage.Size = new System.Drawing.Size(295, 50); + this.statTestingDamage.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statTestingDamage.TabIndex = 6; + this.statTestingDamage.Unknown = false; + // + // statTestingWeight + // + this.statTestingWeight.BackColor = System.Drawing.SystemColors.Control; + this.statTestingWeight.BreedingValue = 0D; + this.statTestingWeight.DomLevelZero = false; + this.statTestingWeight.ForeColor = System.Drawing.SystemColors.ControlText; + this.statTestingWeight.Input = 100D; + this.statTestingWeight.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statTestingWeight.LevelDom = 0; + this.statTestingWeight.LevelWild = 0; + this.statTestingWeight.Location = new System.Drawing.Point(6, 255); + this.statTestingWeight.Name = "statTestingWeight"; + this.statTestingWeight.Percent = false; + this.statTestingWeight.Size = new System.Drawing.Size(295, 50); + this.statTestingWeight.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statTestingWeight.TabIndex = 5; + this.statTestingWeight.Unknown = false; + // + // statTestingFood + // + this.statTestingFood.BackColor = System.Drawing.SystemColors.Control; + this.statTestingFood.BreedingValue = 0D; + this.statTestingFood.DomLevelZero = false; + this.statTestingFood.ForeColor = System.Drawing.SystemColors.ControlText; + this.statTestingFood.Input = 100D; + this.statTestingFood.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statTestingFood.LevelDom = 0; + this.statTestingFood.LevelWild = 0; + this.statTestingFood.Location = new System.Drawing.Point(6, 204); + this.statTestingFood.Name = "statTestingFood"; + this.statTestingFood.Percent = false; + this.statTestingFood.Size = new System.Drawing.Size(295, 50); + this.statTestingFood.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statTestingFood.TabIndex = 4; + this.statTestingFood.Unknown = false; + // + // statTestingOxygen + // + this.statTestingOxygen.BackColor = System.Drawing.SystemColors.Control; + this.statTestingOxygen.BreedingValue = 0D; + this.statTestingOxygen.DomLevelZero = false; + this.statTestingOxygen.ForeColor = System.Drawing.SystemColors.ControlText; + this.statTestingOxygen.Input = 100D; + this.statTestingOxygen.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statTestingOxygen.LevelDom = 0; + this.statTestingOxygen.LevelWild = 0; + this.statTestingOxygen.Location = new System.Drawing.Point(6, 153); + this.statTestingOxygen.Name = "statTestingOxygen"; + this.statTestingOxygen.Percent = false; + this.statTestingOxygen.Size = new System.Drawing.Size(295, 50); + this.statTestingOxygen.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statTestingOxygen.TabIndex = 3; + this.statTestingOxygen.Unknown = false; + // + // statTestingStamina + // + this.statTestingStamina.BackColor = System.Drawing.SystemColors.Control; + this.statTestingStamina.BreedingValue = 0D; + this.statTestingStamina.DomLevelZero = false; + this.statTestingStamina.ForeColor = System.Drawing.SystemColors.ControlText; + this.statTestingStamina.Input = 100D; + this.statTestingStamina.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statTestingStamina.LevelDom = 0; + this.statTestingStamina.LevelWild = 0; + this.statTestingStamina.Location = new System.Drawing.Point(6, 102); + this.statTestingStamina.Name = "statTestingStamina"; + this.statTestingStamina.Percent = false; + this.statTestingStamina.Size = new System.Drawing.Size(295, 50); + this.statTestingStamina.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statTestingStamina.TabIndex = 2; + this.statTestingStamina.Unknown = false; + // + // statTestingHealth + // + this.statTestingHealth.BackColor = System.Drawing.SystemColors.Control; + this.statTestingHealth.BreedingValue = 0D; + this.statTestingHealth.DomLevelZero = false; + this.statTestingHealth.ForeColor = System.Drawing.SystemColors.ControlText; + this.statTestingHealth.Input = 100D; + this.statTestingHealth.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statTestingHealth.LevelDom = 0; + this.statTestingHealth.LevelWild = 0; + this.statTestingHealth.Location = new System.Drawing.Point(6, 51); + this.statTestingHealth.Name = "statTestingHealth"; + this.statTestingHealth.Percent = false; + this.statTestingHealth.Size = new System.Drawing.Size(295, 50); + this.statTestingHealth.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statTestingHealth.TabIndex = 1; + this.statTestingHealth.Unknown = false; + // // tabPageExtractor // this.tabPageExtractor.Controls.Add(this.creatureInfoInput1); @@ -1039,11 +1201,20 @@ private void InitializeComponent() this.tabPageExtractor.Location = new System.Drawing.Point(4, 22); this.tabPageExtractor.Name = "tabPageExtractor"; this.tabPageExtractor.Padding = new System.Windows.Forms.Padding(3); - this.tabPageExtractor.Size = new System.Drawing.Size(762, 516); + this.tabPageExtractor.Size = new System.Drawing.Size(767, 516); this.tabPageExtractor.TabIndex = 0; this.tabPageExtractor.Text = "Extractor"; this.tabPageExtractor.UseVisualStyleBackColor = true; // + // creatureInfoInput1 + // + this.creatureInfoInput1.Location = new System.Drawing.Point(499, 345); + this.creatureInfoInput1.Name = "creatureInfoInput1"; + this.creatureInfoInput1.Size = new System.Drawing.Size(230, 165); + this.creatureInfoInput1.TabIndex = 45; + this.creatureInfoInput1.Add2Library_Clicked += new ARKBreedingStats.CreatureInfoInput.Add2LibraryClickedEventHandler(this.creatureInfoInput1_Add2Library_Clicked); + this.creatureInfoInput1.ParentListRequested += new ARKBreedingStats.CreatureInfoInput.RequestParentListEventHandler(this.creatureInfoInput_ParentListRequested); + // // groupBox2 // this.groupBox2.Controls.Add(this.buttonCopyClipboard); @@ -1076,41 +1247,192 @@ private void InitializeComponent() this.buttonExtractor2Tester.UseVisualStyleBackColor = true; this.buttonExtractor2Tester.Click += new System.EventHandler(this.buttonExtractor2Tester_Click); // - // tabPageLibrary + // statIOStamina // - this.tabPageLibrary.Controls.Add(this.tableLayoutPanelLibrary); - this.tabPageLibrary.Location = new System.Drawing.Point(4, 22); - this.tabPageLibrary.Name = "tabPageLibrary"; - this.tabPageLibrary.Padding = new System.Windows.Forms.Padding(3); - this.tabPageLibrary.Size = new System.Drawing.Size(762, 516); - this.tabPageLibrary.TabIndex = 2; - this.tabPageLibrary.Text = "Library"; - this.tabPageLibrary.UseVisualStyleBackColor = true; + this.statIOStamina.BackColor = System.Drawing.SystemColors.Control; + this.statIOStamina.BreedingValue = 0D; + this.statIOStamina.DomLevelZero = false; + this.statIOStamina.ForeColor = System.Drawing.SystemColors.ControlText; + this.statIOStamina.Input = 100D; + this.statIOStamina.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statIOStamina.LevelDom = 0; + this.statIOStamina.LevelWild = 0; + this.statIOStamina.Location = new System.Drawing.Point(6, 102); + this.statIOStamina.Name = "statIOStamina"; + this.statIOStamina.Percent = false; + this.statIOStamina.Size = new System.Drawing.Size(295, 50); + this.statIOStamina.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statIOStamina.TabIndex = 3; + this.statIOStamina.Unknown = false; + this.statIOStamina.Click += new System.EventHandler(this.statIO_Click); // - // tableLayoutPanelLibrary + // statIOOxygen // - this.tableLayoutPanelLibrary.ColumnCount = 2; - this.tableLayoutPanelLibrary.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 201F)); - this.tableLayoutPanelLibrary.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanelLibrary.Controls.Add(this.tabControlLibFilter, 0, 1); - this.tableLayoutPanelLibrary.Controls.Add(this.listViewLibrary, 1, 0); - this.tableLayoutPanelLibrary.Controls.Add(this.creatureBoxListView, 0, 0); - this.tableLayoutPanelLibrary.Dock = System.Windows.Forms.DockStyle.Fill; - this.tableLayoutPanelLibrary.Location = new System.Drawing.Point(3, 3); - this.tableLayoutPanelLibrary.Name = "tableLayoutPanelLibrary"; - this.tableLayoutPanelLibrary.RowCount = 2; - this.tableLayoutPanelLibrary.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 263F)); - this.tableLayoutPanelLibrary.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanelLibrary.Size = new System.Drawing.Size(756, 510); - this.tableLayoutPanelLibrary.TabIndex = 4; + this.statIOOxygen.BackColor = System.Drawing.SystemColors.Control; + this.statIOOxygen.BreedingValue = 0D; + this.statIOOxygen.DomLevelZero = false; + this.statIOOxygen.ForeColor = System.Drawing.SystemColors.ControlText; + this.statIOOxygen.Input = 100D; + this.statIOOxygen.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statIOOxygen.LevelDom = 0; + this.statIOOxygen.LevelWild = 0; + this.statIOOxygen.Location = new System.Drawing.Point(6, 153); + this.statIOOxygen.Name = "statIOOxygen"; + this.statIOOxygen.Percent = false; + this.statIOOxygen.Size = new System.Drawing.Size(295, 50); + this.statIOOxygen.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statIOOxygen.TabIndex = 4; + this.statIOOxygen.Unknown = false; + this.statIOOxygen.Click += new System.EventHandler(this.statIO_Click); // - // tabControlLibFilter + // statIOHealth // - this.tabControlLibFilter.Controls.Add(this.tabPage1); - this.tabControlLibFilter.Controls.Add(this.tabPage2); - this.tabControlLibFilter.Controls.Add(this.tabPage3); - this.tabControlLibFilter.Controls.Add(this.tabPage4); - this.tabControlLibFilter.Dock = System.Windows.Forms.DockStyle.Fill; + this.statIOHealth.BackColor = System.Drawing.SystemColors.Control; + this.statIOHealth.BreedingValue = 0D; + this.statIOHealth.DomLevelZero = false; + this.statIOHealth.ForeColor = System.Drawing.SystemColors.ControlText; + this.statIOHealth.Input = 100D; + this.statIOHealth.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statIOHealth.LevelDom = 0; + this.statIOHealth.LevelWild = 0; + this.statIOHealth.Location = new System.Drawing.Point(6, 51); + this.statIOHealth.Name = "statIOHealth"; + this.statIOHealth.Percent = false; + this.statIOHealth.Size = new System.Drawing.Size(295, 50); + this.statIOHealth.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statIOHealth.TabIndex = 2; + this.statIOHealth.Unknown = false; + this.statIOHealth.Click += new System.EventHandler(this.statIO_Click); + // + // statIOFood + // + this.statIOFood.BackColor = System.Drawing.SystemColors.Control; + this.statIOFood.BreedingValue = 0D; + this.statIOFood.DomLevelZero = false; + this.statIOFood.ForeColor = System.Drawing.SystemColors.ControlText; + this.statIOFood.Input = 100D; + this.statIOFood.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statIOFood.LevelDom = 0; + this.statIOFood.LevelWild = 0; + this.statIOFood.Location = new System.Drawing.Point(6, 204); + this.statIOFood.Name = "statIOFood"; + this.statIOFood.Percent = false; + this.statIOFood.Size = new System.Drawing.Size(295, 50); + this.statIOFood.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statIOFood.TabIndex = 5; + this.statIOFood.Unknown = false; + this.statIOFood.Click += new System.EventHandler(this.statIO_Click); + // + // statIOSpeed + // + this.statIOSpeed.BackColor = System.Drawing.SystemColors.Control; + this.statIOSpeed.BreedingValue = 0D; + this.statIOSpeed.DomLevelZero = false; + this.statIOSpeed.ForeColor = System.Drawing.SystemColors.ControlText; + this.statIOSpeed.Input = 100D; + this.statIOSpeed.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statIOSpeed.LevelDom = 0; + this.statIOSpeed.LevelWild = 0; + this.statIOSpeed.Location = new System.Drawing.Point(6, 357); + this.statIOSpeed.Name = "statIOSpeed"; + this.statIOSpeed.Percent = false; + this.statIOSpeed.Size = new System.Drawing.Size(295, 50); + this.statIOSpeed.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statIOSpeed.TabIndex = 8; + this.statIOSpeed.Unknown = false; + this.statIOSpeed.Click += new System.EventHandler(this.statIO_Click); + // + // statIOWeight + // + this.statIOWeight.BackColor = System.Drawing.SystemColors.Control; + this.statIOWeight.BreedingValue = 0D; + this.statIOWeight.DomLevelZero = false; + this.statIOWeight.ForeColor = System.Drawing.SystemColors.ControlText; + this.statIOWeight.Input = 100D; + this.statIOWeight.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statIOWeight.LevelDom = 0; + this.statIOWeight.LevelWild = 0; + this.statIOWeight.Location = new System.Drawing.Point(6, 255); + this.statIOWeight.Name = "statIOWeight"; + this.statIOWeight.Percent = false; + this.statIOWeight.Size = new System.Drawing.Size(295, 50); + this.statIOWeight.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statIOWeight.TabIndex = 6; + this.statIOWeight.Unknown = false; + this.statIOWeight.Click += new System.EventHandler(this.statIO_Click); + // + // statIOTorpor + // + this.statIOTorpor.BackColor = System.Drawing.SystemColors.Control; + this.statIOTorpor.BreedingValue = 0D; + this.statIOTorpor.DomLevelZero = false; + this.statIOTorpor.ForeColor = System.Drawing.SystemColors.ControlText; + this.statIOTorpor.Input = 100D; + this.statIOTorpor.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statIOTorpor.LevelDom = 0; + this.statIOTorpor.LevelWild = 0; + this.statIOTorpor.Location = new System.Drawing.Point(6, 408); + this.statIOTorpor.Name = "statIOTorpor"; + this.statIOTorpor.Percent = false; + this.statIOTorpor.Size = new System.Drawing.Size(295, 50); + this.statIOTorpor.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statIOTorpor.TabIndex = 9; + this.statIOTorpor.Unknown = false; + // + // statIODamage + // + this.statIODamage.BackColor = System.Drawing.SystemColors.Control; + this.statIODamage.BreedingValue = 0D; + this.statIODamage.DomLevelZero = false; + this.statIODamage.ForeColor = System.Drawing.SystemColors.ControlText; + this.statIODamage.Input = 100D; + this.statIODamage.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; + this.statIODamage.LevelDom = 0; + this.statIODamage.LevelWild = 0; + this.statIODamage.Location = new System.Drawing.Point(6, 306); + this.statIODamage.Name = "statIODamage"; + this.statIODamage.Percent = false; + this.statIODamage.Size = new System.Drawing.Size(295, 50); + this.statIODamage.Status = ARKBreedingStats.StatIOStatus.Neutral; + this.statIODamage.TabIndex = 7; + this.statIODamage.Unknown = false; + this.statIODamage.Click += new System.EventHandler(this.statIO_Click); + // + // tabPageLibrary + // + this.tabPageLibrary.Controls.Add(this.tableLayoutPanelLibrary); + this.tabPageLibrary.Location = new System.Drawing.Point(4, 22); + this.tabPageLibrary.Name = "tabPageLibrary"; + this.tabPageLibrary.Padding = new System.Windows.Forms.Padding(3); + this.tabPageLibrary.Size = new System.Drawing.Size(767, 516); + this.tabPageLibrary.TabIndex = 2; + this.tabPageLibrary.Text = "Library"; + this.tabPageLibrary.UseVisualStyleBackColor = true; + // + // tableLayoutPanelLibrary + // + this.tableLayoutPanelLibrary.ColumnCount = 2; + this.tableLayoutPanelLibrary.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 201F)); + this.tableLayoutPanelLibrary.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanelLibrary.Controls.Add(this.tabControlLibFilter, 0, 1); + this.tableLayoutPanelLibrary.Controls.Add(this.listViewLibrary, 1, 0); + this.tableLayoutPanelLibrary.Controls.Add(this.creatureBoxListView, 0, 0); + this.tableLayoutPanelLibrary.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanelLibrary.Location = new System.Drawing.Point(3, 3); + this.tableLayoutPanelLibrary.Name = "tableLayoutPanelLibrary"; + this.tableLayoutPanelLibrary.RowCount = 2; + this.tableLayoutPanelLibrary.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 263F)); + this.tableLayoutPanelLibrary.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanelLibrary.Size = new System.Drawing.Size(761, 510); + this.tableLayoutPanelLibrary.TabIndex = 4; + // + // tabControlLibFilter + // + this.tabControlLibFilter.Controls.Add(this.tabPage1); + this.tabControlLibFilter.Controls.Add(this.tabPage2); + this.tabControlLibFilter.Controls.Add(this.tabPage3); + this.tabControlLibFilter.Controls.Add(this.tabPage4); + this.tabControlLibFilter.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControlLibFilter.Location = new System.Drawing.Point(3, 266); this.tabControlLibFilter.Name = "tabControlLibFilter"; this.tabControlLibFilter.SelectedIndex = 0; @@ -1283,7 +1605,7 @@ private void InitializeComponent() this.listViewLibrary.Location = new System.Drawing.Point(204, 3); this.listViewLibrary.Name = "listViewLibrary"; this.tableLayoutPanelLibrary.SetRowSpan(this.listViewLibrary, 2); - this.listViewLibrary.Size = new System.Drawing.Size(549, 504); + this.listViewLibrary.Size = new System.Drawing.Size(554, 504); this.listViewLibrary.TabIndex = 2; this.listViewLibrary.UseCompatibleStateImageBehavior = false; this.listViewLibrary.View = System.Windows.Forms.View.Details; @@ -1306,7 +1628,7 @@ private void InitializeComponent() // this.columnHeaderGender.Text = "G"; this.columnHeaderGender.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.columnHeaderGender.Width = 20; + this.columnHeaderGender.Width = 22; // // columnHeaderTopness // @@ -1391,17 +1713,35 @@ private void InitializeComponent() this.columnHeaderTo.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; this.columnHeaderTo.Width = 30; // + // creatureBoxListView + // + this.creatureBoxListView.Location = new System.Drawing.Point(3, 3); + this.creatureBoxListView.Name = "creatureBoxListView"; + this.creatureBoxListView.Size = new System.Drawing.Size(195, 257); + this.creatureBoxListView.TabIndex = 0; + this.creatureBoxListView.Changed += new ARKBreedingStats.CreatureBox.ChangedEventHandler(this.creatureBoxListView_Changed); + this.creatureBoxListView.NeedParents += new ARKBreedingStats.CreatureBox.EventHandler(this.creatureBoxListView_FindParents); + // // tabPagePedigree // this.tabPagePedigree.Controls.Add(this.pedigree1); this.tabPagePedigree.Location = new System.Drawing.Point(4, 22); this.tabPagePedigree.Name = "tabPagePedigree"; this.tabPagePedigree.Padding = new System.Windows.Forms.Padding(3); - this.tabPagePedigree.Size = new System.Drawing.Size(762, 516); + this.tabPagePedigree.Size = new System.Drawing.Size(767, 516); this.tabPagePedigree.TabIndex = 3; this.tabPagePedigree.Text = "Pedigree"; this.tabPagePedigree.UseVisualStyleBackColor = true; // + // pedigree1 + // + this.pedigree1.AutoScroll = true; + this.pedigree1.Dock = System.Windows.Forms.DockStyle.Fill; + this.pedigree1.Location = new System.Drawing.Point(3, 3); + this.pedigree1.Name = "pedigree1"; + this.pedigree1.Size = new System.Drawing.Size(761, 510); + this.pedigree1.TabIndex = 0; + // // statusStrip1 // this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -1425,16 +1765,6 @@ private void InitializeComponent() this.toolStripStatusLabel.Size = new System.Drawing.Size(120, 17); this.toolStripStatusLabel.Text = "ToolStripStatusLabel1"; // - // buttonTester2Extractor - // - this.buttonTester2Extractor.Location = new System.Drawing.Point(584, 487); - this.buttonTester2Extractor.Name = "buttonTester2Extractor"; - this.buttonTester2Extractor.Size = new System.Drawing.Size(131, 23); - this.buttonTester2Extractor.TabIndex = 41; - this.buttonTester2Extractor.Text = "Copy Values to Extractor"; - this.buttonTester2Extractor.UseVisualStyleBackColor = true; - this.buttonTester2Extractor.Click += new System.EventHandler(this.buttonTester2Extractor_Click); - // // statTestingTamingEfficiency // this.statTestingTamingEfficiency.DecimalPlaces = 2; @@ -1448,337 +1778,6 @@ private void InitializeComponent() 0, 0}); // - // creatureInfoInputTester - // - this.creatureInfoInputTester.Location = new System.Drawing.Point(310, 306); - this.creatureInfoInputTester.Name = "creatureInfoInputTester"; - this.creatureInfoInputTester.Size = new System.Drawing.Size(230, 165); - this.creatureInfoInputTester.TabIndex = 42; - this.creatureInfoInputTester.Add2Library_Clicked += new ARKBreedingStats.CreatureInfoInput.Add2LibraryClickedEventHandler(this.creatureInfoInputTester_Add2Library_Clicked); - this.creatureInfoInputTester.ParentListRequested += new ARKBreedingStats.CreatureInfoInput.RequestParentListEventHandler(this.creatureInfoInput_ParentListRequested); - // - // statTestingTorpor - // - this.statTestingTorpor.BackColor = System.Drawing.SystemColors.Control; - this.statTestingTorpor.BreedingValue = 0D; - this.statTestingTorpor.DomLevelZero = false; - this.statTestingTorpor.ForeColor = System.Drawing.SystemColors.ControlText; - this.statTestingTorpor.Input = 100D; - this.statTestingTorpor.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statTestingTorpor.LevelDom = 0; - this.statTestingTorpor.LevelWild = 0; - this.statTestingTorpor.Location = new System.Drawing.Point(6, 408); - this.statTestingTorpor.Name = "statTestingTorpor"; - this.statTestingTorpor.Percent = false; - this.statTestingTorpor.Size = new System.Drawing.Size(295, 45); - this.statTestingTorpor.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statTestingTorpor.TabIndex = 35; - this.statTestingTorpor.Unknown = false; - // - // statTestingSpeed - // - this.statTestingSpeed.BackColor = System.Drawing.SystemColors.Control; - this.statTestingSpeed.BreedingValue = 0D; - this.statTestingSpeed.DomLevelZero = false; - this.statTestingSpeed.ForeColor = System.Drawing.SystemColors.ControlText; - this.statTestingSpeed.Input = 100D; - this.statTestingSpeed.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statTestingSpeed.LevelDom = 0; - this.statTestingSpeed.LevelWild = 0; - this.statTestingSpeed.Location = new System.Drawing.Point(6, 357); - this.statTestingSpeed.Name = "statTestingSpeed"; - this.statTestingSpeed.Percent = false; - this.statTestingSpeed.Size = new System.Drawing.Size(295, 45); - this.statTestingSpeed.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statTestingSpeed.TabIndex = 7; - this.statTestingSpeed.Unknown = false; - // - // statTestingDamage - // - this.statTestingDamage.BackColor = System.Drawing.SystemColors.Control; - this.statTestingDamage.BreedingValue = 0D; - this.statTestingDamage.DomLevelZero = false; - this.statTestingDamage.ForeColor = System.Drawing.SystemColors.ControlText; - this.statTestingDamage.Input = 100D; - this.statTestingDamage.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statTestingDamage.LevelDom = 0; - this.statTestingDamage.LevelWild = 0; - this.statTestingDamage.Location = new System.Drawing.Point(6, 306); - this.statTestingDamage.Name = "statTestingDamage"; - this.statTestingDamage.Percent = false; - this.statTestingDamage.Size = new System.Drawing.Size(295, 45); - this.statTestingDamage.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statTestingDamage.TabIndex = 6; - this.statTestingDamage.Unknown = false; - // - // statTestingWeight - // - this.statTestingWeight.BackColor = System.Drawing.SystemColors.Control; - this.statTestingWeight.BreedingValue = 0D; - this.statTestingWeight.DomLevelZero = false; - this.statTestingWeight.ForeColor = System.Drawing.SystemColors.ControlText; - this.statTestingWeight.Input = 100D; - this.statTestingWeight.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statTestingWeight.LevelDom = 0; - this.statTestingWeight.LevelWild = 0; - this.statTestingWeight.Location = new System.Drawing.Point(6, 255); - this.statTestingWeight.Name = "statTestingWeight"; - this.statTestingWeight.Percent = false; - this.statTestingWeight.Size = new System.Drawing.Size(295, 45); - this.statTestingWeight.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statTestingWeight.TabIndex = 5; - this.statTestingWeight.Unknown = false; - // - // statTestingFood - // - this.statTestingFood.BackColor = System.Drawing.SystemColors.Control; - this.statTestingFood.BreedingValue = 0D; - this.statTestingFood.DomLevelZero = false; - this.statTestingFood.ForeColor = System.Drawing.SystemColors.ControlText; - this.statTestingFood.Input = 100D; - this.statTestingFood.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statTestingFood.LevelDom = 0; - this.statTestingFood.LevelWild = 0; - this.statTestingFood.Location = new System.Drawing.Point(6, 204); - this.statTestingFood.Name = "statTestingFood"; - this.statTestingFood.Percent = false; - this.statTestingFood.Size = new System.Drawing.Size(295, 45); - this.statTestingFood.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statTestingFood.TabIndex = 4; - this.statTestingFood.Unknown = false; - // - // statTestingOxygen - // - this.statTestingOxygen.BackColor = System.Drawing.SystemColors.Control; - this.statTestingOxygen.BreedingValue = 0D; - this.statTestingOxygen.DomLevelZero = false; - this.statTestingOxygen.ForeColor = System.Drawing.SystemColors.ControlText; - this.statTestingOxygen.Input = 100D; - this.statTestingOxygen.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statTestingOxygen.LevelDom = 0; - this.statTestingOxygen.LevelWild = 0; - this.statTestingOxygen.Location = new System.Drawing.Point(6, 153); - this.statTestingOxygen.Name = "statTestingOxygen"; - this.statTestingOxygen.Percent = false; - this.statTestingOxygen.Size = new System.Drawing.Size(295, 45); - this.statTestingOxygen.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statTestingOxygen.TabIndex = 3; - this.statTestingOxygen.Unknown = false; - // - // statTestingStamina - // - this.statTestingStamina.BackColor = System.Drawing.SystemColors.Control; - this.statTestingStamina.BreedingValue = 0D; - this.statTestingStamina.DomLevelZero = false; - this.statTestingStamina.ForeColor = System.Drawing.SystemColors.ControlText; - this.statTestingStamina.Input = 100D; - this.statTestingStamina.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statTestingStamina.LevelDom = 0; - this.statTestingStamina.LevelWild = 0; - this.statTestingStamina.Location = new System.Drawing.Point(6, 102); - this.statTestingStamina.Name = "statTestingStamina"; - this.statTestingStamina.Percent = false; - this.statTestingStamina.Size = new System.Drawing.Size(295, 45); - this.statTestingStamina.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statTestingStamina.TabIndex = 2; - this.statTestingStamina.Unknown = false; - // - // statTestingHealth - // - this.statTestingHealth.BackColor = System.Drawing.SystemColors.Control; - this.statTestingHealth.BreedingValue = 0D; - this.statTestingHealth.DomLevelZero = false; - this.statTestingHealth.ForeColor = System.Drawing.SystemColors.ControlText; - this.statTestingHealth.Input = 100D; - this.statTestingHealth.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statTestingHealth.LevelDom = 0; - this.statTestingHealth.LevelWild = 0; - this.statTestingHealth.Location = new System.Drawing.Point(6, 51); - this.statTestingHealth.Name = "statTestingHealth"; - this.statTestingHealth.Percent = false; - this.statTestingHealth.Size = new System.Drawing.Size(295, 45); - this.statTestingHealth.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statTestingHealth.TabIndex = 1; - this.statTestingHealth.Unknown = false; - // - // creatureInfoInput1 - // - this.creatureInfoInput1.Location = new System.Drawing.Point(499, 345); - this.creatureInfoInput1.Name = "creatureInfoInput1"; - this.creatureInfoInput1.Size = new System.Drawing.Size(230, 165); - this.creatureInfoInput1.TabIndex = 45; - this.creatureInfoInput1.Add2Library_Clicked += new ARKBreedingStats.CreatureInfoInput.Add2LibraryClickedEventHandler(this.creatureInfoInput1_Add2Library_Clicked); - this.creatureInfoInput1.ParentListRequested += new ARKBreedingStats.CreatureInfoInput.RequestParentListEventHandler(this.creatureInfoInput_ParentListRequested); - // - // statIOStamina - // - this.statIOStamina.BackColor = System.Drawing.SystemColors.Control; - this.statIOStamina.BreedingValue = 0D; - this.statIOStamina.DomLevelZero = false; - this.statIOStamina.ForeColor = System.Drawing.SystemColors.ControlText; - this.statIOStamina.Input = 100D; - this.statIOStamina.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statIOStamina.LevelDom = 0; - this.statIOStamina.LevelWild = 0; - this.statIOStamina.Location = new System.Drawing.Point(6, 102); - this.statIOStamina.Name = "statIOStamina"; - this.statIOStamina.Percent = false; - this.statIOStamina.Size = new System.Drawing.Size(295, 45); - this.statIOStamina.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statIOStamina.TabIndex = 3; - this.statIOStamina.Unknown = false; - this.statIOStamina.Click += new System.EventHandler(this.statIO_Click); - // - // statIOOxygen - // - this.statIOOxygen.BackColor = System.Drawing.SystemColors.Control; - this.statIOOxygen.BreedingValue = 0D; - this.statIOOxygen.DomLevelZero = false; - this.statIOOxygen.ForeColor = System.Drawing.SystemColors.ControlText; - this.statIOOxygen.Input = 100D; - this.statIOOxygen.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statIOOxygen.LevelDom = 0; - this.statIOOxygen.LevelWild = 0; - this.statIOOxygen.Location = new System.Drawing.Point(6, 153); - this.statIOOxygen.Name = "statIOOxygen"; - this.statIOOxygen.Percent = false; - this.statIOOxygen.Size = new System.Drawing.Size(295, 45); - this.statIOOxygen.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statIOOxygen.TabIndex = 4; - this.statIOOxygen.Unknown = false; - this.statIOOxygen.Click += new System.EventHandler(this.statIO_Click); - // - // statIOHealth - // - this.statIOHealth.BackColor = System.Drawing.SystemColors.Control; - this.statIOHealth.BreedingValue = 0D; - this.statIOHealth.DomLevelZero = false; - this.statIOHealth.ForeColor = System.Drawing.SystemColors.ControlText; - this.statIOHealth.Input = 100D; - this.statIOHealth.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statIOHealth.LevelDom = 0; - this.statIOHealth.LevelWild = 0; - this.statIOHealth.Location = new System.Drawing.Point(6, 51); - this.statIOHealth.Name = "statIOHealth"; - this.statIOHealth.Percent = false; - this.statIOHealth.Size = new System.Drawing.Size(295, 45); - this.statIOHealth.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statIOHealth.TabIndex = 2; - this.statIOHealth.Unknown = false; - this.statIOHealth.Click += new System.EventHandler(this.statIO_Click); - // - // statIOFood - // - this.statIOFood.BackColor = System.Drawing.SystemColors.Control; - this.statIOFood.BreedingValue = 0D; - this.statIOFood.DomLevelZero = false; - this.statIOFood.ForeColor = System.Drawing.SystemColors.ControlText; - this.statIOFood.Input = 100D; - this.statIOFood.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statIOFood.LevelDom = 0; - this.statIOFood.LevelWild = 0; - this.statIOFood.Location = new System.Drawing.Point(6, 204); - this.statIOFood.Name = "statIOFood"; - this.statIOFood.Percent = false; - this.statIOFood.Size = new System.Drawing.Size(295, 45); - this.statIOFood.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statIOFood.TabIndex = 5; - this.statIOFood.Unknown = false; - this.statIOFood.Click += new System.EventHandler(this.statIO_Click); - // - // statIOSpeed - // - this.statIOSpeed.BackColor = System.Drawing.SystemColors.Control; - this.statIOSpeed.BreedingValue = 0D; - this.statIOSpeed.DomLevelZero = false; - this.statIOSpeed.ForeColor = System.Drawing.SystemColors.ControlText; - this.statIOSpeed.Input = 100D; - this.statIOSpeed.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statIOSpeed.LevelDom = 0; - this.statIOSpeed.LevelWild = 0; - this.statIOSpeed.Location = new System.Drawing.Point(6, 357); - this.statIOSpeed.Name = "statIOSpeed"; - this.statIOSpeed.Percent = false; - this.statIOSpeed.Size = new System.Drawing.Size(295, 45); - this.statIOSpeed.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statIOSpeed.TabIndex = 8; - this.statIOSpeed.Unknown = false; - this.statIOSpeed.Click += new System.EventHandler(this.statIO_Click); - // - // statIOWeight - // - this.statIOWeight.BackColor = System.Drawing.SystemColors.Control; - this.statIOWeight.BreedingValue = 0D; - this.statIOWeight.DomLevelZero = false; - this.statIOWeight.ForeColor = System.Drawing.SystemColors.ControlText; - this.statIOWeight.Input = 100D; - this.statIOWeight.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statIOWeight.LevelDom = 0; - this.statIOWeight.LevelWild = 0; - this.statIOWeight.Location = new System.Drawing.Point(6, 255); - this.statIOWeight.Name = "statIOWeight"; - this.statIOWeight.Percent = false; - this.statIOWeight.Size = new System.Drawing.Size(295, 45); - this.statIOWeight.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statIOWeight.TabIndex = 6; - this.statIOWeight.Unknown = false; - this.statIOWeight.Click += new System.EventHandler(this.statIO_Click); - // - // statIOTorpor - // - this.statIOTorpor.BackColor = System.Drawing.SystemColors.Control; - this.statIOTorpor.BreedingValue = 0D; - this.statIOTorpor.DomLevelZero = false; - this.statIOTorpor.ForeColor = System.Drawing.SystemColors.ControlText; - this.statIOTorpor.Input = 100D; - this.statIOTorpor.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statIOTorpor.LevelDom = 0; - this.statIOTorpor.LevelWild = 0; - this.statIOTorpor.Location = new System.Drawing.Point(6, 408); - this.statIOTorpor.Name = "statIOTorpor"; - this.statIOTorpor.Percent = false; - this.statIOTorpor.Size = new System.Drawing.Size(295, 45); - this.statIOTorpor.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statIOTorpor.TabIndex = 9; - this.statIOTorpor.Unknown = false; - // - // statIODamage - // - this.statIODamage.BackColor = System.Drawing.SystemColors.Control; - this.statIODamage.BreedingValue = 0D; - this.statIODamage.DomLevelZero = false; - this.statIODamage.ForeColor = System.Drawing.SystemColors.ControlText; - this.statIODamage.Input = 100D; - this.statIODamage.InputType = ARKBreedingStats.StatIOInputType.FinalValueInputType; - this.statIODamage.LevelDom = 0; - this.statIODamage.LevelWild = 0; - this.statIODamage.Location = new System.Drawing.Point(6, 306); - this.statIODamage.Name = "statIODamage"; - this.statIODamage.Percent = false; - this.statIODamage.Size = new System.Drawing.Size(295, 45); - this.statIODamage.Status = ARKBreedingStats.StatIOStatus.Neutral; - this.statIODamage.TabIndex = 7; - this.statIODamage.Unknown = false; - this.statIODamage.Click += new System.EventHandler(this.statIO_Click); - // - // creatureBoxListView - // - this.creatureBoxListView.Location = new System.Drawing.Point(3, 3); - this.creatureBoxListView.Name = "creatureBoxListView"; - this.creatureBoxListView.Size = new System.Drawing.Size(195, 257); - this.creatureBoxListView.TabIndex = 0; - this.creatureBoxListView.Changed += new ARKBreedingStats.CreatureBox.ChangedEventHandler(this.creatureBoxListView_Changed); - this.creatureBoxListView.NeedParents += new ARKBreedingStats.CreatureBox.EventHandler(this.creatureBoxListView_FindParents); - // - // pedigree1 - // - this.pedigree1.AutoScroll = true; - this.pedigree1.Dock = System.Windows.Forms.DockStyle.Fill; - this.pedigree1.Location = new System.Drawing.Point(3, 3); - this.pedigree1.Name = "pedigree1"; - this.pedigree1.Size = new System.Drawing.Size(756, 510); - this.pedigree1.TabIndex = 0; - // // Form1 // this.AcceptButton = this.buttonExtract; @@ -1949,7 +1948,6 @@ private void InitializeComponent() private System.Windows.Forms.Label labelTestingInfo; private System.Windows.Forms.ColumnHeader columnHeaderGen; private System.Windows.Forms.CheckBox checkBoxStatTestingTamed; - private System.Windows.Forms.Button buttonTester2Extractor; private System.Windows.Forms.Button buttonExtractor2Tester; private System.Windows.Forms.NumericUpDown statTestingTamingEfficiency; private System.Windows.Forms.Label labelNotTamedNoteTesting; @@ -1980,5 +1978,6 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem unavailableToolStripMenuItem; private System.Windows.Forms.CheckBox checkBoxShowUnavailableCreatures; private System.Windows.Forms.ColumnHeader columnHeaderFound; + private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; } } diff --git a/ARKBreedingStats/Form1.cs b/ARKBreedingStats/Form1.cs index baa65ad2..094119be 100644 --- a/ARKBreedingStats/Form1.cs +++ b/ARKBreedingStats/Form1.cs @@ -19,7 +19,6 @@ public partial class Form1 : Form private ListViewColumnSorter lvwColumnSorter; // used for sorting columns in the listview private List speciesNames = new List(); private Dictionary topStats = new Dictionary(); // list of top stats of all creatures per species - private string[] statNames = new string[] { "Health", "Stamina", "Oxygen", "Food", "Weight", "Damage", "Speed", "Torpor" }; private List> stats = new List>(); private List> statsRaw = new List>(); // without multipliers private List levelXP = new List(); @@ -60,6 +59,14 @@ private void Form1_Load(object sender, EventArgs e) this.Size = Properties.Settings.Default.formSize; this.Location = Properties.Settings.Default.formLocation; + // load column-widths + int[] cw = Properties.Settings.Default.columnWidths; + if (cw != null && cw.Length > 0) + { + for (int c = 0; c < cw.Length; c++) + listViewLibrary.Columns[c].Width = cw[c]; + } + statIOs.Add(this.statIOHealth); statIOs.Add(this.statIOStamina); statIOs.Add(this.statIOOxygen); @@ -76,10 +83,10 @@ private void Form1_Load(object sender, EventArgs e) testingIOs.Add(this.statTestingDamage); testingIOs.Add(this.statTestingSpeed); testingIOs.Add(this.statTestingTorpor); - for (int s = 0; s < statNames.Length; s++) + for (int s = 0; s < 8; s++) { - statIOs[s].Title = statNames[s]; - testingIOs[s].Title = statNames[s]; + statIOs[s].Title = Utils.statName(s); + testingIOs[s].Title = Utils.statName(s); if (precisions[s] == 3) { statIOs[s].Percent = true; testingIOs[s].Percent = true; } statIOs[s].statIndex = s; testingIOs[s].statIndex = s; @@ -92,7 +99,7 @@ private void Form1_Load(object sender, EventArgs e) statIOTorpor.ShowBarAndLock = false; // torpor should not show bar, it get's too wide and is not interesting for breeding statTestingTorpor.ShowBarAndLock = false; - // fix dom-levels of oxygen, food to zero (most often they are not leveld up) + // enable 0-lock for dom-levels of oxygen, food (most often they are not leveld up) statIOs[2].DomLevelZero = true; statIOs[3].DomLevelZero = true; @@ -217,7 +224,7 @@ private void buttonExtract_Click(object sender, EventArgs e) { for (int i = 0; i < 2; i++) { - levelDomRange[i] = (int)numericUpDownLevel.Value - levelWildFromTorporRange[1 - i] - 1; // creatures starts with level 1 + levelDomRange[i] = (int)numericUpDownLevel.Value - levelWildFromTorporRange[1 - i] - 1 - (speciesNames[sE] == "Plesiosaur" ? 34 : 0); // creatures starts with level 1, Plesiosaur starts at level 35 if (levelDomRange[i] < 0) levelDomRange[i] = 0; } } @@ -858,9 +865,10 @@ private void setWildSpeedLevelAccordingToOthers() /* * wild speed level is current level - (wild levels + dom levels) - 1. sometimes the oxygenlevel cannot be determined */ - int notDeterminedLevels = (int)numericUpDownLevel.Value - 1; + // TODO: take notDetermined LEvels from Torpor (with torpor-bug adjustment), then subtract only the wildlevels (this solves Plesio-issue) + int notDeterminedLevels = (int)numericUpDownLevel.Value - 1 - (speciesNames[sE] == "Plesiosaur" ? 34 : 0); bool unique = true; - for (int s = 0; s < statIOs.Count - 1; s++) + for (int s = 0; s < 7; s++) { if (activeStats[s]) { @@ -922,7 +930,7 @@ private void buttonCopyClipboard_Click(object sender, EventArgs e) } if (radioButtonOutputTable.Checked) { - tsv.Add(statNames[s] + "\t" + (activeStats[s] ? statIOs[s].LevelWild.ToString() : "") + "\t" + (activeStats[s] ? statIOs[s].LevelWild.ToString() : "") + "\t" + breedingV); + tsv.Add(Utils.statName(s) + "\t" + (activeStats[s] ? statIOs[s].LevelWild.ToString() : "") + "\t" + (activeStats[s] ? statIOs[s].LevelWild.ToString() : "") + "\t" + breedingV); } else { @@ -1039,7 +1047,22 @@ private void recalculateAllCreaturesValues() toolStripProgressBar1.Visible = true; foreach (Creature c in creatureCollection.creatures) { - c.levelsWild[7] = c.levelsWild.Sum() - c.levelsWild[7]; // torpor was added wrong in earlier versions. This fixes that in old files + // torpor was added wrong in earlier versions. This fixes that in old files. TODO remove Start + bool getTorporFromSum = true; + for (int s = 0; s < 7; s++) + { + if (c.levelsWild[s] < 0) + { + getTorporFromSum = false; + break; + } + } + if (getTorporFromSum) + { + c.levelsWild[7] = c.levelsWild.Sum() - c.levelsWild[7]; + } + // TODO remove end + recalculateCreatureValues(c); c.calculateLevelFound(); toolStripProgressBar1.Value++; @@ -1084,6 +1107,23 @@ private void add2Lib(bool fromExtractor = true) creature.Mother = input.mother; creature.Father = input.father; + if (fromExtractor && checkBoxJustTamed.Checked) + { + // Torpor-bug: if bonus levels are added due to taming-efficiency, torpor is too high + // instead of giving only the TE-bonus, the original wild levels W are added a second time + // the game does this after taming: W = (Math.Floor(W*TE/2) > 0 ? 2*W + Math.Floor(W*TE/2) : W); + // First check, if bonus levels are given + int torporWildLevel = creature.levelsWild[7]; + int bonuslevel = (int)Math.Floor(te * (4 + 2 * torporWildLevel) / (8 + 2 * te)); + if (bonuslevel > 0) + { + // now substract the wrongly added levels of torpor + creature.levelsWild[7] = (torporWildLevel - bonuslevel) / 2 + bonuslevel; + } + + creature.calculateLevelFound(); // has to be done again with the correct torporlevel + } + recalculateCreatureValues(creature); creature.guid = Guid.NewGuid(); creatureCollection.creatures.Add(creature); @@ -1100,8 +1140,7 @@ private void add2Lib(bool fromExtractor = true) private int[] getCurrentWildLevels(bool fromExtractor = true) { int[] levelsWild = new int[8]; - for (int s = 0; s < 7; s++) { levelsWild[s] = (fromExtractor ? (statIOs[s].Unknown ? -1 : statIOs[s].LevelWild) : testingIOs[s].LevelWild); } - levelsWild[7] = levelsWild.Sum(); // torpor is always the sum of the other wild levels, regardless of torpor-bug + for (int s = 0; s < 8; s++) { levelsWild[s] = (fromExtractor ? (statIOs[s].Unknown ? -1 : statIOs[s].LevelWild) : testingIOs[s].LevelWild); } return levelsWild; } @@ -1372,8 +1411,7 @@ private void creatureBoxListView_Changed(object sender, int index, Creature cr, private ListViewItem createCreatureLVItem(Creature cr, ListViewGroup g) { int topStatsCount = cr.topStatsCount; - string gender = (cr.gender == Gender.Female ? "♀" : (cr.gender == Gender.Male ? "♂" : "?")); - string[] subItems = (new string[] { cr.name + (cr.status != CreatureStatus.Available ? " (" + Utils.sSym(cr.status) + ")" : ""), cr.owner, gender, cr.topness.ToString(), topStatsCount.ToString(), cr.generation.ToString(), cr.levelFound.ToString() }).Concat(cr.levelsWild.Select(x => x.ToString()).ToArray()).ToArray(); + string[] subItems = (new string[] { cr.name + (cr.status != CreatureStatus.Available ? " (" + Utils.statusSymbol(cr.status) + ")" : ""), cr.owner, Utils.genderSymbol(cr.gender), cr.topness.ToString(), topStatsCount.ToString(), cr.generation.ToString(), cr.levelFound.ToString() }).Concat(cr.levelsWild.Select(x => x.ToString()).ToArray()).ToArray(); ListViewItem lvi = new ListViewItem(subItems, g); for (int s = 0; s < 8; s++) { @@ -1543,6 +1581,12 @@ private void Form1_FormClosed(object sender, FormClosedEventArgs e) Properties.Settings.Default.formSize = this.Size; Properties.Settings.Default.formLocation = this.Location; + // save column-widths + Int32[] cw = new Int32[listViewLibrary.Columns.Count]; + for (int c = 0; c < listViewLibrary.Columns.Count; c++) + cw[c] = listViewLibrary.Columns[c].Width; + Properties.Settings.Default.columnWidths = cw; + // save settings for next session Properties.Settings.Default.Save(); } @@ -2010,14 +2054,15 @@ private void buttonExtractor2Tester_Click(object sender, EventArgs e) tabControl1.SelectedIndex = 0; } - private void buttonTester2Extractor_Click(object sender, EventArgs e) + private void labelTestingInfo_Click(object sender, EventArgs e) { - comboBoxCreatures.SelectedIndex = cbbStatTestingSpecies.SelectedIndex; + // copy values over to extractor for (int s = 0; s < 8; s++) - { statIOs[s].Input = testingIOs[s].Input; - } + comboBoxCreatures.SelectedIndex = cbbStatTestingSpecies.SelectedIndex; tabControl1.SelectedIndex = 1; + // set total level + numericUpDownLevel.Value = getCurrentWildLevels(false).Sum() - testingIOs[7].LevelWild + getCurrentDomLevels(false).Sum() + 1; } private void updateAllTesterValues() @@ -2080,7 +2125,7 @@ private void checkBoxQuickWildCheck_CheckedChanged(object sender, EventArgs e) private void statIOUpdateValue(StatIO sIo) { sIo.BreedingValue = calculateValue(cbbStatTestingSpecies.SelectedIndex, sIo.statIndex, sIo.LevelWild, 0, true, 1); - sIo.Input = calculateValue(cbbStatTestingSpecies.SelectedIndex, sIo.statIndex, sIo.LevelWild, sIo.LevelDom, (checkBoxStatTestingTamed.Checked || checkBoxStatTestingBred.Checked), (double)NumericUpDownTestingTE.Value / 100); + sIo.Input = calculateValue(cbbStatTestingSpecies.SelectedIndex, sIo.statIndex, sIo.LevelWild, sIo.LevelDom, (checkBoxStatTestingTamed.Checked || checkBoxStatTestingBred.Checked), (checkBoxStatTestingBred.Checked ? 1 : (double)NumericUpDownTestingTE.Value / 100)); // update Torpor-level if changed value is not from torpor-StatIO if (updateTorporInTester && sIo != statTestingTorpor) @@ -2170,15 +2215,6 @@ private void loadMultipliersfileToolStripMenuItem_Click(object sender, EventArgs } } - private void labelTestingInfo_Click(object sender, EventArgs e) - { - // copy values over to extractor - for (int s = 0; s < 8; s++) - statIOs[s].Input = testingIOs[s].Input; - comboBoxCreatures.SelectedIndex = cbbStatTestingSpecies.SelectedIndex; - tabControl1.SelectedIndex = 1; - } - private void aliveToolStripMenuItem_Click(object sender, EventArgs e) { setStatus(CreatureStatus.Available); @@ -2209,21 +2245,14 @@ private void setStatus(CreatureStatus s) filterLib(); } - private void buttonGender_Click(object sender, EventArgs e) + private void settingsToolStripMenuItem_Click(object sender, EventArgs e) { - Button b = (Button)sender; - switch (b.Text) + Settings settingsfrm = new Settings(creatureCollection.multipliers); + if (settingsfrm.ShowDialog() == DialogResult.OK) { - case "?": - b.Text = "♀"; - break; - case "♀": - b.Text = "♂"; - break; - default: - b.Text = "?"; - break; + applyMultipliersToStats(); } + } /// @@ -2242,4 +2271,3 @@ private void statIOQuickWildLevelCheck(StatIO sIO) } } - diff --git a/ARKBreedingStats/MultiplierSetting.Designer.cs b/ARKBreedingStats/MultiplierSetting.Designer.cs new file mode 100644 index 00000000..6b4891ea --- /dev/null +++ b/ARKBreedingStats/MultiplierSetting.Designer.cs @@ -0,0 +1,151 @@ +namespace ARKBreedingStats +{ + partial class MultiplierSetting + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Komponenten-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + this.numericUpDownWildLevel = new System.Windows.Forms.NumericUpDown(); + this.numericUpDownTameMult = new System.Windows.Forms.NumericUpDown(); + this.numericUpDownTameAdd = new System.Windows.Forms.NumericUpDown(); + this.numericUpDownDomLevel = new System.Windows.Forms.NumericUpDown(); + this.labelStatName = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownWildLevel)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownTameMult)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownTameAdd)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownDomLevel)).BeginInit(); + this.SuspendLayout(); + // + // numericUpDownWildLevel + // + this.numericUpDownWildLevel.DecimalPlaces = 2; + this.numericUpDownWildLevel.Increment = new decimal(new int[] { + 1, + 0, + 0, + 65536}); + this.numericUpDownWildLevel.Location = new System.Drawing.Point(171, 3); + this.numericUpDownWildLevel.Name = "numericUpDownWildLevel"; + this.numericUpDownWildLevel.Size = new System.Drawing.Size(54, 20); + this.numericUpDownWildLevel.TabIndex = 0; + this.numericUpDownWildLevel.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + // + // numericUpDownTameMult + // + this.numericUpDownTameMult.DecimalPlaces = 2; + this.numericUpDownTameMult.Increment = new decimal(new int[] { + 1, + 0, + 0, + 65536}); + this.numericUpDownTameMult.Location = new System.Drawing.Point(111, 3); + this.numericUpDownTameMult.Name = "numericUpDownTameMult"; + this.numericUpDownTameMult.Size = new System.Drawing.Size(54, 20); + this.numericUpDownTameMult.TabIndex = 1; + this.numericUpDownTameMult.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + // + // numericUpDownTameAdd + // + this.numericUpDownTameAdd.DecimalPlaces = 2; + this.numericUpDownTameAdd.Increment = new decimal(new int[] { + 1, + 0, + 0, + 65536}); + this.numericUpDownTameAdd.Location = new System.Drawing.Point(51, 3); + this.numericUpDownTameAdd.Name = "numericUpDownTameAdd"; + this.numericUpDownTameAdd.Size = new System.Drawing.Size(54, 20); + this.numericUpDownTameAdd.TabIndex = 2; + this.numericUpDownTameAdd.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + // + // numericUpDownDomLevel + // + this.numericUpDownDomLevel.DecimalPlaces = 2; + this.numericUpDownDomLevel.Increment = new decimal(new int[] { + 1, + 0, + 0, + 65536}); + this.numericUpDownDomLevel.Location = new System.Drawing.Point(231, 3); + this.numericUpDownDomLevel.Name = "numericUpDownDomLevel"; + this.numericUpDownDomLevel.Size = new System.Drawing.Size(54, 20); + this.numericUpDownDomLevel.TabIndex = 3; + this.numericUpDownDomLevel.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + // + // labelStatName + // + this.labelStatName.AutoSize = true; + this.labelStatName.Location = new System.Drawing.Point(3, 5); + this.labelStatName.Name = "labelStatName"; + this.labelStatName.Size = new System.Drawing.Size(26, 13); + this.labelStatName.TabIndex = 4; + this.labelStatName.Text = "Stat"; + // + // MultiplierSetting + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.labelStatName); + this.Controls.Add(this.numericUpDownWildLevel); + this.Controls.Add(this.numericUpDownDomLevel); + this.Controls.Add(this.numericUpDownTameMult); + this.Controls.Add(this.numericUpDownTameAdd); + this.Name = "MultiplierSetting"; + this.Size = new System.Drawing.Size(288, 26); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownWildLevel)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownTameMult)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownTameAdd)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownDomLevel)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.NumericUpDown numericUpDownWildLevel; + private System.Windows.Forms.NumericUpDown numericUpDownTameMult; + private System.Windows.Forms.NumericUpDown numericUpDownTameAdd; + private System.Windows.Forms.NumericUpDown numericUpDownDomLevel; + private System.Windows.Forms.Label labelStatName; + } +} diff --git a/ARKBreedingStats/MultiplierSetting.cs b/ARKBreedingStats/MultiplierSetting.cs new file mode 100644 index 00000000..edbf92bb --- /dev/null +++ b/ARKBreedingStats/MultiplierSetting.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ARKBreedingStats +{ + public partial class MultiplierSetting : UserControl + { + public MultiplierSetting() + { + InitializeComponent(); + } + + public string StatName { set { labelStatName.Text = value; } } + + public double[] Multipliers + { + get { return new double[] { (double)numericUpDownTameAdd.Value, (double)numericUpDownTameMult.Value, (double)numericUpDownDomLevel.Value, (double)numericUpDownWildLevel.Value }; } + set + { + if (value.Length > 3) + { + numericUpDownTameAdd.Value = (decimal)value[0]; + numericUpDownTameMult.Value = (decimal)value[1]; + numericUpDownWildLevel.Value = (decimal)value[3]; + numericUpDownDomLevel.Value = (decimal)value[2]; + } + } + } + } +} diff --git a/ARKBreedingStats/MultiplierSetting.resx b/ARKBreedingStats/MultiplierSetting.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/ARKBreedingStats/MultiplierSetting.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ARKBreedingStats/PedigreeCreature.cs b/ARKBreedingStats/PedigreeCreature.cs index e910e1b0..c2635bbc 100644 --- a/ARKBreedingStats/PedigreeCreature.cs +++ b/ARKBreedingStats/PedigreeCreature.cs @@ -46,7 +46,7 @@ public PedigreeCreature(Creature creature) public void setCreature(Creature creature) { this.creature = creature; - groupBox1.Text = (creature.status != CreatureStatus.Available ? "(" + Utils.sSym(creature.status) + ") " : "") + creature.name; + groupBox1.Text = (creature.status != CreatureStatus.Available ? "(" + Utils.statusSymbol(creature.status) + ") " : "") + creature.name; if (creature.status == CreatureStatus.Dead) { groupBox1.ForeColor = SystemColors.GrayText; diff --git a/ARKBreedingStats/Properties/Resources.Designer.cs b/ARKBreedingStats/Properties/Resources.Designer.cs index e8635a74..8f3e88d8 100644 --- a/ARKBreedingStats/Properties/Resources.Designer.cs +++ b/ARKBreedingStats/Properties/Resources.Designer.cs @@ -60,6 +60,16 @@ internal Resources() { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap kofi { + get { + object obj = ResourceManager.GetObject("kofi", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. /// diff --git a/ARKBreedingStats/Properties/Resources.resx b/ARKBreedingStats/Properties/Resources.resx index 55bf62ac..8455d4e7 100644 --- a/ARKBreedingStats/Properties/Resources.resx +++ b/ARKBreedingStats/Properties/Resources.resx @@ -118,6 +118,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\kofi.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\lock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/ARKBreedingStats/Properties/Settings.Designer.cs b/ARKBreedingStats/Properties/Settings.Designer.cs index f0798870..ed675696 100644 --- a/ARKBreedingStats/Properties/Settings.Designer.cs +++ b/ARKBreedingStats/Properties/Settings.Designer.cs @@ -82,5 +82,16 @@ public int consideredStats { this["formLocation"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public int[] columnWidths { + get { + return ((int[])(this["columnWidths"])); + } + set { + this["columnWidths"] = value; + } + } } } diff --git a/ARKBreedingStats/Properties/Settings.settings b/ARKBreedingStats/Properties/Settings.settings index 5780c3d4..614b0fc1 100644 --- a/ARKBreedingStats/Properties/Settings.settings +++ b/ARKBreedingStats/Properties/Settings.settings @@ -17,5 +17,8 @@ 100, 100 + + + \ No newline at end of file diff --git a/ARKBreedingStats/Settings.Designer.cs b/ARKBreedingStats/Settings.Designer.cs new file mode 100644 index 00000000..892f60d1 --- /dev/null +++ b/ARKBreedingStats/Settings.Designer.cs @@ -0,0 +1,300 @@ +namespace ARKBreedingStats +{ + partial class Settings + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupBoxMultiplier = new System.Windows.Forms.GroupBox(); + this.buttonAllToOne = new System.Windows.Forms.Button(); + this.buttonSetToOfficial = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.multiplierSettingTo = new ARKBreedingStats.MultiplierSetting(); + this.multiplierSettingSp = new ARKBreedingStats.MultiplierSetting(); + this.multiplierSettingDm = new ARKBreedingStats.MultiplierSetting(); + this.multiplierSettingWe = new ARKBreedingStats.MultiplierSetting(); + this.multiplierSettingFo = new ARKBreedingStats.MultiplierSetting(); + this.multiplierSettingOx = new ARKBreedingStats.MultiplierSetting(); + this.multiplierSettingSt = new ARKBreedingStats.MultiplierSetting(); + this.multiplierSettingHP = new ARKBreedingStats.MultiplierSetting(); + this.labelInfo = new System.Windows.Forms.Label(); + this.groupBoxMultiplier.SuspendLayout(); + this.SuspendLayout(); + // + // groupBoxMultiplier + // + this.groupBoxMultiplier.Controls.Add(this.label4); + this.groupBoxMultiplier.Controls.Add(this.label3); + this.groupBoxMultiplier.Controls.Add(this.label2); + this.groupBoxMultiplier.Controls.Add(this.label1); + this.groupBoxMultiplier.Controls.Add(this.multiplierSettingTo); + this.groupBoxMultiplier.Controls.Add(this.multiplierSettingSp); + this.groupBoxMultiplier.Controls.Add(this.multiplierSettingDm); + this.groupBoxMultiplier.Controls.Add(this.multiplierSettingWe); + this.groupBoxMultiplier.Controls.Add(this.multiplierSettingFo); + this.groupBoxMultiplier.Controls.Add(this.multiplierSettingOx); + this.groupBoxMultiplier.Controls.Add(this.multiplierSettingSt); + this.groupBoxMultiplier.Controls.Add(this.multiplierSettingHP); + this.groupBoxMultiplier.Location = new System.Drawing.Point(12, 63); + this.groupBoxMultiplier.Name = "groupBoxMultiplier"; + this.groupBoxMultiplier.Size = new System.Drawing.Size(301, 249); + this.groupBoxMultiplier.TabIndex = 0; + this.groupBoxMultiplier.TabStop = false; + this.groupBoxMultiplier.Text = "Multipliers"; + // + // buttonAllToOne + // + this.buttonAllToOne.Location = new System.Drawing.Point(319, 69); + this.buttonAllToOne.Name = "buttonAllToOne"; + this.buttonAllToOne.Size = new System.Drawing.Size(87, 23); + this.buttonAllToOne.TabIndex = 1; + this.buttonAllToOne.Text = "Set all to 1"; + this.buttonAllToOne.UseVisualStyleBackColor = true; + this.buttonAllToOne.Click += new System.EventHandler(this.buttonAllToOne_Click); + // + // buttonSetToOfficial + // + this.buttonSetToOfficial.Location = new System.Drawing.Point(319, 95); + this.buttonSetToOfficial.Name = "buttonSetToOfficial"; + this.buttonSetToOfficial.Size = new System.Drawing.Size(87, 23); + this.buttonSetToOfficial.TabIndex = 2; + this.buttonSetToOfficial.Text = "Set to official"; + this.buttonSetToOfficial.UseVisualStyleBackColor = true; + this.buttonSetToOfficial.Visible = false; + this.buttonSetToOfficial.Click += new System.EventHandler(this.buttonSetToOfficial_Click); + // + // buttonOK + // + this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK; + this.buttonOK.Location = new System.Drawing.Point(331, 319); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 23); + this.buttonOK.TabIndex = 3; + this.buttonOK.Text = "OK"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // buttonCancel + // + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.buttonCancel.Location = new System.Drawing.Point(250, 319); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(75, 23); + this.buttonCancel.TabIndex = 4; + this.buttonCancel.Text = "Cancel"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(55, 16); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(53, 13); + this.label1.TabIndex = 5; + this.label1.Text = "TameAdd"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(115, 16); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(47, 13); + this.label2.TabIndex = 9; + this.label2.Text = "TameAff"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(175, 16); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(54, 13); + this.label3.TabIndex = 10; + this.label3.Text = "WildLevel"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(234, 16); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(55, 13); + this.label4.TabIndex = 11; + this.label4.Text = "DomLevel"; + // + // multiplierSettingTo + // + this.multiplierSettingTo.Location = new System.Drawing.Point(6, 214); + this.multiplierSettingTo.Multipliers = new double[] { + 1D, + 1D, + 1D, + 1D}; + this.multiplierSettingTo.Name = "multiplierSettingTo"; + this.multiplierSettingTo.Size = new System.Drawing.Size(288, 26); + this.multiplierSettingTo.TabIndex = 8; + // + // multiplierSettingSp + // + this.multiplierSettingSp.Location = new System.Drawing.Point(6, 188); + this.multiplierSettingSp.Multipliers = new double[] { + 1D, + 1D, + 1D, + 1D}; + this.multiplierSettingSp.Name = "multiplierSettingSp"; + this.multiplierSettingSp.Size = new System.Drawing.Size(288, 26); + this.multiplierSettingSp.TabIndex = 7; + // + // multiplierSettingDm + // + this.multiplierSettingDm.Location = new System.Drawing.Point(6, 162); + this.multiplierSettingDm.Multipliers = new double[] { + 1D, + 1D, + 1D, + 1D}; + this.multiplierSettingDm.Name = "multiplierSettingDm"; + this.multiplierSettingDm.Size = new System.Drawing.Size(288, 26); + this.multiplierSettingDm.TabIndex = 6; + // + // multiplierSettingWe + // + this.multiplierSettingWe.Location = new System.Drawing.Point(6, 136); + this.multiplierSettingWe.Multipliers = new double[] { + 1D, + 1D, + 1D, + 1D}; + this.multiplierSettingWe.Name = "multiplierSettingWe"; + this.multiplierSettingWe.Size = new System.Drawing.Size(288, 26); + this.multiplierSettingWe.TabIndex = 5; + // + // multiplierSettingFo + // + this.multiplierSettingFo.Location = new System.Drawing.Point(6, 110); + this.multiplierSettingFo.Multipliers = new double[] { + 1D, + 1D, + 1D, + 1D}; + this.multiplierSettingFo.Name = "multiplierSettingFo"; + this.multiplierSettingFo.Size = new System.Drawing.Size(288, 26); + this.multiplierSettingFo.TabIndex = 4; + // + // multiplierSettingOx + // + this.multiplierSettingOx.Location = new System.Drawing.Point(6, 84); + this.multiplierSettingOx.Multipliers = new double[] { + 1D, + 1D, + 1D, + 1D}; + this.multiplierSettingOx.Name = "multiplierSettingOx"; + this.multiplierSettingOx.Size = new System.Drawing.Size(288, 26); + this.multiplierSettingOx.TabIndex = 3; + // + // multiplierSettingSt + // + this.multiplierSettingSt.Location = new System.Drawing.Point(6, 58); + this.multiplierSettingSt.Multipliers = new double[] { + 1D, + 1D, + 1D, + 1D}; + this.multiplierSettingSt.Name = "multiplierSettingSt"; + this.multiplierSettingSt.Size = new System.Drawing.Size(288, 26); + this.multiplierSettingSt.TabIndex = 2; + // + // multiplierSettingHP + // + this.multiplierSettingHP.Location = new System.Drawing.Point(6, 32); + this.multiplierSettingHP.Multipliers = new double[] { + 1D, + 1D, + 1D, + 1D}; + this.multiplierSettingHP.Name = "multiplierSettingHP"; + this.multiplierSettingHP.Size = new System.Drawing.Size(288, 26); + this.multiplierSettingHP.TabIndex = 1; + // + // labelInfo + // + this.labelInfo.Location = new System.Drawing.Point(12, 9); + this.labelInfo.Name = "labelInfo"; + this.labelInfo.Size = new System.Drawing.Size(308, 48); + this.labelInfo.TabIndex = 5; + this.labelInfo.Text = "The multipliers are saved with each library. If the server you play on changes it" + + "s multipliers, you can adjust them here."; + // + // Settings + // + this.AcceptButton = this.buttonOK; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.buttonCancel; + this.ClientSize = new System.Drawing.Size(419, 354); + this.Controls.Add(this.labelInfo); + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonOK); + this.Controls.Add(this.buttonSetToOfficial); + this.Controls.Add(this.buttonAllToOne); + this.Controls.Add(this.groupBoxMultiplier); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "Settings"; + this.Text = "Settings"; + this.groupBoxMultiplier.ResumeLayout(false); + this.groupBoxMultiplier.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBoxMultiplier; + private MultiplierSetting multiplierSettingTo; + private MultiplierSetting multiplierSettingSp; + private MultiplierSetting multiplierSettingDm; + private MultiplierSetting multiplierSettingWe; + private MultiplierSetting multiplierSettingFo; + private MultiplierSetting multiplierSettingOx; + private MultiplierSetting multiplierSettingSt; + private MultiplierSetting multiplierSettingHP; + private System.Windows.Forms.Button buttonAllToOne; + private System.Windows.Forms.Button buttonSetToOfficial; + private System.Windows.Forms.Button buttonOK; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label labelInfo; + } +} \ No newline at end of file diff --git a/ARKBreedingStats/Settings.cs b/ARKBreedingStats/Settings.cs new file mode 100644 index 00000000..d7aa2b50 --- /dev/null +++ b/ARKBreedingStats/Settings.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ARKBreedingStats +{ + public partial class Settings : Form + { + + private MultiplierSetting[] multSetter; + private double[][] mainMultis; + + + public Settings() + { + initStuff(); + } + public Settings(double[][] multipliers) + { + initStuff(); + setMultipliers(multipliers); + } + + private void initStuff() + { + InitializeComponent(); + multSetter = new MultiplierSetting[] { multiplierSettingHP, multiplierSettingSt, multiplierSettingOx, multiplierSettingFo, multiplierSettingWe, multiplierSettingDm, multiplierSettingSp, multiplierSettingTo }; + for (int s = 0; s < 8; s++) + { + multSetter[s].StatName = Utils.statName(s); + } + } + + private void setMultipliers(double[][] m) + { + if (m.Length > 7) + { + mainMultis = m; + for (int s = 0; s < 8; s++) + { + if (m[s].Length > 3) + { + multSetter[s].Multipliers = m[s]; + } + } + } + } + + private void saveMultipliers() + { + for (int s = 0; s < 8; s++) + { + mainMultis[s] = multSetter[s].Multipliers; + + } + } + + private void buttonOK_Click(object sender, EventArgs e) + { + saveMultipliers(); + Close(); + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + Close(); + } + + private void buttonAllToOne_Click(object sender, EventArgs e) + { + for (int s = 0; s < 8; s++) + { + multSetter[s].Multipliers = new double[] { 1, 1, 1, 1 }; + + } + } + + private void buttonSetToOfficial_Click(object sender, EventArgs e) + { + //TODO + } + } +} diff --git a/ARKBreedingStats/Settings.resx b/ARKBreedingStats/Settings.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/ARKBreedingStats/Settings.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ARKBreedingStats/StatDisplay.cs b/ARKBreedingStats/StatDisplay.cs index 7c88e578..3430a18c 100644 --- a/ARKBreedingStats/StatDisplay.cs +++ b/ARKBreedingStats/StatDisplay.cs @@ -13,9 +13,12 @@ namespace ARKBreedingStats public partial class StatDisplay : UserControl { public bool Percent = false; + private ToolTip tt = new ToolTip(); + public StatDisplay() { InitializeComponent(); + tt.InitialDelay = 300; } public string Title @@ -29,6 +32,7 @@ public void setNumbers(int levelWild, int levelDom, double valueBreeding, double int barLengthPercentage = (int)Math.Min(100, Math.Round(levelWild * (100.0f / Properties.Settings.Default.BarMaximum))); this.panelBarWildLevels.Width = (int)(164 * barLengthPercentage / 100.0f); panelBarWildLevels.BackColor = Utils.getColorFromPercent(barLengthPercentage); + tt.SetToolTip(panelBarWildLevels, Utils.levelPercentile(levelWild)); // visualization of dom level barLengthPercentage = (int)Math.Min(100, Math.Round(levelDom * (100.0f / Properties.Settings.Default.BarMaximum))); this.panelBarDomLevels.Width = (int)(164 * barLengthPercentage / 100.0f); diff --git a/ARKBreedingStats/StatIO.Designer.cs b/ARKBreedingStats/StatIO.Designer.cs index 8406b469..798e679a 100644 --- a/ARKBreedingStats/StatIO.Designer.cs +++ b/ARKBreedingStats/StatIO.Designer.cs @@ -66,7 +66,7 @@ private void InitializeComponent() // this.panelBarDomLevels.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(128))))); this.panelBarDomLevels.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.panelBarDomLevels.Location = new System.Drawing.Point(6, 40); + this.panelBarDomLevels.Location = new System.Drawing.Point(6, 43); this.panelBarDomLevels.Name = "panelBarDomLevels"; this.panelBarDomLevels.Size = new System.Drawing.Size(2, 3); this.panelBarDomLevels.TabIndex = 5; @@ -77,7 +77,7 @@ private void InitializeComponent() this.panelFinalValue.Controls.Add(this.labelDomLevel); this.panelFinalValue.Controls.Add(this.labelWildLevel); this.panelFinalValue.Controls.Add(this.numericUpDownInput); - this.panelFinalValue.Location = new System.Drawing.Point(6, 11); + this.panelFinalValue.Location = new System.Drawing.Point(6, 14); this.panelFinalValue.Name = "panelFinalValue"; this.panelFinalValue.Size = new System.Drawing.Size(217, 25); this.panelFinalValue.TabIndex = 9; @@ -141,7 +141,7 @@ private void InitializeComponent() // this.panelBarWildLevels.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(128))))); this.panelBarWildLevels.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.panelBarWildLevels.Location = new System.Drawing.Point(6, 36); + this.panelBarWildLevels.Location = new System.Drawing.Point(6, 39); this.panelBarWildLevels.Name = "panelBarWildLevels"; this.panelBarWildLevels.Size = new System.Drawing.Size(2, 6); this.panelBarWildLevels.TabIndex = 4; @@ -152,7 +152,7 @@ private void InitializeComponent() this.inputPanel.Controls.Add(this.labelFinalValue); this.inputPanel.Controls.Add(this.numLvD); this.inputPanel.Controls.Add(this.numLvW); - this.inputPanel.Location = new System.Drawing.Point(6, 11); + this.inputPanel.Location = new System.Drawing.Point(6, 14); this.inputPanel.Name = "inputPanel"; this.inputPanel.Size = new System.Drawing.Size(217, 25); this.inputPanel.TabIndex = 8; @@ -197,7 +197,7 @@ private void InitializeComponent() // labelBValue // this.labelBValue.AutoSize = true; - this.labelBValue.Location = new System.Drawing.Point(229, 16); + this.labelBValue.Location = new System.Drawing.Point(229, 19); this.labelBValue.Name = "labelBValue"; this.labelBValue.Size = new System.Drawing.Size(50, 13); this.labelBValue.TabIndex = 3; diff --git a/ARKBreedingStats/StatIO.cs b/ARKBreedingStats/StatIO.cs index 24899fb7..50a65d6b 100644 --- a/ARKBreedingStats/StatIO.cs +++ b/ARKBreedingStats/StatIO.cs @@ -23,6 +23,7 @@ public partial class StatIO : UserControl public event Form1.InputValueChangedEventHandler InputValueChanged; public int statIndex; private bool domZeroFixed; + ToolTip tt = new ToolTip(); public StatIO() { @@ -36,7 +37,7 @@ public StatIO() this.groupBox1.Click += new System.EventHandler(this.groupBox1_Click); InputType = inputType; // ToolTips - ToolTip tt = new ToolTip(); + tt.InitialDelay = 300; tt.SetToolTip(checkBoxFixDomZero, "Check to lock to zero (if you never leveled up this stat)"); } @@ -209,6 +210,7 @@ private void numLvW_ValueChanged(object sender, EventArgs e) if (lengthPercentage < 0) { lengthPercentage = 0; } this.panelBarWildLevels.Width = lengthPercentage * 283 / 100; this.panelBarWildLevels.BackColor = Utils.getColorFromPercent(lengthPercentage); + tt.SetToolTip(panelBarWildLevels, Utils.levelPercentile((int)numLvW.Value)); if (inputType != StatIOInputType.FinalValueInputType) LevelChanged(this); diff --git a/ARKBreedingStats/Utils.cs b/ARKBreedingStats/Utils.cs index e1753091..ac8e0f35 100644 --- a/ARKBreedingStats/Utils.cs +++ b/ARKBreedingStats/Utils.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Drawing; namespace ARKBreedingStats { @@ -14,7 +15,7 @@ static class Utils /// percent that determines the shade between red and green (0 to 100) /// double from -1 to 1. Values greater zero make the color brighter, lower than zero make the color darker. /// the calculated color. - public static System.Drawing.Color getColorFromPercent(int percent, double light = 0) + public static Color getColorFromPercent(int percent, double light = 0) { if (light > 1) { light = 1; } if (light < -1) { light = -1; } @@ -38,10 +39,10 @@ public static System.Drawing.Color getColorFromPercent(int percent, double light g = (int)(g * light); //b = (int)(b * light); // b == 0 anyway } - return System.Drawing.Color.FromArgb(r, g, b); + return Color.FromArgb(r, g, b); } - public static string gSym(Gender g) + public static string genderSymbol(Gender g) { switch (g) { @@ -54,7 +55,7 @@ public static string gSym(Gender g) } } - public static string sSym(CreatureStatus s) + public static string statusSymbol(CreatureStatus s) { switch (s) { @@ -67,7 +68,7 @@ public static string sSym(CreatureStatus s) } } - public static Gender nextG(Gender g) + public static Gender nextGender(Gender g) { switch (g) { @@ -80,7 +81,7 @@ public static Gender nextG(Gender g) } } - public static CreatureStatus nextS(CreatureStatus s) + public static CreatureStatus nextStatus(CreatureStatus s) { switch (s) { @@ -92,5 +93,78 @@ public static CreatureStatus nextS(CreatureStatus s) return CreatureStatus.Available; } } + + public static string levelPercentile(int l) + { + // percentiles assuming a normal distribution of 180 levels on 7 stats + double[] prb = new double[] { 100, 100, 100, 100, 100, 100, 100, 100, 100, 99.99, 99.98, 99.95, 99.88, 99.72, 99.40, 98.83, 97.85, 96.28, 93.94, 90.62, 86.20, 80.61, 73.93, 66.33, 58.10, 49.59, 41.19, 33.26, 26.08, 19.85, 14.66, 10.50, 7.30, 4.92, 3.21, 2.04, 1.25, 0.75, 0.43, 0.24, 0.13 }; + if (l < 0) l = 0; + if (l >= prb.Length) l = prb.Length - 1; + return "This level is in the top " + prb[l].ToString("N2") + "% of what you can find."; + } + + public static string statName(int s) + { + if (s >= 0 && s < 8) + { + string[] statNames = new string[] { "Health", "Stamina", "Oxygen", "Food", "Weight", "Damage", "Speed", "Torpor" }; + return statNames[s]; + } + return ""; + } + + public static Color creatureColor(int colorId) + { + Color color = Color.FromArgb(0, 0, 0); + + if (colorId >= 0 && colorId < 42) + { + Color[] creatureColors = new Color[] { + Color.FromArgb(255,0,0), + Color.FromArgb(0, 0, 255), + Color.FromArgb(0, 255, 0), + Color.FromArgb(255, 255, 0), + Color.FromArgb(0, 255, 255), + Color.FromArgb(255, 0, 255), + Color.FromArgb(192, 255, 186), // Light Green + Color.FromArgb(200, 202, 202), // Light Grey + Color.FromArgb(119, 102, 89), // Light Brown + Color.FromArgb(255, 180, 107), // Light Orange + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0), + Color.FromArgb(255, 0, 0) }; + color = creatureColors[colorId]; + } + return color; + } } } diff --git a/ARKBreedingStats/kofi.png b/ARKBreedingStats/kofi.png new file mode 100644 index 00000000..697ade0d Binary files /dev/null and b/ARKBreedingStats/kofi.png differ