Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/Classes/CalcBreakdownControl.lua
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ function CalcBreakdownClass:AddBreakdownSection(sectionData)
{ label = "More/less", key = "more" },
{ label = "Inc/red", key = "inc" },
{ label = "Efficiency", key = "efficiency" },
{ label = "Efficiency More/less", key = "efficiencyMore" },
{ label = "Count", key = "count" },
{ label = "Reservation", key = "total" },
}
Expand Down
2 changes: 1 addition & 1 deletion src/Data/ModCache.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5664,7 +5664,7 @@ c["Non-Channelling Spells deal 6% increased Damage per 100 maximum Life"]={{[1]=
c["Non-Channelling Spells have 3% increased Critical Hit Chance per 100 maximum Life"]={{[1]={[1]={neg=true,skillType=48,type="SkillType"},[2]={div=100,stat="Life",type="PerStat"},flags=2,keywordFlags=0,name="CritChance",type="INC",value=3}},nil}
c["Non-Channelling Spells have 5% increased Critical Hit Chance per 100 maximum Life"]={{[1]={[1]={neg=true,skillType=48,type="SkillType"},[2]={div=100,stat="Life",type="PerStat"},flags=2,keywordFlags=0,name="CritChance",type="INC",value=5}},nil}
c["Non-Keystone Passive Skills in Medium Radius of allocated Keystone Passive Skills can be allocated without being connected to your tree"]={{[1]={flags=0,keywordFlags=0,name="AllocateFromNodeRadius",type="LIST",value={from="Keystone",radiusIndex=2,to={[1]="Notable",[2]="Normal"}}}},nil}
c["Non-Minion Skills have 50% less Reservation Efficiency"]={nil,"Non-Minion Skills have 50% less Reservation Efficiency "}
c["Non-Minion Skills have 50% less Reservation Efficiency"]={{[1]={[1]={neg=true,skillType=6,type="SkillType"},flags=0,keywordFlags=0,name="ReservationEfficiency",type="MORE",value=-50}},nil}
c["Non-Unique Time-Lost Jewels have 40% increased radius"]={nil,"Non-Unique Time-Lost Jewels have 40% increased radius "}
c["Offering Skills have 15% increased Buff effect"]={{[1]={[1]={skillType=154,type="SkillType"},flags=0,keywordFlags=0,name="BuffEffect",type="INC",value=15}},nil}
c["Offering Skills have 20% increased Area of Effect"]={{[1]={[1]={skillType=154,type="SkillType"},flags=0,keywordFlags=0,name="AreaOfEffect",type="INC",value=20}},nil}
Expand Down
7 changes: 5 additions & 2 deletions src/Modules/CalcDefence.lua
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ function calcs.doActorLifeManaSpiritReservation(actor)
values.more = skillModList:More(skillCfg, name.."Reserved", "Reserved")
values.inc = skillModList:Sum("INC", skillCfg, name.."Reserved", "Reserved")
values.efficiency = m_max(skillModList:Sum("INC", skillCfg, name.."ReservationEfficiency", "ReservationEfficiency"), -100)
values.efficiencyMore = skillModList:More(skillCfg, name.."ReservationEfficiency", "ReservationEfficiency")
-- used for Arcane Cloak calculations in ModStore.GetStat
actor[name.."Efficiency"] = values.efficiency
if activeSkill.skillData[name.."ReservationFlatForced"] then
Expand All @@ -241,7 +242,7 @@ function calcs.doActorLifeManaSpiritReservation(actor)
local baseFlatVal = values.baseFlat * mult
values.reservedFlat = 0
if values.more > 0 and values.inc > -100 and baseFlatVal ~= 0 then
values.reservedFlat = m_max(round(baseFlatVal * (100 + values.inc) / 100 * values.more / (1 + values.efficiency / 100), 0), 0)
values.reservedFlat = m_max(round(baseFlatVal * (100 + values.inc) / 100 * values.more / (1 + values.efficiency / 100) / (values.efficiencyMore), 0), 0)
end
end
if activeSkill.skillData[name.."ReservationPercentForced"] then
Expand All @@ -250,7 +251,7 @@ function calcs.doActorLifeManaSpiritReservation(actor)
local basePercentVal = values.basePercent * mult
values.reservedPercent = 0
if values.more > 0 and values.inc > -100 and basePercentVal ~= 0 then
values.reservedPercent = m_max(round(basePercentVal * (100 + values.inc) / 100 * values.more / (1 + values.efficiency / 100), 2), 0)
values.reservedPercent = m_max(round(basePercentVal * (100 + values.inc) / 100 * values.more / (1 + values.efficiency / 100) / (values.efficiencyMore), 2), 0)
end
end
if activeSkill.activeMineCount then
Expand Down Expand Up @@ -291,6 +292,7 @@ function calcs.doActorLifeManaSpiritReservation(actor)
more = values.more ~= 1 and ("x "..values.more),
inc = values.inc ~= 0 and ("x "..(1 + values.inc / 100)),
efficiency = values.efficiency ~= 0 and ("x " .. round(100 / (100 + values.efficiency), 4)),
efficiencyMore = values.efficiencyMore ~= 1 and ("x "..values.efficiencyMore),
count = values.count and ("x " ..values.count),
total = values.reservedFlat,
})
Expand All @@ -308,6 +310,7 @@ function calcs.doActorLifeManaSpiritReservation(actor)
more = values.more ~= 1 and ("x "..values.more),
inc = values.inc ~= 0 and ("x "..(1 + values.inc / 100)),
efficiency = values.efficiency ~= 0 and ("x " .. round(100 / (100 + values.efficiency), 4)),
efficiencyMore = values.efficiencyMore ~= 1 and ("x "..values.efficiencyMore),
total = values.reservedPercent .. "%",
})
end
Expand Down
1 change: 1 addition & 0 deletions src/Modules/ModParser.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1197,6 +1197,7 @@ local preFlagList = {
["^golems [hd][ae][va][el] "] = { addToMinion = true, addToMinionTag = { type = "SkillType", skillType = SkillType.Golem } },
["^summoned golems [hd][ae][va][el] "] = { addToMinion = true, addToMinionTag = { type = "SkillType", skillType = SkillType.Golem } },
["^golem skills have "] = { tag = { type = "SkillType", skillType = SkillType.Golem } },
["^non%-minion skills have "] = { tag = { type = "SkillType", skillType = SkillType.Minion, neg = true } },
["^zombies [hd][ae][va][el] "] = { addToMinion = true, addToMinionTag = { type = "SkillName", skillName = "Raise Zombie", includeTransfigured = true } },
["^raised zombies [hd][ae][va][el] "] = { addToMinion = true, addToMinionTag = { type = "SkillName", skillName = "Raise Zombie", includeTransfigured = true } },
["^skeletons [hd][ae][va][el] "] = { addToMinion = true, addToMinionTag = { type = "SkillName", skillName = "Summon Skeletons", includeTransfigured = true } },
Expand Down