Fixed PlayerService.calculateLevel
This commit is contained in:
parent
6ca19150bc
commit
45dad54e3e
@ -60,19 +60,20 @@ export class PlayerService
|
||||
*/
|
||||
public calculateLevel(pmcData: IPmcData): number
|
||||
{
|
||||
let exp = 0;
|
||||
let accExp = 0;
|
||||
|
||||
for (const level in this.databaseServer.getTables().globals.config.exp.level.exp_table)
|
||||
for (const [level, { exp }] of this.databaseServer.getTables().globals.config.exp.level.exp_table.entries())
|
||||
{
|
||||
if (pmcData.Info.Experience < exp)
|
||||
accExp += exp;
|
||||
|
||||
if (pmcData.Info.Experience < accExp)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
pmcData.Info.Level = parseInt(level);
|
||||
exp += this.databaseServer.getTables().globals.config.exp.level.exp_table[level].exp;
|
||||
pmcData.Info.Level = level + 1;
|
||||
}
|
||||
|
||||
return pmcData.Info.Level;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,19 @@ describe("PlayerService", () =>
|
||||
|
||||
describe("calculateLevel", () =>
|
||||
{
|
||||
it("should return 1 when player xp is 0", () =>
|
||||
{
|
||||
const playerProfile = {
|
||||
Info: {
|
||||
Experience: 0 // Via wiki: https://escapefromtarkov.fandom.com/wiki/Character_skills#Levels
|
||||
}
|
||||
};
|
||||
|
||||
const result = playerService.calculateLevel(playerProfile as IPmcData);
|
||||
|
||||
expect(result).toBe(1);
|
||||
});
|
||||
|
||||
it("should return 1 when player xp is 999", () =>
|
||||
{
|
||||
const playerProfile = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user