UNPKG

fifarating

Version:

Utils for Fifa Soccer Game player rating

50 lines (49 loc) 1.77 kB
"use strict"; 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;