Added a lot more gifts to .gifts

This commit is contained in:
Master Kwoth 2017-11-07 12:19:17 +01:00
parent 3518ebc145
commit 7f5961e905
4 changed files with 69 additions and 13 deletions

View File

@ -10,7 +10,6 @@ using Discord;
#if !GLOBAL_NADEKO #if !GLOBAL_NADEKO
namespace NadekoBot.Modules.Administration namespace NadekoBot.Modules.Administration
{ {
//todo make users confirm their decision
public partial class Administration public partial class Administration
{ {
[Group] [Group]

View File

@ -31,7 +31,6 @@ namespace NadekoBot.Modules.Gambling
_images = data.LocalImages; _images = data.LocalImages;
} }
[NadekoCommand, Usage, Description, Aliases] [NadekoCommand, Usage, Description, Aliases]
public async Task Roll() public async Task Roll()
{ {

View File

@ -10,6 +10,7 @@ using System.Threading.Tasks;
using NadekoBot.Common; using NadekoBot.Common;
using NadekoBot.Common.Attributes; using NadekoBot.Common.Attributes;
using NadekoBot.Modules.Gambling.Services; using NadekoBot.Modules.Gambling.Services;
using Discord.WebSocket;
namespace NadekoBot.Modules.Gambling namespace NadekoBot.Modules.Gambling
{ {
@ -58,13 +59,16 @@ namespace NadekoBot.Modules.Gambling
private readonly CurrencyService _cs; private readonly CurrencyService _cs;
private readonly DbService _db; private readonly DbService _db;
private readonly IDataCache _cache; private readonly IDataCache _cache;
private readonly DiscordSocketClient _client;
public WaifuClaimCommands(IDataCache cache, IBotConfigProvider bc, CurrencyService cs, DbService db) public WaifuClaimCommands(IDataCache cache, IBotConfigProvider bc,
CurrencyService cs, DbService db, DiscordSocketClient client)
{ {
_bc = bc; _bc = bc;
_cs = cs; _cs = cs;
_db = db; _db = db;
_cache = cache; _cache = cache;
_client = client;
} }
[NadekoCommand, Usage, Description, Aliases] [NadekoCommand, Usage, Description, Aliases]
@ -310,7 +314,7 @@ namespace NadekoBot.Modules.Gambling
var now = DateTime.UtcNow; var now = DateTime.UtcNow;
if (w?.Affinity?.UserId == u?.Id) if (w?.Affinity?.UserId == u?.Id)
{ {
//todo don't let people change affinity on different shards
} }
else if (!_cache.TryAddAffinityCooldown(Context.User.Id, out remaining)) else if (!_cache.TryAddAffinityCooldown(Context.User.Id, out remaining))
{ {
@ -473,18 +477,27 @@ namespace NadekoBot.Modules.Gambling
[NadekoCommand, Usage, Description, Aliases] [NadekoCommand, Usage, Description, Aliases]
[RequireContext(ContextType.Guild)] [RequireContext(ContextType.Guild)]
[Priority(1)] [Priority(1)]
public async Task WaifuGift() public async Task WaifuGift(int page = 1)
{ {
var embed = new EmbedBuilder() if (--page < 0 || page > 2)
.WithTitle(GetText("waifu_gift_shop")) return;
.WithOkColor();
Enum.GetValues(typeof(WaifuItem.ItemName)) await Context.Channel.SendPaginatedConfirmAsync(_client, page, (cur) =>
.Cast<WaifuItem.ItemName>() {
.Select(x => WaifuItem.GetItem(x)) var embed = new EmbedBuilder()
.ForEach(x => embed.AddField(f => f.WithName(x.ItemEmoji + " " + x.Item).WithValue(x.Price).WithIsInline(true))); .WithTitle(GetText("waifu_gift_shop"))
.WithOkColor();
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false); Enum.GetValues(typeof(WaifuItem.ItemName))
.Cast<WaifuItem.ItemName>()
.Select(x => WaifuItem.GetItem(x))
.OrderBy(x => x.Price)
.Skip(9 * cur)
.Take(9)
.ForEach(x => embed.AddField(f => f.WithName(x.ItemEmoji + " " + x.Item).WithValue(x.Price).WithIsInline(true)));
return embed;
}, Enum.GetValues(typeof(WaifuItem.ItemName)).Length, 9);
} }
[NadekoCommand, Usage, Description, Aliases] [NadekoCommand, Usage, Description, Aliases]

View File

@ -22,6 +22,21 @@ namespace NadekoBot.Core.Services.Database.Models
Violin, Violin,
Ring, Ring,
Helicopter, Helicopter,
Iphone, //4000
Cat, //2000
Dog, //2001
Lollipop, //30
Purse, //3500
Sushi, //300
Icecream, //200
Piano, //8000
Yacht, //12000
Car, //9000
House, //15000
Spaceship, //30000
Beer, //75
Pizza, //150
Milk, //125
} }
public WaifuItem() public WaifuItem()
@ -64,6 +79,36 @@ namespace NadekoBot.Core.Services.Database.Models
return new WaifuItem("💍", 10000, itemName); return new WaifuItem("💍", 10000, itemName);
case ItemName.Helicopter: case ItemName.Helicopter:
return new WaifuItem("🚁", 20000, itemName); return new WaifuItem("🚁", 20000, itemName);
case ItemName.Iphone:
return new WaifuItem("📱", 4000, itemName);
case ItemName.Cat:
return new WaifuItem("🐱", 2000, itemName);
case ItemName.Dog:
return new WaifuItem("🐶", 2001, itemName);
case ItemName.Lollipop:
return new WaifuItem("🍭", 30, itemName);
case ItemName.Purse:
return new WaifuItem("👛", 3500, itemName);
case ItemName.Sushi:
return new WaifuItem("🍣", 300, itemName);
case ItemName.Icecream:
return new WaifuItem("🍦", 200, itemName);
case ItemName.Piano:
return new WaifuItem("🎹", 8000, itemName);
case ItemName.Yacht:
return new WaifuItem("🛳", 12000, itemName);
case ItemName.Car:
return new WaifuItem("🚗", 9000, itemName);
case ItemName.House:
return new WaifuItem("🏠", 15000, itemName);
case ItemName.Spaceship:
return new WaifuItem("🚀", 30000, itemName);
case ItemName.Beer:
return new WaifuItem("🍺", 75, itemName);
case ItemName.Pizza:
return new WaifuItem("🍕", 150, itemName);
case ItemName.Milk:
return new WaifuItem("🥛", 125, itemName);
default: default:
throw new ArgumentException(nameof(itemName)); throw new ArgumentException(nameof(itemName));
} }