diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index 07bfa2e95c..d30f769819 100755 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -8662,7 +8662,7 @@ c["Gain 10% of Maximum Mana as Extra Maximum Energy Shield while affected by Cla c["Gain 10% of Physical Damage as Extra Chaos Damage"]={{[1]={flags=0,keywordFlags=0,name="PhysicalDamageGainAsChaos",type="BASE",value=10}},nil} c["Gain 10% of Physical Damage as Extra Chaos Damage while at maximum Power Charges"]={{[1]={[1]={stat="PowerCharges",thresholdStat="PowerChargesMax",type="StatThreshold"},flags=0,keywordFlags=0,name="PhysicalDamageGainAsChaos",type="BASE",value=10}},nil} c["Gain 10% of Physical Damage as Extra Cold Damage"]={{[1]={flags=0,keywordFlags=0,name="PhysicalDamageGainAsCold",type="BASE",value=10}},nil} -c["Gain 10% of Physical Damage as Extra Lightning Damage for each of your Hallowing Flames that have been removed by an allied hit recently, up to 80%"]={{[1]={[1]={limit=8,type="Multiplier",var="HallowingFlameStacksRemovedByAlly"},flags=0,keywordFlags=0,name="PhysicalDamageGainAsLightning",type="BASE",value=10}},nil} +c["Gain 10% of Physical Damage as Extra Lightning Damage for each of your Hallowing Flames that have been removed by an allied hit recently, up to 80%"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="HallowingFlame"},[2]={limit=8,type="Multiplier",var="HallowingFlameStacksRemovedByAlly"},flags=0,keywordFlags=0,name="PhysicalDamageGainAsLightning",type="BASE",value=10}},nil} c["Gain 10% of Wand Physical Damage as Extra Chaos Damage"]={{[1]={flags=8388612,keywordFlags=0,name="PhysicalDamageGainAsChaos",type="BASE",value=10}},nil} c["Gain 10% of Wand Physical Damage as Extra Lightning Damage"]={{[1]={flags=8388612,keywordFlags=0,name="PhysicalDamageGainAsLightning",type="BASE",value=10}},nil} c["Gain 100 Life per Enemy Killed"]={{[1]={flags=0,keywordFlags=0,name="LifeOnKill",type="BASE",value=100}},nil} diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index e92bb405a1..14e08f7040 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -3231,23 +3231,12 @@ function calcs.perform(env, skipEHP) doActorLifeManaReservation(env.player, true) end - if not env.minion and modDB:Flag(env.player.mainSkill.skillCfg, "Condition:CanInflictHallowingFlame") then - local magnitude = modDB:Override(nil, "HallowingFlameMagnitude") - - if env.mode == "MAIN" or not magnitude then - local magnitudeInc = modDB:Sum("INC", nil, "HallowingFlameMagnitude") - magnitude = magnitude or magnitudeInc - if env.mode == "MAIN" then - env.build.configTab.varControls['conditionHallowingFlameMagnitude']:SetPlaceholder(magnitudeInc, true) - end - end - - local val = m_floor(25 * (1 + magnitude / 100)) -- Hallowing flame grants Attack Hits against you gain 25% of Physical Damage as Extra Fire Damage - modDB:NewMod("Multiplier:HallowingFlameMax", "BASE", 1, "Base") - modDB:NewMod("ExtraAura", "LIST", { onlyAllies = true, mod = modLib.createMod("PhysicalDamageGainAsLightning", "BASE", val, "Hallowing Flame", { type = "GlobalEffect", effectType = "Global", unscalable = true }, { type = "ActorCondition", actor = "enemy", var = "HallowingFlame" }, { type = "Multiplier", var = "HallowingFlame", actor = "enemy", limitActor = "parent", limitVar = "HallowingFlameMax" }) }) + if modDB:Flag(env.player.mainSkill.skillCfg, "Condition:CanInflictHallowingFlame") then + local magnitude = modDB:Override(nil, "HallowingFlameMagnitude") or modDB:Sum("INC", nil, "HallowingFlameMagnitude") + local val = m_floor(25 * (1 + magnitude / 100)) -- Hallowing flame grants Attack Hits against you gain 25% of Physical Damage as Extra Fire Damage + modDB:NewMod("ExtraAura", "LIST", { mod = modLib.createMod("PhysicalDamageGainAsFire", "BASE", val, "Hallowing Flame", { type = "GlobalEffect", effectType = "Global", unscalable = true }, { type = "ActorCondition", actor = "enemy", var = "HallowingFlame" }, { type = "Multiplier", var = "HallowingFlame", actor = "enemy" }) }) end - -- Check for extra auras buffExports["Aura"]["extraAura"] = { effectMult = 1, modList = new("ModList") } for _, value in ipairs(modDB:List(nil, "ExtraAura")) do diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 72690640f4..cb9ea33018 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -2760,7 +2760,7 @@ local specialModList = { ["enemies in your link beams cannot apply elemental ailments"] = { flag("ElementalAilmentImmune", { type = "ActorCondition", actor = "enemy", var = "BetweenYouAndLinkedTarget" }), }, ["(%d+)%% of damage from hits is taken from your sentinel of radiance's life before you"] = function(num) return { mod("takenFromRadianceSentinelBeforeYou", "BASE", num) } end, ["you can inflict %+(%d+) hallowing flame on enemies"] = function(num) return { mod("Multiplier:HallowingFlameMax", "BASE", num) } end, - ["gain (%d+)%% of (%a+) damage as extra (%a+) damage for each of your hallowing flames that have been removed by an allied hit recently, up to (%d+)%%"] = function(num, _, fromType, destType, limit) return { mod((fromType:gsub("^%l", string.upper)) .. "DamageGainAs" .. (destType:gsub("^%l", string.upper)), "BASE", num, { type = "Multiplier", var = "HallowingFlameStacksRemovedByAlly", limit = tonumber(limit) / num }) } end, + ["gain (%d+)%% of (%a+) damage as extra (%a+) damage for each of your hallowing flames that have been removed by an allied hit recently, up to (%d+)%%"] = function(num, _, fromType, destType, limit) return { mod((fromType:gsub("^%l", string.upper)) .. "DamageGainAs" .. (destType:gsub("^%l", string.upper)), "BASE", num, { type = "ActorCondition", actor = "enemy", var = "HallowingFlame" }, { type = "Multiplier", var = "HallowingFlameStacksRemovedByAlly", limit = tonumber(limit) / num }) } end, ["(%d+)%% increased magnitude of hallowing flame you inflict"] = function(num) return { mod("HallowingFlameMagnitude", "INC", num) } end, -- Hierophant ["you and your totems regenerate ([%d%.]+)%% of life per second for each summoned totem"] = function (num) return {