Skip to content

Commit 26b11d4

Browse files
LocalIdentityLocalIdentity
andauthored
Support new Monster Phys damage conversion logic (#9150)
Monsters lost the % more damage multiplier on a lot of skills that converted damage. To make up for this, they now gain a % more damage bonus to the elemental damage that has been converted from physical Co-authored-by: LocalIdentity <[email protected]>
1 parent 37ab345 commit 26b11d4

File tree

4 files changed

+11
-2
lines changed

4 files changed

+11
-2
lines changed

src/Data/Misc.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ data.monsterDamageTable = { 4.9899997711182, 5.5599999427795, 6.1599998474121, 6
1212
data.monsterAllyDamageTable = { 5.6199998855591, 6.0300002098083, 6.460000038147, 6.9200000762939, 7.4099998474121, 7.9299998283386, 8.4799995422363, 9.0600004196167, 9.6800003051758, 10.329999923706, 11.029999732971, 11.760000228882, 12.539999961853, 13.369999885559, 14.25, 15.170000076294, 16.159999847412, 17.200000762939, 18.299999237061, 19.459999084473, 20.700000762939, 22, 23.389999389648, 24.85000038147, 26.389999389648, 28.030000686646, 29.760000228882, 31.579999923706, 33.520000457764, 35.560001373291, 37.720001220703, 40, 42.409999847412, 44.959999084473, 47.639999389648, 50.490001678467, 53.490001678467, 56.659999847412, 60, 63.529998779297, 67.26000213623, 71.199996948242, 75.360000610352, 79.73999786377, 84.370002746582, 89.25, 94.400001525879, 99.839996337891, 105.56999969482, 111.62000274658, 118, 124.73000335693, 131.83000183105, 139.30999755859, 147.19999694824, 155.52000427246, 164.2799987793, 173.5299987793, 183.27000427246, 193.53999328613, 204.36999511719, 215.7799987793, 227.80000305176, 240.46000671387, 253.80999755859, 267.86999511719, 282.69000244141, 298.29000854492, 314.73001098633, 332.04998779297, 350.29000854492, 369.5, 389.73001098633, 411.04000854492, 433.4700012207, 457.08999633789, 481.9700012207, 508.14999389648, 535.71997070313, 564.75, 595.29998779297, 627.46002197266, 661.30999755859, 696.95001220703, 734.45001220703, 773.90997314453, 815.45001220703, 859.15997314453, 905.15002441406, 953.53997802734, 1004.4699707031, 1058.0400390625, 1114.4100341797, 1173.7099609375, 1236.0999755859, 1301.7299804688, 1370.7600097656, 1443.3800048828, 1519.7600097656, 1600.0899658203, }
1313
data.monsterArmourTable = { 12, 15, 19, 23, 27, 32, 37, 43, 50, 57, 65, 74, 83, 94, 105, 118, 132, 147, 164, 182, 202, 224, 248, 275, 303, 334, 368, 405, 445, 489, 537, 589, 646, 707, 774, 846, 925, 1010, 1103, 1204, 1313, 1432, 1560, 1700, 1850, 2014, 2191, 2383, 2591, 2815, 3059, 3322, 3607, 3915, 4248, 4608, 4997, 5418, 5873, 6365, 6896, 7469, 8089, 8757, 9480, 10259, 11101, 12009, 12989, 14047, 15188, 16419, 17747, 19178, 20722, 22387, 24182, 26117, 28203, 30451, 32873, 35483, 38296, 41326, 44591, 48107, 51894, 55973, 60365, 65095, 70188, 75670, 81573, 87926, 94765, 102125, 110047, 118571, 127744, 137613, }
1414
data.monsterAilmentThresholdTable = { 22, 26, 31, 36, 42, 48, 55, 62, 70, 78, 87, 97, 107, 119, 131, 144, 158, 173, 190, 207, 226, 246, 267, 290, 315, 341, 370, 400, 432, 467, 504, 543, 585, 630, 678, 730, 785, 843, 905, 972, 1042, 1118, 1198, 1284, 1375, 1472, 1575, 1685, 1802, 1927, 2059, 2200, 2350, 2509, 2678, 2858, 3050, 3253, 3469, 3698, 3942, 4201, 4476, 4768, 5078, 5407, 5756, 6127, 6520, 6937, 7380, 7850, 8348, 8876, 9436, 10030, 10660, 11328, 12036, 12787, 13582, 14425, 15319, 16265, 17268, 18331, 19457, 20649, 21913, 23250, 24667, 26168, 27756, 29438, 31220, 33105, 35101, 37214, 39450, 41817, }
15+
data.monsterPhysConversionMultiTable = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260, 265, 270, 275, 280, 285, 290, 295, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, }
1516
-- From GameConstants.dat
1617
data.gameConstants = {
1718
["MonsterDamageReductionImprovement"] = 6.7,

src/Export/Scripts/miscdata.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ local allyDamage = ""
1111
local damage = ""
1212
local armour = ""
1313
local ailmentThreshold = ""
14+
local monsterPhysConversionMulti = ""
1415
for stats in dat("DefaultMonsterStats"):Rows() do
1516
evasion = evasion .. stats.Evasion .. ", "
1617
accuracy = accuracy .. stats.Accuracy .. ", "
@@ -22,6 +23,7 @@ for stats in dat("DefaultMonsterStats"):Rows() do
2223
allyDamage = allyDamage .. stats.MinionDamage .. ", "
2324
--armour = armour .. stats.Armour .. ", " The table here is wrong so we generate it instead
2425
ailmentThreshold = ailmentThreshold .. stats.AilmentThreshold .. ", "
26+
monsterPhysConversionMulti = monsterPhysConversionMulti .. stats.MonsterPhysConversionMulti .. ", "
2527
end
2628
for i = 1, 100 do
2729
armour = armour .. math.floor((10 + 2 * i ) * ( ( 1 + dat("GameConstants"):GetRow("Id", "MonsterDamageReductionImprovement").Value / dat("GameConstants"):GetRow("Id", "MonsterDamageReductionImprovement").Divisor / 100 ) ^ i)) .. ", "
@@ -37,6 +39,7 @@ out:write('data.monsterDamageTable = { '..damage..'}\n')
3739
out:write('data.monsterAllyDamageTable = { '..allyDamage..'}\n')
3840
out:write('data.monsterArmourTable = { '..armour..'}\n')
3941
out:write('data.monsterAilmentThresholdTable = { '..ailmentThreshold..'}\n')
42+
out:write('data.monsterPhysConversionMultiTable = { '..monsterPhysConversionMulti..'}\n')
4043

4144
out:write('-- From GameConstants.dat\n')
4245
out:write('data.gameConstants = {\n')

src/Export/spec.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4431,10 +4431,10 @@ return {
44314431
},
44324432
[17]={
44334433
list=false,
4434-
name="",
4434+
name="MonsterPhysConversionMulti",
44354435
refTo="",
44364436
type="Int",
4437-
width=100
4437+
width=150
44384438
}
44394439
},
44404440
deliriumstashtablayout={

src/Modules/CalcOffence.lua

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,11 @@ local function calcDamage(activeSkill, output, cfg, breakdown, damageType, typeF
8282
if convMult > 0 then
8383
-- Damage is being converted/gained from the other damage type
8484
local min, max = calcDamage(activeSkill, output, cfg, breakdown, otherType, typeFlags, damageType)
85+
if cfg.summonSkillName and cfg.summonSkillName == "Raise Spectre" then
86+
if otherType == "Physical" then
87+
convMult = convMult * (1 + data.monsterPhysConversionMultiTable[activeSkill.actor.level] / 100)
88+
end
89+
end
8590
addMin = addMin + min * convMult
8691
addMax = addMax + max * convMult
8792
end

0 commit comments

Comments
 (0)