using System.ComponentModel.DataAnnotations.Schema;
using SVSim.Database.Common;
using SVSim.Database.Enums;

namespace SVSim.Database.Models;

/// <summary>
/// Per-card-rate fact: which card prints in which (pack, slot, tier) at what rate.
/// RatePct is nullable for rate-less "Guaranteed Leader Card" rows (sampler uses
/// "uniform over (pool minus owned)" in that case).
/// </summary>
public class PackDrawCardWeightEntry : BaseEntity<long>
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public override long Id { get; set; }

    public int PackId { get; set; }
    public DrawSlot Slot { get; set; }
    public DrawTier Tier { get; set; }
    public long CardId { get; set; }
    public double? RatePct { get; set; }
    public bool IsLeader { get; set; }
    public bool IsAltArt { get; set; }
}
