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

@@ -81,12 +81,13 @@ public class ViewerRepository : IViewerRepository
AccountType = socialType
});
viewer.Info.MaxFriends = gameConfig.MaxFriends;
// TODO: fixed in Task 7 — reads via Config tree after RefactorGameConfigurationToJsonb
viewer.Info.MaxFriends = gameConfig.Config.Player.MaxFriends;
viewer.Info.CountryCode = "KOR";
viewer.Info.BirthDate = DateTime.UtcNow;
viewer.Currency.Crystals = gameConfig.DefaultCrystals;
viewer.Currency.Rupees = gameConfig.DefaultRupees;
viewer.Currency.RedEther = gameConfig.DefaultEther;
viewer.Currency.Crystals = gameConfig.Config.DefaultGrants.Crystals;
viewer.Currency.Rupees = gameConfig.Config.DefaultGrants.Rupees;
viewer.Currency.RedEther = gameConfig.Config.DefaultGrants.Ether;
viewer.MissionData.TutorialState = 100; // finishes tutorial for now
// Load classes WITH their LeaderSkins — DefaultLeaderSkin iterates the nav collection
@@ -107,10 +108,19 @@ public class ViewerRepository : IViewerRepository
};
}).ToList();
if (gameConfig.DefaultSleeve is not null) viewer.Sleeves.Add(gameConfig.DefaultSleeve);
if (gameConfig.DefaultDegree is not null) viewer.Degrees.Add(gameConfig.DefaultDegree);
if (gameConfig.DefaultEmblem is not null) viewer.Emblems.Add(gameConfig.DefaultEmblem);
if (gameConfig.DefaultMyPageBackground is not null) viewer.MyPageBackgrounds.Add(gameConfig.DefaultMyPageBackground);
// TODO: fixed in Task 7 — load cosmetics by ID from Config.DefaultLoadout after RefactorGameConfigurationToJsonb
var defaultSleeveId = gameConfig.Config.DefaultLoadout.SleeveId;
var defaultDegreeId = gameConfig.Config.DefaultLoadout.DegreeId;
var defaultEmblemId = gameConfig.Config.DefaultLoadout.EmblemId;
var defaultBgId = gameConfig.Config.DefaultLoadout.MyPageBackgroundId;
var defaultSleeve = await _dbContext.Set<SleeveEntry>().FindAsync(defaultSleeveId);
var defaultDegree = await _dbContext.Set<DegreeEntry>().FindAsync(defaultDegreeId);
var defaultEmblem = await _dbContext.Set<EmblemEntry>().FindAsync(defaultEmblemId);
var defaultBg = await _dbContext.Set<MyPageBackgroundEntry>().FindAsync(defaultBgId);
if (defaultSleeve is not null) viewer.Sleeves.Add(defaultSleeve);
if (defaultDegree is not null) viewer.Degrees.Add(defaultDegree);
if (defaultEmblem is not null) viewer.Emblems.Add(defaultEmblem);
if (defaultBg is not null) viewer.MyPageBackgrounds.Add(defaultBg);
// Grant one of each class's default leader skin. Filter out the synthetic placeholders
// (Id=0) and dedupe — skins are many-to-many via SleeveEntryViewer-style join.