diff --git a/FModel/Creator/Bases/FN/BaseCommunity.cs b/FModel/Creator/Bases/FN/BaseCommunity.cs index 1f95a6bc..761725c9 100644 --- a/FModel/Creator/Bases/FN/BaseCommunity.cs +++ b/FModel/Creator/Bases/FN/BaseCommunity.cs @@ -101,20 +101,8 @@ public class BaseCommunity : BaseIcon { if (!bShort) return base.GetCosmeticSeason(seasonNumber); var s = seasonNumber["Cosmetics.Filter.Season.".Length..]; - var number = int.Parse(s); - - switch (number) - { - case 10: - s = "X"; - break; - case > 18: - number += 2; - s = number.ToString(); - break; - } - - return $"C{number / 10 + 1} S{s[^1..]}"; + (int chapterIdx, int seasonIdx) = GetInternalSID(int.Parse(s)); + return $"C{chapterIdx} S{seasonIdx}"; } private new void DrawBackground(SKCanvas c) diff --git a/FModel/Creator/Bases/FN/BaseIcon.cs b/FModel/Creator/Bases/FN/BaseIcon.cs index 3fd87232..b47109e8 100644 --- a/FModel/Creator/Bases/FN/BaseIcon.cs +++ b/FModel/Creator/Bases/FN/BaseIcon.cs @@ -193,15 +193,18 @@ public class BaseIcon : UCreator return string.Format(format, name); } - protected string GetCosmeticSeason(string seasonNumber) + protected (int, int) GetInternalSID(int number) { - var s = seasonNumber["Cosmetics.Filter.Season.".Length..]; - var initial = int.Parse(s); - var number = initial; + static int GetSeasonsInChapter(int chapter) => chapter switch + { + 1 => 10, + 2 => 8, + 3 => 4, + _ => 10 + }; var chapterIdx = 0; var seasonIdx = 0; - while (number > 0) { var seasonsInChapter = GetSeasonsInChapter(++chapterIdx); @@ -213,14 +216,14 @@ public class BaseIcon : UCreator number = 0; } } + return (chapterIdx, seasonIdx); + } - static int GetSeasonsInChapter(int chapter) => chapter switch - { - 1 => 10, - 2 => 8, - 3 => 4, - _ => 10 - }; + protected string GetCosmeticSeason(string seasonNumber) + { + var s = seasonNumber["Cosmetics.Filter.Season.".Length..]; + var initial = int.Parse(s); + (int chapterIdx, int seasonIdx) = GetInternalSID(initial); var season = Utils.GetLocalizedResource("AthenaSeasonItemDefinitionInternal", "SeasonTextFormat", "Season {0}"); var introduced = Utils.GetLocalizedResource("Fort.Cosmetics", "CosmeticItemDescription_Season", "\nIntroduced in {0}."); diff --git a/FModel/Creator/CreatorPackage.cs b/FModel/Creator/CreatorPackage.cs index 64f8cd1b..ac794ab2 100644 --- a/FModel/Creator/CreatorPackage.cs +++ b/FModel/Creator/CreatorPackage.cs @@ -90,6 +90,7 @@ public class CreatorPackage : IDisposable case "FortPlaysetPropItemDefinition": case "FortHomebaseNodeItemDefinition": case "FortNeverPersistItemDefinition": + case "FortPlayerAugmentItemDefinition": case "RadioContentSourceItemDefinition": case "FortPlaysetGrenadeItemDefinition": case "FortPersonalVehicleItemDefinition": diff --git a/FModel/MainWindow.xaml b/FModel/MainWindow.xaml index 8306f23c..0bfc4d25 100644 --- a/FModel/MainWindow.xaml +++ b/FModel/MainWindow.xaml @@ -94,7 +94,7 @@ - + @@ -109,7 +109,7 @@ - + @@ -124,10 +124,10 @@ - + - + @@ -139,24 +139,8 @@ - - - - - - - - - - - - + @@ -400,7 +384,7 @@ - + @@ -409,7 +393,7 @@ - + @@ -418,6 +402,15 @@ + + + + + + + + + @@ -528,7 +521,7 @@ - + @@ -543,7 +536,7 @@ - + @@ -558,10 +551,10 @@ - + - + @@ -803,32 +796,6 @@ - - - - - - - - - - - - - -