feat(packs): split TryGetFoilTwin into ICardFoilLookup

Extracts the foil-twin lookup from ICardPoolProvider into a dedicated
ICardFoilLookup service. PackOpenService takes the lookup as a
parameter; the legacy DbCardPoolProvider stays registered until T12
removes it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-05-30 21:53:59 -04:00
parent 3c36124fa7
commit 0169ec57b4
3 changed files with 27 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
using SVSim.Database;
using SVSim.Database.Models;
namespace SVSim.EmulatedEntrypoint.Services;
public class DbCardFoilLookup : ICardFoilLookup
{
private readonly SVSimDbContext _db;
public DbCardFoilLookup(SVSimDbContext db) { _db = db; }
public ShadowverseCardEntry? TryGetFoilTwin(long baseCardId) =>
_db.Cards.FirstOrDefault(c => c.Id == baseCardId + 1 && c.IsFoil);
}