Skip to content

Commit 7aa2ff1

Browse files
committed
Merge remote-tracking branch 'origin/dev'
2 parents ee220a7 + eacc0d5 commit 7aa2ff1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+725
-471
lines changed

Classes/CalcBreakdownControl.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,8 @@ function CalcBreakdownClass:AddModSection(sectionData, modList)
395395
else
396396
desc = baseVal.." per "..tag.div.." "..self:FormatModName(tag.stat)
397397
end
398+
elseif tag.type == "StatThreshold" then
399+
desc = "If "..self:FormatModName(tag.stat).." >= "..tag.threshold
398400
elseif tag.type == "SkillName" then
399401
desc = "Skill: "..tag.skillName
400402
elseif tag.type == "SkillId" then

Classes/ConfigTab.lua

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ local varList = {
3636
{ var = "igniteMode", type = "list", label = "Ignite calculation mode:", tooltip = "Controls how the base damage for ignite is calculated:\nAverage Damage: Ignite is based on the average damage dealt, factoring in crits and non-crits.\nCrit Damage: Ignite is based on crit damage only.", list = {{val="AVERAGE",label="Average Damage"},{val="CRIT",label="Crit Damage"}} },
3737
{ section = "Skill Options", col = 2 },
3838
{ label = "Detonate Dead:", ifSkill = "Detonate Dead" },
39-
{ var = "detonateDeadCorpseLife", type = "number", label = "Corpse Life:", ifSkillList = { "Detonate Dead", "Vaal Detonate Dead" }, tooltip = "Sets the maximum life of the corpse that is being detonated.\nFor reference, a level 70 monster has "..data.monsterLifeTable[70].." base life, and a level 80 monster has "..data.monsterLifeTable[80]..".", apply = function(val, modList, enemyModList)
39+
{ var = "detonateDeadCorpseLife", type = "number", label = "Corpse Life:", ifSkillList = { "Detonate Dead", "Vaal Detonate Dead" }, tooltip = "Sets the maximum life of the corpse that is being detonated.\nFor reference, a level 70 monster has "..data["3_0"].monsterLifeTable[70].." base life, and a level 80 monster has "..data["3_0"].monsterLifeTable[80]..".", apply = function(val, modList, enemyModList)
4040
modList:NewMod("SkillData", "LIST", { key = "corpseLife", value = val }, "Config", { type = "SkillName", skillName = "Detonate Dead" })
4141
end },
4242
{ label = "Ice Nova:", ifSkill = "Ice Nova" },
@@ -304,24 +304,13 @@ local varList = {
304304
end },
305305
{ var = "buffConflux", type = "list", label = "Conflux Buff:", ifNode = 51391, list = {{val=0,label="None"},{val="CHILLING",label="Chilling"},{val="SHOCKING",label="Shocking"},{val="IGNITING",label="Igniting"},{val="ALL",label="Chill + Shock + Ignite"}}, apply = function(val, modList, enemyModList)
306306
if val == "CHILLING" or val == "ALL" then
307-
modList:NewMod("PhysicalCanChill", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
308-
modList:NewMod("LightningCanChill", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
309-
modList:NewMod("FireCanChill", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
310-
modList:NewMod("ChaosCanChill", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
307+
modList:NewMod("Condition:ChillingConflux", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
311308
end
312309
if val == "SHOCKING" or val == "ALL" then
313-
modList:NewMod("EnemyShockChance", "BASE", 100, "Config", { type = "Condition", var = "Combat" })
314-
modList:NewMod("PhysicalCanShock", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
315-
modList:NewMod("ColdCanShock", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
316-
modList:NewMod("FireCanShock", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
317-
modList:NewMod("ChaosCanShock", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
310+
modList:NewMod("Condition:ShockingConflux", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
318311
end
319312
if val == "IGNITING" or val == "ALL" then
320-
modList:NewMod("EnemyIgniteChance", "BASE", 100, "Config", { type = "Condition", var = "Combat" })
321-
modList:NewMod("PhysicalCanIgnite", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
322-
modList:NewMod("LightningCanIgnite", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
323-
modList:NewMod("ColdCanIgnite", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
324-
modList:NewMod("ChaosCanIgnite", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
313+
modList:NewMod("Condition:IgnitingConflux", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
325314
end
326315
end },
327316
{ var = "buffBastionOfHope", type = "check", label = "Is Bastion of Hope active?", ifNode = 39728, apply = function(val, modList, enemyModList)
@@ -482,7 +471,7 @@ local ConfigTabClass = common.NewClass("ConfigTab", "UndoHandler", "ControlHost"
482471

483472
self.sectionList = { }
484473
self.varControls = { }
485-
474+
486475
self:BuildModList()
487476

488477
local lastSection

Classes/ItemsTab.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ If there's 2 slots an item can go in, holding Shift will put it in the second.]]
234234
self.controls.removeDisplayItem = common.New("ButtonControl", {"LEFT",self.controls.editDisplayItem,"RIGHT"}, 8, 0, 60, 20, "Cancel", function()
235235
self:SetDisplayItem()
236236
end)
237-
self.controls.displayItemVariant = common.New("DropDownControl", {"LEFT",self.controls.removeDisplayItem,"RIGHT"}, 8, 0, 200, 20, nil, function(index, value)
237+
self.controls.displayItemVariant = common.New("DropDownControl", {"LEFT",self.controls.removeDisplayItem,"RIGHT"}, 8, 0, 214, 20, nil, function(index, value)
238238
self.displayItem.variant = index
239239
itemLib.buildItemModList(self.displayItem)
240240
self:UpdateDisplayItemTooltip()

Classes/PassiveTree.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,9 @@ local PassiveTreeClass = common.NewClass("PassiveTree", function(self, targetVer
229229
node.mods = { }
230230
node.modKey = ""
231231
local i = 1
232+
if node.passivePointsGranted > 0 then
233+
t_insert(node.sd, "Grants "..node.passivePointsGranted.." Passive Skill Point"..(node.passivePointsGranted > 1 and "s" or ""))
234+
end
232235
while node.sd[i] do
233236
if node.sd[i]:match("\n") then
234237
local line = node.sd[i]
@@ -292,9 +295,6 @@ local PassiveTreeClass = common.NewClass("PassiveTree", function(self, targetVer
292295
end
293296
end
294297
end
295-
if node.passivePointsGranted > 0 then
296-
node.modList:NewMod("ExtraPoints", "BASE", node.passivePointsGranted, "Tree"..node.id)
297-
end
298298
if node.type == "keystone" then
299299
node.keystoneMod = modLib.createMod("Keystone", "LIST", node.dn, "Tree"..node.id)
300300
end

Classes/PassiveTreeView.lua

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ local PassiveTreeViewClass = common.NewClass("PassiveTreeView", function(self)
2828
self.zoomY = 0
2929

3030
self.searchStr = ""
31+
self.searchStrCached = ""
32+
self.searchStrResults = {}
3133
self.showStatDifferences = true
3234
end)
3335

@@ -330,6 +332,14 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents)
330332
build.calcsTab:BuildPower()
331333
end
332334

335+
-- Update cached node data
336+
if self.searchStrCached ~= self.searchStr then
337+
self.searchStrCached = self.searchStr
338+
for nodeId, node in pairs(spec.nodes) do
339+
self.searchStrResults[nodeId] = #self.searchStr > 0 and self:DoesNodeMatchSearchStr(node)
340+
end
341+
end
342+
333343
-- Draw the nodes
334344
for nodeId, node in pairs(spec.nodes) do
335345
-- Determine the base and overlay images for this node based on type and state
@@ -440,7 +450,7 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents)
440450
self:DrawAsset(tree.assets[overlay], scrX, scrY, scale)
441451
SetDrawColor(1, 1, 1)
442452
end
443-
if #self.searchStr > 0 and self:DoesNodeMatchSearchStr(node) then
453+
if self.searchStrResults[nodeId] then
444454
-- Node matches the search string, show the highlight circle
445455
SetDrawLayer(nil, 30)
446456
SetDrawColor(1, 0, 0)

Data/Misc.lua renamed to Data/2_6/Misc.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
local data = ...
12
-- From DefaultMonsterStats.dat
23
data.monsterEvasionTable = { 36, 42, 49, 56, 64, 72, 80, 89, 98, 108, 118, 128, 140, 151, 164, 177, 190, 204, 219, 235, 251, 268, 286, 305, 325, 345, 367, 389, 412, 437, 463, 489, 517, 546, 577, 609, 642, 676, 713, 750, 790, 831, 873, 918, 964, 1013, 1063, 1116, 1170, 1227, 1287, 1349, 1413, 1480, 1550, 1623, 1698, 1777, 1859, 1944, 2033, 2125, 2221, 2321, 2425, 2533, 2645, 2761, 2883, 3009, 3140, 3276, 3418, 3565, 3717, 3876, 4041, 4213, 4391, 4576, 4768, 4967, 5174, 5389, 5613, 5845, 6085, 6335, 6595, 6864, 7144, 7434, 7735, 8048, 8372, 8709, 9058, 9420, 9796, 10186, }
34
data.monsterAccuracyTable = { 18, 19, 20, 21, 23, 24, 25, 27, 28, 30, 31, 33, 35, 36, 38, 40, 42, 44, 46, 49, 51, 54, 56, 59, 62, 65, 68, 71, 74, 78, 81, 85, 89, 93, 97, 101, 106, 111, 116, 121, 126, 132, 137, 143, 149, 156, 162, 169, 177, 184, 192, 200, 208, 217, 226, 236, 245, 255, 266, 277, 288, 300, 312, 325, 338, 352, 366, 381, 396, 412, 428, 445, 463, 481, 500, 520, 540, 562, 584, 607, 630, 655, 680, 707, 734, 762, 792, 822, 854, 887, 921, 956, 992, 1030, 1069, 1110, 1152, 1196, 1241, 1288, }

Data/2_6/ModCache.lua

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

Data/3_0/Misc.lua

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
local data = ...
2+
-- From DefaultMonsterStats.dat
3+
data.monsterEvasionTable = { 36, 42, 49, 56, 64, 72, 80, 89, 98, 108, 118, 128, 140, 151, 164, 177, 190, 204, 219, 235, 251, 268, 286, 305, 325, 345, 367, 389, 412, 437, 463, 489, 517, 546, 577, 609, 642, 676, 713, 750, 790, 831, 873, 918, 964, 1013, 1063, 1116, 1170, 1227, 1287, 1349, 1413, 1480, 1550, 1623, 1698, 1777, 1859, 1944, 2033, 2125, 2221, 2321, 2425, 2533, 2645, 2761, 2883, 3009, 3140, 3276, 3418, 3565, 3717, 3876, 4041, 4213, 4391, 4576, 4768, 4967, 5174, 5389, 5613, 5845, 6085, 6335, 6595, 6864, 7144, 7434, 7735, 8048, 8372, 8709, 9058, 9420, 9796, 10186, }
4+
data.monsterAccuracyTable = { 18, 19, 20, 21, 23, 24, 25, 27, 28, 30, 31, 33, 35, 36, 38, 40, 42, 44, 46, 49, 51, 54, 56, 59, 62, 65, 68, 71, 74, 78, 81, 85, 89, 93, 97, 101, 106, 111, 116, 121, 126, 132, 137, 143, 149, 156, 162, 169, 177, 184, 192, 200, 208, 217, 226, 236, 245, 255, 266, 277, 288, 300, 312, 325, 338, 352, 366, 381, 396, 412, 428, 445, 463, 481, 500, 520, 540, 562, 584, 607, 630, 655, 680, 707, 734, 762, 792, 822, 854, 887, 921, 956, 992, 1030, 1069, 1110, 1152, 1196, 1241, 1288, }
5+
data.monsterLifeTable = { 15, 18, 21, 25, 29, 33, 38, 43, 49, 55, 61, 68, 76, 85, 94, 104, 114, 126, 138, 152, 166, 182, 199, 217, 236, 257, 280, 304, 331, 359, 389, 422, 456, 494, 534, 577, 624, 673, 726, 783, 844, 910, 980, 1055, 1135, 1221, 1313, 1411, 1516, 1629, 1749, 1878, 2015, 2162, 2319, 2486, 2665, 2857, 3061, 3279, 3512, 3760, 4025, 4308, 4610, 4932, 5276, 5642, 6033, 6449, 6894, 7367, 7872, 8410, 8984, 9595, 10246, 10940, 11679, 12466, 13304, 14198, 15149, 16161, 17240, 18388, 19610, 20911, 22296, 23770, 25338, 27007, 28784, 30673, 32684, 34823, 37098, 39519, 42093, 44831, }
6+
data.monsterAllyLifeTable = { 15, 17, 20, 23, 26, 30, 33, 37, 41, 46, 50, 55, 60, 66, 71, 77, 84, 91, 98, 105, 113, 122, 131, 140, 150, 161, 171, 183, 195, 208, 222, 236, 251, 266, 283, 300, 318, 337, 357, 379, 401, 424, 448, 474, 501, 529, 559, 590, 622, 656, 692, 730, 769, 810, 853, 899, 946, 996, 1048, 1102, 1159, 1219, 1281, 1346, 1415, 1486, 1561, 1640, 1722, 1807, 1897, 1991, 2089, 2192, 2299, 2411, 2528, 2651, 2779, 2913, 3053, 3199, 3352, 3511, 3678, 3853, 4035, 4225, 4424, 4631, 4848, 5074, 5310, 5557, 5815, 6084, 6364, 6658, 6964, 7283, }
7+
data.monsterDamageTable = { 5, 6, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23, 24, 26, 28, 30, 32, 34, 36, 39, 41, 44, 47, 50, 53, 56, 59, 63, 67, 71, 75, 80, 84, 89, 94, 100, 106, 112, 118, 125, 131, 139, 147, 155, 163, 172, 181, 191, 202, 212, 224, 236, 248, 262, 275, 290, 305, 321, 338, 355, 374, 393, 413, 434, 456, 480, 504, 530, 556, 584, 614, 645, 677, 711, 746, 783, 822, 862, 905, 949, 996, 1045, 1096, 1149, 1205, 1264, 1325, 1390, 1457, 1527, 1601, 1678, 1758, }
8+
-- From MonsterVarieties.dat combined with SkillTotemVariations.dat
9+
data.totemLifeMult = { [1] = 1.47, [2] = 1.47, [3] = 1.47, [4] = 1.47, [5] = 1.47, [6] = 2.1, [7] = 1.47, [8] = 1.47, [9] = 1.47, [10] = 1.47, [11] = 1.47, [12] = 1.47, [13] = 2.25, [15] = 2.25, }

Data/3_0/ModCache.lua

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

Data/3_0/Skills/act_dex.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3665,7 +3665,7 @@ skills["ProjectileWeakness"] = {
36653665
},
36663666
baseMods = {
36673667
skill("castTime", 0.5),
3668-
--"projectiles_always_pierce_you" = 1
3668+
flag("AlwaysPierceSelf", { type = "GlobalEffect", effectType = "Curse" }), --"projectiles_always_pierce_you" = 1
36693669
--"chance_to_be_knocked_back_%" = 25
36703670
--"base_deal_no_damage" = ?
36713671
skill("debuff", true),

0 commit comments

Comments
 (0)