feat(packs): add PackDraw* tables and IsEnabled column
Three new EF entities and a migration:
- PackDrawConfigEntry (per-pack: animation rate, has-bonus flag, special-kind label)
- PackDrawSlotRateEntry (pack/slot/tier -> rate, unique index)
- PackDrawCardWeightEntry (per-card-rate facts incl rate-less rows)
DrawSlot {General, Eighth, Bonus} and DrawTier {Bronze, Silver, Gold, Legendary, Special}.
Special collapses leader_card and limited_time_leader (verified mutually exclusive per pack).
IsEnabled column on PackConfigEntry — admin gate for synthesized stubs, distinct from
the wire-mirror IsHide.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
8
SVSim.Database/Enums/DrawSlot.cs
Normal file
8
SVSim.Database/Enums/DrawSlot.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace SVSim.Database.Enums;
|
||||
|
||||
public enum DrawSlot
|
||||
{
|
||||
General = 0,
|
||||
Eighth = 1,
|
||||
Bonus = 2,
|
||||
}
|
||||
16
SVSim.Database/Enums/DrawTier.cs
Normal file
16
SVSim.Database/Enums/DrawTier.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
namespace SVSim.Database.Enums;
|
||||
|
||||
/// <summary>
|
||||
/// Per-draw page tier the slot rolls into. Distinct from card-master <see cref="Rarity"/>:
|
||||
/// for the four base values they line up, but <c>Special</c> covers the per-pack
|
||||
/// "Leader Card" / "Limited-Time Leader" tiers — its cards are typically Rarity.Legendary
|
||||
/// with the IsLeader printing flag set.
|
||||
/// </summary>
|
||||
public enum DrawTier
|
||||
{
|
||||
Bronze = 0,
|
||||
Silver = 1,
|
||||
Gold = 2,
|
||||
Legendary = 3,
|
||||
Special = 4,
|
||||
}
|
||||
Reference in New Issue
Block a user