@@ -25,7 +25,7 @@ class message extends Event {
25
25
message . member = await message . guild . members . fetch ( message . author ) ;
26
26
27
27
// —— Message log in the database
28
- message . guild && message . guild . plugins . logger . enabled && new client . db . Message ( {
28
+ message . guild && new client . db . Message ( {
29
29
_ID : message . id ,
30
30
_userID : message . author . id ,
31
31
_guildID : message . guild && message . guild . id || "DM" ,
@@ -37,27 +37,25 @@ class message extends Event {
37
37
38
38
// —— Experience module
39
39
if ( message . guild && message . guild . plugins . experience . enabled ) {
40
- // —— Search in the database if the member exists
41
- let member = await client . db . Member . findOne ( {
42
- _ID : message . author . id ,
43
- _guildID : message . guild . id
44
- } ) . exec ( ) ;
45
40
46
- // —— If it does not exist, it is created
47
- if ( ! member ) {
48
- member = await new client . db . Member ( {
49
- _ID : message . author . id ,
50
- _guildID : message . guild . id ,
51
- joinDate : message . member . joinedAt ,
52
- } ) . save ( ) . catch ( console . error ) ;
53
- }
41
+ // —— Search in the database if the member exists — Or create it
42
+ const member = await client . db . Member . findOneAndUpdate ( {
43
+ _ID : message . author . id ,
44
+ _guildID : message . guild . id
45
+ } , {
46
+ joinDate : message . member . joinedAt
47
+ } , {
48
+ setDefaultsOnInsert : true ,
49
+ upsert : true ,
50
+ new : true ,
51
+ } ) . catch ( ( err ) => console . error ( err ) ) ;
54
52
55
53
// —— Give a random amount of xp per message
56
- let gain = ~ ~ ( Math . random ( ) * 50 ) + 20 ;
54
+ let gain = ~ ~ ( Math . random ( ) * 35 ) + 15 ;
57
55
58
- // –– Lucky drop, 1 chance in 100 to multiply the gain by 10
59
- if ( ~ ~ ( Math . random ( ) * 101 ) === 100 )
60
- message . react ( "🔥" ) && ( gain *= 10 ) ;
56
+ // –– Lucky drop, 1 chance in 300 to multiply the gain by 5
57
+ if ( ~ ~ ( Math . random ( ) * 301 ) === 300 )
58
+ message . react ( "🔥" ) && ( gain *= 5 ) ;
61
59
62
60
// —— Adds the gain to the old xp
63
61
member . experience += gain ;
@@ -67,7 +65,7 @@ class message extends Event {
67
65
// —— LVL UP ! *Victory Fanfare* (Final Fantasy XI)
68
66
if ( member . level < curLevel ) {
69
67
70
- member . level ++ ;
68
+ member . level = curLevel ;
71
69
message . channel . send ( langue . lvlUp ( member . level , member ) ) ;
72
70
73
71
}
0 commit comments