I have no idea what I changed
It has been too long, the things just piled up
This commit is contained in:
@@ -12,5 +12,6 @@ namespace Kehyeedra3
|
||||
public DbSet<Reminder> Reminders { get; set; }
|
||||
public DbSet<Fishing> Fishing { get; set; }
|
||||
public DbSet<StoreFront> StoreFronts { get; set; }
|
||||
public DbSet<User.BattleFishObject> Battlefish { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ namespace Kehyeedra3
|
||||
public class Bot
|
||||
{
|
||||
/// Star Vars
|
||||
public static bool IsReady { get; private set; }
|
||||
public static DiscordSocketClient _bot;
|
||||
public static System.Timers.Timer Clockboy;
|
||||
public static AudioService AudioService;
|
||||
@@ -140,6 +141,7 @@ namespace Kehyeedra3
|
||||
{
|
||||
try
|
||||
{
|
||||
_bot.Ready += _bot_Ready;
|
||||
await _bot.LoginAsync(TokenType.Bot, Configuration.Load().Token);
|
||||
await _bot.StartAsync();
|
||||
Clockboy.Start();
|
||||
@@ -162,7 +164,12 @@ namespace Kehyeedra3
|
||||
}
|
||||
}
|
||||
|
||||
public static void EnsureConfigExists()
|
||||
private async Task _bot_Ready()
|
||||
{
|
||||
IsReady = true;
|
||||
}
|
||||
|
||||
public static void EnsureConfigExists()
|
||||
{
|
||||
string storage = Environment.CurrentDirectory;
|
||||
if (!Directory.Exists(Path.Combine(storage, "storage")))
|
||||
|
||||
@@ -3,12 +3,15 @@ using Discord.Addons.Interactive;
|
||||
using Discord.Commands;
|
||||
using Kehyeedra3.Preconditions;
|
||||
using Kehyeedra3.Services.Models;
|
||||
using Microsoft.EntityFrameworkCore.Internal;
|
||||
using Microsoft.EntityFrameworkCore.Storage;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.IO.Enumeration;
|
||||
using System.IO.IsolatedStorage;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Text;
|
||||
using System.Threading.Channels;
|
||||
using System.Threading.Tasks;
|
||||
@@ -23,34 +26,169 @@ namespace Kehyeedra3.Commands
|
||||
""
|
||||
};
|
||||
|
||||
[RequireRolePrecondition(AccessLevel.BotOwner)]
|
||||
[Command("battlefish", RunMode = RunMode.Async),Alias("bf"),Summary("Type **bf help** or **bf h** for help with this command.")]
|
||||
public async Task BattleFish(string option = null, [Remainder]string sec = null)
|
||||
{
|
||||
using (var Database = new ApplicationDbContextFactory().CreateDbContext())
|
||||
{
|
||||
var user = Database.Users.FirstOrDefault(x => x.Id == Context.User.Id);
|
||||
if (user.BattleFish.Any() == false)
|
||||
var userfish = Database.Battlefish.Where(x => x.UserId == Context.User.Id);
|
||||
|
||||
int attb = 0;
|
||||
int defb = 0;
|
||||
int hpb = 0;
|
||||
int apb = 0;
|
||||
int dgb = 0;
|
||||
|
||||
if (!userfish.Any() && option == null)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYou don't have a battlefish.");
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYou don't have any battlefish.");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
var fish = userfish.FirstOrDefault(x => x.FishType == user.CurrentBattlefish);
|
||||
if (fish == null)
|
||||
{
|
||||
fish = userfish.FirstOrDefault();
|
||||
}
|
||||
switch (fish.FishType)
|
||||
{
|
||||
case Services.Models.BattleFish.Herring:
|
||||
{
|
||||
attb = 9;
|
||||
defb = 9;
|
||||
hpb = 9;
|
||||
apb = 3;
|
||||
dgb = 2;
|
||||
}
|
||||
break;
|
||||
case Services.Models.BattleFish.Birgus:
|
||||
{
|
||||
attb = 10;
|
||||
defb = 6;
|
||||
hpb = 5;
|
||||
apb = 9;
|
||||
dgb = 4;
|
||||
}
|
||||
break;
|
||||
case Services.Models.BattleFish.Abama:
|
||||
{
|
||||
attb = 4;
|
||||
defb = 3;
|
||||
hpb = 5;
|
||||
apb = 18;
|
||||
dgb = 8;
|
||||
}
|
||||
break;
|
||||
case Services.Models.BattleFish.Pistashrimp:
|
||||
{
|
||||
attb = 15;
|
||||
defb = 4;
|
||||
hpb = 5;
|
||||
apb = 6;
|
||||
dgb = 6;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var fish = user.BattleFish.FirstOrDefault();
|
||||
|
||||
string species = $"";
|
||||
string attacks = $"";
|
||||
int att = 0;
|
||||
int def = 0;
|
||||
int dg = 0;
|
||||
int hp = 0;
|
||||
int ap = 0;
|
||||
string opt = "";
|
||||
|
||||
double lvm = 20;
|
||||
double lvmhp = 100;
|
||||
BattleFish type = 0;
|
||||
if (option != null)
|
||||
{
|
||||
opt = option.ToLowerInvariant();
|
||||
}
|
||||
|
||||
string bfishlist = "";
|
||||
|
||||
if (opt == "change" || opt == "c")
|
||||
{
|
||||
string bfishlistname = "";
|
||||
foreach (var fesh in userfish)
|
||||
{
|
||||
string prefix = "Hatchling";
|
||||
string suffix = "";
|
||||
|
||||
if (fesh.Lvl >= 15)
|
||||
{
|
||||
prefix = "Young";
|
||||
}
|
||||
if (fesh.Lvl >= 30)
|
||||
{
|
||||
prefix = "Adolescent";
|
||||
}
|
||||
if (fesh.Lvl >= 50)
|
||||
{
|
||||
prefix = "Adult";
|
||||
}
|
||||
|
||||
switch ((int)fesh.FishType)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
if (fesh.Lvl >= 100)
|
||||
{
|
||||
bfishlistname += $"ton";
|
||||
suffix = $"Authentic Masculine";
|
||||
}
|
||||
bfishlistname = $"{prefix} Herring{suffix}";
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
if (fesh.Lvl >= 100)
|
||||
{
|
||||
prefix = $"Great Sage";
|
||||
}
|
||||
bfishlistname = $"{prefix} Birgus";
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
if (fesh.Lvl >= 100)
|
||||
{
|
||||
prefix = $"President";
|
||||
}
|
||||
bfishlistname = $"{prefix} Abama";
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
if (fesh.Lvl >= 100)
|
||||
{
|
||||
suffix += $" XTREME";
|
||||
prefix = $"Hardboiled";
|
||||
}
|
||||
bfishlistname = $"{prefix} Pistashrimp{suffix}";
|
||||
}
|
||||
break;
|
||||
}
|
||||
bfishlist += $"{(byte)fesh.FishType} : LVL {fesh.Lvl} {bfishlistname}\n";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (option == null)
|
||||
{
|
||||
var fish = userfish.FirstOrDefault(x => x.FishType == user.CurrentBattlefish);
|
||||
if (fish == null)
|
||||
{
|
||||
fish = userfish.FirstOrDefault();
|
||||
}
|
||||
|
||||
StringBuilder message = new StringBuilder($"{Context.User.Mention}\n");
|
||||
|
||||
string species = $"";
|
||||
string attacks = $"";
|
||||
|
||||
double lvm = 20;
|
||||
double lvmhp = 100;
|
||||
int lvdf = 5;
|
||||
|
||||
for (int i = 0; i < fish.Lvl; i++)
|
||||
{
|
||||
lvm += Math.Round((Convert.ToDouble(lvm) * 0.01d), 0, MidpointRounding.ToEven) + 5;
|
||||
@@ -58,6 +196,13 @@ namespace Kehyeedra3.Commands
|
||||
}
|
||||
int lvlm = Convert.ToInt32(lvm) / 10;
|
||||
int lvlmhp = Convert.ToInt32(lvmhp) / 10;
|
||||
|
||||
int att = lvlm * attb;
|
||||
int def = lvdf * defb;
|
||||
int hp = lvlmhp * hpb;
|
||||
int ap = lvlmhp * apb;
|
||||
int dg = lvlm * dgb;
|
||||
|
||||
string prefix = "Hatchling";
|
||||
|
||||
if (fish.Lvl >= 15)
|
||||
@@ -72,7 +217,7 @@ namespace Kehyeedra3.Commands
|
||||
{
|
||||
prefix = "Adult";
|
||||
}
|
||||
switch (fish.FishType)
|
||||
switch ((int)fish.FishType)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
@@ -106,12 +251,6 @@ namespace Kehyeedra3.Commands
|
||||
attacks += $"\n5 : **Fairy Nightmare** - {species} executes a devastating ultimate attack.";
|
||||
}
|
||||
|
||||
att = 9 * lvlm;
|
||||
def = 9 * lvlm;
|
||||
hp = 9 * lvlmhp;
|
||||
ap = 3 * lvlmhp;
|
||||
|
||||
dg = 2 * lvlm;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
@@ -141,12 +280,6 @@ namespace Kehyeedra3.Commands
|
||||
attacks += $"\n5 : **Ecletic Rift** - {species} summons portals to alternate dimensions to call forth an army of raving crabs.";
|
||||
}
|
||||
|
||||
att = 10 * lvlm;
|
||||
def = 6 * lvlm;
|
||||
hp = 5 * lvlmhp;
|
||||
ap = 9 * lvlmhp;
|
||||
|
||||
dg = 4 * lvlm;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
@@ -176,12 +309,6 @@ namespace Kehyeedra3.Commands
|
||||
attacks += $"\n5 : **Ancestral Wrath** - {species} calls into the depths to unleash its true potential.";
|
||||
}
|
||||
|
||||
att = 4 * lvlm;
|
||||
def = 3 * lvlm;
|
||||
hp = 5 * lvlmhp;
|
||||
ap = 18 * lvlmhp;
|
||||
|
||||
dg = 8 * lvlm;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
@@ -211,20 +338,27 @@ namespace Kehyeedra3.Commands
|
||||
attacks += $"\n5 : **Dual Jet** - {species} vaporizes the surrounding with its machine gun claws.";
|
||||
}
|
||||
|
||||
att = 15 * lvlm;
|
||||
def = 4 * lvlm;
|
||||
hp = 5 * lvlmhp;
|
||||
ap = 6 * lvlmhp;
|
||||
|
||||
dg = 6 * lvlm;
|
||||
}
|
||||
break;
|
||||
}
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}'s LVL {fish.Lvl} **{prefix} {species}**\nName: **{fish.Name}**\nStats: **ATK : {att} DEF : {def} HP : {hp} AP : {ap}**\nActions:\n{attacks}");
|
||||
|
||||
}
|
||||
message.AppendLine($"LVL {fish.Lvl} **{prefix} {species}**\nName: **{fish.Name}**\nStats: **ATK : {att} DEF : {def}% HP : {hp} AP : {ap}**\nActions:\n{attacks}\n\n");
|
||||
|
||||
await Context.Channel.SendMessageAsync(message.ToString());
|
||||
}
|
||||
else if (option == "name" && sec != null|| option == "n" && sec != null)
|
||||
else if (option == "name" && sec != null || option == "n" && sec != null)
|
||||
{
|
||||
var fish = userfish.FirstOrDefault(x => x.FishType == user.CurrentBattlefish);
|
||||
if (fish == null)
|
||||
{
|
||||
fish = userfish.FirstOrDefault();
|
||||
}
|
||||
|
||||
if (fish == null)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYou can't name a fish you don't own!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (sec.Length > 16)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nThe maximum name length is 16 characters. \nStop jassing.");
|
||||
@@ -250,8 +384,13 @@ namespace Kehyeedra3.Commands
|
||||
$"\n3 : **Abama** - A cephalopod rogue with a heavy focus on debuffs. It is very agile.\nModifiers: **ATK 4, DEF 3, HP 5, AP 18**" +
|
||||
$"\n4 : **Pistashrimp** - A crustacean ranger with a heavy focus on DPS. It is somewhat agile.\nModifiers: **ATK 15, DEF 4, HP 5, AP 6**");
|
||||
var reply = await NextMessageAsync();
|
||||
byte rep = byte.Parse(reply.Content);
|
||||
if (rep > 4 || rep < 1)
|
||||
BattleFish rep = (BattleFish)byte.Parse(reply.Content);
|
||||
if (userfish.Any(x => x.FishType == rep))
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYou already have one of those, please don't neglect it and make it sad.");
|
||||
return;
|
||||
}
|
||||
if ((int)rep > 4 || (int)rep < 1)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nWhat you're looking for does not exist.");
|
||||
return;
|
||||
@@ -261,7 +400,8 @@ namespace Kehyeedra3.Commands
|
||||
await Context.Channel.SendMessageAsync($"Sorry **{Context.User.Mention}**, I can't give credit.\nCome back when you're a little, ***mmmmm***, richer.\n*You're missing {(500 - user.Money)/10000d}%.*");
|
||||
return;
|
||||
}
|
||||
switch (rep)
|
||||
string species = "";
|
||||
switch ((int)rep)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
@@ -293,8 +433,15 @@ namespace Kehyeedra3.Commands
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nBank has no money, convince someone to gamble.");
|
||||
return;
|
||||
}
|
||||
//create fish here pls let there fish be
|
||||
fish.FishType = rep;
|
||||
|
||||
var bfish = new User.BattleFishObject
|
||||
{
|
||||
FishType = rep,
|
||||
UserId = Context.User.Id
|
||||
};
|
||||
|
||||
Database.Battlefish.Add(bfish);
|
||||
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nThank you for your purchase.");
|
||||
await Database.SaveChangesAsync();
|
||||
}
|
||||
@@ -341,7 +488,19 @@ namespace Kehyeedra3.Commands
|
||||
}
|
||||
else if (option == "change" || option == "c")
|
||||
{
|
||||
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nPlease select your battlefish\n{bfishlist}");
|
||||
var fens = await NextMessageAsync();
|
||||
type = (BattleFish)byte.Parse(fens.Content);
|
||||
if (userfish.Any(x => x.FishType == type))
|
||||
{
|
||||
user.CurrentBattlefish = type;
|
||||
await Database.SaveChangesAsync();
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nBattlefish changed.");
|
||||
}
|
||||
else
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYou don't own that.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -703,76 +862,6 @@ namespace Kehyeedra3.Commands
|
||||
|
||||
|
||||
|
||||
[RequireRolePrecondition(AccessLevel.BotOwner)]
|
||||
[Command("setbf")]
|
||||
public async Task SetBattleFish(byte type, IUser usar = null)
|
||||
{
|
||||
string species = "";
|
||||
switch (type)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
species = "None";
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
species = "Herring";
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
species = "Birgus";
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
species = "Abama";
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
species = "Pistashrimp";
|
||||
}
|
||||
break;
|
||||
}
|
||||
using (var Database = new ApplicationDbContextFactory().CreateDbContext())
|
||||
{
|
||||
if (usar == null)
|
||||
{
|
||||
var user = Database.Users.FirstOrDefault(x => x.Id == Context.User.Id).BattleFish.FirstOrDefault();
|
||||
user.FishType = type;
|
||||
await Context.Channel.SendMessageAsync($"Changed **{Context.User.Username}**'s bf type to {species}.");
|
||||
}
|
||||
else
|
||||
{
|
||||
var user = Database.Users.FirstOrDefault(x => x.Id == usar.Id).BattleFish.FirstOrDefault();
|
||||
user.FishType = type;
|
||||
await Context.Channel.SendMessageAsync($"Changed **{usar.Username}**'s bf type to {species}.");
|
||||
}
|
||||
await Database.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
[RequireRolePrecondition(AccessLevel.BotOwner)]
|
||||
[Command("setbflv")]
|
||||
public async Task SetBattleFishLevel(int lv, IUser usar = null)
|
||||
{
|
||||
using (var Database = new ApplicationDbContextFactory().CreateDbContext())
|
||||
{
|
||||
if (usar == null)
|
||||
{
|
||||
var user = Database.Users.FirstOrDefault(x => x.Id == Context.User.Id).BattleFish.FirstOrDefault();
|
||||
user.Lvl = lv;
|
||||
await Context.Channel.SendMessageAsync($"Changed **{Context.User.Username}**'s bf lvl to {lv}.");
|
||||
}
|
||||
else
|
||||
{
|
||||
var user = Database.Users.FirstOrDefault(x => x.Id == usar.Id).BattleFish.FirstOrDefault();
|
||||
user.Lvl = lv;
|
||||
await Context.Channel.SendMessageAsync($"Changed **{usar.Username}**'s bf lvl to {lv}.");
|
||||
}
|
||||
await Database.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
239
Kehyeedra3/Migrations/20200531192223_boofboof.Designer.cs
generated
Normal file
239
Kehyeedra3/Migrations/20200531192223_boofboof.Designer.cs
generated
Normal file
@@ -0,0 +1,239 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Kehyeedra3;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
namespace Kehyeedra3.Migrations
|
||||
{
|
||||
[DbContext(typeof(ApplicationDbContext))]
|
||||
[Migration("20200531192223_boofboof")]
|
||||
partial class boofboof
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "3.1.2")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 64);
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.Fishing", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<string>("Inventory")
|
||||
.HasColumnType("LONGTEXT");
|
||||
|
||||
b.Property<ulong>("LastFish")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Lvl")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("Prestige")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<byte>("RodOwned")
|
||||
.HasColumnType("tinyint unsigned");
|
||||
|
||||
b.Property<byte>("RodUsed")
|
||||
.HasColumnType("tinyint unsigned");
|
||||
|
||||
b.Property<ulong>("TXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Xp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Fishing");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.ItemOffer", b =>
|
||||
{
|
||||
b.Property<ulong>("OfferId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("Amount")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong>("BuyerId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<bool>("IsPurchaseFromStore")
|
||||
.HasColumnType("tinyint(1)");
|
||||
|
||||
b.Property<bool>("IsSellOffer")
|
||||
.HasColumnType("tinyint(1)");
|
||||
|
||||
b.Property<ulong>("ItemId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("OfferAmount")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong?>("StoreFrontId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("StoreId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("OfferId");
|
||||
|
||||
b.HasIndex("StoreFrontId");
|
||||
|
||||
b.ToTable("ItemOffer");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.Reminder", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Created")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<string>("Message")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<ulong>("Send")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("UserId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Reminders");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.StoreFront", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("StoreItemType")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong>("UserId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("StoreFronts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.StoreInventory", b =>
|
||||
{
|
||||
b.Property<ulong>("InvId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("Amount")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("Item")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<int>("Price")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong?>("StoreFrontId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("InvId");
|
||||
|
||||
b.HasIndex("StoreFrontId");
|
||||
|
||||
b.ToTable("StoreInventory");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.User", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<string>("Avatar")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<string>("GeneralInventory")
|
||||
.HasColumnType("LONGTEXT");
|
||||
|
||||
b.Property<ulong>("LastMine")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<long>("Money")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b.Property<string>("Username")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Users");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.User+BattleFishObject", b =>
|
||||
{
|
||||
b.Property<ulong>("FishId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<byte>("FishType")
|
||||
.HasColumnType("tinyint unsigned");
|
||||
|
||||
b.Property<int>("Lvl")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<ulong>("NextXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong?>("UserId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Xp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("FishId");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("BattleFishObject");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.ItemOffer", b =>
|
||||
{
|
||||
b.HasOne("Kehyeedra3.Services.Models.StoreFront", null)
|
||||
.WithMany("Offers")
|
||||
.HasForeignKey("StoreFrontId");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.StoreInventory", b =>
|
||||
{
|
||||
b.HasOne("Kehyeedra3.Services.Models.StoreFront", null)
|
||||
.WithMany("Items")
|
||||
.HasForeignKey("StoreFrontId");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.User+BattleFishObject", b =>
|
||||
{
|
||||
b.HasOne("Kehyeedra3.Services.Models.User", null)
|
||||
.WithMany("BattleFish")
|
||||
.HasForeignKey("UserId");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
17
Kehyeedra3/Migrations/20200531192223_boofboof.cs
Normal file
17
Kehyeedra3/Migrations/20200531192223_boofboof.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Kehyeedra3.Migrations
|
||||
{
|
||||
public partial class boofboof : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
230
Kehyeedra3/Migrations/20200531193428_oofboof.Designer.cs
generated
Normal file
230
Kehyeedra3/Migrations/20200531193428_oofboof.Designer.cs
generated
Normal file
@@ -0,0 +1,230 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Kehyeedra3;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
namespace Kehyeedra3.Migrations
|
||||
{
|
||||
[DbContext(typeof(ApplicationDbContext))]
|
||||
[Migration("20200531193428_oofboof")]
|
||||
partial class oofboof
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "3.1.2")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 64);
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.Fishing", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<string>("Inventory")
|
||||
.HasColumnType("LONGTEXT");
|
||||
|
||||
b.Property<ulong>("LastFish")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Lvl")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("Prestige")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<byte>("RodOwned")
|
||||
.HasColumnType("tinyint unsigned");
|
||||
|
||||
b.Property<byte>("RodUsed")
|
||||
.HasColumnType("tinyint unsigned");
|
||||
|
||||
b.Property<ulong>("TXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Xp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Fishing");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.ItemOffer", b =>
|
||||
{
|
||||
b.Property<ulong>("OfferId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("Amount")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong>("BuyerId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<bool>("IsPurchaseFromStore")
|
||||
.HasColumnType("tinyint(1)");
|
||||
|
||||
b.Property<bool>("IsSellOffer")
|
||||
.HasColumnType("tinyint(1)");
|
||||
|
||||
b.Property<ulong>("ItemId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("OfferAmount")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong?>("StoreFrontId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("StoreId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("OfferId");
|
||||
|
||||
b.HasIndex("StoreFrontId");
|
||||
|
||||
b.ToTable("ItemOffer");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.Reminder", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Created")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<string>("Message")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<ulong>("Send")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("UserId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Reminders");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.StoreFront", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("StoreItemType")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong>("UserId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("StoreFronts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.StoreInventory", b =>
|
||||
{
|
||||
b.Property<ulong>("InvId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("Amount")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("Item")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<int>("Price")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong?>("StoreFrontId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("InvId");
|
||||
|
||||
b.HasIndex("StoreFrontId");
|
||||
|
||||
b.ToTable("StoreInventory");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.User", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<string>("Avatar")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<string>("GeneralInventory")
|
||||
.HasColumnType("LONGTEXT");
|
||||
|
||||
b.Property<ulong>("LastMine")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<long>("Money")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b.Property<string>("Username")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Users");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.User+BattleFishObject", b =>
|
||||
{
|
||||
b.Property<ulong>("FishId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<byte>("FishType")
|
||||
.HasColumnType("tinyint unsigned");
|
||||
|
||||
b.Property<int>("Lvl")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<ulong>("NextXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("UserId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Xp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("FishId");
|
||||
|
||||
b.ToTable("Battlefish");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.ItemOffer", b =>
|
||||
{
|
||||
b.HasOne("Kehyeedra3.Services.Models.StoreFront", null)
|
||||
.WithMany("Offers")
|
||||
.HasForeignKey("StoreFrontId");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.StoreInventory", b =>
|
||||
{
|
||||
b.HasOne("Kehyeedra3.Services.Models.StoreFront", null)
|
||||
.WithMany("Items")
|
||||
.HasForeignKey("StoreFrontId");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
75
Kehyeedra3/Migrations/20200531193428_oofboof.cs
Normal file
75
Kehyeedra3/Migrations/20200531193428_oofboof.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Kehyeedra3.Migrations
|
||||
{
|
||||
public partial class oofboof : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_BattleFishObject_Users_UserId",
|
||||
table: "BattleFishObject");
|
||||
|
||||
migrationBuilder.DropPrimaryKey(
|
||||
name: "PK_BattleFishObject",
|
||||
table: "BattleFishObject");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_BattleFishObject_UserId",
|
||||
table: "BattleFishObject");
|
||||
|
||||
migrationBuilder.RenameTable(
|
||||
name: "BattleFishObject",
|
||||
newName: "Battlefish");
|
||||
|
||||
migrationBuilder.AlterColumn<ulong>(
|
||||
name: "UserId",
|
||||
table: "Battlefish",
|
||||
nullable: false,
|
||||
oldClrType: typeof(ulong),
|
||||
oldType: "bigint unsigned",
|
||||
oldNullable: true);
|
||||
|
||||
migrationBuilder.AddPrimaryKey(
|
||||
name: "PK_Battlefish",
|
||||
table: "Battlefish",
|
||||
column: "FishId");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropPrimaryKey(
|
||||
name: "PK_Battlefish",
|
||||
table: "Battlefish");
|
||||
|
||||
migrationBuilder.RenameTable(
|
||||
name: "Battlefish",
|
||||
newName: "BattleFishObject");
|
||||
|
||||
migrationBuilder.AlterColumn<ulong>(
|
||||
name: "UserId",
|
||||
table: "BattleFishObject",
|
||||
type: "bigint unsigned",
|
||||
nullable: true,
|
||||
oldClrType: typeof(ulong));
|
||||
|
||||
migrationBuilder.AddPrimaryKey(
|
||||
name: "PK_BattleFishObject",
|
||||
table: "BattleFishObject",
|
||||
column: "FishId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_BattleFishObject_UserId",
|
||||
table: "BattleFishObject",
|
||||
column: "UserId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_BattleFishObject_Users_UserId",
|
||||
table: "BattleFishObject",
|
||||
column: "UserId",
|
||||
principalTable: "Users",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
}
|
||||
}
|
||||
}
|
||||
233
Kehyeedra3/Migrations/20200531204543_oofoof.Designer.cs
generated
Normal file
233
Kehyeedra3/Migrations/20200531204543_oofoof.Designer.cs
generated
Normal file
@@ -0,0 +1,233 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Kehyeedra3;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
namespace Kehyeedra3.Migrations
|
||||
{
|
||||
[DbContext(typeof(ApplicationDbContext))]
|
||||
[Migration("20200531204543_oofoof")]
|
||||
partial class oofoof
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "3.1.2")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 64);
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.Fishing", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<string>("Inventory")
|
||||
.HasColumnType("LONGTEXT");
|
||||
|
||||
b.Property<ulong>("LastFish")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Lvl")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("Prestige")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<byte>("RodOwned")
|
||||
.HasColumnType("tinyint unsigned");
|
||||
|
||||
b.Property<byte>("RodUsed")
|
||||
.HasColumnType("tinyint unsigned");
|
||||
|
||||
b.Property<ulong>("TXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Xp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Fishing");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.ItemOffer", b =>
|
||||
{
|
||||
b.Property<ulong>("OfferId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("Amount")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong>("BuyerId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<bool>("IsPurchaseFromStore")
|
||||
.HasColumnType("tinyint(1)");
|
||||
|
||||
b.Property<bool>("IsSellOffer")
|
||||
.HasColumnType("tinyint(1)");
|
||||
|
||||
b.Property<ulong>("ItemId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("OfferAmount")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong?>("StoreFrontId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("StoreId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("OfferId");
|
||||
|
||||
b.HasIndex("StoreFrontId");
|
||||
|
||||
b.ToTable("ItemOffer");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.Reminder", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Created")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<string>("Message")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<ulong>("Send")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("UserId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Reminders");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.StoreFront", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("StoreItemType")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong>("UserId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("StoreFronts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.StoreInventory", b =>
|
||||
{
|
||||
b.Property<ulong>("InvId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("Amount")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("Item")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<int>("Price")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<ulong?>("StoreFrontId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("InvId");
|
||||
|
||||
b.HasIndex("StoreFrontId");
|
||||
|
||||
b.ToTable("StoreInventory");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.User", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<string>("Avatar")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<int>("CurrentBattlefish")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("GeneralInventory")
|
||||
.HasColumnType("LONGTEXT");
|
||||
|
||||
b.Property<ulong>("LastMine")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<long>("Money")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b.Property<string>("Username")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Users");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.User+BattleFishObject", b =>
|
||||
{
|
||||
b.Property<ulong>("FishId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("FishType")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Lvl")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<ulong>("NextXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("UserId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Xp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("FishId");
|
||||
|
||||
b.ToTable("Battlefish");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.ItemOffer", b =>
|
||||
{
|
||||
b.HasOne("Kehyeedra3.Services.Models.StoreFront", null)
|
||||
.WithMany("Offers")
|
||||
.HasForeignKey("StoreFrontId");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.StoreInventory", b =>
|
||||
{
|
||||
b.HasOne("Kehyeedra3.Services.Models.StoreFront", null)
|
||||
.WithMany("Items")
|
||||
.HasForeignKey("StoreFrontId");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
37
Kehyeedra3/Migrations/20200531204543_oofoof.cs
Normal file
37
Kehyeedra3/Migrations/20200531204543_oofoof.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Kehyeedra3.Migrations
|
||||
{
|
||||
public partial class oofoof : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "CurrentBattlefish",
|
||||
table: "Users",
|
||||
nullable: false,
|
||||
defaultValue: 0);
|
||||
|
||||
migrationBuilder.AlterColumn<int>(
|
||||
name: "FishType",
|
||||
table: "Battlefish",
|
||||
nullable: false,
|
||||
oldClrType: typeof(byte),
|
||||
oldType: "tinyint unsigned");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "CurrentBattlefish",
|
||||
table: "Users");
|
||||
|
||||
migrationBuilder.AlterColumn<byte>(
|
||||
name: "FishType",
|
||||
table: "Battlefish",
|
||||
type: "tinyint unsigned",
|
||||
nullable: false,
|
||||
oldClrType: typeof(int));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -163,6 +163,9 @@ namespace Kehyeedra3.Migrations
|
||||
b.Property<string>("Avatar")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<int>("CurrentBattlefish")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("GeneralInventory")
|
||||
.HasColumnType("LONGTEXT");
|
||||
|
||||
@@ -186,8 +189,8 @@ namespace Kehyeedra3.Migrations
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<byte>("FishType")
|
||||
.HasColumnType("tinyint unsigned");
|
||||
b.Property<int>("FishType")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Lvl")
|
||||
.HasColumnType("int");
|
||||
@@ -198,7 +201,7 @@ namespace Kehyeedra3.Migrations
|
||||
b.Property<ulong>("NextXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong?>("UserId")
|
||||
b.Property<ulong>("UserId")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Xp")
|
||||
@@ -206,9 +209,7 @@ namespace Kehyeedra3.Migrations
|
||||
|
||||
b.HasKey("FishId");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("BattleFishObject");
|
||||
b.ToTable("Battlefish");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.ItemOffer", b =>
|
||||
@@ -224,13 +225,6 @@ namespace Kehyeedra3.Migrations
|
||||
.WithMany("Items")
|
||||
.HasForeignKey("StoreFrontId");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.User+BattleFishObject", b =>
|
||||
{
|
||||
b.HasOne("Kehyeedra3.Services.Models.User", null)
|
||||
.WithMany("BattleFish")
|
||||
.HasForeignKey("UserId");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,9 @@ namespace Kehyeedra3.Services.Models
|
||||
public ulong LastMine { get; set; } = 0;
|
||||
[Column(TypeName = "LONGTEXT")]
|
||||
public string GeneralInventory { get; set; } = "{}";
|
||||
public ICollection<BattleFishObject> BattleFish { get; set; }
|
||||
[Column(TypeName = "TINYINT")]
|
||||
public BattleFish CurrentBattlefish { get; set; } = 0;
|
||||
|
||||
|
||||
|
||||
public bool GrantMoney(User bank, long amount)
|
||||
@@ -30,18 +32,6 @@ namespace Kehyeedra3.Services.Models
|
||||
return false;
|
||||
}
|
||||
|
||||
//public void SetGenInv(List<Item> newInv)
|
||||
//{
|
||||
// GeneralInventory = JsonConvert.SerializeObject(newInv);
|
||||
//}
|
||||
//public List<Item> GetGenInv()
|
||||
//{
|
||||
// if (string.IsNullOrEmpty(GeneralInventory))
|
||||
// {
|
||||
// return new List<Item>();
|
||||
// }
|
||||
// return JsonConvert.DeserializeObject<List<Item>>(GeneralInventory);
|
||||
//}
|
||||
|
||||
public Dictionary<Items, int[]> GetGenInve()
|
||||
{
|
||||
@@ -68,6 +58,12 @@ namespace Kehyeedra3.Services.Models
|
||||
Name = "Lan's Love",
|
||||
Price = 100
|
||||
},
|
||||
new Item()
|
||||
{
|
||||
Id = Items.Lettuce,
|
||||
Name = "Lettuce",
|
||||
Price = 50
|
||||
}
|
||||
};
|
||||
}
|
||||
public class Item
|
||||
@@ -76,20 +72,33 @@ namespace Kehyeedra3.Services.Models
|
||||
public string Name { get; set; }
|
||||
public int Price { get; set; }
|
||||
}
|
||||
|
||||
public class BattleFishObject
|
||||
{
|
||||
[Key]
|
||||
public ulong FishId { get; set; }
|
||||
public byte FishType { get; set; } = 0;
|
||||
[Required]
|
||||
public ulong UserId { get; set; }
|
||||
[Column(TypeName = "TINYINT")]
|
||||
public BattleFish FishType { get; set; } = 0;
|
||||
public ulong Xp { get; set; } = 0;
|
||||
public ulong NextXp { get; set; } = 50;
|
||||
public int Lvl { get; set; } = 0;
|
||||
public string Name { get; set; } = "Unnamed";
|
||||
}
|
||||
}
|
||||
public enum BattleFish
|
||||
{
|
||||
None = 0,
|
||||
Herring = 1,
|
||||
Birgus = 2,
|
||||
Abama = 3,
|
||||
Pistashrimp = 4
|
||||
}
|
||||
public enum Items
|
||||
{
|
||||
DirtyBoot = 0,
|
||||
Lettuce = 1
|
||||
}
|
||||
public class ItemSlot
|
||||
{
|
||||
|
||||
@@ -11,73 +11,82 @@ namespace Kehyeedra3.Services
|
||||
{
|
||||
private static async Task SendReminderAsync(Reminder reminder)
|
||||
{
|
||||
var dmchannel = await Bot._bot.GetUser(reminder.UserId).GetOrCreateDMChannelAsync();
|
||||
if (dmchannel != null)
|
||||
{
|
||||
ulong m = (reminder.Send - reminder.Created) / 60;
|
||||
ulong h = 0;
|
||||
ulong d = 0;
|
||||
while (m > 59)
|
||||
try {
|
||||
var dmchannel = await Bot._bot.GetUser(reminder.UserId).GetOrCreateDMChannelAsync();
|
||||
if (dmchannel != null)
|
||||
{
|
||||
h += 1;
|
||||
m -= 60;
|
||||
}
|
||||
while (h > 23)
|
||||
{
|
||||
d += 1;
|
||||
h -= 24;
|
||||
}
|
||||
string remin = "";
|
||||
if (d > 0)
|
||||
{
|
||||
remin += $" {d} day";
|
||||
if (d > 1)
|
||||
ulong m = (reminder.Send - reminder.Created) / 60;
|
||||
ulong h = 0;
|
||||
ulong d = 0;
|
||||
while (m > 59)
|
||||
{
|
||||
remin += $"s";
|
||||
h += 1;
|
||||
m -= 60;
|
||||
}
|
||||
}
|
||||
if (h > 0)
|
||||
{
|
||||
remin += $" {h} hour";
|
||||
if (h > 1)
|
||||
while (h > 23)
|
||||
{
|
||||
remin += $"s";
|
||||
d += 1;
|
||||
h -= 24;
|
||||
}
|
||||
}
|
||||
if (m > 0)
|
||||
{
|
||||
remin += $" {m} minute";
|
||||
if (m > 1)
|
||||
string remin = "";
|
||||
if (d > 0)
|
||||
{
|
||||
remin += $"s";
|
||||
remin += $" {d} day";
|
||||
if (d > 1)
|
||||
{
|
||||
remin += $"s";
|
||||
}
|
||||
}
|
||||
if (h > 0)
|
||||
{
|
||||
remin += $" {h} hour";
|
||||
if (h > 1)
|
||||
{
|
||||
remin += $"s";
|
||||
}
|
||||
}
|
||||
if (m > 0)
|
||||
{
|
||||
remin += $" {m} minute";
|
||||
if (m > 1)
|
||||
{
|
||||
remin += $"s";
|
||||
}
|
||||
}
|
||||
await dmchannel.SendMessageAsync($"**Reminder from{remin} ago:**\n\n''{reminder.Message}''");
|
||||
}
|
||||
await dmchannel.SendMessageAsync($"**Reminder from{remin} ago:**\n\n''{reminder.Message}''");
|
||||
}
|
||||
catch { await (await Bot._bot.GetUser(242040333309837327).GetOrCreateDMChannelAsync()).SendMessageAsync($"Time of error ^\n" +
|
||||
$"A fucky wucky has occurred, uwu\nFix wemindew sewwis dimwiwt" +
|
||||
$"\nThis was the reminder: {reminder.Id} {reminder.UserId} {reminder.Send.FromYeedraStamp()}"); }
|
||||
}
|
||||
|
||||
public async Task Tick()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
using (var Database = new ApplicationDbContextFactory().CreateDbContext())
|
||||
{
|
||||
var reminders = Database.Reminders.ToList();
|
||||
if(Database.Reminders.Any() && Bot._bot != null && Bot._bot.ConnectionState == Discord.ConnectionState.Connected)
|
||||
if(Bot.IsReady)
|
||||
{
|
||||
using (var Database = new ApplicationDbContextFactory().CreateDbContext())
|
||||
{
|
||||
bool hasChanged = false;
|
||||
foreach (var x in reminders)
|
||||
var reminders = Database.Reminders.ToList();
|
||||
if (Database.Reminders.Any() && Bot._bot != null && Bot._bot.ConnectionState == Discord.ConnectionState.Connected)
|
||||
{
|
||||
if (x.Send <= DateTime.UtcNow.ToYeedraStamp())
|
||||
bool hasChanged = false;
|
||||
foreach (var x in reminders)
|
||||
{
|
||||
await SendReminderAsync(x).ConfigureAwait(false);
|
||||
Database.Reminders.Remove(x);
|
||||
hasChanged = true;
|
||||
if (x.Send <= DateTime.UtcNow.ToYeedraStamp())
|
||||
{
|
||||
await SendReminderAsync(x).ConfigureAwait(false);
|
||||
Database.Reminders.Remove(x);
|
||||
hasChanged = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (hasChanged)
|
||||
{
|
||||
await Database.SaveChangesAsync().ConfigureAwait(false);
|
||||
if (hasChanged)
|
||||
{
|
||||
await Database.SaveChangesAsync().ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user