From 3fb9f748adadbd74fa58a4410ed1082da9424936 Mon Sep 17 00:00:00 2001 From: gumi Date: Fri, 15 May 2020 12:07:46 -0400 Subject: set legacy variables in ported chars --- src/routers/vault/utils/claim.js | 21 +++++++++++++++++++++ src/routers/vault/utils/game_accounts.js | 22 ++++++++++++++++++++++ 2 files changed, 43 insertions(+) (limited to 'src/routers/vault/utils') diff --git a/src/routers/vault/utils/claim.js b/src/routers/vault/utils/claim.js index dda9001..12309b2 100644 --- a/src/routers/vault/utils/claim.js +++ b/src/routers/vault/utils/claim.js @@ -64,6 +64,27 @@ const claim_accounts = async (req, email, vault_id, session = null) => { legacy_char.baseLevel = char.baseLevel; legacy_char.gender = char.sex; + const char_vars = await req.app.locals.legacy.char_reg.findAll({ + where: { + charId: char.charId, + [Op.or]: [ + {name: "TUT_var"}, + {name: "BOSS_POINTS"}, + ], + }, + limit: 2, // for now we only use these 2 vars ^ + }); + + for (const var_ of char_vars) { + if (var_.name === "TUT_var") { + legacy_char.creationTime = var_.value > 0xFF ? var_.value : 0; + } else if (var_.name === "BOSS_POINTS") { + legacy_char.bossPoints = Math.max(0, var_.value); + } + + // in the future maybe here set the vars in a Map + } + legacy_account.chars.push(legacy_char); } diff --git a/src/routers/vault/utils/game_accounts.js b/src/routers/vault/utils/game_accounts.js index fb0e5a4..a5df144 100644 --- a/src/routers/vault/utils/game_accounts.js +++ b/src/routers/vault/utils/game_accounts.js @@ -2,6 +2,7 @@ const LegacyAccount = require("../types/LegacyAccount.js"); const LegacyChar = require("../types/LegacyChar.js"); const EvolAccount = require("../types/EvolAccount.js"); const EvolChar = require("../types/EvolChar.js"); +const { Op } = require("sequelize"); /** * fetch the legacy game accounts and cache in the Session @@ -38,6 +39,27 @@ const get_legacy_accounts = async (req, session) => { char_.gender = char.sex; char_.revoltId = char.revoltId; + const char_vars = await req.app.locals.legacy.char_reg.findAll({ + where: { + charId: char.charId, + [Op.or]: [ + {name: "TUT_var"}, + {name: "BOSS_POINTS"}, + ], + }, + limit: 2, // for now we only use these 2 vars ^ + }); + + for (const var_ of char_vars) { + if (var_.name === "TUT_var") { + char_.creationTime = var_.value > 0xFF ? var_.value : 0; + } else if (var_.name === "BOSS_POINTS") { + char_.bossPoints = Math.max(0, var_.value); + } + + // in the future maybe here set the vars in a Map + } + account.chars.push(char_); } -- cgit v1.2.3-70-g09d2