//====================================================================================================== 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)); }
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); }
public static float WeaponCriticalChance(WeaponDropSettings res, AddParam param, int level, int point, ColorInfo color) { return(ComputeAdditionalWeapon(res, param, level, point, color)); }
public static float WeaponOptimalDistance(WeaponDropSettings res, BaseParam param, int level, int point, ColorInfo color) { return(ComputeBaseWeapon(res, param, level, point, color)); }