From 851c90ff613a1b8b930b9fdab137935601e272ad Mon Sep 17 00:00:00 2001 From: Evgeny Kirpichyov <47474371+kyvg@users.noreply.github.com> Date: Thu, 7 Sep 2023 18:48:25 +0300 Subject: [PATCH] #277 Fix harks saving (#280) --- package.json | 1 + src/arena/CharacterService.js | 3 +-- src/cli/resetHarks.ts | 21 +++++++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 src/cli/resetHarks.ts diff --git a/package.json b/package.json index 2f69142..a9c4448 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "start": "NODE_ENV=production ts-node src/fwo.ts", "dev": "ts-node src/cli/dev.ts", "test": "ts-node src/cli/test.ts -i", + "reset-harks": "ts-node src/cli/resetHarks.ts", "lint": "eslint --fix src/ --ext .js,.ts", "types": "tsc --noEmit" }, diff --git a/src/arena/CharacterService.js b/src/arena/CharacterService.js index 999bf56..9330a25 100644 --- a/src/arena/CharacterService.js +++ b/src/arena/CharacterService.js @@ -648,7 +648,7 @@ class CharacterService { try { console.log('Saving char :: id', this.id); const { - gold, exp, magics, bonus, items, skills, lvl, clan, free, harks, + gold, exp, magics, bonus, items, skills, lvl, clan, free, } = this; return await updateCharacter(this.id, { gold, @@ -658,7 +658,6 @@ class CharacterService { skills, lvl, clan, - harks, penalty: this.charObj.penalty, free, expLimit: this.charObj.expLimit, diff --git a/src/cli/resetHarks.ts b/src/cli/resetHarks.ts new file mode 100644 index 0000000..4e12d1a --- /dev/null +++ b/src/cli/resetHarks.ts @@ -0,0 +1,21 @@ +import { times } from 'lodash'; +import { profsData, profsList } from '@/data/profs'; +import { connect } from '@/models'; +import { CharModel } from '@/models/character'; + +const main = async () => { + await connect(); + + await CharModel.bulkWrite( + times(10).map((lvl) => profsList.map((prof) => ({ + updateMany: { + filter: { lvl, prof }, + update: { $set: { free: lvl * 10, harks: profsData[prof].hark } }, + }, + }))).flat(), + ); + + process.exit(0); +}; + +void main();