don't even remember what I changed
but there's a lot of stuff, like fishing images instead of just text, and mining levels
This commit is contained in:
@@ -13,5 +13,6 @@ namespace Kehyeedra3
|
||||
public DbSet<Fishing> Fishing { get; set; }
|
||||
public DbSet<StoreFront> StoreFronts { get; set; }
|
||||
public DbSet<User.BattleFishObject> Battlefish { get; set; }
|
||||
public DbSet<Mining> Mining { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,26 +32,26 @@ namespace Kehyeedra3
|
||||
public static string PathToUserData;
|
||||
public static WebClient WeebClient;
|
||||
public static ReminderService RmService;
|
||||
string[] rcsounds = new string[]
|
||||
{
|
||||
Environment.CurrentDirectory + @"Audio\goblin_death.wav",
|
||||
Environment.CurrentDirectory + @"Audio\cough1.wav",
|
||||
Environment.CurrentDirectory + @"Audio\cough2.wav",
|
||||
Environment.CurrentDirectory + @"Audio\wilhelmcough.wav",
|
||||
Environment.CurrentDirectory + @"Audio\trapcough1.wav",
|
||||
Environment.CurrentDirectory + @"Audio\trapcough2.wav",
|
||||
Environment.CurrentDirectory + @"Audio\h3h3cough1.wav",
|
||||
Environment.CurrentDirectory + @"Audio\h3h3cough2.wav",
|
||||
Environment.CurrentDirectory + @"Audio\h3h3cough3.wav",
|
||||
Environment.CurrentDirectory + @"Audio\h3h3cough4.wav",
|
||||
Environment.CurrentDirectory + @"Audio\h3h3cough5.wav",
|
||||
Environment.CurrentDirectory + @"Audio\sodocough.mp3",
|
||||
Environment.CurrentDirectory + @"Audio\dbzscream.wav",
|
||||
Environment.CurrentDirectory + @"Audio\healthycough1.wav",
|
||||
Environment.CurrentDirectory + @"Audio\poohcough1.wav",
|
||||
Environment.CurrentDirectory + @"Audio\jontronooh.wav",
|
||||
Environment.CurrentDirectory + @"Audio\deep.wav"
|
||||
};
|
||||
//string[] rcsounds = new string[]
|
||||
//{
|
||||
// Environment.CurrentDirectory + @"Audio\goblin_death.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\cough1.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\cough2.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\wilhelmcough.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\trapcough1.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\trapcough2.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\h3h3cough1.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\h3h3cough2.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\h3h3cough3.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\h3h3cough4.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\h3h3cough5.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\sodocough.mp3",
|
||||
// Environment.CurrentDirectory + @"Audio\dbzscream.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\healthycough1.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\poohcough1.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\jontronooh.wav",
|
||||
// Environment.CurrentDirectory + @"Audio\deep.wav"
|
||||
//};
|
||||
|
||||
public async Task CreateBot()
|
||||
{
|
||||
@@ -91,8 +91,8 @@ namespace Kehyeedra3
|
||||
EventHandlers.InstallEventHandlers();
|
||||
InstallChatService();
|
||||
|
||||
Clockboy.Elapsed += Clockboy_Elapsed;
|
||||
Clockboy.Interval = SRandom.Next(3600000, 14400000);
|
||||
//Clockboy.Elapsed += Clockboy_Elapsed;
|
||||
//Clockboy.Interval = SRandom.Next(3600000, 14400000);
|
||||
//1200000 = 20 minutes
|
||||
|
||||
RmService = new ReminderService();
|
||||
@@ -106,38 +106,38 @@ namespace Kehyeedra3
|
||||
).Start();
|
||||
}
|
||||
|
||||
private async void Clockboy_Elapsed(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
foreach(var Guild in _bot.Guilds)
|
||||
{
|
||||
foreach(var VoiceChannel in Guild.VoiceChannels)
|
||||
{
|
||||
if (VoiceChannel.Users.Count > 1)
|
||||
{
|
||||
try
|
||||
{
|
||||
await AudioService.JoinAudio(Guild, VoiceChannel);
|
||||
var file = rcsounds[_rnd.Next(rcsounds.Length - 1)];
|
||||
//private async void Clockboy_Elapsed(object sender, ElapsedEventArgs e)
|
||||
//{
|
||||
// foreach(var Guild in _bot.Guilds)
|
||||
// {
|
||||
// foreach(var VoiceChannel in Guild.VoiceChannels)
|
||||
// {
|
||||
// if (VoiceChannel.Users.Count > 1)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// await AudioService.JoinAudio(Guild, VoiceChannel);
|
||||
// var file = rcsounds[_rnd.Next(rcsounds.Length - 1)];
|
||||
|
||||
Console.WriteLine("File exists? " + File.Exists(file));
|
||||
// Console.WriteLine("File exists? " + File.Exists(file));
|
||||
|
||||
Console.WriteLine("Playing file: " + file);
|
||||
// Console.WriteLine("Playing file: " + file);
|
||||
|
||||
await AudioService.SendAudioAsync(Guild, null, file);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
await AudioService.LeaveAudio(Guild);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Clockboy.Start();
|
||||
}
|
||||
// await AudioService.SendAudioAsync(Guild, null, file);
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// Console.WriteLine(ex);
|
||||
// }
|
||||
// finally
|
||||
// {
|
||||
// await AudioService.LeaveAudio(Guild);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// Clockboy.Start();
|
||||
//}
|
||||
|
||||
public async Task StartBot()
|
||||
{
|
||||
|
||||
@@ -1,126 +0,0 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Discord.Commands;
|
||||
using Discord;
|
||||
using System.IO;
|
||||
using Kehyeedra3.Preconditions;
|
||||
using System.Net;
|
||||
using System.Linq;
|
||||
using System.Data;
|
||||
using Kehyeedra3.Services;
|
||||
using Kehyeedra3.Services.Models;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.EntityFrameworkCore.Internal;
|
||||
using Discord.Addons.Interactive;
|
||||
using System.Threading.Channels;
|
||||
|
||||
namespace Kehyeedra3
|
||||
{
|
||||
//public class Audio_module : ModuleBase<ICommandContext> ////////////////////////
|
||||
//{
|
||||
// [Command("join", RunMode = RunMode.Async)]
|
||||
// public async Task JoinCmd()
|
||||
// {
|
||||
// await Bot.AudioService.JoinAudio(Context.Guild, (Context.User as IVoiceState).VoiceChannel);
|
||||
// }
|
||||
// [Command("leave", RunMode = RunMode.Async)]
|
||||
// public async Task LeaveCmd()
|
||||
// {
|
||||
// await Bot.AudioService.LeaveAudio(Context.Guild);
|
||||
// }
|
||||
// [Command("play", RunMode = RunMode.Async)]
|
||||
// public async Task PlayCmd([Remainder] string song)
|
||||
// {
|
||||
// await Bot.AudioService.SendAudioAsync(Context.Guild, Context.Channel, song);
|
||||
// }
|
||||
//}
|
||||
|
||||
//public class Event : ModuleBase<ICommandContext> /////////////////////////
|
||||
//{
|
||||
// [Command("coof"), Ratelimit(1, 1, Measure.Minutes)]
|
||||
// public async Task Coof([Remainder] IGuildUser name)
|
||||
// {
|
||||
// var user = await Context.Guild.GetUserAsync(Context.User.Id).ConfigureAwait(false); ;
|
||||
// if (user.RoleIds.Any(id => id == 672517021732438026))
|
||||
// {
|
||||
// var role = Context.Guild.GetRole(672517021732438026);
|
||||
// var hearole = Context.Guild.GetRole(672759930666876991);
|
||||
// if (name.RoleIds.Any(id => id == 672755435454988294))
|
||||
// {
|
||||
// await ReplyAsync($"{name.Username}'s hazmat suit is protecting them from the corona");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// await name.AddRoleAsync(role).ConfigureAwait(false);
|
||||
// await name.RemoveRoleAsync(hearole).ConfigureAwait(false);
|
||||
|
||||
// Console.WriteLine($"{Context.User.Username} has infected {name.Username}");
|
||||
|
||||
// await ReplyAsync($"{Context.User.Username} has infected {name.Username}");
|
||||
// await ReplyAsync($"Corona has been cured for now haha yeah");
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// [Command("cure"), Ratelimit(3, 30, Measure.Minutes)]
|
||||
// public async Task Cure([Remainder] IGuildUser name)
|
||||
// {
|
||||
// var user = await Context.Guild.GetUserAsync(Context.User.Id).ConfigureAwait(false); ;
|
||||
// if ((user.RoleIds.Any(id => id == 672755435454988294)) || (user.RoleIds.Any(id => id == 672759930666876991)))
|
||||
// {
|
||||
// var role = Context.Guild.GetRole(672759930666876991);
|
||||
// var infrole = Context.Guild.GetRole(672517021732438026);
|
||||
// if (name.RoleIds.Any(id => id == 672785044699611139))
|
||||
// {
|
||||
// await ReplyAsync($"{name.Username} absolutely refuses to be vaccinated");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// if (name.RoleIds.Any(id => id == 672517021732438026))
|
||||
// {
|
||||
// await name.AddRoleAsync(role).ConfigureAwait(false);
|
||||
// await name.RemoveRoleAsync(infrole).ConfigureAwait(false);
|
||||
|
||||
// Console.WriteLine($"{Context.User.Username} has cured {name.Username}");
|
||||
|
||||
// await ReplyAsync($"{Context.User.Username} has vaccinated {name.Username}");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// await ReplyAsync($"{name.Username} is not infected??? are you super retarded???");
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
//public class _ : ModuleBase
|
||||
//{
|
||||
// [RequireRolePrecondition(AccessLevel.BotOwner)]
|
||||
// [Command("embedtest")]
|
||||
// public async Task Embedthing(bool inline, [Remainder]string text)
|
||||
// {
|
||||
// var BotUser = await Bot._bot.GetApplicationInfoAsync();
|
||||
// EmbedBuilder embed = new EmbedBuilder();
|
||||
// EmbedAuthorBuilder author = new EmbedAuthorBuilder();
|
||||
// EmbedFooterBuilder footer = new EmbedFooterBuilder();
|
||||
// //author stuff
|
||||
// author.Name = BotUser.Name;
|
||||
// author.IconUrl = BotUser.IconUrl;
|
||||
// embed.Author = author;
|
||||
// //footer stuff
|
||||
// footer.Text = "Given at";
|
||||
// embed.Footer = footer;
|
||||
// //embed stuff
|
||||
// embed.Timestamp = DateTime.Now;
|
||||
// embed.AddInlineField("test 1", "test 1");
|
||||
// embed.AddInlineField("test 2", "test 2");
|
||||
// embed.AddField(x =>
|
||||
// {
|
||||
// x.IsInline = inline;
|
||||
// x.Name = "Test Embed";
|
||||
// x.Value = text;
|
||||
// });
|
||||
// await ReplyAsync("This is an embed test, I think I did it...", false, embed);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ using Kehyeedra3.Preconditions;
|
||||
using Kehyeedra3.Services.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
@@ -379,13 +380,10 @@ namespace Kehyeedra3.Commands
|
||||
{
|
||||
string path = Path.Combine(Environment.CurrentDirectory, "btextures");
|
||||
string avatar = "";
|
||||
string rod = "";
|
||||
string tier = "";
|
||||
ulong lvl = 0;
|
||||
ulong xp = 0;
|
||||
int total = 0;
|
||||
int minc = 0;
|
||||
int maxc = 0;
|
||||
Fishing fuser;
|
||||
User user;
|
||||
Dictionary<FishSpecies, int[]> inv = new Dictionary<FishSpecies, int[]>();
|
||||
@@ -397,7 +395,6 @@ namespace Kehyeedra3.Commands
|
||||
}
|
||||
if (fuser == null || user == null)
|
||||
{
|
||||
rod = "rod1.png";
|
||||
tier = "tier1.png";
|
||||
}
|
||||
else
|
||||
@@ -409,25 +406,21 @@ namespace Kehyeedra3.Commands
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
rod = "rod1.png";
|
||||
tier = "tier1.png";
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
rod = "rod2.png";
|
||||
tier = "tier2.png";
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
rod = "rod3.png";
|
||||
tier = "tier3.png";
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
rod = "rod4.png";
|
||||
tier = "tier4.png";
|
||||
}
|
||||
break;
|
||||
@@ -478,14 +471,6 @@ namespace Kehyeedra3.Commands
|
||||
card.Composite(frame, 5, 5, CompositeOperator.Over);
|
||||
}
|
||||
|
||||
//using (MagickImage frame = new MagickImage(Path.Combine(path, rod), new MagickReadSettings //rod
|
||||
//{
|
||||
// BackgroundColor = MagickColors.None
|
||||
//}))
|
||||
//{
|
||||
// card.Composite(frame, 79, 79, CompositeOperator.Over);
|
||||
//}
|
||||
|
||||
using (MagickImage frame = new MagickImage(Path.Combine(path, "frame.png"), new MagickReadSettings //frame
|
||||
{
|
||||
BackgroundColor = MagickColors.None
|
||||
@@ -511,10 +496,7 @@ namespace Kehyeedra3.Commands
|
||||
|
||||
using (MagickImage stats = new MagickImage($"label:" +
|
||||
$"\nFishing Lv : {lvl}" +
|
||||
$"\nXP : {xp}" +
|
||||
$"\nMax catch : {maxc}" +
|
||||
$"\nMin catch : {minc}" +
|
||||
$"\nTotal Fish : {total}", new MagickReadSettings
|
||||
$"\nXP : {xp}", new MagickReadSettings
|
||||
{
|
||||
BackgroundColor = MagickColors.None,
|
||||
FillColor = MagickColors.White,
|
||||
@@ -528,9 +510,38 @@ namespace Kehyeedra3.Commands
|
||||
outputStream.Position = 0;
|
||||
await Context.Channel.SendFileAsync(outputStream, "profile.png");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[RequireRolePrecondition(AccessLevel.ServerAdmin)]
|
||||
[Command("fc")]
|
||||
public async Task MakeFishCard(string fishName = null)
|
||||
{
|
||||
List<Fish> fishes = Fishing.GetFishList();
|
||||
|
||||
Fish fish;
|
||||
if (string.IsNullOrEmpty(fishName))
|
||||
{
|
||||
fish = fishes[SRandom.Next(fishes.Count)];
|
||||
}
|
||||
else
|
||||
{
|
||||
fish = fishes.FirstOrDefault(f => f.Name.ToLowerInvariant() == fishName.ToLowerInvariant());
|
||||
|
||||
if (fish == null)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync("No fish with that name retarb, chenk input and try again, or cry to mommy");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var (cardCollection, outFormatEnum, outFormat) = await Helpers.MakeFishCardAsync(fish, 0, 0, 0, "", 0, 0, 0);
|
||||
|
||||
MemoryStream outputStream = new MemoryStream();
|
||||
|
||||
cardCollection.Write(outputStream, outFormatEnum);
|
||||
|
||||
outputStream.Position = 0;
|
||||
await Context.Channel.SendFileAsync(outputStream, $"card.{outFormat}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ using ImageMagick;
|
||||
using System.Threading.Channels;
|
||||
using System.Threading.Tasks;
|
||||
using Kehyeedra3.Preconditions;
|
||||
using System.IO;
|
||||
|
||||
namespace Kehyeedra3.Commands
|
||||
{
|
||||
@@ -98,7 +99,7 @@ namespace Kehyeedra3.Commands
|
||||
readonly string n = "<:no:677091514249248778>";
|
||||
readonly string ye = "<:ya:677179974154715146>";
|
||||
|
||||
[Command("mine"), Ratelimit(6, 2, Measure.Minutes), Summary("Mines %coins.")]
|
||||
[Command("mine"), Ratelimit(10, 2, Measure.Minutes), Summary("Mines %coins.")]
|
||||
public async Task Mine()
|
||||
{
|
||||
ulong time = ulong.Parse(DateTime.Now.ToString("yyyyMMddHHmm"));
|
||||
@@ -106,73 +107,92 @@ namespace Kehyeedra3.Commands
|
||||
using (var Database = new ApplicationDbContextFactory().CreateDbContext())
|
||||
{
|
||||
var user = Database.Users.FirstOrDefault(x => x.Id == Context.User.Id);
|
||||
lastmine = user.LastMine;
|
||||
user.LastMine = time;
|
||||
user.Username = Context.User.Username;
|
||||
await Database.SaveChangesAsync();
|
||||
}
|
||||
if (lastmine < time)
|
||||
{
|
||||
int res1 = SRandom.Next(0, 101);
|
||||
int res2 = SRandom.Next(0, 101);
|
||||
int res3 = SRandom.Next(0, 101);
|
||||
long end = 0;
|
||||
string marks = $"{n}{n}{n}";
|
||||
int num = SRandom.Next(ores.Length);
|
||||
int numd = SRandom.Next(discards.Length);
|
||||
string ore = ores[num];
|
||||
string discard = discards[numd];
|
||||
if (res1 > 20)
|
||||
var muser = Database.Mining.FirstOrDefault(x => x.Id == Context.User.Id);
|
||||
if (muser == null)
|
||||
{
|
||||
end = 1;
|
||||
marks = $"{o}{n}{n}";
|
||||
if (res2 > 50)
|
||||
muser = new Mining
|
||||
{
|
||||
Id = Context.User.Id
|
||||
};
|
||||
Database.Mining.Add(muser);
|
||||
}
|
||||
lastmine = muser.LastMine;
|
||||
muser.LastMine = time;
|
||||
user.Username = Context.User.Username;
|
||||
|
||||
if (lastmine < time)
|
||||
{
|
||||
int res = SRandom.Next((int)muser.Lvl, 101);
|
||||
long end = 0;
|
||||
string marks = $"{n}{n}{n}";
|
||||
int num = SRandom.Next(ores.Length);
|
||||
int numd = SRandom.Next(discards.Length);
|
||||
string bns = "";
|
||||
string lucky = "";
|
||||
string ore = ores[num];
|
||||
string discard = discards[numd];
|
||||
if (res >= 20)
|
||||
{
|
||||
res += SRandom.Next(0, 101);
|
||||
end = 2;
|
||||
marks = $"{o}{o}{n}";
|
||||
if (res3 > 80)
|
||||
marks = $"{o}{n}{n}";
|
||||
if (res >= 100)
|
||||
{
|
||||
marks = $"{o}{o}{o}";
|
||||
string bonus = "";
|
||||
int res4 = SRandom.Next(0, 6) * 2;
|
||||
int res5 = res4 / 2;
|
||||
end = (long)res4 + 3;
|
||||
for (int i = 0; i < 5; i++)
|
||||
res += SRandom.Next(0, 101);
|
||||
end += 2;
|
||||
marks = $"{o}{o}{n}";
|
||||
if (res >= 200)
|
||||
{
|
||||
if (i < res5)
|
||||
res = SRandom.Next(0, 6) * 4;
|
||||
marks = $"{o}{o}{o}";
|
||||
string bonus = "";
|
||||
end += (long)res + 3;
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
bonus += $"{ye}";
|
||||
if (i < res / 2)
|
||||
{
|
||||
bonus += $"{ye}";
|
||||
}
|
||||
else
|
||||
{
|
||||
bonus += $"{n}";
|
||||
}
|
||||
}
|
||||
bns = $" **+** {bonus}";
|
||||
if (res == 0)
|
||||
{
|
||||
lucky = $" **Lucky strike!** Bonus: {ore}";
|
||||
}
|
||||
else
|
||||
{
|
||||
bonus += $"{n}";
|
||||
lucky = $" **Lucky strike!** Bonus: {res},";
|
||||
}
|
||||
}
|
||||
if (res4 == 0)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{marks} **+** {bonus}\n{Context.User.Mention} **Lucky strike!** Bonus: {ore} You earned {end.ToYeedraDisplay()}%");
|
||||
}
|
||||
else
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{marks} **+** {bonus}\n{Context.User.Mention} **Lucky strike!** Bonus: {res4}, You earned {end.ToYeedraDisplay()}%");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (end <= 0)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{marks}\n{Context.User.Mention} You have found {ore} {discard}.");
|
||||
return;
|
||||
}
|
||||
else if(end < 3)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{marks}\n{Context.User.Mention} You found {end.ToYeedraDisplay()}% while mining");
|
||||
}
|
||||
|
||||
using (var Database = new ApplicationDbContextFactory().CreateDbContext())
|
||||
{
|
||||
var user = Database.Users.FirstOrDefault(x => x.Id == Context.User.Id);
|
||||
string levelup = $"\nYou gain **{end+1}**xp.\n";
|
||||
|
||||
muser.TXp += (ulong)end+1;
|
||||
if (muser.TXp >= muser.Xp)
|
||||
{
|
||||
muser.Lvl += 1;
|
||||
ulong leXp = 50;
|
||||
for (ulong i = 0; i < muser.Lvl; i++)
|
||||
{
|
||||
if (i <= muser.Lvl)
|
||||
{
|
||||
leXp += Convert.ToUInt64(Math.Round((leXp * 0.05d + 50d), 0, MidpointRounding.ToEven));
|
||||
}
|
||||
}
|
||||
muser.Xp = leXp;
|
||||
levelup += $"You leveled up. You are now **Lvl {muser.Lvl}**";
|
||||
}
|
||||
else
|
||||
{
|
||||
levelup += $"You need **{muser.Xp - muser.TXp}**xp more to reach Lvl **{muser.Lvl+1}**";
|
||||
}
|
||||
|
||||
if (!user.GrantMoney(Database.Users.FirstOrDefault(x => x.Id == 0), end))
|
||||
{
|
||||
@@ -181,16 +201,25 @@ namespace Kehyeedra3.Commands
|
||||
}
|
||||
|
||||
await Database.SaveChangesAsync();
|
||||
|
||||
if (end <= 0)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{marks}\n{Context.User.Mention} You have found {ore} {discard}.{levelup}");
|
||||
}
|
||||
else
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{marks}{bns}\n{Context.User.Mention}{lucky}\nYou earned **{end.ToYeedraDisplay()}**%{levelup}");
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention} wait 1 minute ok next minute yeah? yeah buddy?");
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention} wait 1 minute ok next minute yeah? yeah buddy?");
|
||||
}
|
||||
}
|
||||
[Command("fish"), Ratelimit(6, 2, Measure.Minutes), Summary("Cast your line into the abyss, see if something bites?")]
|
||||
public async Task FishCommand()
|
||||
public async Task FishCommand(string nocard = "")
|
||||
{
|
||||
ulong time = ulong.Parse(DateTime.Now.ToString("yyyyMMddHHmm"));
|
||||
ulong totalXp = 0;
|
||||
@@ -513,7 +542,14 @@ namespace Kehyeedra3.Commands
|
||||
|
||||
if (weight >= (1000 - Convert.ToInt32(level * 2))) //second weight roll
|
||||
{
|
||||
weight = SRandom.Next(100, 2001) + Convert.ToInt32(level * 5 + (Convert.ToUInt64(prestige * 500)));
|
||||
if (level < 100)
|
||||
{
|
||||
weight = SRandom.Next(300, 2001 + prestige * 500) + Convert.ToInt32(level * 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
weight = SRandom.Next(300, 2001 + prestige * 500) + 500;
|
||||
}
|
||||
}
|
||||
|
||||
if (fish.Rarity == FishRarity.Legendary)
|
||||
@@ -547,9 +583,9 @@ namespace Kehyeedra3.Commands
|
||||
|
||||
if (fish.Rarity == FishRarity.Legendary)
|
||||
{
|
||||
if (xp < 100)
|
||||
if (xp < 50+50*(ulong)fish.Tier)
|
||||
{
|
||||
xp = 100;
|
||||
xp = 50+50*(ulong)fish.Tier;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -597,7 +633,23 @@ namespace Kehyeedra3.Commands
|
||||
|
||||
toNextLvl = user.Xp - user.TXp;
|
||||
int times = 0;
|
||||
|
||||
if (user.TXp > 50 && user.FXp == 0)
|
||||
{
|
||||
lvlXp = 50;
|
||||
for (ulong i = 0; i < user.Lvl; i++)
|
||||
{
|
||||
|
||||
if (i <= user.Lvl)
|
||||
{
|
||||
lvlXp += Convert.ToUInt64(Math.Round((lvlXp * 0.05d + 50d), 0, MidpointRounding.ToEven));
|
||||
}
|
||||
if (i == user.Lvl - 2)
|
||||
{
|
||||
user.FXp = lvlXp;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (user.TXp >= user.Xp)
|
||||
{
|
||||
ulong leXp = 50;
|
||||
@@ -620,12 +672,19 @@ namespace Kehyeedra3.Commands
|
||||
user.Lvl += 1;
|
||||
times += 1;
|
||||
lvlXp = 50;
|
||||
|
||||
for (ulong i = 0; i < user.Lvl; i++)
|
||||
{
|
||||
|
||||
if (i <= user.Lvl)
|
||||
{
|
||||
lvlXp += Convert.ToUInt64(Math.Round((lvlXp * 0.05d + 50d), 0, MidpointRounding.ToEven));
|
||||
}
|
||||
if (i == user.Lvl - 2)
|
||||
{
|
||||
user.FXp = lvlXp;
|
||||
}
|
||||
|
||||
}
|
||||
user.Xp = lvlXp;
|
||||
}
|
||||
@@ -633,54 +692,73 @@ namespace Kehyeedra3.Commands
|
||||
level = user.Lvl;
|
||||
if (leTrig)
|
||||
{
|
||||
lvlUp = $"**Your level was recalculated to match your xp.** You are now **Level {level}**";
|
||||
lvlUp = $"**Your level was recalculated\n to match your xp.** \nYou are now **Level {level}**";
|
||||
}
|
||||
else if (times > 1)
|
||||
{
|
||||
lvlUp = $"**You leveled up {times} times!** You are now **Level {level}.**";
|
||||
lvlUp = $"**You leveled up {times} times!** \nYou are now **Level {level}.**";
|
||||
}
|
||||
else
|
||||
{
|
||||
lvlUp = $"**You leveled up!** You are now **Level {level}**";
|
||||
lvlUp = $"**You leveled up!** \nYou are now **Level {level}**";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lvlUp = $"You need **{toNextLvl}**xp more to reach Level **{level + 1}**";
|
||||
lvlUp = $"You need **{toNextLvl}**xp to reach Level **{level + 1}**";
|
||||
}
|
||||
|
||||
await Database.SaveChangesAsync().ConfigureAwait(false);
|
||||
}
|
||||
string baited = "";
|
||||
string baiRa = "";
|
||||
string baiBi = "";
|
||||
string baiLe = "";
|
||||
if (bRar || bBig)
|
||||
{
|
||||
baited += "\nYou used bait. ";
|
||||
if (bRar)
|
||||
|
||||
string baited = "";
|
||||
string baiRa = "";
|
||||
string baiBi = "";
|
||||
string baiLe = "";
|
||||
if (bRar || bBig)
|
||||
{
|
||||
baiRa = "(+)";
|
||||
baited += "\nYou used bait. ";
|
||||
if (bRar)
|
||||
{
|
||||
baiRa = "(+)";
|
||||
}
|
||||
if (bBig)
|
||||
{
|
||||
baiBi = "(+)";
|
||||
}
|
||||
}
|
||||
if (bBig)
|
||||
if (bLet)
|
||||
{
|
||||
baiBi = "(+)";
|
||||
baited += "\nYou ate lettuce. ";
|
||||
baiLe = "(+10%)";
|
||||
}
|
||||
|
||||
if (nocard.ToLowerInvariant() != "nocard")
|
||||
{
|
||||
var (cardCollection, outFormatEnum, outFormat) = await Helpers.MakeFishCardAsync(fish, user.TXp, user.FXp, user.Xp, lvlUp, weight, xp, dcatch);
|
||||
|
||||
MemoryStream outputStream = new MemoryStream();
|
||||
|
||||
cardCollection.Write(outputStream, outFormatEnum);
|
||||
|
||||
outputStream.Position = 0;
|
||||
|
||||
await Context.Channel.SendFileAsync(outputStream, $"fish.{outFormat}");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dcatch == 1)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}{baited}\n{fish.Emote} You have caught a {weight / 100d}kg{baiBi} **{fish.Name}**, rarity: {fish.Rarity}{baiRa}\nYou gain **{xp}**xp{baiLe}.\n{lvlUp}");
|
||||
}
|
||||
else
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}{baited}\n{fish.Emote} You have caught **{dcatch}** {weight / 100d}kg{baiBi} **{fish.Name}**, rarity: {fish.Rarity}{baiRa}\nYou gain **{xp}**xp{baiLe}.\n{lvlUp}");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (bLet)
|
||||
{
|
||||
baited += "\nYou ate lettuce. ";
|
||||
baiLe = "(+10%)";
|
||||
}
|
||||
if (dcatch == 1)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}{baited}\n{fish.Emote} You have caught a {weight / 100d}kg{baiBi} **{fish.Name}**, rarity: {fish.Rarity}{baiRa}\nYou gain **{xp}**xp{baiLe}.\n{lvlUp}");
|
||||
}
|
||||
else
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}{baited}\n{fish.Emote} You have caught **{dcatch}** {weight / 100d}kg{baiBi} **{fish.Name}**, rarity: {fish.Rarity}{baiRa}\nYou gain **{xp}**xp{baiLe}.\n{lvlUp}");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1498,6 +1576,7 @@ namespace Kehyeedra3.Commands
|
||||
{
|
||||
var user = database.Fishing.FirstOrDefault(x => x.Id == Context.User.Id);
|
||||
var muser = database.Users.FirstOrDefault(x => x.Id == Context.User.Id);
|
||||
var minuser = database.Mining.FirstOrDefault(x => x.Id == Context.User.Id);
|
||||
string pres = "";
|
||||
double cawe = 0;
|
||||
if (user.Prestige == 1)
|
||||
@@ -1515,12 +1594,13 @@ namespace Kehyeedra3.Commands
|
||||
cawe = user.Lvl * 5d + 10d;
|
||||
}
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}'s stats\nFishing level: **{user.Lvl}{pres}**\nMax catch weight: **{(user.Lvl * 5 + 2000d + user.Prestige*500d) / 100}kg**\nMin catch weight: **{cawe /100}kg**\n" +
|
||||
$"Fishing xp: **{user.TXp}**\nTotal fish: **{scount + mcount + lcount}** *(Large: {lcount} Medium: {mcount} Small: {scount})*\nBalance: **{muser.Money.ToYeedraDisplay()}%**");
|
||||
$"Fishing xp: **{user.TXp}**\nTotal fish: **{scount + mcount + lcount}** *(Large: {lcount} Medium: {mcount} Small: {scount})*\nMining level: **{minuser.Lvl}**\nMining xp: **{minuser.TXp}**\nBalance: **{muser.Money.ToYeedraDisplay()}%**");
|
||||
}
|
||||
else
|
||||
{
|
||||
var user = database.Fishing.FirstOrDefault(x => x.Id == otherUser.Id);
|
||||
var muser = database.Users.FirstOrDefault(x => x.Id == otherUser.Id);
|
||||
var minuser = database.Mining.FirstOrDefault(x => x.Id == otherUser.Id);
|
||||
string pres = "";
|
||||
double cawe = 0;
|
||||
if (user.Prestige > 0)
|
||||
@@ -1533,7 +1613,7 @@ namespace Kehyeedra3.Commands
|
||||
cawe = user.Lvl * 5d + 10d;
|
||||
}
|
||||
await Context.Channel.SendMessageAsync($"{otherUser.Mention}'s stats\nFishing level: **{user.Lvl}{pres}**\nMax catch weight: **{(user.Lvl * 5 + 2000d + user.Prestige*500d) / 100}kg**\nMin catch weight: **{cawe / 100}kg**\n" +
|
||||
$"Fishing xp: **{user.TXp}**\nTotal fish: **{scount + mcount + lcount}** *(Large: {lcount} Medium: {mcount} Small: {scount}*)\nBalance: **{muser.Money.ToYeedraDisplay()}%**");
|
||||
$"Fishing xp: **{user.TXp}**\nTotal fish: **{scount + mcount + lcount}** *(Large: {lcount} Medium: {mcount} Small: {scount}*)\nMining level: **{minuser.Lvl}**\nMining xp: **{minuser.TXp}**\nBalance: **{muser.Money.ToYeedraDisplay()}%**");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,76 +17,6 @@ namespace Kehyeedra3.Commands
|
||||
{
|
||||
_service = service;
|
||||
}
|
||||
/*[Command("commands"), Alias("coomands")]
|
||||
public async Task HelpAsync()
|
||||
{
|
||||
string debug = null;
|
||||
string prefix = Configuration.Load().Prefix;
|
||||
var builder = new EmbedBuilder()
|
||||
{
|
||||
Color = new Color(114, 137, 218),
|
||||
Description = "These are the commands you can use"
|
||||
};
|
||||
|
||||
foreach (var module in _service.Modules)
|
||||
{
|
||||
string description = null;
|
||||
debug += $"{module.Name}\n";
|
||||
foreach (var cmd in module.Commands)
|
||||
{
|
||||
var result = await cmd.CheckPreconditionsAsync(Context);
|
||||
if (result.IsSuccess)
|
||||
description += $"{prefix}{cmd.Aliases.First()}\n";
|
||||
debug += $"{prefix}{cmd.Aliases.First()}\n";
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(description))
|
||||
{
|
||||
builder.AddField(x =>
|
||||
{
|
||||
x.Name = module.Name;
|
||||
x.Value = description;
|
||||
x.IsInline = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
await ReplyAsync(debug);
|
||||
}
|
||||
|
||||
[Command("command"), Alias("coomand")]
|
||||
public async Task HelpAsync(string command)
|
||||
{
|
||||
var result = _service.Search(Context, command);
|
||||
|
||||
if (!result.IsSuccess)
|
||||
{
|
||||
await ReplyAsync($"Sorry, I couldn't find a command with the name **{command}**.");
|
||||
return;
|
||||
}
|
||||
|
||||
string prefix = Configuration.Load().Prefix;
|
||||
var builder = new EmbedBuilder()
|
||||
{
|
||||
Color = new Color(0, 255, 0),
|
||||
Description = $"Here are some commands like **{command}**"
|
||||
};
|
||||
|
||||
foreach (var match in result.Commands)
|
||||
{
|
||||
var cmd = match.Command;
|
||||
|
||||
builder.AddField(x =>
|
||||
{
|
||||
x.Name = string.Join(", ", cmd.Aliases);
|
||||
x.Value = $"Parameters: {string.Join(", ", cmd.Parameters.Select(p => p.Name))}\n" +
|
||||
$"Remarks: {cmd.Remarks}";
|
||||
x.IsInline = false;
|
||||
});
|
||||
}
|
||||
|
||||
await ReplyAsync("", false, builder.Build());
|
||||
}*/
|
||||
|
||||
[Command("help"), Summary("Shows this thing")]
|
||||
public async Task HelpCommand([Remainder] string command = null)
|
||||
@@ -94,7 +24,6 @@ namespace Kehyeedra3.Commands
|
||||
if(command == null)
|
||||
{
|
||||
EmbedBuilder embed = new EmbedBuilder();
|
||||
embed.AddField("AIMLbot", "Mention me to talk with me (don't expect intelligence)");
|
||||
foreach (var module in Bot._cmds.Modules)
|
||||
{
|
||||
StringBuilder coommands = new StringBuilder("");
|
||||
|
||||
@@ -850,7 +850,7 @@ namespace Kehyeedra3.Commands
|
||||
value *= amount;
|
||||
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYou're about to sell **{amount} {fish.Name}** for **{((long)value).ToYeedraDisplay()}**.\nType 'ok' to confirm.");
|
||||
inp = await NextMessageAsync();
|
||||
inp = await NextMessageAsync(timeout: TimeSpan.FromMinutes(2));
|
||||
if (inp.Content.ToLowerInvariant() == "ok")
|
||||
{
|
||||
|
||||
@@ -882,162 +882,187 @@ namespace Kehyeedra3.Commands
|
||||
}
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//else if (input == "bulksell")
|
||||
//{
|
||||
// int value = 0;
|
||||
// int count = 0;
|
||||
else if (input == "bulksell")
|
||||
{
|
||||
int value = 0;
|
||||
int count = 0;
|
||||
|
||||
// FishSize size;
|
||||
// if (fuser.Inventory.Length < 3)
|
||||
// {
|
||||
// await Context.Channel.SendMessageAsync($"Your inventory is empty. Try fishing more.");
|
||||
// return;
|
||||
// }
|
||||
FishTier ftier = FishTier.T1;
|
||||
if (fuser.Inventory.Length < 3)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"Your inventory is empty. Try fishing more.");
|
||||
return;
|
||||
}
|
||||
|
||||
// await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nSpecify the tier.\n");
|
||||
// var inp = await NextMessageAsync();
|
||||
// int tier = int.Parse(inp.Content);
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nSpecify the tier.\n");
|
||||
var inp = await NextMessageAsync(timeout: TimeSpan.FromMinutes(2));
|
||||
int tier = int.Parse(inp.Content);
|
||||
|
||||
// if (tier > 0 && tier < 5)
|
||||
// {
|
||||
// switch (tier)
|
||||
// {
|
||||
// case 1:
|
||||
// {
|
||||
// fishTiers = fishes.Where(f => (int)f.Tier == (int)FishTier.T1).ToList();
|
||||
// }
|
||||
// break;
|
||||
// case 2:
|
||||
// {
|
||||
// fishTiers = fishes.Where(f => (int)f.Tier == (int)FishTier.T2).ToList();
|
||||
// }
|
||||
// break;
|
||||
// case 3:
|
||||
// {
|
||||
// fishTiers = fishes.Where(f => (int)f.Tier == (int)FishTier.T3).ToList();
|
||||
// }
|
||||
// break;
|
||||
// case 4:
|
||||
// {
|
||||
// fishTiers = fishes.Where(f => (int)f.Tier == (int)FishTier.T4).ToList();
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// rarfish = fishTiers.Where(f => (int)f.Rarity == (int)FishRarity.Rare).ToList();
|
||||
// uncfish = fishTiers.Where(f => (int)f.Rarity == (int)FishRarity.Uncommon).ToList();
|
||||
// comfish = fishTiers.Where(f => (int)f.Rarity == (int)FishRarity.Common).ToList();
|
||||
// }
|
||||
// else if (tier < 1 || tier > 4)
|
||||
// {
|
||||
// await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nTier not available.");
|
||||
// return;
|
||||
// }
|
||||
// foreach (var f in fishinv)
|
||||
// {
|
||||
// int[] amounts;
|
||||
// if (!fishinv.TryGetValue(f.Key, out amounts))
|
||||
// {
|
||||
// amounts = new int[] { 0, 0, 0 };
|
||||
// fishinv.Add(f.Key, amounts);
|
||||
// }
|
||||
if (tier > 0 && tier < 5)
|
||||
{
|
||||
switch (tier)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
ftier = FishTier.T1;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
ftier = FishTier.T2;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
ftier = FishTier.T3;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
ftier = FishTier.T4;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (tier < 1 || tier > 4)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nTier not available.");
|
||||
return;
|
||||
}
|
||||
foreach (var f in fishinv)
|
||||
{
|
||||
int[] amounts;
|
||||
if (!fishinv.TryGetValue(f.Key, out amounts))
|
||||
{
|
||||
amounts = new int[] { 0, 0, 0 };
|
||||
fishinv.Add(f.Key, amounts);
|
||||
}
|
||||
|
||||
if (f.Value[0] < 0)
|
||||
{
|
||||
f.Value[0] = 0;
|
||||
}
|
||||
|
||||
if (f.Value[1] < 0)
|
||||
{
|
||||
f.Value[1] = 0;
|
||||
}
|
||||
|
||||
if (f.Value[2] < 0)
|
||||
{
|
||||
f.Value[2] = 0;
|
||||
}
|
||||
|
||||
fish = fishes.FirstOrDefault(i => i.Id == f.Key);
|
||||
|
||||
if (fish.Tier == ftier && fish.Rarity != FishRarity.Unreasonable && fish.Rarity != FishRarity.Legendary)
|
||||
{
|
||||
|
||||
if (f.Value[0] > 0)
|
||||
{
|
||||
switch (fish.Rarity)
|
||||
{
|
||||
case FishRarity.Common:
|
||||
{
|
||||
value += (int)fish.Tier * 1 * 1 * f.Value[0];
|
||||
}
|
||||
break;
|
||||
case FishRarity.Uncommon:
|
||||
{
|
||||
value += (int)fish.Tier * 1 * 3 * f.Value[0];
|
||||
}
|
||||
break;
|
||||
case FishRarity.Rare:
|
||||
{
|
||||
value += (int)fish.Tier * 1 * 6 * f.Value[0];
|
||||
}
|
||||
break;
|
||||
}
|
||||
count += f.Value[0];
|
||||
f.Value[0] = 0;
|
||||
}
|
||||
if (f.Value[1] > 0)
|
||||
{
|
||||
switch (fish.Rarity)
|
||||
{
|
||||
case FishRarity.Common:
|
||||
{
|
||||
value += (int)fish.Tier * 2 * 1 * f.Value[1];
|
||||
}
|
||||
break;
|
||||
case FishRarity.Uncommon:
|
||||
{
|
||||
value += (int)fish.Tier * 2 * 3 * f.Value[1];
|
||||
}
|
||||
break;
|
||||
case FishRarity.Rare:
|
||||
{
|
||||
value += (int)fish.Tier * 2 * 6 * f.Value[1];
|
||||
}
|
||||
break;
|
||||
}
|
||||
count += f.Value[1];
|
||||
f.Value[1] = 0;
|
||||
}
|
||||
if (f.Value[2] > 0)
|
||||
{
|
||||
switch (fish.Rarity)
|
||||
{
|
||||
case FishRarity.Common:
|
||||
{
|
||||
value += (int)fish.Tier * 3 * 1 * f.Value[2];
|
||||
}
|
||||
break;
|
||||
case FishRarity.Uncommon:
|
||||
{
|
||||
value += (int)fish.Tier * 3 * 3 * f.Value[2];
|
||||
}
|
||||
break;
|
||||
case FishRarity.Rare:
|
||||
{
|
||||
value += (int)fish.Tier * 3 * 6 * f.Value[2];
|
||||
}
|
||||
break;
|
||||
}
|
||||
count += f.Value[2];
|
||||
f.Value[2] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count < 1)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYou have nothing to sell in this tier. Try ;finv.");
|
||||
return;
|
||||
}
|
||||
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYou're about to sell **{count} Fish** for **{((long)value).ToYeedraDisplay()}%**.\nType 'ok' to confirm.");
|
||||
inp = await NextMessageAsync(timeout: TimeSpan.FromMinutes(2));
|
||||
if (inp.Content.ToLowerInvariant() == "ok")
|
||||
{
|
||||
|
||||
fuser.SetInventory(fishinv);
|
||||
|
||||
if (!user.GrantMoney(Database.Users.FirstOrDefault(x => x.Id == 0), value))
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nBank has no money, buy more bait.");
|
||||
return;
|
||||
}
|
||||
await Database.SaveChangesAsync();
|
||||
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nThanks, seaman, enjoy your moolah.");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nI guess I'm starving tonight. :[");
|
||||
}
|
||||
|
||||
|
||||
// fish = fishes.FirstOrDefault(i => i.Id == f.Key);
|
||||
// if (fish.Rarity != FishRarity.Legendary)
|
||||
// {
|
||||
// count += f.Value[0] + f.Value[1] + f.Value[2];
|
||||
|
||||
// switch (fish.Rarity) //small
|
||||
// {
|
||||
// case FishRarity.Common:
|
||||
// {
|
||||
// value += (int)fish.Tier * 1 * 1;
|
||||
// }
|
||||
// break;
|
||||
// case FishRarity.Uncommon:
|
||||
// {
|
||||
// value += (int)fish.Tier * 1 * 3;
|
||||
// }
|
||||
// break;
|
||||
// case FishRarity.Rare:
|
||||
// {
|
||||
// value += (int)fish.Tier * 1 * 6;
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// ////
|
||||
// switch (fish.Rarity) //med
|
||||
// {
|
||||
// case FishRarity.Common:
|
||||
// {
|
||||
// value += (int)fish.Tier * 2 * 1;
|
||||
// }
|
||||
// break;
|
||||
// case FishRarity.Uncommon:
|
||||
// {
|
||||
// value += (int)fish.Tier * 2 * 3;
|
||||
// }
|
||||
// break;
|
||||
// case FishRarity.Rare:
|
||||
// {
|
||||
// value += (int)fish.Tier * 2 * 6;
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// ////
|
||||
// switch (fish.Rarity) //large
|
||||
// {
|
||||
// case FishRarity.Common:
|
||||
// {
|
||||
// value += (int)fish.Tier * 3 * 1;
|
||||
// }
|
||||
// break;
|
||||
// case FishRarity.Uncommon:
|
||||
// {
|
||||
// value += (int)fish.Tier * 3 * 3;
|
||||
// }
|
||||
// break;
|
||||
// case FishRarity.Rare:
|
||||
// {
|
||||
// value += (int)fish.Tier * 3 * 6;
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
|
||||
// await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYou're about to sell **{count} Fish** for **{((long)value).ToYeedraDisplay()}**.\nType 'ok' to confirm.");
|
||||
// inp = await NextMessageAsync();
|
||||
// if (inp.Content.ToLowerInvariant() == "ok")
|
||||
// {
|
||||
|
||||
// fuser.SetInventory(fishinv);
|
||||
|
||||
// if (!user.GrantMoney(Database.Users.FirstOrDefault(x => x.Id == 0), value))
|
||||
// {
|
||||
// await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nBank has no money, buy more bait.");
|
||||
// return;
|
||||
// }
|
||||
// await Database.SaveChangesAsync();
|
||||
|
||||
// await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nThanks, seaman, enjoy your moolah.");
|
||||
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nI guess I'm starving tonight. :[");
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// }
|
||||
|
||||
|
||||
//}
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,34 +38,89 @@ namespace Kehyeedra3.Commands
|
||||
[Command("ratenuts"), Summary("Rates your or another person's sack.")]
|
||||
public async Task RateTrap( string name = null)
|
||||
{
|
||||
int nutRating = SRandom.Next(0, 301);
|
||||
string nuts = "nuts";
|
||||
|
||||
if (name == null)
|
||||
{
|
||||
Random rando = new Random();
|
||||
Random rando1 = new Random();
|
||||
int trapRating0 = rando.Next(0, 201);
|
||||
if (trapRating0 > 100 || trapRating0 < 120)
|
||||
if (Context.User.Id == 534859726090010672)
|
||||
{
|
||||
int trapRating1 = rando1.Next(0, 10001);
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nCongrats king, your boss nuts weigh {trapRating1}g.");
|
||||
nutRating -= 60;
|
||||
}
|
||||
if (Context.User.Id == 318478574325596163)
|
||||
{
|
||||
nutRating = SRandom.Next(1000000, 10000000);
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nWarning: King, your african scale boss nuts have reached critical mass at {nutRating}g.");
|
||||
return;
|
||||
}
|
||||
if (Context.User.Id == 242040333309837327 || Context.User.Id == 194538583649026049)
|
||||
{
|
||||
nutRating += 10000;
|
||||
}
|
||||
|
||||
if (nutRating > 160 && nutRating < 200)
|
||||
{
|
||||
nutRating += SRandom.Next(nutRating, 10001);
|
||||
nuts = "boss nuts";
|
||||
if (nutRating > 10000)
|
||||
{
|
||||
nutRating = SRandom.Next(nutRating, nutRating + 100101);
|
||||
nuts = "king size boss nuts";
|
||||
}
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nCongrats king, your {nuts} weigh {nutRating}g.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (nutRating < 10)
|
||||
{
|
||||
nutRating = SRandom.Next(100, 2001);
|
||||
nuts = "tiny lady nuts";
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nHope you get better soon, your {nuts} weigh 0.{nutRating}g.");
|
||||
}
|
||||
else
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYour nuts weigh {trapRating0}g.");
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYour {nuts} weigh {nutRating}g.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Random rando = new Random();
|
||||
Random rando1 = new Random();
|
||||
int trapRating0 = rando.Next(0, 101);
|
||||
if (trapRating0 == 100)
|
||||
if (name.Contains("534859726090010672"))
|
||||
{
|
||||
int trapRating1 = rando1.Next(100, 10001);
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nCongrats {name}, your boss nuts weigh {trapRating1}g.");
|
||||
nutRating -= 60;
|
||||
}
|
||||
if (name.Contains("318478574325596163"))
|
||||
{
|
||||
nutRating = SRandom.Next(1000000, 10000000);
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nWarning: {name}'s african scale boss nuts have reached critical mass at {nutRating}g.");
|
||||
return;
|
||||
}
|
||||
if (name.Contains("242040333309837327") || name.Contains("194538583649026049"))
|
||||
{
|
||||
nutRating += 10000;
|
||||
}
|
||||
if (nutRating > 180 && nutRating < 200)
|
||||
{
|
||||
nuts = "boss nuts";
|
||||
nutRating += SRandom.Next(nutRating, 10001);
|
||||
if (nutRating > 10000)
|
||||
{
|
||||
nutRating = SRandom.Next(nutRating, nutRating + 100101);
|
||||
nuts = "king size boss nuts";
|
||||
}
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nCongrats {name}, your {nuts} weigh {nutRating}g.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (nutRating < 10)
|
||||
{
|
||||
nutRating = SRandom.Next(100, 2001);
|
||||
nuts = "tiny lady nuts";
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nSorry to hear about {name}, those {nuts} weigh 0.{nutRating}g.");
|
||||
}
|
||||
else
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\n{name}'s nuts weigh {trapRating0}g.");
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\n{name}'s {nuts} weigh {nutRating}g.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -322,6 +377,27 @@ namespace Kehyeedra3.Commands
|
||||
}
|
||||
}
|
||||
}
|
||||
[Command("changenick")]
|
||||
public async Task ChangeNickname(IGuildUser usr = null, [Remainder]string name = null)
|
||||
{
|
||||
if (Context.Guild.Id != 691361760300761139)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nWrong server retard");
|
||||
return;
|
||||
}
|
||||
if (usr == null || usr == Context.User || name == null)
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nYeah you gotta ping someone and write a name, retard");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nLet's fucking goooo");
|
||||
await usr.ModifyAsync(x => x.Nickname = $"{name}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,9 @@ using System.Runtime.CompilerServices;
|
||||
using System.Security.Cryptography;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using ImageMagick;
|
||||
using System.Threading.Tasks;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Kehyeedra3
|
||||
{
|
||||
@@ -23,7 +26,14 @@ namespace Kehyeedra3
|
||||
return numb.ToString("N4");
|
||||
}
|
||||
|
||||
public static double Remap(this int value, double min1, double max1, double min2, double max2)
|
||||
=> ((double)value).Remap(min1, max1, min2, max2);
|
||||
|
||||
public static double Remap(this ulong value, double min1, double max1, double min2, double max2)
|
||||
=> ((double)value).Remap(min1, max1, min2, max2);
|
||||
|
||||
public static double Remap(this double value, double min1, double max1, double min2, double max2)
|
||||
=> min2 + (max2 - min2) * ((value - min1) / (max1 - min1));
|
||||
|
||||
//https://stackoverflow.com/a/1262619
|
||||
public static void Shuffle<T>(this IList<T> list)
|
||||
@@ -44,5 +54,97 @@ namespace Kehyeedra3
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task<MagickImageCollection> GifPngMergeAsync(MagickImage pngFile, string gifFile, Rectangle rect, PixelInterpolateMethod interpolateMethod = PixelInterpolateMethod.Bilinear, bool trimEmpty = false)
|
||||
=> await GifPngMergeAsync(pngFile, new FileStream(gifFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite), rect, interpolateMethod, trimEmpty);
|
||||
|
||||
public static async Task<MagickImageCollection> GifPngMergeAsync(Stream pngFile, string gifFile, Rectangle rect, PixelInterpolateMethod interpolateMethod = PixelInterpolateMethod.Bilinear, bool trimEmpty = false)
|
||||
=> await GifPngMergeAsync(new MagickImage(pngFile), new FileStream(gifFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite), rect, interpolateMethod, trimEmpty);
|
||||
|
||||
public static async Task<MagickImageCollection> GifPngMergeAsync(string pngFile, Stream gifFile, Rectangle rect, PixelInterpolateMethod interpolateMethod = PixelInterpolateMethod.Bilinear, bool trimEmpty = false)
|
||||
=> await GifPngMergeAsync(new MagickImage(pngFile), gifFile, rect, interpolateMethod, trimEmpty);
|
||||
|
||||
public static async Task<MagickImageCollection> GifPngMergeAsync(string pngFile, string gifFile, Rectangle rect, PixelInterpolateMethod interpolateMethod = PixelInterpolateMethod.Bilinear, bool trimEmpty = false)
|
||||
=> await GifPngMergeAsync(new MagickImage(pngFile), new FileStream(gifFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite), rect, interpolateMethod, trimEmpty);
|
||||
|
||||
public static async Task<MagickImageCollection> GifPngMergeAsync(MagickImage pngFile, Stream gifFile, Rectangle rect, PixelInterpolateMethod interpolateMethod = PixelInterpolateMethod.Bilinear, bool trimEmpty = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
MagickImageCollection pngCollection = new MagickImageCollection();
|
||||
|
||||
using MagickImageCollection gifCollection = new MagickImageCollection(gifFile);
|
||||
|
||||
int[] delay = new int[gifCollection.Count];
|
||||
|
||||
int indx = 0;
|
||||
foreach (var frame in gifCollection)
|
||||
{
|
||||
MagickImage pngTemplate = new MagickImage(pngFile);
|
||||
using MagickImage gifFrame = new MagickImage(frame);
|
||||
|
||||
gifFrame.Alpha(AlphaOption.Set);
|
||||
|
||||
if (trimEmpty)
|
||||
{
|
||||
gifFrame.BackgroundColor = MagickColors.None;
|
||||
gifFrame.ColorFuzz = new Percentage(1);
|
||||
gifFrame.Trim();
|
||||
gifFrame.RePage();
|
||||
}
|
||||
|
||||
var size = GetSize(gifFrame, rect);
|
||||
gifFrame.InterpolativeResize(size.Width, size.Height, interpolateMethod);
|
||||
|
||||
size.X = (rect.Width + rect.X) / 2 - (gifFrame.Width / 2);
|
||||
size.Y = (rect.Height + rect.Y) / 2 - (gifFrame.Height / 2);
|
||||
|
||||
pngTemplate.Composite(gifFrame, size.X, size.Y, CompositeOperator.Over);
|
||||
|
||||
pngCollection.Add(pngTemplate);
|
||||
delay[indx] = gifFrame.AnimationDelay;
|
||||
|
||||
indx++;
|
||||
}
|
||||
|
||||
pngCollection[0].AnimationDelay = 0;
|
||||
for (int index = 1; index < pngCollection.Count - 1; index++)
|
||||
{
|
||||
pngCollection[index].AnimationDelay = delay[index];
|
||||
}
|
||||
|
||||
if (pngCollection.Count > 1)
|
||||
{
|
||||
QuantizeSettings settings = new QuantizeSettings()
|
||||
{
|
||||
Colors = 2048
|
||||
};
|
||||
pngCollection.Quantize(settings);
|
||||
}
|
||||
|
||||
return pngCollection;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"Error processing; Exception = {ex}");
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
static Rectangle GetSize(MagickImage img, Rectangle rect)
|
||||
{
|
||||
Rectangle output = new Rectangle(rect.X, rect.Y, 0, 0);
|
||||
|
||||
double aspectRatio = (double)img.Width / img.Height;
|
||||
|
||||
double otherAspect = (double)img.Height / img.Width;
|
||||
|
||||
output.Width = (int)Math.Min(Math.Round(rect.Width - rect.X * aspectRatio), rect.Width - rect.X);
|
||||
|
||||
output.Height = (int)(output.Width * otherAspect);
|
||||
|
||||
return output;
|
||||
}
|
||||
}
|
||||
}
|
||||
156
Kehyeedra3/Helpers.cs
Normal file
156
Kehyeedra3/Helpers.cs
Normal file
@@ -0,0 +1,156 @@
|
||||
using ImageMagick;
|
||||
using Kehyeedra3.Services.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Kehyeedra3
|
||||
{
|
||||
public static class Helpers
|
||||
{
|
||||
public static async Task<(MagickImageCollection cardCollection, MagickFormat outFormatEnum, string outFormat)> MakeFishCardAsync(Fish fish, ulong currentXp, ulong floorXp, ulong nextLevelXp, string levelUp, int weight, ulong xp, int dcatch)
|
||||
{
|
||||
string path = Path.Combine(Environment.CurrentDirectory, "btextures");
|
||||
string fpath = Path.Combine(path, "fish");
|
||||
string[] vowels = new string[] { "a", "e", "i", "o", "u" };
|
||||
string label = $"You caught a{(vowels.Contains((fish.Name[0].ToString()).ToLower()) ? "n" : "")} {fish.Name}.\n{weight / 100d}kg {fish.Rarity} fish.\n\nYou gain {xp}xp.\n{levelUp.Replace("*", "")}.";
|
||||
if (dcatch != 1)
|
||||
{
|
||||
label = $"You caught {dcatch} {fish.Name}.\n{weight / 100d}kg {fish.Rarity} fish.\n\nYou gain {xp}xp.\n{levelUp.Replace("*", "")}.";
|
||||
}
|
||||
if (levelUp.Contains("reach"))
|
||||
{
|
||||
label = label.Replace("\nYou gain", "\n\nYou gain");
|
||||
}
|
||||
|
||||
string tier = "";
|
||||
switch (fish.Tier)
|
||||
{
|
||||
case FishTier.T1:
|
||||
{
|
||||
tier = "tier1";
|
||||
}
|
||||
break;
|
||||
case FishTier.T2:
|
||||
{
|
||||
tier = "tier2";
|
||||
}
|
||||
break;
|
||||
case FishTier.T3:
|
||||
{
|
||||
tier = "tier3";
|
||||
}
|
||||
break;
|
||||
case FishTier.T4:
|
||||
{
|
||||
tier = "tier4";
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (fish.Rarity == FishRarity.Unreasonable)
|
||||
{
|
||||
tier = "tieru";
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
MagickImage tempCard = new MagickImage(Path.Combine(path, "background.png"));
|
||||
|
||||
DrawableFont font = new DrawableFont(Path.Combine(path, "COMIC.TTF"));
|
||||
|
||||
using (MagickImage frame = new MagickImage(Path.Combine(path, "scover.png"), new MagickReadSettings //cover
|
||||
{
|
||||
BackgroundColor = MagickColors.None
|
||||
}))
|
||||
{
|
||||
tempCard.Composite(frame, CompositeOperator.Over);
|
||||
}
|
||||
|
||||
//draw to tempcard
|
||||
{
|
||||
using (MagickImage frame = new MagickImage(Path.Combine(path, "frame.png"), new MagickReadSettings //frame
|
||||
{
|
||||
BackgroundColor = MagickColors.None
|
||||
}))
|
||||
{
|
||||
tempCard.Composite(frame, CompositeOperator.Over);
|
||||
}
|
||||
|
||||
using (MagickImage stats = new MagickImage($"label:" + label, new MagickReadSettings
|
||||
{
|
||||
BackgroundColor = MagickColors.None,
|
||||
FillColor = MagickColors.White,
|
||||
FontPointsize = 14,
|
||||
Font = font.Family,
|
||||
TextAntiAlias = false,
|
||||
StrokeAntiAlias = false
|
||||
}))
|
||||
{
|
||||
tempCard.Composite(stats, 139, 5, CompositeOperator.Over);
|
||||
}
|
||||
|
||||
//draw progressbar
|
||||
if (currentXp != 0)
|
||||
{
|
||||
using (MagickImage xpBar = new MagickImage(Path.Combine(path, "xpbar.png"), new MagickReadSettings //xpbar
|
||||
{
|
||||
BackgroundColor = MagickColors.None
|
||||
}))
|
||||
{
|
||||
using (var mask = new MagickImage("xc:none", xpBar.Width, xpBar.Height))
|
||||
{
|
||||
var h = (int)currentXp.Remap(floorXp, nextLevelXp, 5, 128);
|
||||
|
||||
mask.Draw(new DrawableFillColor(MagickColors.White), new DrawableRectangle(0, 128, xpBar.Width, 128 - h));
|
||||
|
||||
xpBar.Composite(mask, CompositeOperator.CopyAlpha);
|
||||
}
|
||||
|
||||
tempCard.Composite(xpBar, 405, 5, CompositeOperator.Over);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MagickImageCollection cardCollection = await Extensions.GifPngMergeAsync(
|
||||
tempCard,
|
||||
Path.Combine(fpath, fish.Texture),
|
||||
new Rectangle(10, 10, 128, 128),
|
||||
PixelInterpolateMethod.Nearest,
|
||||
true
|
||||
);
|
||||
|
||||
tempCard.Dispose();
|
||||
|
||||
foreach(var card in cardCollection)
|
||||
{
|
||||
using (MagickImage frame = new MagickImage(Path.Combine(path, $"{tier}.png"), new MagickReadSettings //tier glow
|
||||
{
|
||||
BackgroundColor = MagickColors.None
|
||||
}))
|
||||
{
|
||||
card.Composite(frame, 5, 5, CompositeOperator.Over);
|
||||
}
|
||||
}
|
||||
|
||||
MagickFormat outFormat = MagickFormat.Png;
|
||||
|
||||
if (cardCollection.Count > 1)
|
||||
{
|
||||
outFormat = MagickFormat.Gif;
|
||||
}
|
||||
|
||||
return (cardCollection, outFormat, outFormat.ToString().ToLowerInvariant());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex);
|
||||
}
|
||||
|
||||
return (null, MagickFormat.Png, MagickFormat.Png.ToString().ToLowerInvariant());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,9 +9,9 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Discord.Addons.Interactive" Version="2.0.0" />
|
||||
<PackageReference Include="Discord.Net" Version="2.2.0" />
|
||||
<PackageReference Include="Discord.Net" Version="2.3.1" />
|
||||
<PackageReference Include="dotenv.net" Version="2.1.3" />
|
||||
<PackageReference Include="Magick.NET-Q16-AnyCPU" Version="7.22.2.2" />
|
||||
<PackageReference Include="Magick.NET-Q16-AnyCPU" Version="7.23.3" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.11">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
|
||||
253
Kehyeedra3/Migrations/20210410172129_MiningUpdate.Designer.cs
generated
Normal file
253
Kehyeedra3/Migrations/20210410172129_MiningUpdate.Designer.cs
generated
Normal file
@@ -0,0 +1,253 @@
|
||||
// <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("20210410172129_MiningUpdate")]
|
||||
partial class MiningUpdate
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "3.1.11")
|
||||
.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.Mining", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Level")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("TXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Xp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Mining");
|
||||
});
|
||||
|
||||
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<sbyte>("CurrentBattlefish")
|
||||
.HasColumnType("TINYINT");
|
||||
|
||||
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<sbyte>("FishType")
|
||||
.HasColumnType("TINYINT");
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
64
Kehyeedra3/Migrations/20210410172129_MiningUpdate.cs
Normal file
64
Kehyeedra3/Migrations/20210410172129_MiningUpdate.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Kehyeedra3.Migrations
|
||||
{
|
||||
public partial class MiningUpdate : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AlterColumn<sbyte>(
|
||||
name: "CurrentBattlefish",
|
||||
table: "Users",
|
||||
type: "TINYINT",
|
||||
nullable: false,
|
||||
oldClrType: typeof(int),
|
||||
oldType: "int");
|
||||
|
||||
migrationBuilder.AlterColumn<sbyte>(
|
||||
name: "FishType",
|
||||
table: "Battlefish",
|
||||
type: "TINYINT",
|
||||
nullable: false,
|
||||
oldClrType: typeof(int),
|
||||
oldType: "int");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Mining",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<ulong>(nullable: false)
|
||||
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||
Xp = table.Column<ulong>(nullable: false),
|
||||
TXp = table.Column<ulong>(nullable: false),
|
||||
Lvl = table.Column<ulong>(nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Mining", x => x.Id);
|
||||
});
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "Mining");
|
||||
|
||||
migrationBuilder.AlterColumn<int>(
|
||||
name: "CurrentBattlefish",
|
||||
table: "Users",
|
||||
type: "int",
|
||||
nullable: false,
|
||||
oldClrType: typeof(sbyte),
|
||||
oldType: "TINYINT");
|
||||
|
||||
migrationBuilder.AlterColumn<int>(
|
||||
name: "FishType",
|
||||
table: "Battlefish",
|
||||
type: "int",
|
||||
nullable: false,
|
||||
oldClrType: typeof(sbyte),
|
||||
oldType: "TINYINT");
|
||||
}
|
||||
}
|
||||
}
|
||||
253
Kehyeedra3/Migrations/20210410173200_MiningUpdateYeah.Designer.cs
generated
Normal file
253
Kehyeedra3/Migrations/20210410173200_MiningUpdateYeah.Designer.cs
generated
Normal file
@@ -0,0 +1,253 @@
|
||||
// <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("20210410173200_MiningUpdateYeah")]
|
||||
partial class MiningUpdateYeah
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "3.1.11")
|
||||
.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.Mining", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("LastMine")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Level")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("TXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Xp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Mining");
|
||||
});
|
||||
|
||||
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<sbyte>("CurrentBattlefish")
|
||||
.HasColumnType("TINYINT");
|
||||
|
||||
b.Property<string>("GeneralInventory")
|
||||
.HasColumnType("LONGTEXT");
|
||||
|
||||
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<sbyte>("FishType")
|
||||
.HasColumnType("TINYINT");
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
34
Kehyeedra3/Migrations/20210410173200_MiningUpdateYeah.cs
Normal file
34
Kehyeedra3/Migrations/20210410173200_MiningUpdateYeah.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Kehyeedra3.Migrations
|
||||
{
|
||||
public partial class MiningUpdateYeah : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "LastMine",
|
||||
table: "Users");
|
||||
|
||||
migrationBuilder.AddColumn<ulong>(
|
||||
name: "LastMine",
|
||||
table: "Mining",
|
||||
nullable: false,
|
||||
defaultValue: 0ul);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "LastMine",
|
||||
table: "Mining");
|
||||
|
||||
migrationBuilder.AddColumn<ulong>(
|
||||
name: "LastMine",
|
||||
table: "Users",
|
||||
type: "bigint unsigned",
|
||||
nullable: false,
|
||||
defaultValue: 0ul);
|
||||
}
|
||||
}
|
||||
}
|
||||
256
Kehyeedra3/Migrations/20210411195647_FishingUpdateYeah.Designer.cs
generated
Normal file
256
Kehyeedra3/Migrations/20210411195647_FishingUpdateYeah.Designer.cs
generated
Normal file
@@ -0,0 +1,256 @@
|
||||
// <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("20210411195647_FishingUpdateYeah")]
|
||||
partial class FishingUpdateYeah
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "3.1.11")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 64);
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.Fishing", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("FXp")
|
||||
.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.Mining", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("LastMine")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Lvl")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("TXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Xp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Mining");
|
||||
});
|
||||
|
||||
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<sbyte>("CurrentBattlefish")
|
||||
.HasColumnType("TINYINT");
|
||||
|
||||
b.Property<string>("GeneralInventory")
|
||||
.HasColumnType("LONGTEXT");
|
||||
|
||||
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<sbyte>("FishType")
|
||||
.HasColumnType("TINYINT");
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
44
Kehyeedra3/Migrations/20210411195647_FishingUpdateYeah.cs
Normal file
44
Kehyeedra3/Migrations/20210411195647_FishingUpdateYeah.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Kehyeedra3.Migrations
|
||||
{
|
||||
public partial class FishingUpdateYeah : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Level",
|
||||
table: "Mining");
|
||||
|
||||
migrationBuilder.AddColumn<ulong>(
|
||||
name: "Lvl",
|
||||
table: "Mining",
|
||||
nullable: false,
|
||||
defaultValue: 0ul);
|
||||
|
||||
migrationBuilder.AddColumn<ulong>(
|
||||
name: "FXp",
|
||||
table: "Fishing",
|
||||
nullable: false,
|
||||
defaultValue: 0ul);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Lvl",
|
||||
table: "Mining");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "FXp",
|
||||
table: "Fishing");
|
||||
|
||||
migrationBuilder.AddColumn<ulong>(
|
||||
name: "Level",
|
||||
table: "Mining",
|
||||
type: "bigint unsigned",
|
||||
nullable: false,
|
||||
defaultValue: 0ul);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ namespace Kehyeedra3.Migrations
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "3.1.2")
|
||||
.HasAnnotation("ProductVersion", "3.1.11")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 64);
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.Fishing", b =>
|
||||
@@ -23,6 +23,9 @@ namespace Kehyeedra3.Migrations
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("FXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<string>("Inventory")
|
||||
.HasColumnType("LONGTEXT");
|
||||
|
||||
@@ -89,6 +92,29 @@ namespace Kehyeedra3.Migrations
|
||||
b.ToTable("ItemOffer");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.Mining", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("LastMine")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Lvl")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("TXp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<ulong>("Xp")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Mining");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kehyeedra3.Services.Models.Reminder", b =>
|
||||
{
|
||||
b.Property<ulong>("Id")
|
||||
@@ -163,15 +189,12 @@ namespace Kehyeedra3.Migrations
|
||||
b.Property<string>("Avatar")
|
||||
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||
|
||||
b.Property<int>("CurrentBattlefish")
|
||||
.HasColumnType("int");
|
||||
b.Property<sbyte>("CurrentBattlefish")
|
||||
.HasColumnType("TINYINT");
|
||||
|
||||
b.Property<string>("GeneralInventory")
|
||||
.HasColumnType("LONGTEXT");
|
||||
|
||||
b.Property<ulong>("LastMine")
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<long>("Money")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
@@ -189,8 +212,8 @@ namespace Kehyeedra3.Migrations
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint unsigned");
|
||||
|
||||
b.Property<int>("FishType")
|
||||
.HasColumnType("int");
|
||||
b.Property<sbyte>("FishType")
|
||||
.HasColumnType("TINYINT");
|
||||
|
||||
b.Property<int>("Lvl")
|
||||
.HasColumnType("int");
|
||||
|
||||
@@ -30,8 +30,9 @@ namespace Kehyeedra3.Services.Models
|
||||
public FishSpecies Id;
|
||||
//public byte Ego;
|
||||
//public byte Superego;
|
||||
public string Name;
|
||||
public string Emote;
|
||||
public string Name = "Missing Name";
|
||||
public string Emote = "<:missingLeg:682586847830081551>";
|
||||
public string Texture = "missingtexture.png";
|
||||
public FishRarity Rarity;
|
||||
public FishTier Tier;
|
||||
}
|
||||
@@ -40,6 +41,7 @@ namespace Kehyeedra3.Services.Models
|
||||
public ulong Id { get; set; } = 0; // this is userid incase you get alzheimers you stupid baby waa waa
|
||||
public ulong LastFish { get; set; } = 0;
|
||||
public ulong Xp { get; set; } = 50;
|
||||
public ulong FXp { get; set; } = 0;
|
||||
public ulong TXp { get; set; } = 0;
|
||||
public ulong Lvl { get; set; } = 0;
|
||||
public byte RodOwned { get; set; } = 0;
|
||||
@@ -70,8 +72,9 @@ namespace Kehyeedra3.Services.Models
|
||||
new Fish()
|
||||
{
|
||||
Id = FishSpecies.Wakasagihime,
|
||||
Name = "Touhoufish",
|
||||
Name = "Freshwater Lady",
|
||||
Emote = "<:wakasagihime:793084118949691433>",
|
||||
Texture = "touhoufish.png",
|
||||
Rarity = FishRarity.Unreasonable,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -80,6 +83,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.LuckyCatfish,
|
||||
Name = "Lucky Catfish",
|
||||
Emote = "<a:catfishleft:682655661422542888><a:catfishright:682655661481525284>",
|
||||
Texture = "catfish.gif",
|
||||
Rarity = FishRarity.Legendary,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -88,6 +92,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Doomfish,
|
||||
Name = "Doomfish",
|
||||
Emote = "<a:doomfish:704407234574155834>",
|
||||
Texture = "doomfish.gif",
|
||||
Rarity = FishRarity.Rare,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -96,6 +101,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Clownfish,
|
||||
Name = "Clownfish",
|
||||
Emote = "<a:clownfishleft:715846565972934718><a:clownfishright:715846565704761424>",
|
||||
Texture = "clownfish.gif",
|
||||
Rarity = FishRarity.Rare,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -104,6 +110,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Teracrab,
|
||||
Name = "Teracrab",
|
||||
Emote = "<a:teracrableft:710925664089538691><a:teracrabright:710925663439421512>",
|
||||
Texture = "teracrab.gif",
|
||||
Rarity = FishRarity.Rare,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -112,6 +119,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Blobfish,
|
||||
Name = "Blobfish",
|
||||
Emote = "<a:blobfishleft:704386995996065885><a:blobfishright:704386996369358888>",
|
||||
Texture = "blobfish.gif",
|
||||
Rarity = FishRarity.Rare,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -120,6 +128,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Psychedelica,
|
||||
Name = "Psychedelica",
|
||||
Emote = "<a:psychedelicaleft:704406253966721135><a:psychedelicaright:704406252125421698>",
|
||||
Texture = "psychedelica.gif",
|
||||
Rarity = FishRarity.Rare,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -128,6 +137,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Gigacrab,
|
||||
Name = "Gigacrab",
|
||||
Emote = "<:gigacrableft:715626112327221348><:gigacrabright:715626112537067580>",
|
||||
Texture = "gigacrab.png",
|
||||
Rarity = FishRarity.Uncommon,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -136,6 +146,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Dopefish,
|
||||
Name = "Dopefish",
|
||||
Emote = "<:dopefishleft:700422139672658009><:dopefishright:700422139643428895>",
|
||||
Texture = "dopefish.png",
|
||||
Rarity = FishRarity.Uncommon,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -144,6 +155,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Stargazer,
|
||||
Name = "Stargazer",
|
||||
Emote = "<:stargazerleft:700414644774240286><:stargazerright:700413063442202684>",
|
||||
Texture = "stargazer.png",
|
||||
Rarity = FishRarity.Uncommon,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -152,6 +164,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Isopod,
|
||||
Name = "Isopod",
|
||||
Emote = "<:isopodleft:700397032271249428><:isopodright:700397031922991206>",
|
||||
Texture = "isopod.png",
|
||||
Rarity = FishRarity.Uncommon,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -160,6 +173,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Sheephead,
|
||||
Name = "Sheephead",
|
||||
Emote = "<:sheepheadleft:710894977944649728><:sheepheadright:710894979467444284>",
|
||||
Texture = "sheephead.png",
|
||||
Rarity = FishRarity.Uncommon,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -168,6 +182,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Cod,
|
||||
Name = "Cod",
|
||||
Emote = "<:codleft:695304941715062887><:codright:695304941949943808>",
|
||||
Texture = "cod.png",
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -176,6 +191,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Salmon,
|
||||
Name = "Salmon",
|
||||
Emote = "<:salmonleft:698167269359878236><:salmonright:698167269167202324>",
|
||||
Texture = "salmon.png",
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -184,6 +200,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Shrimp,
|
||||
Name = "Shrimp",
|
||||
Emote = "<:shrimpleft:715074288788570112><:shrimpright:715074288863936552>",
|
||||
Texture = "shrimp.png",
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -192,6 +209,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Crayfish,
|
||||
Name = "Crayfish",
|
||||
Emote = "<:crayfishleft:715638929885495377><:crayfishright:715638929843421284>",
|
||||
Texture = "crayfish.png",
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -200,6 +218,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Betta,
|
||||
Name = "Betta",
|
||||
Emote = "<:bettaleft:698179217107714088><:bettaright:698179216868638851>",
|
||||
Texture = "betta.png",
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -208,6 +227,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Pufferfish,
|
||||
Name = "Pufferfish",
|
||||
Emote = "<:pufferfishleft:715075414179184691><:pufferfishright:715075414116007937>",
|
||||
Texture = "pufferfish.png",
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -216,6 +236,7 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Carp,
|
||||
Name = "Carp",
|
||||
Emote = "<:koicarpleft:698204388556275752><:koicarpright:698204386421374986>",
|
||||
Texture = "carp.png",
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
@@ -224,15 +245,17 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Megacrab,
|
||||
Name = "Hermit Crab",
|
||||
Emote = "<:hermitcrableft:715071501996392519><:hermitcrabright:715071501971488808>",
|
||||
Texture = "hermitcrab.png",
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T1
|
||||
},
|
||||
|
||||
new Fish() //// Tier 2
|
||||
{
|
||||
Id = FishSpecies.Hypnofish,
|
||||
Id = FishSpecies.Hypnofish, // replace with shrimp waifu fish when art done
|
||||
Name = "Hypnofish",
|
||||
Emote = "<:paska:786244602440450109><:hypnoosi:786244623478947841>",
|
||||
Texture = "hypnofish.png",
|
||||
Rarity = FishRarity.Legendary,
|
||||
Tier = FishTier.T2
|
||||
},
|
||||
@@ -240,7 +263,7 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = FishSpecies.Swolefish,
|
||||
Name = "Pumped Up Swolefish",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
//Texture = "",
|
||||
Rarity = FishRarity.Rare,
|
||||
Tier = FishTier.T2
|
||||
},
|
||||
@@ -248,7 +271,7 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = FishSpecies.Dogfish,
|
||||
Name = "Dogfish",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
|
||||
Rarity = FishRarity.Rare,
|
||||
Tier = FishTier.T2
|
||||
},
|
||||
@@ -257,6 +280,23 @@ namespace Kehyeedra3.Services.Models
|
||||
Id = FishSpecies.Gunfish,
|
||||
Name = "Gunfish",
|
||||
Emote = "<:gunfishleft:793492588799590460><:gunfishright:793492625277714442>",
|
||||
Texture = "gunfish.png",
|
||||
Rarity = FishRarity.Uncommon,
|
||||
Tier = FishTier.T2
|
||||
},
|
||||
new Fish()
|
||||
{
|
||||
Id = FishSpecies.Dingus,
|
||||
Name = "Dingus",
|
||||
|
||||
Rarity = FishRarity.Uncommon,
|
||||
Tier = FishTier.T2
|
||||
},
|
||||
new Fish()
|
||||
{
|
||||
Id = FishSpecies.Finnfish,
|
||||
Name = "Fi'ish",
|
||||
|
||||
Rarity = FishRarity.Uncommon,
|
||||
Tier = FishTier.T2
|
||||
},
|
||||
@@ -264,7 +304,7 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = FishSpecies.Rockfish,
|
||||
Name = "Rockfish",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T2
|
||||
},
|
||||
@@ -272,16 +312,32 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = FishSpecies.Fishlet,
|
||||
Name = "Fishlet",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T2
|
||||
},
|
||||
new Fish()
|
||||
{
|
||||
Id = FishSpecies.Cavefish,
|
||||
Name = "Cavefish",
|
||||
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T2
|
||||
},
|
||||
new Fish()
|
||||
{
|
||||
Id = FishSpecies.Neck,
|
||||
Name = "Neck",
|
||||
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T2
|
||||
},
|
||||
|
||||
new Fish() //// Tier 3
|
||||
{
|
||||
Id = FishSpecies.SpecDoomfish,
|
||||
Name = "Spectral Doomfish",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
Id = FishSpecies.Circlefish,
|
||||
Name = "Circle Fish",
|
||||
|
||||
Rarity = FishRarity.Legendary,
|
||||
Tier = FishTier.T3
|
||||
},
|
||||
@@ -289,7 +345,7 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = FishSpecies.RevCrab,
|
||||
Name = "Revenant Crab",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
|
||||
Rarity = FishRarity.Rare,
|
||||
Tier = FishTier.T3
|
||||
},
|
||||
@@ -297,7 +353,7 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = FishSpecies.SpecFlameworm,
|
||||
Name = "Spectral Flameworm",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
|
||||
Rarity = FishRarity.Uncommon,
|
||||
Tier = FishTier.T3
|
||||
},
|
||||
@@ -305,7 +361,15 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = FishSpecies.SpecShrimp,
|
||||
Name = "Spectral Shrimp",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T3
|
||||
},
|
||||
new Fish()
|
||||
{
|
||||
Id = FishSpecies.Ghostie,
|
||||
Name = "Ghostie",
|
||||
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T3
|
||||
},
|
||||
@@ -315,7 +379,7 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = FishSpecies.T4PH1,
|
||||
Name = "Placeholder",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
|
||||
Rarity = FishRarity.Legendary,
|
||||
Tier = FishTier.T4
|
||||
},
|
||||
@@ -323,7 +387,7 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = FishSpecies.T4PH2,
|
||||
Name = "Placeholder",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
|
||||
Rarity = FishRarity.Rare,
|
||||
Tier = FishTier.T4
|
||||
},
|
||||
@@ -331,7 +395,7 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = FishSpecies.T4PH3,
|
||||
Name = "Placeholder",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
|
||||
Rarity = FishRarity.Uncommon,
|
||||
Tier = FishTier.T4
|
||||
},
|
||||
@@ -339,7 +403,7 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = FishSpecies.T4PH4,
|
||||
Name = "Placeholder",
|
||||
Emote = "<:missingLeg:682586847830081551>",
|
||||
|
||||
Rarity = FishRarity.Common,
|
||||
Tier = FishTier.T4
|
||||
},
|
||||
@@ -379,26 +443,34 @@ namespace Kehyeedra3.Services.Models
|
||||
Hypnofish = 20,
|
||||
//T2 Rare
|
||||
Swolefish = 21,
|
||||
Dogfish = 102,
|
||||
Dogfish = 22,
|
||||
//T2 Uncommon
|
||||
Gunfish = 22,
|
||||
Gunfish = 30,
|
||||
Dingus = 31,
|
||||
Finnfish = 32,
|
||||
//T2 Common
|
||||
Rockfish = 23,
|
||||
Fishlet = 24,
|
||||
Rockfish = 40,
|
||||
Fishlet = 41,
|
||||
Cavefish = 42,
|
||||
Neck = 43,
|
||||
|
||||
//T3 Legendary
|
||||
SpecDoomfish = 25,
|
||||
Circlefish = 50,
|
||||
//T3 Rare
|
||||
RevCrab = 26,
|
||||
RevCrab = 51,
|
||||
//T3 Uncommon
|
||||
SpecFlameworm = 27,
|
||||
SpecFlameworm = 60,
|
||||
//T3 Common
|
||||
SpecShrimp = 28,
|
||||
SpecShrimp = 70,
|
||||
Ghostie = 71,
|
||||
//T4
|
||||
T4PH1 = 29,
|
||||
T4PH2 = 30,
|
||||
T4PH3 = 31,
|
||||
T4PH4 = 32,
|
||||
T4PH1 = 80,
|
||||
//r
|
||||
T4PH2 = 90,
|
||||
//uc
|
||||
T4PH3 = 100,
|
||||
//c
|
||||
T4PH4 = 110,
|
||||
}
|
||||
public class FishingInventorySlot
|
||||
{
|
||||
|
||||
19
Kehyeedra3/Services/Models/Mining.cs
Normal file
19
Kehyeedra3/Services/Models/Mining.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
public class Mining
|
||||
{
|
||||
[Key]
|
||||
public ulong Id { get; set; } = 0;
|
||||
public ulong Xp { get; set; } = 50;
|
||||
public ulong TXp { get; set; } = 0;
|
||||
public ulong Lvl { get; set; } = 0;
|
||||
public ulong LastMine { get; set; } = 0;
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,6 @@ namespace Kehyeedra3.Services.Models
|
||||
public string Avatar { get; set; } = null;
|
||||
public string Username { get; set; } = null;
|
||||
public long Money { get; set; } = 0;
|
||||
public ulong LastMine { get; set; } = 0;
|
||||
[Column(TypeName = "LONGTEXT")]
|
||||
public string GeneralInventory { get; set; } = "{}";
|
||||
[Column(TypeName = "TINYINT")]
|
||||
@@ -62,25 +61,25 @@ namespace Kehyeedra3.Services.Models
|
||||
{
|
||||
Id = Items.Lettuce,
|
||||
Name = "Learning Lettuce",
|
||||
Price = 50
|
||||
Price = 25
|
||||
},
|
||||
new Item()
|
||||
{
|
||||
Id = Items.RareBait,
|
||||
Name = "Rare Bait",
|
||||
Price = 50
|
||||
Price = 25
|
||||
},
|
||||
new Item()
|
||||
{
|
||||
Id = Items.BigBait,
|
||||
Name = "Big Bait",
|
||||
Price = 20
|
||||
Price = 10
|
||||
},
|
||||
new Item()
|
||||
{
|
||||
Id = Items.SpecialBait,
|
||||
Name = "Master Bait",
|
||||
Price = 100
|
||||
Price = 50
|
||||
},
|
||||
new Item()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user