Pack logic cleanup

This commit is contained in:
gamer147
2026-05-24 09:27:10 -04:00
parent 79209bd70b
commit d9ef9fe1fc
33 changed files with 71175 additions and 245 deletions

View File

@@ -2,56 +2,13 @@ using SVSim.Database.Common;
namespace SVSim.Database.Models;
/// <summary>
/// Server-wide tunable config and captured-from-prod state. Singleton (Id = "default") with
/// all data living in a single typed jsonb column. See <see cref="GameConfigRoot"/> for the
/// schema. Pre-refactor this entity had ~14 flat columns plus 4 FK navs — see migration
/// `RefactorGameConfigurationToJsonb` for the cutover.
/// </summary>
public class GameConfiguration : BaseEntity<string>
{
public ulong DefaultCrystals { get; set; }
public ulong DefaultRupees { get; set; }
public ulong DefaultEther { get; set; }
public int MaxFriends { get; set; }
#region Time-varying globals populated by SVSim.Bootstrap.GlobalsImporter
/// <summary>Current "Take Two Special" rotation ID, e.g. "10015". Points into MyRotationSettingEntry.</summary>
public string TsRotationId { get; set; } = string.Empty;
public bool ChallengeUseTwoPickPremiumCard { get; set; }
public long ChallengeTwoPickSleeveId { get; set; }
/// <summary>
/// Bool on the wire (prod sends true/false); local previously sent int. Fixes the
/// type-mismatch noted in seed-data-strategy-2026-05-23.md crash audit.
/// </summary>
public bool IsBattlePassPeriod { get; set; }
public bool IsBeginnerMission { get; set; }
public int CardSetIdForResourceDlView { get; set; }
#endregion
#region Foreign Keys
public int DefaultDegreeId { get; set; }
public int DefaultEmblemId { get; set; }
public int DefaultMyPageBackgroundId { get; set; }
public int DefaultSleeveId { get; set; }
#endregion
#region Navigation Properties
public DegreeEntry DefaultDegree { get; set; } = new DegreeEntry();
public EmblemEntry DefaultEmblem { get; set; } = new EmblemEntry();
public MyPageBackgroundEntry DefaultMyPageBackground { get; set; } = new MyPageBackgroundEntry();
public SleeveEntry DefaultSleeve { get; set; } = new SleeveEntry();
#endregion
public GameConfigRoot Config { get; set; } = new();
}