File size: 614 Bytes
44eba2f
 
 
 
1f6a1b4
 
 
44eba2f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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 };