From b32583ef484b0057447f38b80065f257cf39a67c Mon Sep 17 00:00:00 2001 From: gamer147 Date: Sun, 31 May 2026 10:12:16 -0400 Subject: [PATCH] feat(db): add ArenaTwoPickReward catalog entity --- SVSim.Database/Models/ArenaTwoPickReward.cs | 29 +++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 SVSim.Database/Models/ArenaTwoPickReward.cs diff --git a/SVSim.Database/Models/ArenaTwoPickReward.cs b/SVSim.Database/Models/ArenaTwoPickReward.cs new file mode 100644 index 0000000..deb434a --- /dev/null +++ b/SVSim.Database/Models/ArenaTwoPickReward.cs @@ -0,0 +1,29 @@ +// SVSim.Database/Models/ArenaTwoPickReward.cs +using Microsoft.EntityFrameworkCore; +using SVSim.Database.Enums; + +namespace SVSim.Database.Models; + +/// +/// One row of the Take Two run-end reward table. Multiple rows per +/// (e.g. 1 ticket + N rupies = 2 rows). Seeded by ArenaTwoPickRewardImporter from +/// SVSim.Bootstrap/Data/seeds/arena-two-pick-rewards.json. +/// +[Index(nameof(WinCount))] +[Index(nameof(WinCount), nameof(RewardType), nameof(RewardId), IsUnique = true)] +public class ArenaTwoPickReward +{ + public long Id { get; set; } + + /// 0..MaxWins. Run ends at LossCount==2 or WinCount==MAX(WinCount). + public int WinCount { get; set; } + + /// on the wire (e.g. Item=4, Rupy=9). + public int RewardType { get; set; } + + /// Item id for Item; 0 for currencies. + public long RewardId { get; set; } + + /// Count (e.g. ticket quantity or rupy amount). + public int RewardNum { get; set; } +}