From e46fcc4af1bbf083ab5ce07edea67ad5a554589d Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Sun, 14 Jul 2024 20:38:54 +0200 Subject: [PATCH] Gracefully deal with invalid offhand IMCs. --- Penumbra.GameData | 2 +- Penumbra/Meta/Manipulations/Imc.cs | 3 ++- Penumbra/Services/ValidityChecker.cs | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Penumbra.GameData b/Penumbra.GameData index a64a30bf..2c067b4f 160000 --- a/Penumbra.GameData +++ b/Penumbra.GameData @@ -1 +1 @@ -Subproject commit a64a30bf29cf297285ecde0579830b4d7fbae2d9 +Subproject commit 2c067b4f3c1d84888c2b961a93fe2de01fffe5f1 diff --git a/Penumbra/Meta/Manipulations/Imc.cs b/Penumbra/Meta/Manipulations/Imc.cs index 44c60942..d4887fe2 100644 --- a/Penumbra/Meta/Manipulations/Imc.cs +++ b/Penumbra/Meta/Manipulations/Imc.cs @@ -100,7 +100,8 @@ public readonly record struct ImcIdentifier( return false; if (!Enum.IsDefined(ObjectType)) return false; - + if (ItemData.AdaptOffhandImc(PrimaryId, out _)) + return false; break; } diff --git a/Penumbra/Services/ValidityChecker.cs b/Penumbra/Services/ValidityChecker.cs index cefee139..5feeab02 100644 --- a/Penumbra/Services/ValidityChecker.cs +++ b/Penumbra/Services/ValidityChecker.cs @@ -45,7 +45,7 @@ public class ValidityChecker : IService public void LogExceptions() { if (ImcExceptions.Count > 0) - Penumbra.Messager.NotificationMessage($"{ImcExceptions} IMC Exceptions thrown during Penumbra load. Please repair your game files.", + Penumbra.Messager.NotificationMessage($"{ImcExceptions.Count} IMC Exceptions thrown during Penumbra load. Please repair your game files.", NotificationType.Warning); }