From bf78956bd3aafc0ba3ae5a58911464c057c2c9db Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Wed, 15 Apr 2026 18:20:30 +1000 Subject: [PATCH] Fix Dual Wield mastery when using thrusting + non-thrusting sword The mastery that grants damage when you are wielding two different weapon types is not meant to work if you are wielding a non-thrusting sword with a thrusting sword as GGG have hard coded these weapons to share the same weapon type --- src/Modules/CalcPerform.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index 37bc226f8d..8671bcd246 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -221,7 +221,14 @@ local function doActorAttribsConditions(env, actor) if (actor.weaponData1.type == "Dagger" or actor.weaponData1.countsAsAll1H) and (actor.weaponData2.type == "Dagger" or actor.weaponData2.countsAsAll1H) then condList["DualWieldingDaggers"] = true end - if (env.data.weaponTypeInfo[actor.weaponData1.type].label or actor.weaponData1.subType or actor.weaponData1.type) ~= (env.data.weaponTypeInfo[actor.weaponData2.type].label or actor.weaponData2.subType or actor.weaponData2.type) then + local function getWeaponType(weaponData) + -- GGG treats thrusting one handed swords as the same class as one handed swords + if weaponData.type == "One Handed Sword" and weaponData.subType == "Thrusting" then + return "One Handed Sword" + end + return env.data.weaponTypeInfo[weaponData.type].label or weaponData.subType or weaponData.type + end + if getWeaponType(actor.weaponData1) ~= getWeaponType(actor.weaponData2) then local info1 = env.data.weaponTypeInfo[actor.weaponData1.type] local info2 = env.data.weaponTypeInfo[actor.weaponData2.type] if info1.oneHand and info2.oneHand then