diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj index a7658de7..aa692ef6 100644 --- a/FModel/FModel.csproj +++ b/FModel/FModel.csproj @@ -234,6 +234,7 @@ + diff --git a/FModel/Methods/IconGenerator/DrawText.cs b/FModel/Methods/IconGenerator/DrawText.cs index a2b55aca..ec5a6e11 100644 --- a/FModel/Methods/IconGenerator/DrawText.cs +++ b/FModel/Methods/IconGenerator/DrawText.cs @@ -11,48 +11,48 @@ namespace FModel { static class DrawText { - private static string cosmeticSource { get; set; } - private static string shortDescription { get; set; } - private static string cosmeticId { get; set; } - private static string maxStackSize { get; set; } - private static string itemAction { get; set; } - private static string weaponRowName { get; set; } - private static string cosmeticUFF { get; set; } - private static string heroType { get; set; } - private static string defenderType { get; set; } - private static string minToMax { get; set; } + private static string CosmeticSource { get; set; } + private static string ShortDescription { get; set; } + private static string CosmeticId { get; set; } + private static string MaxStackSize { get; set; } + private static string ItemAction { get; set; } + private static string WeaponRowName { get; set; } + private static string CosmeticUff { get; set; } + private static string HeroType { get; set; } + private static string DefenderType { get; set; } + private static string MinToMax { get; set; } - public static void DrawTexts(ItemsIdParser theItem, Graphics myGraphic, string Mode) + public static void DrawTexts(ItemsIdParser theItem, Graphics myGraphic, string mode) { DrawDisplayName(theItem, myGraphic); DrawDescription(theItem, myGraphic); - setTexts(theItem); + SetTexts(theItem); - switch (Mode) + switch (mode) { case "athIteDef": - DrawToLeft(shortDescription, myGraphic); - DrawToRight(cosmeticSource, myGraphic); + DrawToLeft(ShortDescription, myGraphic); + DrawToRight(CosmeticSource, myGraphic); break; case "consAndWeap": - DrawToRight(itemAction, myGraphic); + DrawToRight(ItemAction, myGraphic); if (MainWindow.ExtractedFilePath.Contains("Items\\Consumables\\")) { - DrawToLeft(maxStackSize, myGraphic); + DrawToLeft(MaxStackSize, myGraphic); } break; case "variant": - DrawToLeft(shortDescription, myGraphic); - DrawToRight(cosmeticId, myGraphic); + DrawToLeft(ShortDescription, myGraphic); + DrawToRight(CosmeticId, myGraphic); break; case "stwHeroes": - DrawToRight(heroType, myGraphic); - DrawToLeft(minToMax, myGraphic); + DrawToRight(HeroType, myGraphic); + DrawPower(myGraphic); break; case "stwDefenders": - DrawToRight(defenderType, myGraphic); - DrawToLeft(minToMax, myGraphic); + DrawToRight(DefenderType, myGraphic); + DrawPower(myGraphic); break; } @@ -63,28 +63,28 @@ namespace FModel if (theItem.AmmoData != null && theItem.AmmoData.AssetPathName.Contains("Ammo")) //TO AVOID TRIGGERING CONSUMABLES, NAME SHOULD CONTAIN "AMMO" { ItemIcon.GetAmmoData(theItem.AmmoData.AssetPathName, myGraphic); - DrawWeaponStat(weaponRowName, myGraphic); + DrawWeaponStat(WeaponRowName, myGraphic); } - DrawCosmeticUFF(theItem, myGraphic); + DrawCosmeticUff(theItem, myGraphic); } - private static void setTexts(ItemsIdParser theItem) + private static void SetTexts(ItemsIdParser theItem) { - cosmeticSource = ""; - shortDescription = ""; - cosmeticId = ""; - maxStackSize = ""; - itemAction = ""; - weaponRowName = ""; - cosmeticUFF = ""; - heroType = ""; - defenderType = ""; - minToMax = ""; + CosmeticSource = ""; + ShortDescription = ""; + CosmeticId = ""; + MaxStackSize = ""; + ItemAction = ""; + WeaponRowName = ""; + CosmeticUff = ""; + HeroType = ""; + DefenderType = ""; + MinToMax = ""; try { - shortDescription = theItem.ShortDescription; + ShortDescription = theItem.ShortDescription; } catch (Exception) { @@ -92,7 +92,7 @@ namespace FModel } try { - cosmeticSource = theItem.GameplayTags.GameplayTagsGameplayTags[Array.FindIndex(theItem.GameplayTags.GameplayTagsGameplayTags, x => x.StartsWith("Cosmetics.Source."))].Substring(17); + CosmeticSource = theItem.GameplayTags.GameplayTagsGameplayTags[Array.FindIndex(theItem.GameplayTags.GameplayTagsGameplayTags, x => x.StartsWith("Cosmetics.Source."))].Substring(17); } catch (Exception) { @@ -100,7 +100,7 @@ namespace FModel } try { - cosmeticId = theItem.CosmeticItem; + CosmeticId = theItem.CosmeticItem; } catch (Exception) { @@ -108,7 +108,7 @@ namespace FModel } try { - maxStackSize = "Max Stack Size: " + theItem.MaxStackSize; + MaxStackSize = "Max Stack Size: " + theItem.MaxStackSize; } catch (Exception) { @@ -116,7 +116,7 @@ namespace FModel } try { - itemAction = theItem.GameplayTags.GameplayTagsGameplayTags[Array.FindIndex(theItem.GameplayTags.GameplayTagsGameplayTags, x => x.StartsWith("Athena.ItemAction."))].Substring(18); + ItemAction = theItem.GameplayTags.GameplayTagsGameplayTags[Array.FindIndex(theItem.GameplayTags.GameplayTagsGameplayTags, x => x.StartsWith("Athena.ItemAction."))].Substring(18); } catch (Exception) { @@ -124,9 +124,9 @@ namespace FModel } try { - if (theItem.WeaponStatHandle.RowName != "Harvest_Pickaxe_Athena_C_T01") + if (theItem.WeaponStatHandle.RowName != "Harvest_Pickaxe_Athena_C_T01" || theItem.WeaponStatHandle.RowName != "Edged_Sword_Athena_C_T01") { - weaponRowName = theItem.WeaponStatHandle.RowName; + WeaponRowName = theItem.WeaponStatHandle.RowName; } } catch (Exception) @@ -135,7 +135,7 @@ namespace FModel } try { - cosmeticUFF = theItem.GameplayTags.GameplayTagsGameplayTags[Array.FindIndex(theItem.GameplayTags.GameplayTagsGameplayTags, x => x.StartsWith("Cosmetics.UserFacingFlags."))]; + CosmeticUff = theItem.GameplayTags.GameplayTagsGameplayTags[Array.FindIndex(theItem.GameplayTags.GameplayTagsGameplayTags, x => x.StartsWith("Cosmetics.UserFacingFlags."))]; } catch (Exception) { @@ -143,7 +143,7 @@ namespace FModel } try { - heroType = theItem.AttributeInitKey.AttributeInitCategory; + HeroType = theItem.AttributeInitKey.AttributeInitCategory; } catch (Exception) { @@ -151,7 +151,7 @@ namespace FModel } try { - defenderType = theItem.GameplayTags.GameplayTagsGameplayTags[Array.FindIndex(theItem.GameplayTags.GameplayTagsGameplayTags, x => x.StartsWith("NPC.CharacterType.Survivor.Defender."))].Substring(36); + DefenderType = theItem.GameplayTags.GameplayTagsGameplayTags[Array.FindIndex(theItem.GameplayTags.GameplayTagsGameplayTags, x => x.StartsWith("NPC.CharacterType.Survivor.Defender."))].Substring(36); } catch (Exception) { @@ -159,7 +159,7 @@ namespace FModel } try { - minToMax = "Power " + theItem.MinLevel + " to " + theItem.MaxLevel; + MinToMax = " " + theItem.MinLevel + " to " + theItem.MaxLevel; } catch (Exception) { @@ -173,36 +173,36 @@ namespace FModel /// /// /// - private static void DrawCosmeticUFF(ItemsIdParser theItem, Graphics myGraphic) + private static void DrawCosmeticUff(ItemsIdParser theItem, Graphics myGraphic) { - if (cosmeticUFF != null) + if (CosmeticUff != null) { - if (cosmeticUFF.Contains("Animated")) + if (CosmeticUff.Contains("Animated")) { Image animatedLogo = Resources.T_Icon_Animated_64; myGraphic.DrawImage(ImageUtilities.ResizeImage(animatedLogo, 32, 32), new Point(6, -2)); } - else if (cosmeticUFF.Contains("HasUpgradeQuests") && theItem.ExportType != "AthenaPetCarrierItemDefinition") + else if (CosmeticUff.Contains("HasUpgradeQuests") && theItem.ExportType != "AthenaPetCarrierItemDefinition") { Image questLogo = Resources.T_Icon_Quests_64; myGraphic.DrawImage(ImageUtilities.ResizeImage(questLogo, 32, 32), new Point(6, 6)); } - else if (cosmeticUFF.Contains("HasUpgradeQuests") && theItem.ExportType == "AthenaPetCarrierItemDefinition") + else if (CosmeticUff.Contains("HasUpgradeQuests") && theItem.ExportType == "AthenaPetCarrierItemDefinition") { Image petLogo = Resources.T_Icon_Pets_64; myGraphic.DrawImage(ImageUtilities.ResizeImage(petLogo, 32, 32), new Point(6, 6)); } - else if (cosmeticUFF.Contains("HasVariants")) + else if (CosmeticUff.Contains("HasVariants")) { Image variantsLogo = Resources.T_Icon_Variant_64; myGraphic.DrawImage(ImageUtilities.ResizeImage(variantsLogo, 32, 32), new Point(6, 6)); } - else if (cosmeticUFF.Contains("Reactive")) + else if (CosmeticUff.Contains("Reactive")) { Image reactiveLogo = Resources.T_Icon_Adaptive_64; myGraphic.DrawImage(ImageUtilities.ResizeImage(reactiveLogo, 32, 32), new Point(7, 7)); } - else if (cosmeticUFF.Contains("Traversal")) + else if (CosmeticUff.Contains("Traversal")) { Image traversalLogo = Resources.T_Icon_Traversal_64; myGraphic.DrawImage(ImageUtilities.ResizeImage(traversalLogo, 32, 32), new Point(6, 3)); @@ -285,7 +285,7 @@ namespace FModel /// /// /// - public static void DrawWeaponStat(string weaponName, Graphics myGraphic) + private static void DrawWeaponStat(string weaponName, Graphics myGraphic) { ItemIcon.ItemIconPath = string.Empty; string extractedWeaponsStatPath = JohnWick.ExtractAsset(ThePak.AllpaksDictionary["AthenaRangedWeapons"], "AthenaRangedWeapons"); @@ -322,5 +322,18 @@ namespace FModel } } } + + /// + /// this is only triggered for heroes and defenders + /// draw the minimum and maximum level as well as a bolt icon + /// + /// + private static void DrawPower(Graphics myGraphic) + { + Image bolt = Resources.LBolt64; + myGraphic.DrawImage(ImageUtilities.ResizeImage(bolt, 15, 15), new Point(5, 501)); + + DrawToLeft(MinToMax, myGraphic); + } } } diff --git a/FModel/Properties/Resources.Designer.cs b/FModel/Properties/Resources.Designer.cs index d70beca0..59ddb2bd 100644 --- a/FModel/Properties/Resources.Designer.cs +++ b/FModel/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace FModel.Properties { // à l'aide d'un outil, tel que ResGen ou Visual Studio. // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen // avec l'option /str ou régénérez votre projet VS. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -180,6 +180,16 @@ namespace FModel.Properties { } } + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap LBolt64 { + get { + object obj = ResourceManager.GetObject("LBolt64", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// diff --git a/FModel/Properties/Resources.resx b/FModel/Properties/Resources.resx index 6e2d18d3..8e6cd81b 100644 --- a/FModel/Properties/Resources.resx +++ b/FModel/Properties/Resources.resx @@ -211,4 +211,7 @@ ..\Resources\dmg64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\LBolt64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/FModel/Resources/LBolt64.png b/FModel/Resources/LBolt64.png new file mode 100644 index 00000000..cec78271 Binary files /dev/null and b/FModel/Resources/LBolt64.png differ