Fixed claimed waifu decay that was introduced in a recent patch.
Cleaned up a little bit in marmalade loading. Clean marmalade unloading will be broken for a while probably
This commit is contained in:
parent
4659da224b
commit
4afa604a1b
2 changed files with 27 additions and 15 deletions
|
@ -577,7 +577,7 @@ public class WaifuService : IEService, IReadyExecutor
|
|||
{
|
||||
await using var uow = _db.GetDbContext();
|
||||
await uow.GetTable<WaifuInfo>()
|
||||
.Where(x => x.Price > minPrice && x.ClaimerId == null)
|
||||
.Where(x => x.Price > minPrice && x.ClaimerId != null)
|
||||
.UpdateAsync(old => new()
|
||||
{
|
||||
Price = (long)(old.Price * claimedMulti)
|
||||
|
|
|
@ -250,6 +250,7 @@ public sealed class MarmaladeLoaderService : IMarmaladeLoaderService, IReadyExec
|
|||
}
|
||||
catch (Exception ex) when (ex is FileNotFoundException or BadImageFormatException)
|
||||
{
|
||||
Log.Error(ex, "An error occurred loading a marmalade");
|
||||
return MarmaladeLoadResult.NotFound;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
@ -334,23 +335,34 @@ public sealed class MarmaladeLoaderService : IMarmaladeLoaderService, IReadyExec
|
|||
var a = ctx.LoadFromAssemblyPath(Path.GetFullPath(path));
|
||||
// ctx.LoadDependencies(a);
|
||||
|
||||
iocModule = null;
|
||||
// load services
|
||||
iocModule = new MarmaladeNinjectIocModule(_cont, a, safeName);
|
||||
iocModule.Load();
|
||||
|
||||
var sis = LoadCanariesFromAssembly(safeName, a);
|
||||
typeReaders = LoadTypeReadersFromAssembly(a, strings);
|
||||
|
||||
if (sis.Count == 0)
|
||||
try
|
||||
{
|
||||
iocModule.Unload();
|
||||
return false;
|
||||
iocModule = new MarmaladeNinjectIocModule(_cont, a, safeName);
|
||||
iocModule.Load();
|
||||
|
||||
var sis = LoadCanariesFromAssembly(safeName, a);
|
||||
typeReaders = LoadTypeReadersFromAssembly(a, strings);
|
||||
|
||||
if (sis.Count == 0)
|
||||
{
|
||||
iocModule.Unload();
|
||||
ctx.Unload();
|
||||
return false;
|
||||
}
|
||||
|
||||
ctxWr = new(ctx);
|
||||
canaryData = sis;
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
iocModule?.Unload();
|
||||
ctx.Unload();
|
||||
throw;
|
||||
}
|
||||
|
||||
ctxWr = new(ctx);
|
||||
canaryData = sis;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static readonly Type _paramParserType = typeof(ParamParser<>);
|
||||
|
|
Loading…
Reference in a new issue