genshin-artifact-simulator
Version:
Simulates artifact farming in Genshin Impact.
72 lines • 3.68 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.artifactSubstatCounts = exports.artifactXpAmounts = exports.artifactDropsBySource = exports.artifactDropRatesBySlot = exports.artifactSets = exports.bossArtifactSets = exports.artifactDomains = void 0;
var lodash_1 = __importDefault(require("lodash"));
var types_1 = require("./types");
var artifactDomains_json_1 = __importDefault(require("../compiledData/artifactDomains.json"));
var artifactSets_json_1 = __importDefault(require("../compiledData/artifactSets.json"));
var artifactDropRatesBySlot_json_1 = __importDefault(require("../compiledData/artifactDropRatesBySlot.json"));
var artifactDropsBySource_json_1 = __importDefault(require("../compiledData/artifactDropsBySource.json"));
var artifactMiscData_json_1 = __importDefault(require("../compiledData/artifactMiscData.json"));
exports.artifactDomains = lodash_1.default.map(artifactDomains_json_1.default, function (domain) {
domain.sets = [];
return domain;
});
exports.bossArtifactSets = [];
exports.artifactSets = lodash_1.default.map(artifactSets_json_1.default, function (set) {
if (set.source === types_1.ArtifactSource.domain) {
set.domain = lodash_1.default.find(exports.artifactDomains, function (domain) { return domain.key === set.domainKey; });
set.domain.sets.push(set);
}
else {
exports.bossArtifactSets.push(set);
}
return set;
});
var slotRngMin = 0;
exports.artifactDropRatesBySlot = lodash_1.default.map(artifactDropRatesBySlot_json_1.default, function (dropRatesForSlot) {
dropRatesForSlot.rngMin = slotRngMin;
dropRatesForSlot.rngMax = slotRngMin + dropRatesForSlot.chance;
var statRngMin = 0;
dropRatesForSlot.dropRatesByStat = lodash_1.default.map(dropRatesForSlot.dropRatesByStat, function (dropRatesForStat) {
dropRatesForStat.rngMin = statRngMin;
dropRatesForStat.rngMax = statRngMin + dropRatesForStat.chance;
var substatRngMin = 0;
dropRatesForStat.dropRatesBySubstat = lodash_1.default.map(dropRatesForStat.dropRatesBySubstat, function (dropRatesForSubstat) {
dropRatesForSubstat.rngMin = substatRngMin;
dropRatesForSubstat.rngMax =
substatRngMin + dropRatesForSubstat.chance;
substatRngMin = dropRatesForSubstat.rngMax;
return dropRatesForSubstat;
});
statRngMin = dropRatesForStat.rngMax;
return dropRatesForStat;
});
slotRngMin = dropRatesForSlot.rngMax;
return dropRatesForSlot;
});
exports.artifactDropsBySource = lodash_1.default.map(artifactDropsBySource_json_1.default, function (dropsForSource) {
dropsForSource.drops = lodash_1.default.map(dropsForSource.drops, function (drop) {
var rngMin = 0;
drop.dropCounts = lodash_1.default.map(drop.dropCounts, function (dropCount) {
dropCount.rngMin = rngMin;
dropCount.rngMax = dropCount.chance + rngMin;
rngMin = dropCount.rngMax;
return dropCount;
});
return drop;
});
return dropsForSource;
});
exports.artifactXpAmounts = artifactMiscData_json_1.default.xpAmounts;
var countRngMin = 0;
exports.artifactSubstatCounts = lodash_1.default.map(artifactMiscData_json_1.default.substatCounts, function (substatCount) {
substatCount.rngMin = countRngMin;
substatCount.rngMax = countRngMin + substatCount.chance;
countRngMin = substatCount.rngMax;
return substatCount;
});
//# sourceMappingURL=loadData.js.map