public static calculateValue ( int speciesIndex, int stat, int levelWild, int levelDom, bool dom, double tamingEff, double imprintingBonus ) : double | ||
speciesIndex | int | |
stat | int | |
levelWild | int | |
levelDom | int | |
dom | bool | |
tamingEff | double | |
imprintingBonus | double | |
return | double |
public static double calculateValue(int speciesIndex, int stat, int levelWild, int levelDom, bool dom, double tamingEff, double imprintingBonus)
{
if (speciesIndex >= 0)
{
double add = 0, domMult = 1, imprintingM = 1;
if (dom)
{
add = Values.V.species[speciesIndex].stats[stat].AddWhenTamed;
domMult = (tamingEff >= 0 ? (1 + tamingEff * Values.V.species[speciesIndex].stats[stat].MultAffinity) : 1) * (1 + levelDom * Values.V.species[speciesIndex].stats[stat].IncPerTamedLevel);
if (stat != 1 && stat != 2)
imprintingM = 1 + 0.2 * imprintingBonus*Values.V.imprintingMultiplier;
}
return Math.Round((Values.V.species[speciesIndex].stats[stat].BaseValue * (1 + Values.V.species[speciesIndex].stats[stat].IncPerWildLevel * levelWild) * imprintingM + add) * domMult, Utils.precision(stat), MidpointRounding.AwayFromZero);
}
else
return 0;
}
private void listViewSpeciesBP_SelectedIndexChanged(object sender, EventArgs e) { if (listViewSpeciesBP.SelectedIndices.Count > 0) { determineBestBreeding(); if (bestLevels.Count > 6) { // display top levels in species int? levelStep = creatureCollection.getWildLevelStep(); Creature crB = new Creature(currentSpecies, "", "", "", 0, new int[8], null, 100, true, levelStep: levelStep); crB.name = "Best possible levels (" + currentSpecies + ")"; bool totalLevelUnknown = false; for (int s = 0; s < 7; s++) { crB.levelsWild[s] = bestLevels[s]; crB.valuesBreeding[s] = Stats.calculateValue(speciesIndex, s, crB.levelsWild[s], 0, true, 1, 0); if (crB.levelsWild[s] == -1) { totalLevelUnknown = true; } crB.topBreedingStats[s] = (crB.levelsWild[s] > 0); } crB.levelsWild[7] = crB.levelsWild.Sum(); crB.recalculateCreatureValues(levelStep); pedigreeCreatureBestPossibleInSpecies.totalLevelUnknown = totalLevelUnknown; pedigreeCreatureBestPossibleInSpecies.Creature = crB; } } }