chance static method

bool chance(
  1. double chance,
  2. double maxChances
)

Calculates 'chance' out of 'max chances'. Example: 1 chance out of 3 chances (or 33.3%)

  • chance a chance proportional to maxChances.
  • maxChances a maximum number of chances

Implementation

static bool chance(double chance, double maxChances) {
  chance = chance >= 0 ? chance : 0;
  maxChances = maxChances >= 0 ? maxChances : 0;
  if (chance == 0 && maxChances == 0) return false;

  maxChances = max(maxChances, chance);
  var start = (maxChances - chance) / 2;
  var end = start + chance;
  var hit = _random.nextDouble() * maxChances;
  return hit >= start && hit <= end;
}