Changing XP gain to random of 15-25. also adding LastUpdated to ensure experience gain only once per minute.

This commit is contained in:
Sean "Solao Bajiuik" Stoves 2020-08-08 23:34:16 -04:00
parent 1b4f4cc1c0
commit a40edc8a99

View File

@ -27,20 +27,32 @@ namespace ChaosBot.Discord.Services
if (usrXp.Any()) if (usrXp.Any())
{ {
usrNewXp = usrXp.First(); usrNewXp = usrXp.First();
usrNewXp.Amount = usrNewXp.Amount + Convert.ToUInt64(ConfigurationRepository.GetValue<string>("Experience:PerMsg", DiscordGuildId, "0"));
} if(DateTime.Now >= usrNewXp.LastUpdated.AddMinutes(1))
{
usrNewXp.Amount = usrNewXp.Amount + Convert.ToUInt64(new Random().Next(15, 26));
usrNewXp.DiscordGuildId = DiscordGuildId;
usrNewXp.DiscordUserId = DiscordUserId;
usrNewXp.LastUpdated = DateTime.Now;
await dbContext.ExperiencePoints.Upsert(usrNewXp)
.On(x => new {x.DiscordGuildId, x.DiscordUserId}).RunAsync();
} }
else else
{ {
usrNewXp = new Experience(); usrNewXp = new Experience();
usrNewXp.Amount = Convert.ToUInt64(ConfigurationRepository.GetValue<string>("Experience:PerMsg", DiscordGuildId, "0")); usrNewXp.Amount = Convert.ToUInt64(new Random().Next(15, 26));
}
usrNewXp.DiscordGuildId = DiscordGuildId; usrNewXp.DiscordGuildId = DiscordGuildId;
usrNewXp.DiscordUserId = DiscordUserId; usrNewXp.DiscordUserId = DiscordUserId;
usrNewXp.LastUpdated = DateTime.Now;
await dbContext.ExperiencePoints.Upsert(usrNewXp) await dbContext.ExperiencePoints.Upsert(usrNewXp)
.On(x => new { x.DiscordGuildId, x.DiscordUserId}).RunAsync(); .On(x => new { x.DiscordGuildId, x.DiscordUserId}).RunAsync();
} }
} }
}
catch (Exception ex) catch (Exception ex)
{ {
_logger.Error( _logger.Error(