From 9112c68ef6dce8672508560e5a4067c43e03fc90 Mon Sep 17 00:00:00 2001 From: APXEOLOG Date: Wed, 27 Jul 2022 16:27:30 +0200 Subject: [PATCH 1/6] bugfix: Count Absolution spell hit once in the Total DPS --- src/Modules/Calcs.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Modules/Calcs.lua b/src/Modules/Calcs.lua index ebfeab4d8b..07f3f0a731 100644 --- a/src/Modules/Calcs.lua +++ b/src/Modules/Calcs.lua @@ -217,6 +217,10 @@ function calcs.calcFullDPS(build, mode, override, specEnv) if usedEnv.minion.output.CullMultiplier and usedEnv.minion.output.CullMultiplier > 1 and usedEnv.minion.output.CullMultiplier > fullDPS.cullingMulti then fullDPS.cullingMulti = usedEnv.minion.output.CullMultiplier end + -- This is a fix to prevent Absolution spell hit from being counted multiple times when increasing minions count + if activeSkill.activeEffect.grantedEffect.name == "Absolution" then + activeSkillCount = 1 + end end if activeSkill.mirage then From b687cdb19f2f65b70187347f2c2a82261786843b Mon Sep 17 00:00:00 2001 From: APXEOLOG Date: Wed, 27 Jul 2022 16:42:11 +0200 Subject: [PATCH 2/6] bugfix: Modify info message for better clarity --- src/Modules/Calcs.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Modules/Calcs.lua b/src/Modules/Calcs.lua index 07f3f0a731..d3e8fcb39d 100644 --- a/src/Modules/Calcs.lua +++ b/src/Modules/Calcs.lua @@ -220,6 +220,7 @@ function calcs.calcFullDPS(build, mode, override, specEnv) -- This is a fix to prevent Absolution spell hit from being counted multiple times when increasing minions count if activeSkill.activeEffect.grantedEffect.name == "Absolution" then activeSkillCount = 1 + activeSkill.infoMessage2 = "Skill Damage" end end From b826d3c9269e1593c5b6328c3b33bc53d93954b3 Mon Sep 17 00:00:00 2001 From: APXEOLOG Date: Wed, 27 Jul 2022 16:43:04 +0200 Subject: [PATCH 3/6] bugfix: Fix spacing --- src/Modules/Calcs.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Modules/Calcs.lua b/src/Modules/Calcs.lua index d3e8fcb39d..262090265d 100644 --- a/src/Modules/Calcs.lua +++ b/src/Modules/Calcs.lua @@ -220,7 +220,7 @@ function calcs.calcFullDPS(build, mode, override, specEnv) -- This is a fix to prevent Absolution spell hit from being counted multiple times when increasing minions count if activeSkill.activeEffect.grantedEffect.name == "Absolution" then activeSkillCount = 1 - activeSkill.infoMessage2 = "Skill Damage" + activeSkill.infoMessage2 = "Skill Damage" end end From 15f84ba4cca6f50e2cabfb155c959354431eeba3 Mon Sep 17 00:00:00 2001 From: APXEOLOG Date: Wed, 27 Jul 2022 16:43:32 +0200 Subject: [PATCH 4/6] bugfix: Fix spacing --- src/Modules/Calcs.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Modules/Calcs.lua b/src/Modules/Calcs.lua index 262090265d..7a154bdbe1 100644 --- a/src/Modules/Calcs.lua +++ b/src/Modules/Calcs.lua @@ -220,7 +220,7 @@ function calcs.calcFullDPS(build, mode, override, specEnv) -- This is a fix to prevent Absolution spell hit from being counted multiple times when increasing minions count if activeSkill.activeEffect.grantedEffect.name == "Absolution" then activeSkillCount = 1 - activeSkill.infoMessage2 = "Skill Damage" + activeSkill.infoMessage2 = "Skill Damage" end end From 607cceeb71729749d38580e44cb349d567cd986d Mon Sep 17 00:00:00 2001 From: APXEOLOG Date: Wed, 27 Jul 2022 16:44:23 +0200 Subject: [PATCH 5/6] bugfix: Fix spacing --- src/Modules/Calcs.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Modules/Calcs.lua b/src/Modules/Calcs.lua index 7a154bdbe1..8d91a90a67 100644 --- a/src/Modules/Calcs.lua +++ b/src/Modules/Calcs.lua @@ -218,10 +218,10 @@ function calcs.calcFullDPS(build, mode, override, specEnv) fullDPS.cullingMulti = usedEnv.minion.output.CullMultiplier end -- This is a fix to prevent Absolution spell hit from being counted multiple times when increasing minions count - if activeSkill.activeEffect.grantedEffect.name == "Absolution" then - activeSkillCount = 1 - activeSkill.infoMessage2 = "Skill Damage" - end + if activeSkill.activeEffect.grantedEffect.name == "Absolution" then + activeSkillCount = 1 + activeSkill.infoMessage2 = "Skill Damage" + end end if activeSkill.mirage then From e4543b389962ac22bb02e07f5e6802b0f1063700 Mon Sep 17 00:00:00 2001 From: APXEOLOG Date: Thu, 28 Jul 2022 14:32:34 +0200 Subject: [PATCH 6/6] Add config option --- src/Modules/Calcs.lua | 2 +- src/Modules/ConfigOptions.lua | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Modules/Calcs.lua b/src/Modules/Calcs.lua index 8d91a90a67..a8e41fc44b 100644 --- a/src/Modules/Calcs.lua +++ b/src/Modules/Calcs.lua @@ -218,7 +218,7 @@ function calcs.calcFullDPS(build, mode, override, specEnv) fullDPS.cullingMulti = usedEnv.minion.output.CullMultiplier end -- This is a fix to prevent Absolution spell hit from being counted multiple times when increasing minions count - if activeSkill.activeEffect.grantedEffect.name == "Absolution" then + if activeSkill.activeEffect.grantedEffect.name == "Absolution" and fullEnv.modDB:Flag(false, "Condition:AbsolutionSkillDamageCountedOnce") then activeSkillCount = 1 activeSkill.infoMessage2 = "Skill Damage" end diff --git a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua index ae5891b29d..c260081f8a 100644 --- a/src/Modules/ConfigOptions.lua +++ b/src/Modules/ConfigOptions.lua @@ -437,6 +437,9 @@ return { modList:NewMod("Condition:WaveOfConvictionLightningExposureActive", "FLAG", true, "Config") end end }, + { var = "absolutionSkillDamageCountedOnce", type = "check", label = "Absolution: Count skill damage once", ifSkill = "Absolution", tooltip = "Your Absolution Skill Damage will not be scaled with Count setting.\nBy default it multiplies both minion count and skill hit count which leads to incorrect\nTotal DPS calculation since Absolution cannot inherently shotgun.\nDo not enable if you use Spell Totem support, Spell Cascade support or similar supports", apply = function(val, modList, enemyModList) + modList:NewMod("Condition:AbsolutionSkillDamageCountedOnce", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) + end }, { label = "Molten Shell:", ifSkill = "Molten Shell" }, { var = "MoltenShellDamageMitigated", type = "count", label = "Damage mitigated:", tooltip = "Molten Shell reflects damage to the enemy,\nbased on the amount of damage it has mitigated.", ifSkill = "Molten Shell", apply = function(val, modList, enemyModList) modList:NewMod("SkillData", "LIST", { key = "MoltenShellDamageMitigated", value = val }, "Config", { type = "SkillName", skillName = "Molten Shell" })