Skip to content
This repository was archived by the owner on Oct 21, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 1 addition & 17 deletions src/Classes/ModStore.lua
Original file line number Diff line number Diff line change
Expand Up @@ -486,22 +486,6 @@ function ModStoreClass:EvalMod(mod, cfg)
end
end
end
-- Syntax: { type = "MeleeProximity", ramp = {MaxBonusPct,MinBonusPct} }
-- Both MaxBonusPct and MinBonusPct are percent in decimal form (1.0 = 100%)
-- Example: { type = "MeleeProximity", ramp = {1,0} } ## Duelist-Slayer: Impact
elseif tag.type == "MeleeProximity" then
if not cfg or not cfg.skillDist then
return
end
-- Max potency is 0-15 units of distance
if cfg.skillDist <= 15 then
value = value * tag.ramp[1]
-- Reduced potency (linear) until 40 units
elseif cfg.skillDist >= 16 and cfg.skillDist <= 39 then
value = value * (tag.ramp[1] - ((tag.ramp[1] / 25) * (cfg.skillDist - 15)))
elseif cfg.skillDist >= 40 then
value = 0
end
elseif tag.type == "Limit" then
value = m_min(value, tag.limit or self:GetMultiplier(tag.limitVar, cfg))
elseif tag.type == "Condition" then
Expand Down Expand Up @@ -809,4 +793,4 @@ function ModStoreClass:EvalMod(mod, cfg)
end
end
return value
end
end
8 changes: 2 additions & 6 deletions src/Modules/CalcActiveSkill.lua
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
end

-- Merge skill effect modifiers with given mod list
-- If a stat set is provided, only merge modifiers from that statset

Check warning on line 52 in src/Modules/CalcActiveSkill.lua

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (statset)
function calcs.mergeSkillInstanceMods(env, modList, skillEffect, statSet, extraStats)
calcLib.validateGemLevel(skillEffect)
-- Verify that statSet provided is from skillEffect
Expand Down Expand Up @@ -445,12 +445,8 @@
end
end

-- Calculate Distance for meleeDistance or projectileDistance (for melee proximity, e.g. Impact)
if skillFlags.melee then
effectiveRange = env.configInput.meleeDistance
else
effectiveRange = env.configInput.projectileDistance
end
-- Calculate distance from enemy
effectiveRange = env.configInput.enemyDistance

