ARKBreedingStats.Stats.calculateValue C# (CSharp) 메소드

calculateValue() 공개 정적인 메소드

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
리턴 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;
        }

Usage Example

예제 #1
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;
                }
            }
        }
All Usage Examples Of ARKBreedingStats.Stats::calculateValue