From e7700daa95b46d929ad7ce66a946b004f151ebcb Mon Sep 17 00:00:00 2001 From: majochem Date: Mon, 31 Mar 2025 18:43:16 +0200 Subject: [PATCH] Update Unholy Might effect and tooltip --- src/Modules/CalcPerform.lua | 5 ++--- src/Modules/ConfigOptions.lua | 6 ++---- src/Modules/ModParser.lua | 9 ++++----- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index 72322eb879..1c41172c75 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -436,9 +436,8 @@ local function doActorMisc(env, actor) modDB:NewMod("AreaOfEffect", "INC", effect, "Fanaticism", ModFlag.Cast) end if modDB:Flag(nil, "UnholyMight") then - local effect = 1 + modDB:Sum("INC", nil, "BuffEffectOnSelf") / 100 - modDB:NewMod("PhysicalDamageConvertToChaos", "BASE", m_floor(100 * effect), "Unholy Might") - modDB:NewMod("Condition:CanWither", "FLAG", true, "Unholy Might") + local effect = 1 + (modDB:Sum("INC", nil, "BuffEffectOnSelf") / 100) + (modDB:Sum("INC", nil, "UnholyMightMagnitude") / 100) + modDB:NewMod("DamageGainAsChaos", "BASE", m_floor(30 * effect), "Unholy Might") end if modDB:Flag(nil, "ChaoticMight") then local effect = m_floor(30 * (1 + modDB:Sum("INC", nil, "BuffEffectOnSelf") / 100)) diff --git a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua index 0341ed136f..13b9e31d9a 100644 --- a/src/Modules/ConfigOptions.lua +++ b/src/Modules/ConfigOptions.lua @@ -784,13 +784,11 @@ Huge sets the radius to 11. { var = "minionBuffOnslaught", type = "check", label = "Do your minions have Onslaught?", ifFlag = "haveMinion", tooltip = "In addition to allowing any 'while your minions have Onslaught' modifiers to apply,\nthis will enable the Onslaught buff itself. (Grants 20% increased Attack, Cast, and Movement Speed)", apply = function(val, modList, enemyModList) modList:NewMod("MinionModifier", "LIST", { mod = modLib.createMod("Condition:Onslaught", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) }) end }, - { var = "buffUnholyMight", type = "check", label = "Do you have Unholy Might?", tooltip = "This will enable the Unholy Might buff.\n(Grants 100% of Physical Damage converted to ^xD02090Chaos ^7Damage)\n(25% chance to apply Wither on Hit)", apply = function(val, modList, enemyModList) + { var = "buffUnholyMight", type = "check", label = "Do you have Unholy Might?", tooltip = "This will enable the Unholy Might buff.\n(Grants 30% of All Damage as extra ^xD02090Chaos ^7Damage)", apply = function(val, modList, enemyModList) modList:NewMod("Condition:UnholyMight", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) - modList:NewMod("Condition:CanWither", "FLAG", true, "Unholy Might", { type = "Condition", var = "Combat" }) end }, - { var = "minionbuffUnholyMight", type = "check", label = "Do your minions have Unholy Might?", ifFlag = "haveMinion", tooltip = "This will enable the Unholy Might buff on your minions.\n(Grants 100% of Physical Damage converted to ^xD02090Chaos ^7Damage)\n(25% chance to apply Wither on Hit)", apply = function(val, modList, enemyModList) + { var = "minionbuffUnholyMight", type = "check", label = "Do your minions have Unholy Might?", ifFlag = "haveMinion", tooltip = "This will enable the Unholy Might buff on your minions.\n\n(Grants 30% of All Damage as extra ^xD02090Chaos ^7Damage)", apply = function(val, modList, enemyModList) modList:NewMod("MinionModifier", "LIST", { mod = modLib.createMod("Condition:UnholyMight", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) }) - modList:NewMod("MinionModifier", "LIST", { mod = modLib.createMod("Condition:CanWither", "FLAG", true, "Unholy Might", { type = "Condition", var = "Combat" }) }) end }, { var = "buffChaoticMight", type = "check", label = "Do you have Chaotic Might?", tooltip = "This will enable the Chaotic Might buff.\n(Grants 30% of Physical Damage as Extra ^xD02090Chaos ^7Damage)", apply = function(val, modList, enemyModList) modList:NewMod("Condition:ChaoticMight", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 5615cbac82..77f274a54f 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -833,7 +833,7 @@ local modNameList = { ["tailwind"] = "Condition:CanHaveTailwind", ["phasing"] = "Condition:Phasing", ["arcane surge"] = "Condition:ArcaneSurge", - ["unholy might"] = { "Condition:UnholyMight", "Condition:CanWither" }, + ["unholy might"] = "Condition:UnholyMight", ["chaotic might"] = "Condition:ChaoticMight", ["lesser brutal shrine buff"] = "Condition:LesserBrutalShrine", ["lesser massive shrine buff"] = "Condition:LesserMassiveShrine", @@ -3587,7 +3587,7 @@ local specialModList = { ["onslaught"] = { flag("Condition:Onslaught") }, ["rampage"] = { flag("Condition:Rampage") }, ["soul eater"] = { flag("Condition:CanHaveSoulEater") }, - ["unholy might"] = { flag("Condition:UnholyMight"), flag("Condition:CanWither"), }, + ["unholy might"] = { flag("Condition:UnholyMight") }, ["chaotic might"] = { flag("Condition:ChaoticMight") }, ["elusive"] = { flag("Condition:CanBeElusive") }, ["adrenaline"] = { flag("Condition:Adrenaline") }, @@ -3911,7 +3911,7 @@ local specialModList = { ["curses are inflicted on you instead of linked targets"] = { mod("ExtraLinkEffect", "LIST", { mod = flag("CurseImmune"), }), }, ["elemental ailments are inflicted on you instead of linked targets"] = { mod("ExtraLinkEffect", "LIST", { mod = flag("ElementalAilmentImmune") }) }, ["non%-unique utility flasks you use apply to linked targets"] = { mod("ExtraLinkEffect", "LIST", { mod = mod("ParentNonUniqueFlasksAppliedToYou", "FLAG", true, { type = "GlobalEffect", effectType = "Global", unscalable = true } ), }) }, - ["gain unholy might on block for (%d) seconds"] = { flag("Condition:UnholyMight", { type = "Condition", var = "BlockedRecently"}), flag("Condition:CanWither", { type = "Condition", var = "BlockedRecently"}), }, + ["gain unholy might on block for (%d) seconds"] = { flag("Condition:UnholyMight", { type = "Condition", var = "BlockedRecently"}) }, -- Traps, Mines ["traps and mines deal (%d+)%-(%d+) additional physical damage"] = function(_, min, max) return { mod("PhysicalMin", "BASE", tonumber(min), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)), mod("PhysicalMax", "BASE", tonumber(max), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)) } end, ["traps and mines deal (%d+) to (%d+) additional physical damage"] = function(_, min, max) return { mod("PhysicalMin", "BASE", tonumber(min), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)), mod("PhysicalMax", "BASE", tonumber(max), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)) } end, @@ -4075,7 +4075,6 @@ local specialModList = { ["minions have (%d+)%% increased attack and cast speed while you are affected by a herald"] = function(num) return { mod("MinionModifier", "LIST", { mod = mod("Speed", "INC", num, { type = "ActorCondition", actor = "parent", var = "AffectedByHerald" }) }) } end, ["minions have unholy might"] = { mod("MinionModifier", "LIST", { mod = flag("Condition:UnholyMight") }), - mod("MinionModifier", "LIST", { mod = flag("Condition:CanWither") }), }, ["summoned skeleton warriors a?n?d? ?s?o?l?d?i?e?r?s? ?deal triple damage with this weapon if you've hit with this weapon recently"] = { mod("Dummy", "DUMMY", 1, { type = "Condition", var = "HitRecentlyWithWeapon" }), -- Make the Configuration option appear @@ -4638,7 +4637,7 @@ local specialModList = { ["removes freeze and chill on use"] = { }, ["removes poison on use"] = { }, ["removes shock on use"] = { }, - ["g?a?i?n? ?unholy might during f?l?a?s?k? ?effect"] = { flag("Condition:UnholyMight", { type = "Condition", var = "UsingFlask" }), flag("Condition:CanWither", { type = "Condition", var = "UsingFlask" }), }, + ["g?a?i?n? ?unholy might during f?l?a?s?k? ?effect"] = { flag("Condition:UnholyMight", { type = "Condition", var = "UsingFlask" }) }, ["zealot's oath during f?l?a?s?k? ?effect"] = { flag("ZealotsOath", { type = "Condition", var = "UsingFlask" }) }, ["grants level (%d+) (.+) curse aura during f?l?a?s?k? ?effect"] = function(num, _, skill) return { mod("ExtraCurse", "LIST", { skillId = gemIdLookup[skill:gsub(" skill","")] or "Unknown", level = num }, { type = "Condition", var = "UsingFlask" }) } end, ["shocks nearby enemies during f?l?a?s?k? ?effect, causing (%d+)%% increased damage taken"] = function(num) return {