using System.ComponentModel.DataAnnotations; using SVSim.Database.Common; using SVSim.Database.Enums; namespace SVSim.Database.Models; public class ShadowverseCardEntry : BaseEntity { /// /// The internal name of this card (not the localized display name). /// [Required(AllowEmptyStrings = false)] public string Name { get; set; } = string.Empty; /// /// Attack stat (atk on the wire). /// public int? Attack { get; set; } /// /// Life / defense stat (life on the wire). /// public int? Defense { get; set; } /// /// Play cost (cost on the wire). /// public int? PrimaryResourceCost { get; set; } /// /// The rarity of this card. /// public Rarity Rarity { get; set; } /// /// True for foil/animated card rows (cards.json `is_foil=1`). Foils live in the same /// CardSet as their non-foil twin (twin's card_id = this.Id - 1). Excluded from pack /// draw pools by DbCardPoolProvider; reached via the per-card animated-upgrade roll /// in PackOpenService. /// public bool IsFoil { get; set; } #region Owned /// /// Info about this card in the collection, if it can be collected. /// public CardCollectionInfo? CollectionInfo { get; set; } #endregion #region Navigation Properties /// /// The class this card belongs to, or null for neutral cards. /// public ClassEntry? Class { get; set; } #endregion }