fifarating
Version:
Utils for Fifa Soccer Game player rating
50 lines (49 loc) • 1.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CalculateUtils = void 0;
var config_1 = require("./config");
var CalculateUtils = /** @class */ (function () {
function CalculateUtils() {
}
CalculateUtils.rawOverall = function (attributes, fifa, position) {
var positionConfig = config_1.ConfigUtils.fifaPosition(fifa, position);
var rawOverall = Object.entries(positionConfig).reduce(function (acc, _a) {
var k = _a[0], v = _a[1];
var key = k;
var value = v;
return acc + attributes[key] * value;
}, 0);
return Math.min(Math.round(rawOverall), 99);
};
// valid for FIFA 12 - 16 (rest should be checked)
CalculateUtils.displayOverall = function (attributes, fifa, position, reputation) {
var rawOverall = CalculateUtils.rawOverall(attributes, fifa, position);
if (reputation === 3) {
if (rawOverall > 50) {
return Math.min(rawOverall + 1, 99);
}
}
else if (reputation === 4) {
if (rawOverall >= 67) {
return Math.min(rawOverall + 2, 99);
}
if (rawOverall >= 33) {
return Math.min(rawOverall + 1, 99);
}
}
else if (reputation === 5) {
if (rawOverall >= 75) {
return Math.min(rawOverall + 3, 99);
}
if (rawOverall >= 50) {
return Math.min(rawOverall + 2, 99);
}
if (rawOverall >= 25) {
return Math.min(rawOverall + 1, 99);
}
}
return rawOverall;
};
return CalculateUtils;
}());
exports.CalculateUtils = CalculateUtils;