@plokkke/sw-rune
Version:
Library defining all utils for summoners war rune handling
42 lines (41 loc) • 1.37 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.INNATE_STAT_PROBABILITY = exports.ANCIENT_PROBABILITY = exports.QUALITY_DENSITY = exports.GRADE_DENSITY = exports.SET_DENSITY = exports.PROBABILITY_BY_SET = exports.WEIGHTS_BY_SET = void 0;
const lodash_1 = __importDefault(require("lodash"));
const constants_1 = require("./constants");
exports.WEIGHTS_BY_SET = {
VIOLENT: 10,
SWIFT: 10,
WILL: 10,
RAGE: 10,
FATAL: 8,
DESPAIR: 8,
VAMPIRE: 8,
BLADE: 7,
ENERGY: 7,
SHIELD: 7,
REVENGE: 7,
FIGHT: 7,
FOCUS: 6,
GUARD: 6,
DESTROY: 5,
NEMESIS: 4,
ENDURE: 4,
DETERMINATION: 3,
ENHANCE: 3,
ACCURACY: 3,
TOLERANCE: 3,
INTANGIBLE: 6,
SEAL: 4,
IMMEMORIAL: 0,
};
const sum = lodash_1.default.sum(lodash_1.default.values(exports.WEIGHTS_BY_SET));
exports.PROBABILITY_BY_SET = lodash_1.default.mapValues(exports.WEIGHTS_BY_SET, (weight) => weight / sum);
exports.SET_DENSITY = constants_1.RUNE_SETS.map((set) => exports.PROBABILITY_BY_SET[set]);
exports.GRADE_DENSITY = [0, 0, 0, 0, 0.15, 0.85];
exports.QUALITY_DENSITY = [0, 0, 0.27, 0.6, 0.13];
exports.ANCIENT_PROBABILITY = 0;
exports.INNATE_STAT_PROBABILITY = 0.5;