diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj
index cf487373..64747c69 100644
--- a/FModel/FModel.csproj
+++ b/FModel/FModel.csproj
@@ -214,6 +214,7 @@
+
diff --git a/FModel/Methods/Assets/IconCreator/AthenaID/CosmeticSeason.cs b/FModel/Methods/Assets/IconCreator/AthenaID/CosmeticSeason.cs
new file mode 100644
index 00000000..1b7058c0
--- /dev/null
+++ b/FModel/Methods/Assets/IconCreator/AthenaID/CosmeticSeason.cs
@@ -0,0 +1,29 @@
+namespace FModel.Methods.Assets.IconCreator.AthenaID
+{
+ static class CosmeticSeason
+ {
+ public static string GetCosmeticSeason(string SeasonNumber)
+ {
+ string s = SeasonNumber;
+ int snumber = int.Parse(SeasonNumber);
+ if (snumber == 10)
+ s = "X";
+
+ string introduced = AssetTranslations.SearchTranslation("Fort.Cosmetics", "CosmeticItemDescription_Season", "\nIntroduced in {0}>.").Replace("", string.Empty).Replace(">", string.Empty); //2 separate because of Japanese
+ string stext = AssetTranslations.SearchTranslation("AthenaSeasonItemDefinitionInternal", "SeasonTextFormat", "Season {0}");
+
+ //display Chapter {First Letter Of SeasonNumber + 1 (S11 -> Chapter 1 + 1 = 2)}, Season {Last Letter Of SeasonNumber (S11 -> Season 1)}
+ //this can easily break lol but idk where are the right numbers for each item
+ if (snumber > 10)
+ {
+ string schapter = AssetTranslations.SearchTranslation("AthenaSeasonItemDefinitionInternal", "ChapterTextFormat", "Chapter {0}");
+ string sformat = AssetTranslations.SearchTranslation("AthenaSeasonItemDefinitionInternal", "ChapterSeasonTextFormat", "{0}, {1}");
+
+ stext = string.Format(introduced, string.Format(sformat, string.Format(schapter, int.Parse(s.Substring(1)) + 1), string.Format(stext, s.Substring(s.Length - 1))));
+ return stext;
+ }
+
+ return string.Format(introduced, string.Format(stext, s));
+ }
+ }
+}
diff --git a/FModel/Methods/Assets/IconCreator/AthenaID/IconUserFacingFlags.cs b/FModel/Methods/Assets/IconCreator/AthenaID/IconUserFacingFlags.cs
index 589a56d0..a132ff6d 100644
--- a/FModel/Methods/Assets/IconCreator/AthenaID/IconUserFacingFlags.cs
+++ b/FModel/Methods/Assets/IconCreator/AthenaID/IconUserFacingFlags.cs
@@ -61,7 +61,8 @@ namespace FModel.Methods.Assets.IconCreator.AthenaID
uFFTarget.Contains("HasVariants") && categoryNameToken.Value() == "Unlockable Styles" ||
uFFTarget.Contains("Reactive") && categoryNameToken.Value() == "Reactive" ||
uFFTarget.Contains("Traversal") && categoryNameToken.Value() == "Traversal" ||
- uFFTarget.Contains("BuiltInEmote") && categoryNameToken.Value() == "Built-in")
+ uFFTarget.Contains("BuiltInEmote") && categoryNameToken.Value() == "Built-in" ||
+ uFFTarget.Contains("Synced") && categoryNameToken.Value() == "Synced")
{
GetUFFImage(propertiesArray);
}
diff --git a/FModel/Methods/Assets/IconCreator/IconText.cs b/FModel/Methods/Assets/IconCreator/IconText.cs
index 63281452..f30c3c5b 100644
--- a/FModel/Methods/Assets/IconCreator/IconText.cs
+++ b/FModel/Methods/Assets/IconCreator/IconText.cs
@@ -113,6 +113,13 @@ namespace FModel.Methods.Assets.IconCreator
if (!string.IsNullOrEmpty(cosmeticSet)) { _description += cosmeticSet; }
}
+ JToken cFilterToken = gTagsArray.Children().FirstOrDefault(x => x.ToString().StartsWith("Cosmetics.Filter.Season."));
+ if (cFilterToken != null)
+ {
+ string cosmeticFilter = CosmeticSeason.GetCosmeticSeason(cFilterToken.Value().Substring("Cosmetics.Filter.Season.".Length));
+ if (!string.IsNullOrEmpty(cosmeticFilter)) { _description += cosmeticFilter; }
+ }
+
JToken cSourceToken = gTagsArray.Children().FirstOrDefault(x => x.ToString().StartsWith("Cosmetics.Source."));
if (cSourceToken != null)
{