-- Build config structure for modifier searches
activeSkill.skillCfg = {
Expand Down
7 changes: 1 addition & 6 deletions src/Modules/ConfigOptions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -273,10 +273,6 @@
{ var = "stoneGolemEqualsCarrionGolem", type = "check", label = "# Stone Golem = # Carrion Golem:", ifCond = "StoneEqualCarrionGolem", ifSkill = "Summon Carrion Golem", includeTransfigured = true, apply = function(val, modList, enemyModList)
modList:NewMod("Condition:StoneEqualCarrionGolem", "FLAG", true, "Config")
end },
{ label = "Close Combat:", ifSkill = "Close Combat" },
{ var = "closeCombatCombatRush", type = "check", label = "Is Combat Rush active?", ifSkill = "Close Combat", tooltip = "Combat Rush grants 20% more Attack Speed to Travel Skills not Supported by Close Combat.",apply = function(val, modList, enemyModList)
modList:NewMod("Condition:CombatRushActive", "FLAG", true, "Config")
end },
{ label = "Cold Snap:", ifSkill = "Cold Snap", includeTransfigured = true },
{ var = "ColdSnapBypassCD", type = "check", label = "Bypass CD?", ifSkill = "Cold Snap", includeTransfigured = true, apply = function(val, modList, enemyModList)
modList:NewMod("CooldownRecovery", "OVERRIDE", 0, "Config", { type = "SkillName", skillName = "Cold Snap", includeTransfigured = true })
Expand Down Expand Up @@ -346,9 +342,9 @@
{ var = "flameWallAddedDamage", type = "check", label = "Projectile Travelled through Flame Wall?", ifSkill = "Flame Wall", apply = function(val, modList, enemyModList)
modList:NewMod("Condition:FlameWallAddedDamage", "FLAG", true, "Config")
end },
{ label = "Bonestorm:", ifSkill = "Bonestorm" },

Check warning on line 345 in src/Modules/ConfigOptions.lua

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (Bonestorm)

Check warning on line 345 in src/Modules/ConfigOptions.lua

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (Bonestorm)
{ var = "bonestormAddedDamage", type = "check", label = "Enemy has Bonestorm debuff?", ifSkill = "Bonestorm", apply = function(val, modList, enemyModList)

Check warning on line 346 in src/Modules/ConfigOptions.lua

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (bonestorm)

Check warning on line 346 in src/Modules/ConfigOptions.lua

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (Bonestorm)

Check warning on line 346 in src/Modules/ConfigOptions.lua

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (Bonestorm)
modList:NewMod("Condition:BonestormAddedDamage", "FLAG", true, "Config")

Check warning on line 347 in src/Modules/ConfigOptions.lua

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (Bonestorm)
end },
{ label = "Flicker Strike:", ifSkill = "Flicker Strike", includeTransfigured = true },
{ var = "FlickerStrikeBypassCD", type = "check", label = "Bypass CD?", ifSkill = "Flicker Strike", includeTransfigured = true, defaultState = true, apply = function(val, modList, enemyModList)
Expand Down Expand Up @@ -1415,8 +1411,7 @@
{ 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:", ifTagType = "MeleeProximity", ifFlag = "melee" },
{ var = "projectileDistance", type = "count", label = "Projectile travel distance:", ifTagType = "DistanceRamp", ifFlag = "projectile" },
{ var = "enemyDistance", type = "count", label = "Distance to enemy:", ifTagType = "DistanceRamp" },
{ 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 },
Expand Down
1 change: 0 additions & 1 deletion src/Modules/ModParser.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2274,13 +2274,13 @@
["life leech is instant"] = { mod("InstantLifeLeech", "BASE", 100), },
["mana leech is instant"] = { mod("InstantManaLeech", "BASE", 100), },
["mana leech effects also recover energy shield"] = { flag("ManaLeechRecoversEnergyShield") },
["leeche?s? (%d.+)%% of (%a+) damage as mana"] = function(num, _, dmgType) return {

Check warning on line 2277 in src/Modules/ModParser.lua

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (leeche)
mod(firstToUpper(dmgType) .. "DamageManaLeech", "BASE", num),
} end,
["leeche?s? (%d.+)%% of (%a+) damage as life"] = function(num, _, dmgType) return {

Check warning on line 2280 in src/Modules/ModParser.lua

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (leeche)
mod(firstToUpper(dmgType) .. "DamageLifeLeech", "BASE", num),
} end,
["leeche?s? (%d.+)%% of (%a+) attack damage as mana"] = function(num, _, dmgType) return {

Check warning on line 2283 in src/Modules/ModParser.lua

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (leeche)
mod(firstToUpper(dmgType) .. "DamageManaLeech", "BASE", num, nil, ModFlag.Attack, 0),
} end,
["leeche?s? (%d.+)%% of (%a+) attack damage as life"] = function(num, _, dmgType) return {
Expand Down Expand Up @@ -2739,7 +2739,6 @@
["you gain (%d+)%% increased area of effect for each mine"] = function(num) return { mod("AreaOfEffect", "INC", num, { type = "PerStat", stat = "ActiveMineLimit" }) } end,
["triggers level (%d+) summon triggerbots when allocated"] = { flag("HaveTriggerBots") },
-- Slayer
["deal up to (%d+)%% more melee damage to enemies, based on proximity"] = function(num) return { mod("Damage", "MORE", num, nil, bor(ModFlag.Attack, ModFlag.Melee), { type = "MeleeProximity", ramp = {1,0} }) } end,
["cannot be stunned while leeching"] = { flag("StunImmune", { type = "Condition", var = "Leeching" }), },
["you are immune to bleeding while leeching"] = { flag("BleedImmune", { type = "Condition", var = "Leeching" }), },
["life leech effects are not removed at full life"] = { flag("CanLeechLifeOnFullLife") },
Expand Down
Loading