Beispiel #1
0
        //======================================================================================================

        public static float ComputeBaseWeapon(WeaponDropSettings res, BaseParam param, int level, int point, ColorInfo color)
        {
            float first  = param.baseVal * (1.0f + param.levelMult * (float)level / (float)res.maxLevel);
            float second = (1.0f + param.pointMult * (float)point / (float)res.damageOdPtMax);

            return((first + second) * color.factor * Rand.Float(param.randMin, param.randMax));
        }
Beispiel #2
0
        public static float ComputeAdditionalWeapon(WeaponDropSettings res, AddParam param, int level, int point, ColorInfo color)
        {
            float val = color.factor * point * (2.0f * (float)level / (float)(level + res.maxLevel)) * (param.max / 10.0f) * Rand.Float(param.randMin, param.randMax);

            if (val > param.max)
            {
                val = param.max;
            }
            return(val);
        }
Beispiel #3
0
 public static float WeaponCriticalChance(WeaponDropSettings res, AddParam param, int level, int point, ColorInfo color)
 {
     return(ComputeAdditionalWeapon(res, param, level, point, color));
 }
Beispiel #4
0
 public static float WeaponOptimalDistance(WeaponDropSettings res, BaseParam param, int level, int point, ColorInfo color)
 {
     return(ComputeBaseWeapon(res, param, level, point, color));
 }