diff --git a/FModel/Methods/Assets/IconCreator/ChallengeID/ChallengeBundleInfos.cs b/FModel/Methods/Assets/IconCreator/ChallengeID/ChallengeBundleInfos.cs index 6bb31000..435cd0d1 100644 --- a/FModel/Methods/Assets/IconCreator/ChallengeID/ChallengeBundleInfos.cs +++ b/FModel/Methods/Assets/IconCreator/ChallengeID/ChallengeBundleInfos.cs @@ -271,8 +271,28 @@ namespace FModel.Methods.Assets.IconCreator.ChallengeID JToken primaryAssetNameToken = token["struct_type"]["properties"][0]["tag_data"]["struct_type"]["properties"][1]["tag_data"]; if (primaryAssetNameToken != null) { + string primaryAssetName = primaryAssetNameToken.Value(); + + // Manual fix: QuestBundle_Event_Galileo Stages + if (assetPath.StartsWith("/FortniteGame/Content/Athena/Items/Quests/BattlePass/Season11/Galileo/")) + { + JArray objectivesGalileoArray = AssetsUtility.GetPropertyTagText(AssetProperties, "Objectives", "data"); + if (objectivesGalileoArray != null) + { + JToken questGalileoToken = objectivesGalileoArray[0]["struct_type"]["properties"][0]["tag_data"]; + if (questGalileoToken != null) + { + if (!string.Equals(primaryAssetName, questGalileoToken.Value())) + { + int questGalileoStageId = int.Parse(questGalileoToken.Value().Substring(questGalileoToken.Value().Length - 1, 1)) + 1; + primaryAssetName = questGalileoToken.Value().Remove(questGalileoToken.Value().Length - 1).Replace("questobj", "quest") + "_" + questGalileoStageId; + } + } + } + } + //this will catch the full path if asset exists to be able to grab his PakReader and List - string primaryAssetNameFullPath = AssetEntries.AssetEntriesDict.Where(x => x.Key.Contains("/" + primaryAssetNameToken.Value())).Select(d => d.Key).FirstOrDefault(); + string primaryAssetNameFullPath = AssetEntries.AssetEntriesDict.Where(x => x.Key.Contains("/" + primaryAssetName)).Select(d => d.Key).FirstOrDefault(); if (!string.IsNullOrEmpty(primaryAssetNameFullPath)) { // Prevents loops diff --git a/FModel/Methods/Utilities/AssetsUtility.cs b/FModel/Methods/Utilities/AssetsUtility.cs index 8b1162a8..6f63c1ce 100644 --- a/FModel/Methods/Utilities/AssetsUtility.cs +++ b/FModel/Methods/Utilities/AssetsUtility.cs @@ -494,7 +494,7 @@ namespace FModel.Methods.Utilities AssetMainToken = AssetData; } - return !string.IsNullOrEmpty(AssetMainToken.ToString()) ? AssetMainToken : null; + return AssetMainToken != null && !string.IsNullOrEmpty(AssetMainToken.ToString()) ? AssetMainToken : null; } public static T GetPropertyTag(JArray properties, string name)