From 2a8b36d7ff6ca5099fd1dae2e9f4acf12ad62efa Mon Sep 17 00:00:00 2001 From: Paliak <91493239+Paliak@users.noreply.github.com> Date: Mon, 20 Jul 2026 16:50:18 +0200 Subject: [PATCH 1/3] FEAT: impl config search by skillid and support for FieryImpactHeistMaceImplicit and TriggeredMoltenStrike Signed-off-by: Paliak <91493239+Paliak@users.noreply.github.com> --- src/Modules/CalcTriggers.lua | 10 +++++++++- src/Modules/ModParser.lua | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Modules/CalcTriggers.lua b/src/Modules/CalcTriggers.lua index f1d3788272a..bcf1711658d 100644 --- a/src/Modules/CalcTriggers.lua +++ b/src/Modules/CalcTriggers.lua @@ -1540,6 +1540,12 @@ local configTable = { return {source = env.player.mainSkill} end end, + ["TriggeredMoltenStrike"] = function(env) + return {triggerSkillCond = function(env, skill) return (skill.skillTypes[SkillType.Melee] or skill.skillTypes[SkillType.Attack]) end} + end, + ["FieryImpactHeistMaceImplicit"] = function(env) + return {triggerSkillCond = function(env, skill) return (skill.skillTypes[SkillType.Melee] or skill.skillTypes[SkillType.Attack]) end} + end, } -- Find unique item trigger name @@ -1569,7 +1575,9 @@ function calcs.triggers(env, actor) local triggerNameLower = triggerName and triggerName:lower() local awakenedTriggerNameLower = triggerNameLower and triggerNameLower:gsub("^awakened ", "") local uniqueNameLower = uniqueName and uniqueName:lower() - local config = skillNameLower and configTable[skillNameLower] and configTable[skillNameLower](env) + local skillId = actor.mainSkill.activeEffect.grantedEffect.id + local config = skillId and configTable[skillId] and configTable[skillId](env) + config = config or skillNameLower and configTable[skillNameLower] and configTable[skillNameLower](env) config = config or triggerNameLower and configTable[triggerNameLower] and configTable[triggerNameLower](env) config = config or awakenedTriggerNameLower and configTable[awakenedTriggerNameLower] and configTable[awakenedTriggerNameLower](env) config = config or uniqueNameLower and configTable[uniqueNameLower] and configTable[uniqueNameLower](env) diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 382cb42f108..4bb5a32c6f0 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -3201,6 +3201,7 @@ local specialModList = { ["trigger level (%d+) (.+) when you lose cat's stealth"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, ["trigger level (%d+) (.+) when your trap is triggered"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, ["trigger level (%d+) (.+) on hit with this weapon"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, + ["trigger level (%d+) (.+) on melee hit"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, ["trigger level (%d+) (.+) on melee hit while cursed"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, ["trigger level (%d+) (.+) on melee hit with this weapon"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, ["trigger level (%d+) (.+) every [%d%.]+ seconds while phasing"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, From 6f4e19f77d0e9a44004830fe950bc26ff9f495b9 Mon Sep 17 00:00:00 2001 From: Paliak <91493239+Paliak@users.noreply.github.com> Date: Mon, 20 Jul 2026 16:57:58 +0200 Subject: [PATCH 2/3] TEST: add basic test for config matching by skillId Signed-off-by: Paliak <91493239+Paliak@users.noreply.github.com> --- spec/System/TestTriggers_spec.lua | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/spec/System/TestTriggers_spec.lua b/spec/System/TestTriggers_spec.lua index 3f21d2e94d1..48d956adf6e 100644 --- a/spec/System/TestTriggers_spec.lua +++ b/spec/System/TestTriggers_spec.lua @@ -1409,4 +1409,36 @@ describe("TestTriggers", function() runCallback("OnFrame") assert.are.not_equals(math.floor(build.calcsTab.mainOutput.SkillTriggerRate * 100), math.floor(baseRate * 100)) end) + + it("skillid config search", function() + build.itemsTab:CreateDisplayItemFromRaw([[Rarity: RARE + Physical 1H Mace + Boom Mace + Crafted: true + Prefix: {range:0.5}LocalIncreasedPhysicalDamagePercent5 + Prefix: {range:0.5}LocalIncreasedPhysicalDamagePercentAndAccuracyRating5 + Prefix: {range:0.5}LocalAddedPhysicalDamage6 + Suffix: {range:0.5}LocalIncreasedAttackSpeed3 + Suffix: {range:0.5}LocalCriticalStrikeChance3 + Suffix: {range:0.5}LocalCriticalMultiplier4 + Quality: 20 + Sockets: R-R-R + LevelReq: 70 + Implicits: 1 + Trigger Level 20 Fiery Impact on Melee Hit with this Weapon + 172% increased Physical Damage + Adds 16 to 29 Physical Damage + 12% increased Attack Speed + 22% increased Critical Strike Chance + +27% to Global Critical Strike Multiplier + +111 to Accuracy Rating]]) + build.itemsTab:AddDisplayItem() + runCallback("OnFrame") + + build.skillsTab:PasteSocketGroup("Smite 20/0 1\n") + runCallback("OnFrame") + + local baseRate = build.calcsTab.mainOutput.SkillTriggerRate + assert.True(build.calcsTab.mainOutput.SkillTriggerRate ~= nil) + end) end) From 612addee31d1ab1c61e8db1d88d0188127b89c3f Mon Sep 17 00:00:00 2001 From: Paliak <91493239+Paliak@users.noreply.github.com> Date: Mon, 20 Jul 2026 17:10:23 +0200 Subject: [PATCH 3/3] FIX: spell check Signed-off-by: Paliak <91493239+Paliak@users.noreply.github.com> --- spec/System/TestTriggers_spec.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/System/TestTriggers_spec.lua b/spec/System/TestTriggers_spec.lua index 48d956adf6e..0f8c9b54ac9 100644 --- a/spec/System/TestTriggers_spec.lua +++ b/spec/System/TestTriggers_spec.lua @@ -1410,7 +1410,7 @@ describe("TestTriggers", function() assert.are.not_equals(math.floor(build.calcsTab.mainOutput.SkillTriggerRate * 100), math.floor(baseRate * 100)) end) - it("skillid config search", function() + it("skillId config search", function() build.itemsTab:CreateDisplayItemFromRaw([[Rarity: RARE Physical 1H Mace Boom Mace