From d150c8f1b40daa72f85996f6a6fcd086e9c78caa Mon Sep 17 00:00:00 2001 From: Moons Date: Tue, 12 Dec 2023 09:31:11 +0100 Subject: [PATCH] feat(season): season of the wish update --- Felicity/Controllers/BungieAuthController.cs | 2 +- .../Interactions/CheckpointCommands.cs | 2 +- .../Interactions/CraftingCommands.cs | 11 +++- .../Interactions/EmblemCommands.cs | 50 +++++++-------- .../Interactions/LookupCommands.cs | 8 ++- .../Interactions/LootCommands.cs | 2 +- .../Interactions/MementoCommands.cs | 2 +- .../Interactions/MetricsCommands.cs | 2 +- .../Interactions/NewsCommands.cs | 2 +- .../Interactions/PbCommands.cs | 2 +- .../Interactions/RollFinderCommands.cs | 2 +- .../Interactions/ServerCommands.cs | 7 +-- .../Interactions/StaffCommands.cs | 2 +- .../Interactions/SupportCommands.cs | 2 +- .../Interactions/UserCommands.cs | 2 +- .../Interactions/VendorCommands.cs | 2 +- .../Text/EmblemTextCommands.cs | 2 +- .../Text/TestingTextCommands.cs | 2 +- .../Extensions/ServiceCollectionExtensions.cs | 2 +- Felicity/Felicity.csproj | 22 +++---- Felicity/Models/Caches/EmoteCache.cs | 2 +- Felicity/Models/Caches/GunsmithCache.cs | 2 +- Felicity/Models/Caches/MementoCache.cs | 2 +- Felicity/Models/Caches/ModCache.cs | 2 +- Felicity/Models/Caches/XurCache.cs | 2 +- Felicity/Models/Checkpoints.cs | 47 +++++++++----- Felicity/Models/Clarity.cs | 23 ++++--- Felicity/Models/CommandsInfo/CommandInfo.cs | 2 +- .../CommandsInfo/CommandParameterInfo.cs | 2 +- Felicity/Models/Metric.cs | 6 +- Felicity/Models/RecommendedRolls.cs | 23 ++++--- Felicity/Models/Server.cs | 5 +- Felicity/Models/TwitchStream.cs | 2 +- Felicity/Models/User.cs | 5 +- Felicity/Options/BungieApiOptions.cs | 2 +- Felicity/Options/DiscordBotOptions.cs | 2 +- Felicity/Options/TwitchOptions.cs | 2 +- Felicity/Program.cs | 6 +- Felicity/Services/BungieAuthCacheService.cs | 2 +- .../Hosted/BungieClientStartupService.cs | 2 +- .../Services/Hosted/CommandsInfoService.cs | 2 +- .../Services/Hosted/DiscordStartupService.cs | 2 +- .../Hosted/Interfaces/ICommandsInfoService.cs | 2 +- Felicity/Services/Hosted/ResetService.cs | 2 +- Felicity/Services/Hosted/StatusService.cs | 2 +- .../Services/Hosted/TwitchStartupService.cs | 2 +- Felicity/Services/TwitchService.cs | 2 +- Felicity/Util/AutoCompletes.cs | 2 +- Felicity/Util/BotVariables.cs | 2 +- Felicity/Util/BungieAPIUtils.cs | 2 +- Felicity/Util/Embeds.cs | 2 +- Felicity/Util/EmblemReport.cs | 14 +++-- Felicity/Util/EmoteHelper.cs | 2 +- Felicity/Util/Enums/Craftables.cs | 62 +++++++++++++++++-- Felicity/Util/Enums/EmblemCats.cs | 2 +- Felicity/Util/Enums/LootTables.cs | 2 +- Felicity/Util/Enums/Wishes.cs | 2 +- Felicity/Util/HttpClientInstance.cs | 2 +- Felicity/Util/LogAdapter.cs | 2 +- Felicity/Util/MiscUtils.cs | 2 +- Felicity/Util/Preconditions.cs | 2 +- Felicity/Util/ProfileHelper.cs | 2 +- Felicity/Util/ResetUtils.cs | 2 +- Felicity/Util/WeaponHelper.cs | 2 +- 64 files changed, 241 insertions(+), 148 deletions(-) diff --git a/Felicity/Controllers/BungieAuthController.cs b/Felicity/Controllers/BungieAuthController.cs index de63f34..8634d2c 100644 --- a/Felicity/Controllers/BungieAuthController.cs +++ b/Felicity/Controllers/BungieAuthController.cs @@ -92,4 +92,4 @@ await _bungieClient.ApiAccess.Destiny2.GetLinkedProfiles(BungieMembershipType.Bu return RedirectPermanent("https://tryfelicity.one/auth_success"); } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/CheckpointCommands.cs b/Felicity/DiscordCommands/Interactions/CheckpointCommands.cs index 0dc8c9c..541cc09 100644 --- a/Felicity/DiscordCommands/Interactions/CheckpointCommands.cs +++ b/Felicity/DiscordCommands/Interactions/CheckpointCommands.cs @@ -91,4 +91,4 @@ public async Task Checkpoint( await FollowupAsync(embed: embed.Build()); } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/CraftingCommands.cs b/Felicity/DiscordCommands/Interactions/CraftingCommands.cs index 8b59cfd..2e10681 100644 --- a/Felicity/DiscordCommands/Interactions/CraftingCommands.cs +++ b/Felicity/DiscordCommands/Interactions/CraftingCommands.cs @@ -161,6 +161,10 @@ public async Task Recipes( user.DestinyMembershipType, user.DestinyMembershipId, user.GetTokenData(), request.Response.Characters.Data.Keys.First()); + var wishDeepsight = await IsDeepsightAvailable(1251298789, + user.DestinyMembershipType, user.DestinyMembershipId, user.GetTokenData(), + request.Response.Characters.Data.Keys.First()); + var invDescription = false; var buyDescription = false; @@ -222,7 +226,7 @@ public async Task Recipes( field.Value += $"\n > `{obj.Progress}/{obj.CompletionValue}`"; } - if (keyValuePair.Key is "Deep" && deepDeepsight) + if ((keyValuePair.Key is "Deep" && deepDeepsight) || (keyValuePair.Key is "Wish" && wishDeepsight)) { if (field.Value.ToString()!.Contains("⚠️")) field.Value += "💰 "; @@ -235,7 +239,7 @@ public async Task Recipes( if (!obj.IsComplete || showAll) field.Value += - $" - [{manifestRecord.DisplayProperties.Name}]({MiscUtils.GetLightGgLink(Craftables.GetWeaponId(manifestRecord.Hash))})"; + $" - [{manifestRecord.DisplayProperties.Name}](https://d2foundry.gg/w/{Craftables.GetWeaponId(manifestRecord.Hash)})"; } i++; @@ -299,6 +303,7 @@ private async Task IsDeepsightAvailable(uint vendorId, BungieMembershipTyp var categoryIndex = vendorId switch { 8721509 => 1, + 1251298789 => 1, _ => 0 }; @@ -351,4 +356,4 @@ private static int GetItemCount(BungieResponse request, return allItems.Where(destinyItemComponent => destinyItemComponent.Item.Hash == goodHash) .Count(destinyItemComponent => destinyItemComponent.State.HasFlag(ItemState.HighlightedObjective)); } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/EmblemCommands.cs b/Felicity/DiscordCommands/Interactions/EmblemCommands.cs index 0af6982..302330d 100644 --- a/Felicity/DiscordCommands/Interactions/EmblemCommands.cs +++ b/Felicity/DiscordCommands/Interactions/EmblemCommands.cs @@ -10,10 +10,8 @@ using DotNetBungieAPI.Models.Destiny.Responses; using DotNetBungieAPI.Service.Abstractions; using Felicity.Models; -using Felicity.Options; using Felicity.Util; using Felicity.Util.Enums; -using Microsoft.Extensions.Options; // ReSharper disable UnusedMember.Global // ReSharper disable UnusedType.Global @@ -24,8 +22,8 @@ namespace Felicity.DiscordCommands.Interactions; public class EmblemCommands : InteractionModuleBase { private readonly IBungieClient _bungieClient; - private readonly UserDb _userDb; private readonly IConfiguration _configuration; + private readonly UserDb _userDb; public EmblemCommands(IBungieClient bungieClient, UserDb userDb, IConfiguration configuration) { @@ -109,21 +107,21 @@ public async Task EmblemShares( } foreach (var collectible in from collectible in manifestCollectibles - where !collectible.Redacted - where !string.IsNullOrEmpty(collectible.DisplayProperties.Name) - from manifestCollectibleParentNodeHash in collectible.ParentNodes - where EmblemCats.EmblemCatList.Contains((EmblemCat)manifestCollectibleParentNodeHash.Hash!) - select collectible) + where !collectible.Redacted + where !string.IsNullOrEmpty(collectible.DisplayProperties.Name) + from manifestCollectibleParentNodeHash in collectible.ParentNodes + where EmblemCats.EmblemCatList.Contains((EmblemCat)manifestCollectibleParentNodeHash.Hash!) + select collectible) { emblemCount++; var value = profile.Response.ProfileCollectibles.Data.Collectibles[collectible.Hash]; foreach (var unused in from emblem in manifestInventoryItems - where emblem.Collectible.Hash == collectible.Hash - where value.State.HasFlag(DestinyCollectibleState.NotAcquired) - where !emblemList.Contains(collectible) - select emblem) emblemList.Add(collectible); + where emblem.Collectible.Hash == collectible.Hash + where value.State.HasFlag(DestinyCollectibleState.NotAcquired) + where !emblemList.Contains(collectible) + select emblem) emblemList.Add(collectible); if (value.State.HasFlag(DestinyCollectibleState.Invisible) && !value.State.HasFlag(DestinyCollectibleState.NotAcquired)) @@ -269,8 +267,8 @@ public async Task EmblemRarest( if (!result.Redacted && !string.IsNullOrEmpty(result.DisplayProperties.Name)) manifestCollectibles.AddRange(from definitionParentNode in result.ParentNodes - where EmblemCats.EmblemCatList.Contains((EmblemCat)definitionParentNode.Hash!) - select result); + where EmblemCats.EmblemCatList.Contains((EmblemCat)definitionParentNode.Hash!) + select result); } string jsonString; @@ -365,21 +363,21 @@ private static List> AddEmbl { var manifestCollectibleIDs = (from destinyCollectibleComponent in profileResponse.ProfileCollectibles.Data.Collectibles - where !destinyCollectibleComponent.Value.State.HasFlag(DestinyCollectibleState.UniquenessViolation) || - !destinyCollectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) - where !destinyCollectibleComponent.Value.State.HasFlag(DestinyCollectibleState.Invisible) || - destinyCollectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) - where !destinyCollectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) - select destinyCollectibleComponent.Key).ToList(); + where !destinyCollectibleComponent.Value.State.HasFlag(DestinyCollectibleState.UniquenessViolation) || + !destinyCollectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) + where !destinyCollectibleComponent.Value.State.HasFlag(DestinyCollectibleState.Invisible) || + destinyCollectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) + where !destinyCollectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) + select destinyCollectibleComponent.Key).ToList(); foreach (var destinyCollectibleComponent in profileResponse.CharacterCollectibles.Data) manifestCollectibleIDs.AddRange(from collectibleComponent in destinyCollectibleComponent.Value.Collectibles - where !collectibleComponent.Value.State.HasFlag(DestinyCollectibleState.UniquenessViolation) || - !collectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) - where !collectibleComponent.Value.State.HasFlag(DestinyCollectibleState.Invisible) || - collectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) - where !collectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) - select collectibleComponent.Key); + where !collectibleComponent.Value.State.HasFlag(DestinyCollectibleState.UniquenessViolation) || + !collectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) + where !collectibleComponent.Value.State.HasFlag(DestinyCollectibleState.Invisible) || + collectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) + where !collectibleComponent.Value.State.HasFlag(DestinyCollectibleState.NotAcquired) + select collectibleComponent.Key); return manifestCollectibleIDs; } diff --git a/Felicity/DiscordCommands/Interactions/LookupCommands.cs b/Felicity/DiscordCommands/Interactions/LookupCommands.cs index cfbee00..d5a4196 100644 --- a/Felicity/DiscordCommands/Interactions/LookupCommands.cs +++ b/Felicity/DiscordCommands/Interactions/LookupCommands.cs @@ -235,7 +235,7 @@ private static async Task GenerateLookupEmbed(BungieResponse {playerResponse.Response.Metrics.Data.Metrics[DefinitionHashes.Metrics.SeasonoftheWitchRank].ObjectiveProgress.Progress:n0}", + $"> {playerResponse.Response.Metrics.Data.Metrics[DefinitionHashes.Metrics.SeasonoftheWishRank].ObjectiveProgress.Progress:n0}", true); embed.AddField("Raid Completions", $"> {GetRaidCompletions(playerResponse.Response.Metrics.Data):n0}", true); embed.AddField("Triumph Score", @@ -345,7 +345,9 @@ private static int GetRaidCompletions(DestinyMetricsComponent metricsData) DefinitionHashes.Metrics.DeepStoneCryptCompletions, DefinitionHashes.Metrics.VaultofGlassCompletions, DefinitionHashes.Metrics.VowoftheDiscipleCompletions, - DefinitionHashes.Metrics.KingsFallCompletions + DefinitionHashes.Metrics.KingsFallCompletions, + DefinitionHashes.Metrics.RootofNightmaresCompletions, + DefinitionHashes.Metrics.CrotasEndCompletions }; return raidList.Where(u => metricsData.Metrics[u].ObjectiveProgress.Progress is not null) @@ -376,4 +378,4 @@ private static string GetReportLink(BungieMembershipType membershipType, long me return $"https://{reportType}.report/{platform}/{membershipId}"; } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/LootCommands.cs b/Felicity/DiscordCommands/Interactions/LootCommands.cs index 5b1afbc..b05383f 100644 --- a/Felicity/DiscordCommands/Interactions/LootCommands.cs +++ b/Felicity/DiscordCommands/Interactions/LootCommands.cs @@ -103,4 +103,4 @@ private static string BuildDrops(IBungieClient bungieClient, List tableLoo return result; } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/MementoCommands.cs b/Felicity/DiscordCommands/Interactions/MementoCommands.cs index 740efb1..47896e1 100644 --- a/Felicity/DiscordCommands/Interactions/MementoCommands.cs +++ b/Felicity/DiscordCommands/Interactions/MementoCommands.cs @@ -143,4 +143,4 @@ private static string GetMementoSourceString(MementoSource memSource) return goodSource; } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/MetricsCommands.cs b/Felicity/DiscordCommands/Interactions/MetricsCommands.cs index 8bf2a24..e3ef0b7 100644 --- a/Felicity/DiscordCommands/Interactions/MetricsCommands.cs +++ b/Felicity/DiscordCommands/Interactions/MetricsCommands.cs @@ -61,4 +61,4 @@ public async Task Metrics( await FollowupAsync(embed: embed.Build()); } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/NewsCommands.cs b/Felicity/DiscordCommands/Interactions/NewsCommands.cs index 32e1e5c..cc25520 100644 --- a/Felicity/DiscordCommands/Interactions/NewsCommands.cs +++ b/Felicity/DiscordCommands/Interactions/NewsCommands.cs @@ -197,4 +197,4 @@ private async Task> FillTwabList(string q return twabList; } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/PbCommands.cs b/Felicity/DiscordCommands/Interactions/PbCommands.cs index 96269f5..8b46dd1 100644 --- a/Felicity/DiscordCommands/Interactions/PbCommands.cs +++ b/Felicity/DiscordCommands/Interactions/PbCommands.cs @@ -69,4 +69,4 @@ public async Task PbRaids() await FollowupAsync(embed: embed.Build()); } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/RollFinderCommands.cs b/Felicity/DiscordCommands/Interactions/RollFinderCommands.cs index 580d51d..5318827 100644 --- a/Felicity/DiscordCommands/Interactions/RollFinderCommands.cs +++ b/Felicity/DiscordCommands/Interactions/RollFinderCommands.cs @@ -162,4 +162,4 @@ private string GetPerkList(Roll requestedRoll) return perkList.ToString(); } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/ServerCommands.cs b/Felicity/DiscordCommands/Interactions/ServerCommands.cs index f868a84..e958a46 100644 --- a/Felicity/DiscordCommands/Interactions/ServerCommands.cs +++ b/Felicity/DiscordCommands/Interactions/ServerCommands.cs @@ -2,7 +2,6 @@ using Discord.Interactions; using Discord.WebSocket; using Felicity.Models; -using Felicity.Services; using Felicity.Util; // ReSharper disable StringLiteralTypo @@ -101,7 +100,7 @@ private static string GetChannel(SocketGuild guild, ulong? channelId) return channelId == null ? "not set." : guild.GetTextChannel((ulong)channelId).Mention; } - [RequireContext(ContextType.Guild)] + /*[RequireContext(ContextType.Guild)] [Preconditions.RequireBotModerator] [Group("twitch", "Manage Twitch stream notifications for this server.")] public class TwitchNotifications : InteractionModuleBase @@ -172,5 +171,5 @@ public async Task ServerTwitchRemove( await FollowupAsync($"Successfully removed {Format.Bold(stream.TwitchName)}'s stream from server.", ephemeral: true); } - } -} \ No newline at end of file + }*/ +} diff --git a/Felicity/DiscordCommands/Interactions/StaffCommands.cs b/Felicity/DiscordCommands/Interactions/StaffCommands.cs index d378765..815f68c 100644 --- a/Felicity/DiscordCommands/Interactions/StaffCommands.cs +++ b/Felicity/DiscordCommands/Interactions/StaffCommands.cs @@ -9,4 +9,4 @@ namespace Felicity.DiscordCommands.Interactions; [Preconditions.RequireBotModerator] public class StaffCommands : InteractionModuleBase { -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/SupportCommands.cs b/Felicity/DiscordCommands/Interactions/SupportCommands.cs index 07ace0e..352c1d1 100644 --- a/Felicity/DiscordCommands/Interactions/SupportCommands.cs +++ b/Felicity/DiscordCommands/Interactions/SupportCommands.cs @@ -30,4 +30,4 @@ public async Task Support() await FollowupAsync(embed: embed.Build()); } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/UserCommands.cs b/Felicity/DiscordCommands/Interactions/UserCommands.cs index 8887b42..f133acd 100644 --- a/Felicity/DiscordCommands/Interactions/UserCommands.cs +++ b/Felicity/DiscordCommands/Interactions/UserCommands.cs @@ -58,4 +58,4 @@ public async Task UserRemove() await FollowupAsync(embed: embed.Build(), ephemeral: true); } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Interactions/VendorCommands.cs b/Felicity/DiscordCommands/Interactions/VendorCommands.cs index 0f1237e..8d08911 100644 --- a/Felicity/DiscordCommands/Interactions/VendorCommands.cs +++ b/Felicity/DiscordCommands/Interactions/VendorCommands.cs @@ -259,4 +259,4 @@ or DefinitionHashes.InventoryItems.ResetRank_1514009869 await FollowupAsync(embed: embed.Build()); } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Text/EmblemTextCommands.cs b/Felicity/DiscordCommands/Text/EmblemTextCommands.cs index 552f136..564310a 100644 --- a/Felicity/DiscordCommands/Text/EmblemTextCommands.cs +++ b/Felicity/DiscordCommands/Text/EmblemTextCommands.cs @@ -73,4 +73,4 @@ private List FetchAllEmblems() return knownEmblems; } -} \ No newline at end of file +} diff --git a/Felicity/DiscordCommands/Text/TestingTextCommands.cs b/Felicity/DiscordCommands/Text/TestingTextCommands.cs index 9aba19b..e7a379a 100644 --- a/Felicity/DiscordCommands/Text/TestingTextCommands.cs +++ b/Felicity/DiscordCommands/Text/TestingTextCommands.cs @@ -371,4 +371,4 @@ public async Task UpdateManifest() await msg.ModifyAsync(x => x.Content = "No update found."); } } -} \ No newline at end of file +} diff --git a/Felicity/Extensions/ServiceCollectionExtensions.cs b/Felicity/Extensions/ServiceCollectionExtensions.cs index a971d7e..e3b02df 100644 --- a/Felicity/Extensions/ServiceCollectionExtensions.cs +++ b/Felicity/Extensions/ServiceCollectionExtensions.cs @@ -37,4 +37,4 @@ public static IServiceCollection AddDiscord( .AddSingleton() .AddSingleton(textCommandService); } -} \ No newline at end of file +} diff --git a/Felicity/Felicity.csproj b/Felicity/Felicity.csproj index f6cacea..38319b3 100644 --- a/Felicity/Felicity.csproj +++ b/Felicity/Felicity.csproj @@ -9,25 +9,25 @@ - - + + - - - - + + + + - + - - - + + + - + diff --git a/Felicity/Models/Caches/EmoteCache.cs b/Felicity/Models/Caches/EmoteCache.cs index 5c87028..762311a 100644 --- a/Felicity/Models/Caches/EmoteCache.cs +++ b/Felicity/Models/Caches/EmoteCache.cs @@ -19,4 +19,4 @@ public class Emote public string? Name { get; set; } public ulong Id { get; set; } -} \ No newline at end of file +} diff --git a/Felicity/Models/Caches/GunsmithCache.cs b/Felicity/Models/Caches/GunsmithCache.cs index cca967d..e729d86 100644 --- a/Felicity/Models/Caches/GunsmithCache.cs +++ b/Felicity/Models/Caches/GunsmithCache.cs @@ -95,4 +95,4 @@ public static Embed BuildEmbed(GunsmithCache self, BaseSocketClient discordClien return gsCache; } -} \ No newline at end of file +} diff --git a/Felicity/Models/Caches/MementoCache.cs b/Felicity/Models/Caches/MementoCache.cs index 7d92ad5..693ec53 100644 --- a/Felicity/Models/Caches/MementoCache.cs +++ b/Felicity/Models/Caches/MementoCache.cs @@ -58,4 +58,4 @@ public enum MementoSource SeasonRisen, SeasonHaunted, ThroneWorld -} \ No newline at end of file +} diff --git a/Felicity/Models/Caches/ModCache.cs b/Felicity/Models/Caches/ModCache.cs index f631d01..08f9253 100644 --- a/Felicity/Models/Caches/ModCache.cs +++ b/Felicity/Models/Caches/ModCache.cs @@ -173,4 +173,4 @@ private static Task PopulateMods(IBungieClient bungieClient, ModCache return Task.FromResult(modCache); } -} \ No newline at end of file +} diff --git a/Felicity/Models/Caches/XurCache.cs b/Felicity/Models/Caches/XurCache.cs index 0a48e7e..13f7e07 100644 --- a/Felicity/Models/Caches/XurCache.cs +++ b/Felicity/Models/Caches/XurCache.cs @@ -338,4 +338,4 @@ public static void ClearCache() if (enumerateFile.StartsWith("xurCache")) File.Delete(enumerateFile); } -} \ No newline at end of file +} diff --git a/Felicity/Models/Checkpoints.cs b/Felicity/Models/Checkpoints.cs index c63c465..3d672a5 100644 --- a/Felicity/Models/Checkpoints.cs +++ b/Felicity/Models/Checkpoints.cs @@ -29,45 +29,60 @@ public class CheckpointParser public class Checkpoints { - [JsonPropertyName("official")] public Official[]? Official { get; set; } + [JsonPropertyName("official")] + public Official[]? Official { get; set; } - [JsonPropertyName("community")] public object Community { get; set; } + [JsonPropertyName("community")] + public object Community { get; set; } - [JsonPropertyName("alert")] public Alert Alert { get; set; } + [JsonPropertyName("alert")] + public Alert Alert { get; set; } } public class Alert { - [JsonPropertyName("alertActive")] public bool AlertActive { get; set; } + [JsonPropertyName("alertActive")] + public bool AlertActive { get; set; } - [JsonPropertyName("alertText")] public string AlertText { get; set; } + [JsonPropertyName("alertText")] + public string AlertText { get; set; } } public class Official { - [JsonPropertyName("name")] public string Name { get; set; } + [JsonPropertyName("name")] + public string Name { get; set; } - [JsonPropertyName("activity")] public string Activity { get; set; } + [JsonPropertyName("activity")] + public string Activity { get; set; } - [JsonPropertyName("activityHash")] public long ActivityHash { get; set; } + [JsonPropertyName("activityHash")] + public long ActivityHash { get; set; } - [JsonPropertyName("encounter")] public string Encounter { get; set; } + [JsonPropertyName("encounter")] + public string Encounter { get; set; } - [JsonPropertyName("players")] public int Players { get; set; } + [JsonPropertyName("players")] + public int Players { get; set; } - [JsonPropertyName("maxPlayers")] public int MaxPlayers { get; set; } + [JsonPropertyName("maxPlayers")] + public int MaxPlayers { get; set; } - [JsonPropertyName("difficultyTier")] public Difficulty DifficultyTier { get; set; } + [JsonPropertyName("difficultyTier")] + public Difficulty DifficultyTier { get; set; } - [JsonPropertyName("imgURL")] public string ImgUrl { get; set; } + [JsonPropertyName("imgURL")] + public string ImgUrl { get; set; } - [JsonPropertyName("iconURL")] public string IconUrl { get; set; } + [JsonPropertyName("iconURL")] + public string IconUrl { get; set; } - [JsonPropertyName("displayOrder")] public int DisplayOrder { get; set; } + [JsonPropertyName("displayOrder")] + public int DisplayOrder { get; set; } } public enum Difficulty { Normal = 2, Master = 3 -} \ No newline at end of file +} diff --git a/Felicity/Models/Clarity.cs b/Felicity/Models/Clarity.cs index d482aeb..1ba0604 100644 --- a/Felicity/Models/Clarity.cs +++ b/Felicity/Models/Clarity.cs @@ -9,17 +9,23 @@ namespace Felicity.Models; public class Clarity { - [JsonProperty("hash")] public long Hash { get; set; } + [JsonProperty("hash")] + public long Hash { get; set; } - [JsonProperty("name")] public string? Name { get; set; } + [JsonProperty("name")] + public string? Name { get; set; } - [JsonProperty("lastUpdate")] public long LastUpdate { get; set; } + [JsonProperty("lastUpdate")] + public long LastUpdate { get; set; } - [JsonProperty("updatedBy")] public string? UpdatedBy { get; set; } + [JsonProperty("updatedBy")] + public string? UpdatedBy { get; set; } - [JsonProperty("type")] public TypeEnum Type { get; set; } + [JsonProperty("type")] + public TypeEnum Type { get; set; } - [JsonProperty("description")] public string? Description { get; set; } + [JsonProperty("description")] + public string? Description { get; set; } [JsonProperty("stats", NullValueHandling = NullValueHandling.Ignore)] public Stats? Stats { get; set; } @@ -72,7 +78,8 @@ public class Stats public class StatType { - [JsonProperty("stat")] public long[]? Stat { get; set; } + [JsonProperty("stat")] + public long[]? Stat { get; set; } [JsonProperty("multiplier", NullValueHandling = NullValueHandling.Ignore)] public double[]? Multiplier { get; set; } @@ -297,4 +304,4 @@ public override void WriteJson(JsonWriter writer, object? untypedValue, JsonSeri throw new Exception("Cannot marshal type TypeEnum"); } } -} \ No newline at end of file +} diff --git a/Felicity/Models/CommandsInfo/CommandInfo.cs b/Felicity/Models/CommandsInfo/CommandInfo.cs index 54cf787..44e4606 100644 --- a/Felicity/Models/CommandsInfo/CommandInfo.cs +++ b/Felicity/Models/CommandsInfo/CommandInfo.cs @@ -18,4 +18,4 @@ public CommandInfo(string path, string desc) public string CommandPath { get; } public string CommandDescription { get; } public List ParametersInfo { get; } -} \ No newline at end of file +} diff --git a/Felicity/Models/CommandsInfo/CommandParameterInfo.cs b/Felicity/Models/CommandsInfo/CommandParameterInfo.cs index bc850f9..1eb092a 100644 --- a/Felicity/Models/CommandsInfo/CommandParameterInfo.cs +++ b/Felicity/Models/CommandsInfo/CommandParameterInfo.cs @@ -15,4 +15,4 @@ public class CommandParameterInfo public object DefaultValue { get; set; } public bool IsAutocomplete { get; set; } public bool IsSelect { get; set; } -} \ No newline at end of file +} diff --git a/Felicity/Models/Metric.cs b/Felicity/Models/Metric.cs index e991664..890dbbb 100644 --- a/Felicity/Models/Metric.cs +++ b/Felicity/Models/Metric.cs @@ -5,7 +5,9 @@ namespace Felicity.Models; public class Metric { - [Key] public int Id { get; set; } + [Key] + public int Id { get; set; } + public int TimeStamp { get; set; } public string Author { get; set; } = string.Empty; public string Name { get; set; } = string.Empty; @@ -29,4 +31,4 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) if (_connectionString != null) optionsBuilder.UseMySql(_connectionString, serverVersion, builder => builder.EnableRetryOnFailure()); } -} \ No newline at end of file +} diff --git a/Felicity/Models/RecommendedRolls.cs b/Felicity/Models/RecommendedRolls.cs index 6f67255..dd57cff 100644 --- a/Felicity/Models/RecommendedRolls.cs +++ b/Felicity/Models/RecommendedRolls.cs @@ -13,22 +13,29 @@ namespace Felicity.Models; public partial class NewWeaponRoll { - [JsonPropertyName("weaponRolls")] public List WeaponRolls { get; set; } + [JsonPropertyName("weaponRolls")] + public List WeaponRolls { get; set; } } public class WeaponRoll { - [JsonPropertyName("weaponHash")] public uint WeaponHash { get; set; } + [JsonPropertyName("weaponHash")] + public uint WeaponHash { get; set; } - [JsonPropertyName("authorId")] public int AuthorId { get; set; } + [JsonPropertyName("authorId")] + public int AuthorId { get; set; } - [JsonPropertyName("source")] public int Source { get; set; } + [JsonPropertyName("source")] + public int Source { get; set; } - [JsonPropertyName("notes")] public string? Notes { get; set; } + [JsonPropertyName("notes")] + public string? Notes { get; set; } - [JsonPropertyName("perks")] public List Perks { get; set; } + [JsonPropertyName("perks")] + public List Perks { get; set; } - [JsonPropertyName("canDrop")] public bool CanDrop { get; set; } + [JsonPropertyName("canDrop")] + public bool CanDrop { get; set; } } public partial class NewWeaponRoll @@ -124,4 +131,4 @@ public static class ProcessRollData await using var stream = File.OpenRead(JsonFile); return await JsonSerializer.DeserializeAsync(stream); } -} \ No newline at end of file +} diff --git a/Felicity/Models/Server.cs b/Felicity/Models/Server.cs index b5822ca..c403498 100644 --- a/Felicity/Models/Server.cs +++ b/Felicity/Models/Server.cs @@ -10,7 +10,8 @@ namespace Felicity.Models; public class Server { - [Key] public ulong ServerId { get; set; } + [Key] + public ulong ServerId { get; set; } public BungieLocales BungieLocale { get; set; } public ulong? AnnouncementChannel { get; set; } @@ -43,4 +44,4 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) if (_connectionString != null) optionsBuilder.UseMySql(_connectionString, serverVersion, builder => builder.EnableRetryOnFailure()); } -} \ No newline at end of file +} diff --git a/Felicity/Models/TwitchStream.cs b/Felicity/Models/TwitchStream.cs index 27f3dcc..46d1922 100644 --- a/Felicity/Models/TwitchStream.cs +++ b/Felicity/Models/TwitchStream.cs @@ -52,4 +52,4 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) if (_connectionString != null) optionsBuilder.UseMySql(_connectionString, serverVersion, builder => builder.EnableRetryOnFailure()); } -} \ No newline at end of file +} diff --git a/Felicity/Models/User.cs b/Felicity/Models/User.cs index 6abae9b..4e9fae2 100644 --- a/Felicity/Models/User.cs +++ b/Felicity/Models/User.cs @@ -11,7 +11,8 @@ namespace Felicity.Models; public class User { - [Key] public ulong DiscordId { get; set; } + [Key] + public ulong DiscordId { get; set; } public string OAuthToken { get; set; } = string.Empty; public DateTime OAuthTokenExpires { get; set; } @@ -69,4 +70,4 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) if (_connectionString != null) optionsBuilder.UseMySql(_connectionString, serverVersion, builder => builder.EnableRetryOnFailure()); } -} \ No newline at end of file +} diff --git a/Felicity/Options/BungieApiOptions.cs b/Felicity/Options/BungieApiOptions.cs index c7488cc..ed54a01 100644 --- a/Felicity/Options/BungieApiOptions.cs +++ b/Felicity/Options/BungieApiOptions.cs @@ -9,4 +9,4 @@ public class BungieApiOptions public string? ClientSecret { get; set; } public string? ManifestPath { get; set; } public string? EmblemReportApiKey { get; set; } -} \ No newline at end of file +} diff --git a/Felicity/Options/DiscordBotOptions.cs b/Felicity/Options/DiscordBotOptions.cs index 11cfc74..c42ac05 100644 --- a/Felicity/Options/DiscordBotOptions.cs +++ b/Felicity/Options/DiscordBotOptions.cs @@ -13,4 +13,4 @@ public class DiscordBotOptions public Func LogFormat { get; set; } = (message, _) => $"{message.Source}: {message.Message}"; -} \ No newline at end of file +} diff --git a/Felicity/Options/TwitchOptions.cs b/Felicity/Options/TwitchOptions.cs index 446d330..499354d 100644 --- a/Felicity/Options/TwitchOptions.cs +++ b/Felicity/Options/TwitchOptions.cs @@ -4,4 +4,4 @@ public class TwitchOptions { public string? AccessToken { get; set; } public string? ClientId { get; set; } -} \ No newline at end of file +} diff --git a/Felicity/Program.cs b/Felicity/Program.cs index de1ca72..21484aa 100644 --- a/Felicity/Program.cs +++ b/Felicity/Program.cs @@ -128,8 +128,8 @@ .AddHostedService() .AddSingleton>(); - builder.Services.Configure(builder.Configuration.GetSection("Twitch")).AddSingleton(); - builder.Services.AddHostedService(); + // builder.Services.Configure(builder.Configuration.GetSection("Twitch")).AddSingleton(); + // builder.Services.AddHostedService(); builder.Services.AddHostedService(); builder.Services.AddHostedService(); @@ -204,4 +204,4 @@ static void EnsureDirectoryExists(string path) { if (!Directory.Exists(path)) Directory.CreateDirectory(path); -} \ No newline at end of file +} diff --git a/Felicity/Services/BungieAuthCacheService.cs b/Felicity/Services/BungieAuthCacheService.cs index 3c94753..28fb50a 100644 --- a/Felicity/Services/BungieAuthCacheService.cs +++ b/Felicity/Services/BungieAuthCacheService.cs @@ -33,4 +33,4 @@ public static bool GetByIdAndRemove(long id, { return _authContexts.TryRemove(id, out context); } -} \ No newline at end of file +} diff --git a/Felicity/Services/Hosted/BungieClientStartupService.cs b/Felicity/Services/Hosted/BungieClientStartupService.cs index 7971b46..b15ac5f 100644 --- a/Felicity/Services/Hosted/BungieClientStartupService.cs +++ b/Felicity/Services/Hosted/BungieClientStartupService.cs @@ -27,4 +27,4 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken) _logger.LogError(e, "Exception in BungieClientStartupService"); } } -} \ No newline at end of file +} diff --git a/Felicity/Services/Hosted/CommandsInfoService.cs b/Felicity/Services/Hosted/CommandsInfoService.cs index 17cfe5f..f214c79 100644 --- a/Felicity/Services/Hosted/CommandsInfoService.cs +++ b/Felicity/Services/Hosted/CommandsInfoService.cs @@ -76,4 +76,4 @@ public void Initialize() CommandsInfo = new ReadOnlyCollection(commandsInfo); } -} \ No newline at end of file +} diff --git a/Felicity/Services/Hosted/DiscordStartupService.cs b/Felicity/Services/Hosted/DiscordStartupService.cs index 920fd57..6736724 100644 --- a/Felicity/Services/Hosted/DiscordStartupService.cs +++ b/Felicity/Services/Hosted/DiscordStartupService.cs @@ -356,4 +356,4 @@ private Task WaitForReadyAsync(CancellationToken cancellationToken) return _taskCompletionSource.Task.ContinueWith(_ => registration.DisposeAsync(), cancellationToken); } -} \ No newline at end of file +} diff --git a/Felicity/Services/Hosted/Interfaces/ICommandsInfoService.cs b/Felicity/Services/Hosted/Interfaces/ICommandsInfoService.cs index e709a5c..08547ad 100644 --- a/Felicity/Services/Hosted/Interfaces/ICommandsInfoService.cs +++ b/Felicity/Services/Hosted/Interfaces/ICommandsInfoService.cs @@ -7,4 +7,4 @@ public interface ICommandsInfoService { ReadOnlyCollection CommandsInfo { get; } void Initialize(); -} \ No newline at end of file +} diff --git a/Felicity/Services/Hosted/ResetService.cs b/Felicity/Services/Hosted/ResetService.cs index 6728405..6bcc923 100644 --- a/Felicity/Services/Hosted/ResetService.cs +++ b/Felicity/Services/Hosted/ResetService.cs @@ -62,4 +62,4 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken) _logger.LogError(e, "Exception in ResetService"); } } -} \ No newline at end of file +} diff --git a/Felicity/Services/Hosted/StatusService.cs b/Felicity/Services/Hosted/StatusService.cs index 43aef3e..1fb21b5 100644 --- a/Felicity/Services/Hosted/StatusService.cs +++ b/Felicity/Services/Hosted/StatusService.cs @@ -77,4 +77,4 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken) _logger.LogError(e, "Exception in StatusService"); } } -} \ No newline at end of file +} diff --git a/Felicity/Services/Hosted/TwitchStartupService.cs b/Felicity/Services/Hosted/TwitchStartupService.cs index 893f398..f5ea371 100644 --- a/Felicity/Services/Hosted/TwitchStartupService.cs +++ b/Felicity/Services/Hosted/TwitchStartupService.cs @@ -26,4 +26,4 @@ protected override Task ExecuteAsync(CancellationToken stoppingToken) return Task.CompletedTask; } -} \ No newline at end of file +} diff --git a/Felicity/Services/TwitchService.cs b/Felicity/Services/TwitchService.cs index ad496e2..83ab42e 100644 --- a/Felicity/Services/TwitchService.cs +++ b/Felicity/Services/TwitchService.cs @@ -309,4 +309,4 @@ public void RestartMonitor() Log.Information("Restarted TwitchMonitor."); } -} \ No newline at end of file +} diff --git a/Felicity/Util/AutoCompletes.cs b/Felicity/Util/AutoCompletes.cs index 79b31d1..ec15c09 100644 --- a/Felicity/Util/AutoCompletes.cs +++ b/Felicity/Util/AutoCompletes.cs @@ -243,4 +243,4 @@ public override async Task GenerateSuggestionsAsync( ? autocompleteList : autocompleteList.OrderBy(x => x.Name)); } -} \ No newline at end of file +} diff --git a/Felicity/Util/BotVariables.cs b/Felicity/Util/BotVariables.cs index c3ab0ab..fdd99a2 100644 --- a/Felicity/Util/BotVariables.cs +++ b/Felicity/Util/BotVariables.cs @@ -48,4 +48,4 @@ public static class Images public const string SaintVendorLogo = "https://cdn.tryfelicity.one/bungie_assets/VendorSaint.png"; public const string XurVendorLogo = "https://cdn.tryfelicity.one/bungie_assets/VendorXur.png"; } -} \ No newline at end of file +} diff --git a/Felicity/Util/BungieAPIUtils.cs b/Felicity/Util/BungieAPIUtils.cs index 1eccb4a..4587ed8 100644 --- a/Felicity/Util/BungieAPIUtils.cs +++ b/Felicity/Util/BungieAPIUtils.cs @@ -98,4 +98,4 @@ public static async Task ForceRefresh(IBungieClient client, UserDb userDb) await userDb.SaveChangesAsync(); } -} \ No newline at end of file +} diff --git a/Felicity/Util/Embeds.cs b/Felicity/Util/Embeds.cs index 1d14e36..81f7f1a 100644 --- a/Felicity/Util/Embeds.cs +++ b/Felicity/Util/Embeds.cs @@ -68,4 +68,4 @@ public static EmbedBuilder MakeErrorEmbed() return builder; } -} \ No newline at end of file +} diff --git a/Felicity/Util/EmblemReport.cs b/Felicity/Util/EmblemReport.cs index 417053b..76112c2 100644 --- a/Felicity/Util/EmblemReport.cs +++ b/Felicity/Util/EmblemReport.cs @@ -11,16 +11,20 @@ public class EmblemReport { public partial class EmblemResponse { - [JsonPropertyName("data")] public List Data { get; set; } = null!; + [JsonPropertyName("data")] + public List Data { get; set; } = null!; } public class Datum { - [JsonPropertyName("collectible_hash")] public uint CollectibleHash { get; set; } + [JsonPropertyName("collectible_hash")] + public uint CollectibleHash { get; set; } - [JsonPropertyName("acquisition")] public long Acquisition { get; set; } + [JsonPropertyName("acquisition")] + public long Acquisition { get; set; } - [JsonPropertyName("percentage")] public double Percentage { get; set; } + [JsonPropertyName("percentage")] + public double Percentage { get; set; } } public partial class EmblemResponse @@ -30,4 +34,4 @@ public partial class EmblemResponse return JsonSerializer.Deserialize(json); } } -} \ No newline at end of file +} diff --git a/Felicity/Util/EmoteHelper.cs b/Felicity/Util/EmoteHelper.cs index c2136da..f80212f 100644 --- a/Felicity/Util/EmoteHelper.cs +++ b/Felicity/Util/EmoteHelper.cs @@ -172,4 +172,4 @@ public static string GetItemType(DestinyItemSubType? weaponDestinyItemType) return result != string.Empty ? result : "<:CS:996724235634491523> "; } -} \ No newline at end of file +} diff --git a/Felicity/Util/Enums/Craftables.cs b/Felicity/Util/Enums/Craftables.cs index f7bbce1..709455b 100644 --- a/Felicity/Util/Enums/Craftables.cs +++ b/Felicity/Util/Enums/Craftables.cs @@ -7,6 +7,26 @@ internal static class Craftables { public static readonly Dictionary> CraftableList = new() { + { + CraftSource.SeasonWish, new List + { + DefinitionHashes.Records.Appetence, + DefinitionHashes.Records.DoomedPetitioner, + DefinitionHashes.Records.Lethophobia, + DefinitionHashes.Records.ScalarPotential, + DefinitionHashes.Records.ScatterSignal, + DefinitionHashes.Records.Supercluster + } + }, + { + CraftSource.SeasonUndying, new List + { + DefinitionHashes.Records.Adhortative, + DefinitionHashes.Records.Imperative, + DefinitionHashes.Records.Subjunctive, + DefinitionHashes.Records.Optative + } + }, { CraftSource.RaidCe, new List { @@ -234,6 +254,26 @@ internal static class Craftables public static readonly Dictionary> CraftedList = new() { + { + CraftSource.SeasonWish, new List + { + DefinitionHashes.InventoryItems.Appetence_4153087276, + DefinitionHashes.InventoryItems.DoomedPetitioner_1501688142, + DefinitionHashes.InventoryItems.Lethophobia_3710082365, + DefinitionHashes.InventoryItems.ScalarPotential_2563668388, + DefinitionHashes.InventoryItems.ScatterSignal_2558925366, + DefinitionHashes.InventoryItems.Supercluster_92459755 + } + }, + { + CraftSource.SeasonUndying, new List + { + DefinitionHashes.InventoryItems.Adhortative_2993554824, + DefinitionHashes.InventoryItems.Imperative_2045811635, + DefinitionHashes.InventoryItems.Subjunctive_1447836603, + DefinitionHashes.InventoryItems.Optative_2817683783 + } + }, { CraftSource.RaidCe, new List { @@ -321,10 +361,10 @@ internal static class Craftables { DefinitionHashes.InventoryItems.Disparity_1751893422, DefinitionHashes.InventoryItems.FireandForget_2272041093, - DefinitionHashes.InventoryItems.IKELOS_HC_v103_1731355324, + DefinitionHashes.InventoryItems.IKELOS_HC_v103, DefinitionHashes.InventoryItems.IKELOS_SG_v103, DefinitionHashes.InventoryItems.IKELOS_SMG_v103, - DefinitionHashes.InventoryItems.IKELOS_SR_v103_2302346155, + DefinitionHashes.InventoryItems.IKELOS_SR_v103, DefinitionHashes.InventoryItems.JudgmentofKelgorath_2978226043, DefinitionHashes.InventoryItems.PathofLeastResistance_2827764482, DefinitionHashes.InventoryItems.RetrofitEscapade_3103325054, @@ -463,6 +503,16 @@ public static uint GetWeaponId(uint recordDefinitionHash) { return recordDefinitionHash switch { + DefinitionHashes.Records.Appetence => DefinitionHashes.InventoryItems.Appetence_4153087276, + DefinitionHashes.Records.DoomedPetitioner => DefinitionHashes.InventoryItems.DoomedPetitioner_1501688142, + DefinitionHashes.Records.Lethophobia => DefinitionHashes.InventoryItems.Lethophobia_3710082365, + DefinitionHashes.Records.ScalarPotential => DefinitionHashes.InventoryItems.ScalarPotential_2563668388, + DefinitionHashes.Records.ScatterSignal => DefinitionHashes.InventoryItems.ScatterSignal_2558925366, + DefinitionHashes.Records.Supercluster => DefinitionHashes.InventoryItems.Supercluster_92459755, + DefinitionHashes.Records.Adhortative => DefinitionHashes.InventoryItems.Adhortative_2993554824, + DefinitionHashes.Records.Imperative => DefinitionHashes.InventoryItems.Imperative_2045811635, + DefinitionHashes.Records.Subjunctive => DefinitionHashes.InventoryItems.Subjunctive_1447836603, + DefinitionHashes.Records.Optative => DefinitionHashes.InventoryItems.Optative_2817683783, DefinitionHashes.Records.AbyssDefiant => DefinitionHashes.InventoryItems.AbyssDefiant_833898322, DefinitionHashes.Records.FangofIrYût => DefinitionHashes.InventoryItems.FangofIrYût_1432682459, DefinitionHashes.Records.OversoulEdict => DefinitionHashes.InventoryItems.OversoulEdict_1098171824, @@ -572,10 +622,10 @@ public static uint GetWeaponId(uint recordDefinitionHash) DefinitionHashes.Records.VoltaBracket => DefinitionHashes.InventoryItems.VoltaBracket_3920310144, DefinitionHashes.Records.Disparity => DefinitionHashes.InventoryItems.Disparity_1751893422, DefinitionHashes.Records.FireandForget => DefinitionHashes.InventoryItems.FireandForget_2272041093, - DefinitionHashes.Records.IKELOS_HC_v103 => DefinitionHashes.InventoryItems.IKELOS_HC_v103_1731355324, + DefinitionHashes.Records.IKELOS_HC_v103 => DefinitionHashes.InventoryItems.IKELOS_HC_v103, DefinitionHashes.Records.IKELOS_SG_v103 => DefinitionHashes.InventoryItems.IKELOS_SG_v103, DefinitionHashes.Records.IKELOS_SMG_v103 => DefinitionHashes.InventoryItems.IKELOS_SMG_v103, - DefinitionHashes.Records.IKELOS_SR_v103 => DefinitionHashes.InventoryItems.IKELOS_SR_v103_2302346155, + DefinitionHashes.Records.IKELOS_SR_v103 => DefinitionHashes.InventoryItems.IKELOS_SR_v103, DefinitionHashes.Records.JudgmentofKelgorath => DefinitionHashes.InventoryItems .JudgmentofKelgorath_2978226043, DefinitionHashes.Records.PathofLeastResistance => DefinitionHashes.InventoryItems @@ -631,9 +681,11 @@ private static class CraftSource public const string SeasonPlunder = "Plunder"; public const string SeasonRisen = "Risen"; public const string SeasonSeraph = "Seraph"; + public const string SeasonUndying = "Undying"; + public const string SeasonWish = "Wish"; public const string SeasonWitch = "Witch"; public const string Unknown = "Quest / Unknown"; public const string Wq = "Witch Queen"; public const string WqWellspring = "Wellspring"; } -} \ No newline at end of file +} diff --git a/Felicity/Util/Enums/EmblemCats.cs b/Felicity/Util/Enums/EmblemCats.cs index b9f3674..b183cc7 100644 --- a/Felicity/Util/Enums/EmblemCats.cs +++ b/Felicity/Util/Enums/EmblemCats.cs @@ -27,4 +27,4 @@ internal static class EmblemCats EmblemCat.Trials, EmblemCat.Raids }; -} \ No newline at end of file +} diff --git a/Felicity/Util/Enums/LootTables.cs b/Felicity/Util/Enums/LootTables.cs index 4ce1cf9..5784d16 100644 --- a/Felicity/Util/Enums/LootTables.cs +++ b/Felicity/Util/Enums/LootTables.cs @@ -687,4 +687,4 @@ public static class LootTables } } }; -} \ No newline at end of file +} diff --git a/Felicity/Util/Enums/Wishes.cs b/Felicity/Util/Enums/Wishes.cs index 9e55540..5cb159f 100644 --- a/Felicity/Util/Enums/Wishes.cs +++ b/Felicity/Util/Enums/Wishes.cs @@ -41,4 +41,4 @@ internal class Wish public string? Name { get; init; } public string? Description { get; init; } public int Number { get; init; } -} \ No newline at end of file +} diff --git a/Felicity/Util/HttpClientInstance.cs b/Felicity/Util/HttpClientInstance.cs index 625c08f..b0131a4 100644 --- a/Felicity/Util/HttpClientInstance.cs +++ b/Felicity/Util/HttpClientInstance.cs @@ -5,4 +5,4 @@ public static class HttpClientInstance private static readonly HttpClient? _httpClient; public static HttpClient Instance => _httpClient ?? new HttpClient(); -} \ No newline at end of file +} diff --git a/Felicity/Util/LogAdapter.cs b/Felicity/Util/LogAdapter.cs index e2304cc..2bd9446 100644 --- a/Felicity/Util/LogAdapter.cs +++ b/Felicity/Util/LogAdapter.cs @@ -34,4 +34,4 @@ private static LogLevel GetLogLevel(LogSeverity severity) _ => throw new ArgumentOutOfRangeException(nameof(severity), severity, null) }; } -} \ No newline at end of file +} diff --git a/Felicity/Util/MiscUtils.cs b/Felicity/Util/MiscUtils.cs index 3684ff5..5fa45ac 100644 --- a/Felicity/Util/MiscUtils.cs +++ b/Felicity/Util/MiscUtils.cs @@ -49,4 +49,4 @@ public static BungieLocales GetLanguage(SocketGuild? contextGuild, ServerDb serv return serverDb.Servers.FirstOrDefault(x => x.ServerId == contextGuild.Id)?.BungieLocale ?? BungieLocales.EN; } -} \ No newline at end of file +} diff --git a/Felicity/Util/Preconditions.cs b/Felicity/Util/Preconditions.cs index 595f26b..4a96a6e 100644 --- a/Felicity/Util/Preconditions.cs +++ b/Felicity/Util/Preconditions.cs @@ -82,4 +82,4 @@ public override async Task CheckRequirementsAsync( return PreconditionResult.FromError(errorEmbed.Description); } } -} \ No newline at end of file +} diff --git a/Felicity/Util/ProfileHelper.cs b/Felicity/Util/ProfileHelper.cs index 82c050f..b99ffa9 100644 --- a/Felicity/Util/ProfileHelper.cs +++ b/Felicity/Util/ProfileHelper.cs @@ -58,4 +58,4 @@ public class ProfileResponse public BungieMembershipType MembershipType { get; set; } public string? BungieName { get; set; } } -} \ No newline at end of file +} diff --git a/Felicity/Util/ResetUtils.cs b/Felicity/Util/ResetUtils.cs index a264cf6..2bda17b 100644 --- a/Felicity/Util/ResetUtils.cs +++ b/Felicity/Util/ResetUtils.cs @@ -54,4 +54,4 @@ public static DateTime GetNextWeeklyReset(DayOfWeek day) var dayNumber = ConvertDayOfWeekToInt(day); return GetNextWeeklyReset(dayNumber); } -} \ No newline at end of file +} diff --git a/Felicity/Util/WeaponHelper.cs b/Felicity/Util/WeaponHelper.cs index b36489e..4f12284 100644 --- a/Felicity/Util/WeaponHelper.cs +++ b/Felicity/Util/WeaponHelper.cs @@ -125,4 +125,4 @@ public static int TotalStats(Stats exoticArmorStats) return exoticArmorStats.Mobility + exoticArmorStats.Resilience + exoticArmorStats.Recovery + exoticArmorStats.Discipline + exoticArmorStats.Intellect + exoticArmorStats.Strength; } -} \ No newline at end of file +}