示例#1
0
        public ItemModifier GetRandomModifierWithTarget(float targetQuality = 1f, float variance = 1f)
        {
            float num1 = 0.0f;

            foreach (ItemModifierProbability modifierProbability in this.ItemModifiersWithProbability.Values)
            {
                num1 += ItemModifierGroup.GetProb(modifierProbability.ItemModifier, targetQuality);
            }
            float num2 = MBRandom.RandomFloat * num1;

            foreach (ItemModifierProbability modifierProbability in this.ItemModifiersWithProbability.Values)
            {
                float prob = ItemModifierGroup.GetProb(modifierProbability.ItemModifier, targetQuality);
                num2 -= prob;
                if ((double)num2 < -1.0000000116861E-07)
                {
                    return(modifierProbability.ItemModifier);
                }
            }
            return((ItemModifier)null);
        }