diff --git a/EpinelPS/EpinelPS.csproj b/EpinelPS/EpinelPS.csproj index 5623047..ec90aca 100644 --- a/EpinelPS/EpinelPS.csproj +++ b/EpinelPS/EpinelPS.csproj @@ -9,6 +9,7 @@ true true True + $(NoWarn);SYSLIB0057 0.1.4.2 diff --git a/EpinelPS/LobbyServer/Character/DoLimitBreak.cs b/EpinelPS/LobbyServer/Character/DoLimitBreak.cs index c714c52..898ed90 100644 --- a/EpinelPS/LobbyServer/Character/DoLimitBreak.cs +++ b/EpinelPS/LobbyServer/Character/DoLimitBreak.cs @@ -17,7 +17,7 @@ namespace EpinelPS.LobbyServer.Character // Get all character data from the game's character table var fullchardata = GameData.Instance.characterTable.Values.ToList(); - var targetCharacter = user.GetCharacterBySerialNumber(req.Csn); + var targetCharacter = user.GetCharacterBySerialNumber(req.Csn) ?? throw new NullReferenceException(); // Find the element with the current csn from the request var currentCharacter = fullchardata.FirstOrDefault(c => c.id == targetCharacter.Tid) ?? throw new NullReferenceException(); diff --git a/EpinelPS/LobbyServer/Gacha/ExecuteEventGacha.cs b/EpinelPS/LobbyServer/Gacha/ExecuteEventGacha.cs index b4e3ffb..41c9edf 100644 --- a/EpinelPS/LobbyServer/Gacha/ExecuteEventGacha.cs +++ b/EpinelPS/LobbyServer/Gacha/ExecuteEventGacha.cs @@ -207,7 +207,11 @@ namespace EpinelPS.LobbyServer.Gacha } // Fallback to a random R character if somehow no SSR characters are left after exclusion - return availableRCharacters.Any() ? availableRCharacters[random.Next(availableRCharacters.Count)] : null; + if (!availableRCharacters.Any()) + { + throw new InvalidOperationException("No available characters found for gacha pull"); + } + return availableRCharacters[random.Next(availableRCharacters.Count)]; } } } \ No newline at end of file diff --git a/EpinelPS/Program.cs b/EpinelPS/Program.cs index 12cff9e..8271088 100644 --- a/EpinelPS/Program.cs +++ b/EpinelPS/Program.cs @@ -39,7 +39,7 @@ namespace EpinelPS { SslProtocols = System.Security.Authentication.SslProtocols.Tls12, ClientCertificateMode = ClientCertificateMode.AllowCertificate, - ServerCertificate = new X509Certificate2(AppDomain.CurrentDomain.BaseDirectory + @"site.pfx") + ServerCertificate = new X509Certificate2(File.ReadAllBytes(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "site.pfx"))) }; builder.WebHost.ConfigureKestrel(serverOptions => diff --git a/EpinelPS/Utils/ColorConsoleLoggerProvider.cs b/EpinelPS/Utils/ColorConsoleLoggerProvider.cs index 3a15d7b..2b0b9b9 100644 --- a/EpinelPS/Utils/ColorConsoleLoggerProvider.cs +++ b/EpinelPS/Utils/ColorConsoleLoggerProvider.cs @@ -21,7 +21,7 @@ namespace EpinelPS.Utils } public ILogger CreateLogger(string categoryName) => - _loggers.GetOrAdd(categoryName, name => new ColorConsoleLogger(name, GetCurrentConfig)); + _loggers.GetOrAdd(categoryName, _ => new ColorConsoleLogger(GetCurrentConfig)); private ColorConsoleLoggerConfiguration GetCurrentConfig() => _currentConfig; @@ -40,7 +40,7 @@ namespace EpinelPS.Utils [LogLevel.Information] = ConsoleColor.Green }; } - public sealed class ColorConsoleLogger(string name, Func getCurrentConfig) : ILogger + public sealed class ColorConsoleLogger(Func getCurrentConfig) : ILogger { public IDisposable? BeginScope(TState state) where TState : notnull => default!; diff --git a/ServerSelector/ServerSelector.csproj b/ServerSelector/ServerSelector.csproj index 2fd1568..959916d 100644 --- a/ServerSelector/ServerSelector.csproj +++ b/ServerSelector/ServerSelector.csproj @@ -2,6 +2,7 @@ net9.0 enable + $(NoWarn);SYSLIB0057 latest