private void testingStatIOsRecalculateValue(StatIO sIo) { sIo.BreedingValue = StatValueCalculation.CalculateValue(speciesSelector1.SelectedSpecies, sIo.statIndex, sIo.LevelWild, 0, true, 1, 0); sIo.Input = StatValueCalculation.CalculateValue(speciesSelector1.SelectedSpecies, sIo.statIndex, sIo.LevelWild, sIo.LevelDom, rbTamedTester.Checked || rbBredTester.Checked, rbBredTester.Checked ? 1 : (double)NumericUpDownTestingTE.Value / 100, rbBredTester.Checked ? (double)numericUpDownImprintingBonusTester.Value / 100 : 0); }
private void statIO_Click(object sender, EventArgs e) { StatIO se = (StatIO)sender; if (se != null) { setActiveStat(statIOs.IndexOf(se)); } }
/// <summary> /// Updates the values in the testing-statIOs /// </summary> /// <param name="sIo"></param> private void testingStatIOValueUpdate(StatIO sIo) { testingStatIOsRecalculateValue(sIo); // update Torpor-level if changed value is not from torpor-StatIO if (_updateTorporInTester && sIo.statIndex != (int)StatNames.Torpidity) { int torporLvl = 0; for (int s = 0; s < Values.STATS_COUNT; s++) { if (s != (int)StatNames.Torpidity) { torporLvl += _testingIOs[s].LevelWild > 0 ? _testingIOs[s].LevelWild : 0; } } _testingIOs[(int)StatNames.Torpidity].LevelWild = torporLvl + _hiddenLevelsCreatureTester; } int domLevels = 0; for (int s = 0; s < Values.STATS_COUNT; s++) { domLevels += _testingIOs[s].LevelDom; } labelDomLevelSum.Text = $"Dom Levels: {domLevels}/{_creatureCollection.maxDomLevel}"; labelDomLevelSum.BackColor = domLevels > _creatureCollection.maxDomLevel ? Color.LightSalmon : Color.Transparent; labelTesterTotalLevel.Text = $"Total Levels: {_testingIOs[(int)StatNames.Torpidity].LevelWild + domLevels + 1}/{_testingIOs[(int)StatNames.Torpidity].LevelWild + 1 + _creatureCollection.maxDomLevel}"; creatureInfoInputTester.parentListValid = false; int[] levelsWild = _testingIOs.Select(s => s.LevelWild).ToArray(); if (!_testingIOs[2].Enabled) { levelsWild[2] = 0; } radarChart1.SetLevels(levelsWild); statPotentials1.SetLevels(levelsWild, false); //statGraphs1.setGraph(sE, 0, testingIOs[0].LevelWild, testingIOs[0].LevelDom, !radioButtonTesterWild.Checked, (double)NumericUpDownTestingTE.Value / 100, (double)numericUpDownImprintingBonusTester.Value / 100); if (sIo.statIndex == (int)StatNames.Torpidity) { lbWildLevelTester.Text = "PreTame Level: " + Math.Ceiling(Math.Round((_testingIOs[(int)StatNames.Torpidity].LevelWild + 1) / (1 + NumericUpDownTestingTE.Value / 200), 6)); } }
/// <summary> /// Updates the values in the testing-statIOs /// </summary> /// <param name="sIo"></param> private void statIOUpdateValue(StatIO sIo) { sIo.BreedingValue = Stats.calculateValue(cbbStatTestingSpecies.SelectedIndex, sIo.statIndex, sIo.LevelWild, 0, true, 1, 0); sIo.Input = Stats.calculateValue(cbbStatTestingSpecies.SelectedIndex, sIo.statIndex, sIo.LevelWild, sIo.LevelDom, (checkBoxStatTestingTamed.Checked || checkBoxStatTestingBred.Checked), (checkBoxStatTestingBred.Checked ? 1 : (double)NumericUpDownTestingTE.Value / 100), (checkBoxStatTestingBred.Checked ? (double)numericUpDownImprintingBonusTester.Value / 100 : 0)); // update Torpor-level if changed value is not from torpor-StatIO if (updateTorporInTester && sIo != statTestingTorpor) { int torporLvl = 0; for (int s = 0; s < 7; s++) { torporLvl += testingIOs[s].LevelWild; } testingIOs[7].LevelWild = torporLvl; } int domLevels = 0; for (int s = 0; s < 8; s++) { domLevels += testingIOs[s].LevelDom; } labelDomLevelSum.Text = "Dom Levels: " + domLevels.ToString() + "/" + creatureCollection.maxDomLevel; if (domLevels > creatureCollection.maxDomLevel) labelDomLevelSum.BackColor = Color.LightSalmon; else labelDomLevelSum.BackColor = Color.Transparent; labelTesterTotalLevel.Text = "Total Levels: " + (testingIOs[7].LevelWild + domLevels + 1) + "/" + (testingIOs[7].LevelWild + 1 + creatureCollection.maxDomLevel); creatureInfoInputTester.parentListValid = false; }
/// <summary> /// Display the wild-levels, assuming it's a wild creature. Used for quick checking /// </summary> /// <param name="sIO"></param> private void statIOQuickWildLevelCheck(StatIO sIO) { if (checkBoxQuickWildCheck.Checked) { int lvlWild = (int)Math.Round((sIO.Input - Values.V.species[sE].stats[sIO.statIndex].BaseValue) / (Values.V.species[sE].stats[sIO.statIndex].BaseValue * Values.V.species[sE].stats[sIO.statIndex].IncPerWildLevel)); sIO.LevelWild = (lvlWild < 0 ? 0 : lvlWild); sIO.LevelDom = 0; } }