mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-10-27 19:22:55 +01:00
* 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
46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
// mongo habitrpg ./node_modules/underscore/underscore.js ./migrations/20130307_normalize_algo_values.js
|
|
|
|
/**
|
|
* Users were experiencing a lot of extreme Exp multiplication (https://github.com/lefnire/habitrpg/issues/594).
|
|
* This sets things straight, and in preparation for another algorithm overhaul
|
|
*/
|
|
db.users.find().forEach(function (user) {
|
|
if (user.stats.exp >= 3580) {
|
|
user.stats.exp = 0;
|
|
}
|
|
|
|
if (user.stats.lvl > 100) {
|
|
user.stats.lvl = 100;
|
|
}
|
|
|
|
_.each(user.tasks, function (task, key) {
|
|
// remove corrupt tasks
|
|
if (!task) {
|
|
delete user.tasks[key];
|
|
return;
|
|
}
|
|
|
|
// Fix busted values
|
|
if (task.value > 21.27) {
|
|
task.value = 21.27;
|
|
} else if (task.value < -47.27) {
|
|
task.value = -47.27;
|
|
}
|
|
});
|
|
|
|
try {
|
|
db.users.update(
|
|
{_id: user._id},
|
|
{$set:
|
|
{
|
|
'stats.lvl': user.stats.lvl,
|
|
'stats.exp': user.stats.exp,
|
|
tasks: user.tasks,
|
|
},
|
|
},
|
|
{multi: true}
|
|
);
|
|
} catch (e) {
|
|
print(e);
|
|
}
|
|
}); |