From 0b4070e39c1a1bef3239b3dd8695d1c6f2b4f472 Mon Sep 17 00:00:00 2001 From: MrHB212 Date: Thu, 18 Dec 2025 18:52:22 +0100 Subject: [PATCH 1/3] added hinder and maim in config --- src/Modules/ConfigOptions.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua index f48539bbe..c5e7d4441 100644 --- a/src/Modules/ConfigOptions.lua +++ b/src/Modules/ConfigOptions.lua @@ -876,6 +876,13 @@ Huge sets the radius to 11. { var = "overrideFortification", type = "count", label = "# of Fortification Stacks (if not maximum):", ifFlag = "Condition:Fortified", tooltip = "You have 1% less damage taken from hits per stack of fortification:\nHas a default cap of 20 stacks.", apply = function(val, modList, enemyModList) modList:NewMod("FortificationStacks", "OVERRIDE", val, "Config", { type = "Condition", var = "Combat" }) end }, + { var = "debuffMaim", type = "check", label = "Are you Maimed?", apply = function(val, modList, enemyModList) + modList:NewMod("MovementSpeed", "INC", -30, "Config", { type = "Condition", var = "Combat" }) + modList:NewMod("Evasion", "INC", -15, "Config", { type = "Condition", var = "Combat" }) + end }, + { var = "debuffHinder", type = "check", label = "Are you Hindered?", apply = function(val, modList, enemyModList) + modList:NewMod("MovementSpeed", "INC", -30, "Config", { type = "Condition", var = "Combat" }) + end }, { var = "multiplierTailwind", type = "count", label = "# of Tailwind Stacks:", ifFlag = "Condition:CanHaveTailwind", tooltip = "Tailwind grants the following, up to a base of 10 stacks:\n\t1% increased movement speed\n\t3% increased Skill Speed\n\t15% increased Evasion Rating", apply = function(val, modList, enemyModList) modList:NewMod("Multiplier:Tailwind", "BASE", val, "Config", { type = "Condition", var = "Combat" }) end }, From 05d7a007e142084c0a3ce2d32324592bbcb0814d Mon Sep 17 00:00:00 2001 From: MrHB212 Date: Thu, 18 Dec 2025 18:56:51 +0100 Subject: [PATCH 2/3] added immune to hinder and maim --- src/Data/ModCache.lua | 5 ++--- src/Modules/ConfigOptions.lua | 6 +++--- src/Modules/ModParser.lua | 2 ++ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index c2388cddb..797bf28e8 100644 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -5355,11 +5355,10 @@ c["Immune to Corrupted Blood 40% reduced Duration of Bleeding on You"]={nil,"Imm c["Immune to Elemental Ailments while on Consecrated Ground if you have at least 150 Devotion"]={{[1]={[1]={type="Condition",var="OnConsecratedGround"},[2]={stat="Devotion",threshold=150,type="StatThreshold"},flags=0,keywordFlags=0,name="ElementalAilmentImmune",type="FLAG",value=true}},nil} c["Immune to Freeze"]={{[1]={flags=0,keywordFlags=0,name="FreezeImmune",type="FLAG",value=true}},nil} c["Immune to Freeze and Chill while affected by an Archon Buff"]={nil,"Immune to Freeze and Chill while affected by an Archon Buff "} -c["Immune to Hinder"]={nil,"Immune to Hinder "} -c["Immune to Hinder Immune to Maim"]={nil,"Immune to Hinder Immune to Maim "} +c["Immune to Hinder"]={{[1]={flags=0,keywordFlags=0,name="Condition:HinderImmune",type="FLAG",value=true}},nil} c["Immune to Ignite"]={{[1]={flags=0,keywordFlags=0,name="IgniteImmune",type="FLAG",value=true}},nil} c["Immune to Ignite if a majority of your Socketed Support Gems are Red"]={{[1]={[1]={type="Condition",var="MajorityRedSocketedSupports"},flags=0,keywordFlags=0,name="IgniteImmune",type="FLAG",value=true}},nil} -c["Immune to Maim"]={nil,"Immune to Maim "} +c["Immune to Maim"]={{[1]={flags=0,keywordFlags=0,name="Condition:MaimImmune",type="FLAG",value=true}},nil} c["Immune to Poison"]={{[1]={flags=0,keywordFlags=0,name="PoisonImmune",type="FLAG",value=true}},nil} c["Immune to Poison if Equipped Helmet has higher Evasion Rating than Armour"]={{[1]={[1]={type="Condition",var="HelmetEvasionHigherThanArmour"},flags=0,keywordFlags=0,name="PoisonImmune",type="FLAG",value=true}},nil} c["Immune to Shock"]={{[1]={flags=0,keywordFlags=0,name="ShockImmune",type="FLAG",value=true}},nil} diff --git a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua index c5e7d4441..c4f1bbac9 100644 --- a/src/Modules/ConfigOptions.lua +++ b/src/Modules/ConfigOptions.lua @@ -877,11 +877,11 @@ Huge sets the radius to 11. modList:NewMod("FortificationStacks", "OVERRIDE", val, "Config", { type = "Condition", var = "Combat" }) end }, { var = "debuffMaim", type = "check", label = "Are you Maimed?", apply = function(val, modList, enemyModList) - modList:NewMod("MovementSpeed", "INC", -30, "Config", { type = "Condition", var = "Combat" }) - modList:NewMod("Evasion", "INC", -15, "Config", { type = "Condition", var = "Combat" }) + modList:NewMod("MovementSpeed", "INC", -30, "Config", { type = "Condition", var = "Combat" }, {type = "Condition", var = "MaimImmune", neg = true}) + modList:NewMod("Evasion", "INC", -15, "Config", { type = "Condition", var = "Combat" }, {type = "Condition", var = "MaimImmune", neg = true}) end }, { var = "debuffHinder", type = "check", label = "Are you Hindered?", apply = function(val, modList, enemyModList) - modList:NewMod("MovementSpeed", "INC", -30, "Config", { type = "Condition", var = "Combat" }) + modList:NewMod("MovementSpeed", "INC", -30, "Config", { type = "Condition", var = "Combat" }, {type = "Condition", var = "MaimImmune", neg = true}) end }, { var = "multiplierTailwind", type = "count", label = "# of Tailwind Stacks:", ifFlag = "Condition:CanHaveTailwind", tooltip = "Tailwind grants the following, up to a base of 10 stacks:\n\t1% increased movement speed\n\t3% increased Skill Speed\n\t15% increased Evasion Rating", apply = function(val, modList, enemyModList) modList:NewMod("Multiplier:Tailwind", "BASE", val, "Config", { type = "Condition", var = "Combat" }) diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 798df8c08..4b182b37c 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -4983,6 +4983,8 @@ local specialModList = { ["cannot be inflicted with bleeding"] = { flag("BleedImmune") }, ["bleeding cannot be inflicted on you"] = { flag("BleedImmune") }, ["you are immune to bleeding"] = { flag("BleedImmune") }, + ["immune to hinder"] = {flag("Condition:HinderImmune") }, + ["immune to maim"] = {flag("Condition:MaimImmune") }, ["immune to bleeding if equipped helmet has higher armour than evasion rating"] = { flag("BleedImmune", { type = "Condition", var = "HelmetArmourHigherThanEvasion" }) }, ["immune to poison if equipped helmet has higher evasion rating than armour"] = { flag("PoisonImmune", { type = "Condition", var = "HelmetEvasionHigherThanArmour" }) }, ["immun[ei]t?y? to bleeding and corrupted blood during f?l?a?s?k? ?effect"] = { flag("BleedImmune", { type = "Condition", var = "UsingFlask" }) }, From 993514bb6786aff036aec22e078c27605da20fd6 Mon Sep 17 00:00:00 2001 From: MrHB212 Date: Thu, 15 Jan 2026 22:56:59 +0100 Subject: [PATCH 3/3] review --- src/Modules/CalcPerform.lua | 7 +++++++ src/Modules/ConfigOptions.lua | 9 ++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index fc2cb2c32..ece383a26 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -487,6 +487,13 @@ local function doActorMisc(env, actor) end modDB.multipliers["BuffOnSelf"] = (modDB.multipliers["BuffOnSelf"] or 0) + 1 end + if modDB:Flag(nil, "Maim") and not modDB:Flag(nil, "Condition:MaimImmune") then + modDB:NewMod("MovementSpeed", "INC", -30, "Maim") + modDB:NewMod("Evasion", "INC", -15, "Maim") + end + if modDB:Flag(nil, "Hinder") and not modDB:Flag(nil, "Condition:HinderImmune") then + modDB:NewMod("MovementSpeed", "INC", -30, "Hinder") + end if modDB:Flag(nil, "Onslaught") then local effect --Loop detects if a Silver flask is used to grant Onslaught. If statement adds flask effect to calculation if one is being used diff --git a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua index c4f1bbac9..c404e2bc3 100644 --- a/src/Modules/ConfigOptions.lua +++ b/src/Modules/ConfigOptions.lua @@ -876,12 +876,11 @@ Huge sets the radius to 11. { var = "overrideFortification", type = "count", label = "# of Fortification Stacks (if not maximum):", ifFlag = "Condition:Fortified", tooltip = "You have 1% less damage taken from hits per stack of fortification:\nHas a default cap of 20 stacks.", apply = function(val, modList, enemyModList) modList:NewMod("FortificationStacks", "OVERRIDE", val, "Config", { type = "Condition", var = "Combat" }) end }, - { var = "debuffMaim", type = "check", label = "Are you Maimed?", apply = function(val, modList, enemyModList) - modList:NewMod("MovementSpeed", "INC", -30, "Config", { type = "Condition", var = "Combat" }, {type = "Condition", var = "MaimImmune", neg = true}) - modList:NewMod("Evasion", "INC", -15, "Config", { type = "Condition", var = "Combat" }, {type = "Condition", var = "MaimImmune", neg = true}) + { var = "debuffMaim", type = "check", label = "Are you Maimed?", tooltip = "You have 30% slower Movement Speed and 15% reduced Evasion.", apply = function(val, modList, enemyModList) + modList:NewMod("Maim", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) end }, - { var = "debuffHinder", type = "check", label = "Are you Hindered?", apply = function(val, modList, enemyModList) - modList:NewMod("MovementSpeed", "INC", -30, "Config", { type = "Condition", var = "Combat" }, {type = "Condition", var = "MaimImmune", neg = true}) + { var = "debuffHinder", type = "check", label = "Are you Hindered?", tooltip = "You have 30% slower Movement Speed.", apply = function(val, modList, enemyModList) + modList:NewMod("Hinder", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) end }, { var = "multiplierTailwind", type = "count", label = "# of Tailwind Stacks:", ifFlag = "Condition:CanHaveTailwind", tooltip = "Tailwind grants the following, up to a base of 10 stacks:\n\t1% increased movement speed\n\t3% increased Skill Speed\n\t15% increased Evasion Rating", apply = function(val, modList, enemyModList) modList:NewMod("Multiplier:Tailwind", "BASE", val, "Config", { type = "Condition", var = "Combat" })