From 799df74fcda5266fd295b49fc759c605c815cad9 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Tue, 13 May 2025 14:11:11 +0200 Subject: feat(xp): new add --- user/xp.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'user/xp.go') diff --git a/user/xp.go b/user/xp.go index 23cefcd..f8bcd06 100644 --- a/user/xp.go +++ b/user/xp.go @@ -7,10 +7,10 @@ import ( ) func (c *Copaing) AddXP(s *discordgo.Session, m *discordgo.Member, xp uint, fn func(uint, uint)) { - pastLevel := exp.Level(c.XP) - old := c.XP - c.XP += xp - if err := c.Save(); err != nil { + old, err := c.GetXP() + pastLevel := exp.Level(old) + c.XP = append(c.XP, CopaingXP{CopaingID: c.ID, XP: xp, GuildID: c.GuildID}) + if err = c.Save(); err != nil { utils.SendAlert( "user/xp.go - Saving user", err.Error(), @@ -21,12 +21,11 @@ func (c *Copaing) AddXP(s *discordgo.Session, m *discordgo.Member, xp uint, fn f "guild_id", c.GuildID, ) - c.XP = old return } - newLevel := exp.Level(c.XP) + newLevel := exp.Level(old + xp) if newLevel > pastLevel { - fn(c.XP, newLevel) + fn(old+xp, newLevel) onNewLevel(s, m, newLevel) } } -- cgit v1.2.3