Skip to content

Commit 9324374

Browse files
committed
prestack mine auras for party tab export
1 parent 6da686d commit 9324374

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

src/Modules/CalcPerform.lua

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2837,6 +2837,7 @@ function calcs.perform(env, fullDPSSkipEHP)
28372837
end
28382838
end
28392839
end
2840+
28402841
for _, damageType in ipairs({"Physical", "Lightning", "Cold", "Fire", "Chaos"}) do
28412842
if env.modDB:Flag(nil, "Enemy"..damageType.."ResistEqualToYours") and output[damageType.."Resist"] then
28422843
buffExports.PlayerMods["Enemy"..damageType.."ResistEqualToYours"] = true
@@ -2850,6 +2851,46 @@ function calcs.perform(env, fullDPSSkipEHP)
28502851

28512852
buffExports.PlayerMods["MovementSpeedMod|percent|max="..tostring(output["MovementSpeedMod"] * 100)] = true
28522853

2854+
-- prestack Mine auras
2855+
for auraName, aura in pairs(buffExports["Aura"]) do
2856+
if auraName:match("Mine") and not auraName:match(" Limit") then
2857+
buffExports["Aura"][auraName] = copyTable(buffExports["Aura"][auraName])
2858+
aura = buffExports["Aura"][auraName]
2859+
local stackCount = buffExports["EnemyMods"]["Multiplier:"..auraName.."Stack"] and buffExports["EnemyMods"]["Multiplier:"..auraName.."Stack"].value or 0
2860+
buffExports["EnemyMods"]["Multiplier:"..auraName.."Stack"] = nil
2861+
if stackCount == 0 then
2862+
buffExports["Aura"][auraName] = nil
2863+
else
2864+
for _, mod in ipairs(aura.modList) do
2865+
for _, tag in ipairs(mod) do
2866+
if (tag.effectStackVar or "") == "ActiveMineCount" then
2867+
tag.effectStackVar = nil
2868+
mod.value = mod.value * stackCount
2869+
break
2870+
end
2871+
end
2872+
end
2873+
end
2874+
if buffExports["Aura"][auraName.." Limit"] then
2875+
buffExports["Aura"][auraName.." Limit"] = copyTable(buffExports["Aura"][auraName.." Limit"])
2876+
aura = buffExports["Aura"][auraName.." Limit"]
2877+
if stackCount == 0 then
2878+
buffExports["Aura"][auraName.." Limit"] = nil
2879+
else
2880+
for _, mod in ipairs(aura.modList) do
2881+
for _, tag in ipairs(mod) do
2882+
if (tag.effectStackVar or "") == "ActiveMineCount" then
2883+
tag.effectStackVar = nil
2884+
mod.value = mod.value * stackCount
2885+
break
2886+
end
2887+
end
2888+
end
2889+
end
2890+
end
2891+
end
2892+
end
2893+
28532894
for linkName, link in pairs(buffExports["Link"]) do
28542895
if linkName == "Flame Link" then
28552896
buffExports.PlayerMods["Life="..tostring(output["Life"])] = true

0 commit comments

Comments
 (0)