alexagame / utils /leveling.js
hansaka01's picture
Upload 33 files
1f6a1b4 verified
Raw
History Blame Contribute Delete
614 Bytes
const User = require('../models/User');
const addXP = async (userId, amount) => {
let user = await User.findOne({ userId });
if (!user) {
user = await User.create({ userId });
}
user.xp += amount;
const nextLevelXP = user.level * 1000;
if (user.xp >= nextLevelXP) {
user.level += 1;
user.xp = 0; // Reset or keep overflow? Let's reset for simplicity
// Return true if leveled up
await user.save();
return { leveledUp: true, level: user.level };
}
await user.save();
return { leveledUp: false };
};
module.exports = { addXP };