mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 06:37:23 +01:00
Upgrade tests tools and lint migrations and scripts (part 2) (#9998)
* upgrade gulp-babel * upgrade babel-eslint * upgrade eslint-friendly-formatter * start upgrading chai * start to upgrade eslint * restore skipped tests * start to upgrqde monk * fix linting and remove unused file * fix mocha notifications, and common tests * fix unit tests * start to fix initrgration tests * more integration tests fixes * upgrade monk to latest version * lint /scripts * migrations: start moving to /archive unused migrations and run eslint with --fix * lint migrations * fix more integration tests * fix test
This commit is contained in:
37
migrations/archive/2013/20130307_exp_overflow.js
Normal file
37
migrations/archive/2013/20130307_exp_overflow.js
Normal file
@@ -0,0 +1,37 @@
|
||||
// mongo habitrpg ./node_modules/underscore/underscore.js ./migrations/20130307_normalize_algo_values.js
|
||||
|
||||
/**
|
||||
* Make sure people aren't overflowing their exp with the new system
|
||||
*/
|
||||
db.users.find().forEach(function (user) {
|
||||
function oldTnl (level) {
|
||||
return Math.pow(level, 2) * 10 + level * 10 + 80;
|
||||
}
|
||||
|
||||
function newTnl (level) {
|
||||
let value = 0;
|
||||
if (level >= 100) {
|
||||
value = 0;
|
||||
} else {
|
||||
value = Math.round((Math.pow(level, 2) * 0.25 + 10 * level + 139.75) / 10) * 10; // round to nearest 10
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
var newTnl = newTnl(user.stats.lvl);
|
||||
if (user.stats.exp > newTnl) {
|
||||
let percent = user.stats.exp / oldTnl(user.stats.lvl);
|
||||
percent = percent > 1 ? 1 : percent;
|
||||
user.stats.exp = newTnl * percent;
|
||||
|
||||
try {
|
||||
db.users.update(
|
||||
{_id: user._id},
|
||||
{$set: {'stats.exp': user.stats.exp}},
|
||||
{multi: true}
|
||||
);
|
||||
} catch (e) {
|
||||
print(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user