From 97f9a4e6098be4c1e970984c2140aee0d51f05c0 Mon Sep 17 00:00:00 2001 From: Toastie Date: Tue, 13 Aug 2024 13:56:59 +1200 Subject: [PATCH] Fixed xpcurrew breaking xp gain if user gains 0 xp from being in a voice channel while voice xp is enabled --- src/EllieBot/Modules/Xp/XpService.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/EllieBot/Modules/Xp/XpService.cs b/src/EllieBot/Modules/Xp/XpService.cs index ea034a7..f32c7a5 100644 --- a/src/EllieBot/Modules/Xp/XpService.cs +++ b/src/EllieBot/Modules/Xp/XpService.cs @@ -178,8 +178,9 @@ public class XpService : IEService, IReadyExecutor, IExecNoCommand { foreach (var user in globalToAdd) { - var amount = user.Value.XpAmount * conf.CurrencyPerXp; - await _cs.AddAsync(user.Key, (long)(amount), null); + var amount = (long)(user.Value.XpAmount * conf.CurrencyPerXp); + if (amount > 0) + await _cs.AddAsync(user.Key, amount, null); } } @@ -422,8 +423,8 @@ public class XpService : IEService, IReadyExecutor, IExecNoCommand await _sender.Response(chan) .Confirm(_strings.GetText(strs.level_up_global(user.Mention, - Format.Bold(newLevel.ToString())), - guild.Id)) + Format.Bold(newLevel.ToString())), + guild.Id)) .SendAsync(); } } @@ -770,8 +771,9 @@ public class XpService : IEService, IReadyExecutor, IExecNoCommand { var channelId = channel.Id; - if (_excludedChannels.TryGetValue(user.Guild.Id, out var chans) && (chans.Contains(channelId) - || (channel is SocketThreadChannel tc && chans.Contains(tc.ParentChannel.Id)))) + if (_excludedChannels.TryGetValue(user.Guild.Id, out var chans) + && (chans.Contains(channelId) + || (channel is SocketThreadChannel tc && chans.Contains(tc.ParentChannel.Id)))) return false; if (_excludedServers.Contains(user.Guild.Id))