From e96134a134ce4770163375aad106ba0a2e13d24c Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Wed, 28 Jan 2026 17:58:14 +0100 Subject: [PATCH 1/2] Fix offhand changes with empty offhand. --- Glamourer/State/StateListener.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Glamourer/State/StateListener.cs b/Glamourer/State/StateListener.cs index 4b70718..16e9a70 100644 --- a/Glamourer/State/StateListener.cs +++ b/Glamourer/State/StateListener.cs @@ -9,7 +9,6 @@ using Penumbra.GameData.Enums; using Penumbra.GameData.Structs; using Dalamud.Game.ClientState.Conditions; using Dalamud.Plugin.Services; -using FFXIVClientStructs.FFXIV.Client.Game.Character; using FFXIVClientStructs.FFXIV.Client.Game.Object; using Glamourer.GameData; using Penumbra.GameData.DataContainers; @@ -602,14 +601,21 @@ public class StateListener : IDisposable change = UpdateState.Change; } - if (baseData.Skeleton.Id != weapon.Skeleton.Id || baseData.Weapon.Id != weapon.Weapon.Id || baseData.Variant != weapon.Variant) + var idsDiffer = baseData.Skeleton.Id != weapon.Skeleton.Id + || baseData.Weapon.Id != weapon.Weapon.Id + || baseData.Variant != weapon.Variant; + // Special case when nothing is equipped to the offhand which is already nothing, but we need to update the type. + var nothingDiffers = baseData.Skeleton.Id is 0 && slot is EquipSlot.OffHand; + + if (idsDiffer || nothingDiffers) { if (_isPlayerNpc) return UpdateState.Transformed; var item = _items.Identify(slot, weapon.Skeleton, weapon.Weapon, weapon.Variant, slot is EquipSlot.OffHand ? state.BaseData.MainhandType : FullEquipType.Unknown); - state.BaseData.SetItem(slot, item); + if (idsDiffer || item.Type != state.BaseData.OffhandType) + state.BaseData.SetItem(slot, item); change = UpdateState.Change; } From 360c8bb92a8afa0c234b3e6b06431d83402b60ac Mon Sep 17 00:00:00 2001 From: Actions User Date: Wed, 28 Jan 2026 23:06:33 +0000 Subject: [PATCH 2/2] [CI] Updating repo.json for 1.5.1.8 --- repo.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/repo.json b/repo.json index 31b4c6e..5254ecb 100644 --- a/repo.json +++ b/repo.json @@ -17,8 +17,8 @@ "Character" ], "InternalName": "Glamourer", - "AssemblyVersion": "1.5.1.7", - "TestingAssemblyVersion": "1.5.1.7", + "AssemblyVersion": "1.5.1.8", + "TestingAssemblyVersion": "1.5.1.8", "RepoUrl": "https://github.com/Ottermandias/Glamourer", "ApplicableVersion": "any", "DalamudApiLevel": 14, @@ -27,9 +27,9 @@ "IsTestingExclusive": "False", "DownloadCount": 1, "LastUpdate": 1618608322, - "DownloadLinkInstall": "https://github.com/Ottermandias/Glamourer/releases/download/1.5.1.7/Glamourer.zip", - "DownloadLinkUpdate": "https://github.com/Ottermandias/Glamourer/releases/download/1.5.1.7/Glamourer.zip", - "DownloadLinkTesting": "https://github.com/Ottermandias/Glamourer/releases/download/1.5.1.7/Glamourer.zip", + "DownloadLinkInstall": "https://github.com/Ottermandias/Glamourer/releases/download/1.5.1.8/Glamourer.zip", + "DownloadLinkUpdate": "https://github.com/Ottermandias/Glamourer/releases/download/1.5.1.8/Glamourer.zip", + "DownloadLinkTesting": "https://github.com/Ottermandias/Glamourer/releases/download/1.5.1.8/Glamourer.zip", "IconUrl": "https://raw.githubusercontent.com/Ottermandias/Glamourer/main/images/icon.png" } ]