From 7601e8c5ed0dc5470755a16dec0c0e90d007f317 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Sat, 8 Nov 2025 11:38:31 +1100 Subject: [PATCH 1/2] Add default values for melee and projectile distance to enemy Defaulting the value to 15 for melee distance and 30 for projectile distance allows skills to better filter some uniques and skill gems e.g. Close combat for melee skills, Far shot / point blank, freezing pulse damage and many more that rely on either `DistanceRamp` or `MeleeProximity` mods --- src/Modules/CalcActiveSkill.lua | 4 ++-- src/Modules/ConfigOptions.lua | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Modules/CalcActiveSkill.lua b/src/Modules/CalcActiveSkill.lua index c500d563ce..6ef6a9d279 100644 --- a/src/Modules/CalcActiveSkill.lua +++ b/src/Modules/CalcActiveSkill.lua @@ -421,9 +421,9 @@ function calcs.buildActiveSkillModList(env, activeSkill) -- Calculate Distance for meleeDistance or projectileDistance (for melee proximity, e.g. Impact) if skillFlags.melee then - effectiveRange = env.configInput.meleeDistance + effectiveRange = env.configInput.meleeDistance or env.configPlaceholder.meleeDistance else - effectiveRange = env.configInput.projectileDistance + effectiveRange = env.configInput.projectileDistance or env.configPlaceholder.projectileDistance end -- Build config structure for modifier searches diff --git a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua index a36430cd89..b6e9f70f39 100644 --- a/src/Modules/ConfigOptions.lua +++ b/src/Modules/ConfigOptions.lua @@ -1592,8 +1592,8 @@ Huge sets the radius to 11. { var = "skillPierceCount", type = "count", label = "# of times Skill has Pierced:", ifStat = "PiercedCount", ifFlag = "piercing", apply = function(val, modList, enemyModList) modList:NewMod("PiercedCount", "BASE", val, "Config", { type = "Condition", var = "Effective" }) end }, - { var = "meleeDistance", type = "count", label = "Melee distance to enemy:", tooltip = "10 units equals 1 metre", ifTagType = "MeleeProximity", ifFlag = "melee" }, - { var = "projectileDistance", type = "count", label = "Projectile travel distance:", tooltip = "10 units equals 1 metre", ifTagType = "DistanceRamp", ifFlag = "projectile" }, + { var = "meleeDistance", type = "count", label = "Melee distance to enemy:", tooltip = "10 units equals 1 metre", ifTagType = "MeleeProximity", ifFlag = "melee", defaultPlaceholderState = 15 }, + { var = "projectileDistance", type = "count", label = "Projectile travel distance:", tooltip = "10 units equals 1 metre", ifTagType = "DistanceRamp", ifFlag = "projectile", defaultPlaceholderState = 30 }, { var = "conditionAtCloseRange", type = "check", label = "Is the enemy at Close Range?", ifCond = "AtCloseRange", apply = function(val, modList, enemyModList) modList:NewMod("Condition:AtCloseRange", "FLAG", true, "Config", { type = "Condition", var = "Effective" }) end }, From 0b5e6800177c3ae4c360f88dd7f0e040d723996e Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Sat, 8 Nov 2025 12:13:32 +1100 Subject: [PATCH 2/2] Default range to 40 --- src/Modules/ConfigOptions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua index b6e9f70f39..f1dc82bcb7 100644 --- a/src/Modules/ConfigOptions.lua +++ b/src/Modules/ConfigOptions.lua @@ -1593,7 +1593,7 @@ Huge sets the radius to 11. modList:NewMod("PiercedCount", "BASE", val, "Config", { type = "Condition", var = "Effective" }) end }, { var = "meleeDistance", type = "count", label = "Melee distance to enemy:", tooltip = "10 units equals 1 metre", ifTagType = "MeleeProximity", ifFlag = "melee", defaultPlaceholderState = 15 }, - { var = "projectileDistance", type = "count", label = "Projectile travel distance:", tooltip = "10 units equals 1 metre", ifTagType = "DistanceRamp", ifFlag = "projectile", defaultPlaceholderState = 30 }, + { var = "projectileDistance", type = "count", label = "Projectile travel distance:", tooltip = "10 units equals 1 metre", ifTagType = "DistanceRamp", ifFlag = "projectile", defaultPlaceholderState = 40 }, { var = "conditionAtCloseRange", type = "check", label = "Is the enemy at Close Range?", ifCond = "AtCloseRange", apply = function(val, modList, enemyModList) modList:NewMod("Condition:AtCloseRange", "FLAG", true, "Config", { type = "Condition", var = "Effective" }) end },