Skip to content

Commit 000caca

Browse files
authored
Add new boss skills, auto apply uber changes if set to uber, and update non-uber pen/chaos mix (#5612)
* add new boss skills, auto apply uber changes, and update non-uber pen * fix spell * update how boss data is handled * move boss skill list to data and update multiplier name * move tooltip into data * actually commit data change * fix spelling * update atziri flameblast to include non-uber variant * move tooltip to a tooltip func to only show relevant info for that skill * make rollrange configurable * fix spelling * fix spelling * add option to always hide config option even if invalid * remove redundant logic * move boss skills to a separate file * fixes tooltip inconsistency * add minor suggestions * initial export implementation * fix indexing issue * fix colour code crash * export boss data * fix damage spread * export some skill stats * export more values and cleanup functions * export damages * apply rarity multiplier * fix spelling * fix spelling * revert to using old hardcoded values to better match poeDB * update multipliers * fix uber mult
1 parent fa7f230 commit 000caca

File tree

7 files changed

+773
-117
lines changed

7 files changed

+773
-117
lines changed

src/Classes/ConfigTab.lua

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -251,35 +251,37 @@ local ConfigTabClass = newClass("ConfigTab", "UndoHandler", "ControlHost", "Cont
251251
end
252252
end
253253

254-
local innerShown = control.shown
255-
control.shown = function()
256-
local shown = type(innerShown) == "boolean" and innerShown or innerShown()
257-
return not shown and control.state ~= self:GetDefaultState(varData.var, type(control.state)) or shown
258-
end
259-
local innerLabel = control.label
260-
control.label = function()
261-
local shown = type(innerShown) == "boolean" and innerShown or innerShown()
262-
if not shown and control.state ~= self:GetDefaultState(varData.var, type(control.state)) then
263-
return "^1"..innerLabel
254+
if not varData.hideIfInvalid then
255+
local innerShown = control.shown
256+
control.shown = function()
257+
local shown = type(innerShown) == "boolean" and innerShown or innerShown()
258+
return not shown and control.state ~= self:GetDefaultState(varData.var, type(control.state)) or shown
264259
end
265-
return innerLabel
266-
end
267-
local innerTooltipFunc = control.tooltipFunc
268-
control.tooltipFunc = function (tooltip, ...)
269-
tooltip:Clear()
270-
271-
if innerTooltipFunc then
272-
innerTooltipFunc(tooltip, ...)
273-
else
274-
local tooltipText = control:GetProperty("tooltipText")
275-
if tooltipText then
276-
tooltip:AddLine(14, tooltipText)
260+
local innerLabel = control.label
261+
control.label = function()
262+
local shown = type(innerShown) == "boolean" and innerShown or innerShown()
263+
if not shown and control.state ~= self:GetDefaultState(varData.var, type(control.state)) then
264+
return "^1"..innerLabel
277265
end
266+
return innerLabel
278267
end
268+
local innerTooltipFunc = control.tooltipFunc
269+
control.tooltipFunc = function (tooltip, ...)
270+
tooltip:Clear()
279271

280-
local shown = type(innerShown) == "boolean" and innerShown or innerShown()
281-
if not shown and control.state ~= self:GetDefaultState(varData.var, type(control.state)) then
282-
tooltip:AddLine(14, "^1This config option is conditional with missing source and is invalid.")
272+
if innerTooltipFunc then
273+
innerTooltipFunc(tooltip, ...)
274+
else
275+
local tooltipText = control:GetProperty("tooltipText")
276+
if tooltipText then
277+
tooltip:AddLine(14, tooltipText)
278+
end
279+
end
280+
281+
local shown = type(innerShown) == "boolean" and innerShown or innerShown()
282+
if not shown and control.state ~= self:GetDefaultState(varData.var, type(control.state)) then
283+
tooltip:AddLine(14, "^1This config option is conditional with missing source and is invalid.")
284+
end
283285
end
284286
end
285287

src/Data/BossSkills.lua

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
-- This file is automatically generated, do not edit!
2+
-- Path of Building
3+
--
4+
-- Boss Skill Presets
5+
-- Boss Skill data (c) Grinding Gear Games
6+
--
7+
return {
8+
["Atziri Flameblast"] = {
9+
DamageType = "Spell",
10+
DamageMultipliers = {
11+
Fire = { 57.29394377618, 0.2864697188809 }
12+
},
13+
DamagePenetrations = {
14+
FirePen = ""
15+
},
16+
UberDamagePenetrations = {
17+
FirePen = 10
18+
},
19+
speed = 12500,
20+
UberSpeed = 25000,
21+
critChance = 0,
22+
earlierUber = true,
23+
tooltip = "The Uber variant has 10 ^xB97123Fire^7 penetration (Applied on Pinnacle And Uber)"
24+
},
25+
["Shaper Ball"] = {
26+
DamageType = "SpellProjectile",
27+
DamageMultipliers = {
28+
Cold = { 11.666076975909, 0.058330384879546 }
29+
},
30+
DamagePenetrations = {
31+
ColdPen = 25
32+
},
33+
UberDamagePenetrations = {
34+
ColdPen = 40
35+
},
36+
speed = 1400,
37+
tooltip = "Allocating Cosmic Wounds increases the penetration to 40% (Applied on Uber) and adds 2 projectiles"
38+
},
39+
["Shaper Slam"] = {
40+
DamageType = "Melee",
41+
DamageMultipliers = {
42+
Physical = { 12.358683281257, 0.061793416406285 }
43+
},
44+
UberDamageMultiplier = 1.6666666666667,
45+
speed = 3510,
46+
UberSpeed = 1755,
47+
critChance = 0,
48+
tooltip = "Cannot be Evaded. Allocating Cosmic Wounds increases Damage by a further 100% (Applied on Uber) and cannot be blocked or dodged"
49+
},
50+
["Sirus Meteor"] = {
51+
DamageType = "Spell",
52+
DamageMultipliers = {
53+
Physical = { 11.2718900614, 0.056354278291738 },
54+
Lightning = { 11.2718900614, 0.056354278291738 },
55+
Fire = { 11.2718900614, 0.056354278291738 },
56+
Chaos = { 11.2718900614, 0.056354278291738 }
57+
},
58+
UberDamageMultiplier = 1.52,
59+
speed = 1500,
60+
tooltip = "Earlier ones with less walls do less damage. Allocating The Perfect Storm increases Damage by a further 50% (Applied on Uber)"
61+
},
62+
["Exarch Ball"] = {
63+
DamageType = "SpellProjectile",
64+
DamageMultipliers = {
65+
Fire = { 14.924946784635, 0.074624733923175 }
66+
},
67+
speed = 1000,
68+
critChance = 0,
69+
tooltip = "Spawns 8-18 waves of balls depending on which fight and which ball phase"
70+
},
71+
["Eater Beam"] = {
72+
DamageType = "Spell",
73+
DamageMultipliers = {
74+
Lightning = { 12.164923902598, 0.24329847805197 }
75+
},
76+
speed = 2500,
77+
tooltip = "Allocating Insatiable Appetite causes the beam to always shock for at least 30%"
78+
},
79+
["Maven Fireball"] = {
80+
DamageType = "SpellProjectile",
81+
DamageMultipliers = {
82+
Fire = { 14.977416270256, 0.074887081351278 }
83+
},
84+
UberDamageMultiplier = 2.0273275862069,
85+
DamagePenetrations = {
86+
FirePen = ""
87+
},
88+
UberDamagePenetrations = {
89+
FirePen = 30
90+
},
91+
speed = 3000,
92+
tooltip = "Allocating Throw the Gauntlet increases Damage by a further 100% (Applied on Uber) and causes the fireball to have 30 ^xB97123Fire^7 penetration (Applied on Uber)"
93+
},
94+
["Maven MemoryGame"] = {
95+
DamageType = "Melee",
96+
DamageMultipliers = {
97+
Lightning = { 34.763635149472, 0.17381817574736 },
98+
Cold = { 34.763635149472, 0.17381817574736 },
99+
Fire = { 34.763635149472, 0.17381817574736 }
100+
},
101+
UberDamageMultiplier = 1.0086206896552,
102+
speed = 7500,
103+
tooltip = "Is three separate hits, and has a large DoT effect. Neither is taken into account here. \n i.e. Hits before death should be more than 3 to survive"
104+
},
105+
}

0 commit comments

Comments
 (0)