Skip to content

Commit c08c559

Browse files
committed
Update ailment threshold to current values
https://poedb.tw/us/Sirus%2C_Awakener_of_Worlds#SirusAwakenerofWorldsAtlasExile5 Also remove awakening level as it do not exists anymore and it was taken into account for ailment calculations but sirus is now always A8 (ignoring unleashed uber version but pob do not supports ubers atm anyway). Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
1 parent aa092d6 commit c08c559

File tree

6 files changed

+73
-12
lines changed

6 files changed

+73
-12
lines changed

src/Data/Misc.lua

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,8 @@ data.monsterDamageTable = { 4.9899997711182, 5.5599999427795, 6.1599998474121, 6
88
data.monsterArmourTable = { 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, }
99
-- From MonsterVarieties.dat combined with SkillTotemVariations.dat
1010
data.totemLifeMult = { [1] = 1, [2] = 1, [3] = 1, [4] = 1, [5] = 1, [6] = 1.2, [7] = 1, [8] = 1.2, [9] = 1, [10] = 1, [11] = 1, [12] = 1, [13] = 1.2, [15] = 1.2, [16] = 7.44, [17] = 1.2, [18] = 1, [19] = 1, [20] = 1.2, }
11+
-- From MonsterMapDifficulty.dat
12+
data.mapMonsterLifeMult = { [66] = 1, [67] = 3, [68] = 5, [69] = 9, [70] = 13, [71] = 19, [72] = 24, [73] = 30, [74] = 36, [75] = 43, [76] = 49, [77] = 55, [78] = 61, [79] = 68, [80] = 77, [81] = 87, [82] = 98, [83] = 109, [84] = 117, [85] = 125, [86] = 134, [87] = 142, [88] = 150, [89] = 158, [90] = 166, }
13+
-- From MonsterMapBossDifficulty.dat
14+
data.mapBossLifeMult = { [66] = 180, [67] = 180, [68] = 180, [69] = 203, [70] = 216, [71] = 232, [72] = 248, [73] = 463, [74] = 497, [75] = 532, [76] = 566, [77] = 599, [78] = 946, [79] = 1032, [80] = 1201, [81] = 1443, [82] = 1620, [83] = 1864, [84] = 2046, [85] = 2046, [86] = 2046, [87] = 2046, [88] = 2046, [89] = 2046, [90] = 2046, }
15+
data.mapBossAilmentMult = { [66] = -37, [67] = -37, [68] = -40, [69] = -41, [70] = -42, [71] = -43, [72] = -44, [73] = -45, [74] = -47, [75] = -48, [76] = -49, [77] = -50, [78] = -51, [79] = -52, [80] = -52, [81] = -53, [82] = -53, [83] = -53, [84] = -53, [85] = -53, [86] = -53, [87] = -53, [88] = -53, [89] = -53, [90] = -53, }

src/Export/Scripts/miscdata.lua

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,24 @@ end
3434
out:write('-- From MonsterVarieties.dat combined with SkillTotemVariations.dat\n')
3535
out:write('data.totemLifeMult = { '..totemMult..'}\n')
3636

37+
local mapMonsterLifeMult = ""
38+
for var in dat("MonsterMapDifficulty"):Rows() do
39+
mapMonsterLifeMult = mapMonsterLifeMult .. "[" .. var.MapLevel .. "] = " .. var.Stat1Value .. ", "
40+
end
41+
out:write('-- From MonsterMapDifficulty.dat\n')
42+
out:write('data.mapMonsterLifeMult = { '..monsterMapDifficultyLifeMult..'}\n')
43+
44+
local mapBossLifeMult = ""
45+
local mapBossAilmentMult = ""
46+
for var in dat("MonsterMapBossDifficulty"):Rows() do
47+
mapBossLifeMult = mapBossLifeMult .. "[" .. var.MapLevel .. "] = " .. var.Stat1Value .. ", "
48+
mapBossAilmentMult = mapBossAilmentMult .. "[" .. var.MapLevel .. "] = " .. var.Stat5Value .. ", "
49+
end
50+
51+
out:write('-- From MonsterMapBossDifficulty.dat\n')
52+
out:write('data.mapBossLifeMult = { '..mapBossLifeMult..'}\n')
53+
out:write('data.mapBossAilmentMult = { '..mapBossAilmentMult..'}\n')
54+
3755
out:close()
3856

3957
print("Misc data exported.")

src/Export/spec.lua

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4883,8 +4883,43 @@ return {
48834883
MonsterHeights={
48844884
},
48854885
MonsterMapBossDifficulty={
4886+
[1]={
4887+
list=false,
4888+
name="MapLevel",
4889+
refTo="",
4890+
type="Int",
4891+
width=80
4892+
},
4893+
[2]={
4894+
list=false,
4895+
name="Stat1Value",
4896+
refTo="",
4897+
type="Int",
4898+
width=80
4899+
},
4900+
[11]={
4901+
list=false,
4902+
name="Stat5Value",
4903+
refTo="",
4904+
type="Int",
4905+
width=80
4906+
},
48864907
},
48874908
MonsterMapDifficulty={
4909+
[1]={
4910+
list=false,
4911+
name="MapLevel",
4912+
refTo="",
4913+
type="Int",
4914+
width=80
4915+
},
4916+
[2]={
4917+
list=false,
4918+
name="Stat1Value",
4919+
refTo="",
4920+
type="Int",
4921+
width=80
4922+
},
48884923
},
48894924
MonsterMortar={
48904925
},
@@ -7286,4 +7321,4 @@ return {
72867321
},
72877322
ZanaQuests={
72887323
}
7289-
}
7324+
}

src/Modules/CalcOffence.lua

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3387,7 +3387,14 @@ function calcs.offence(env, actor, activeSkill)
33873387
end
33883388

33893389
-- Calculate non-damaging ailments effect and duration modifiers
3390-
local enemyThreshold = enemyDB:Sum("BASE", nil, "AilmentThreshold") * enemyDB:More(nil, "Life")
3390+
local isBoss = env.configInput["enemyIsBoss"] ~= "None"
3391+
local enemyLevel = m_max(env.enemyLevel, 66)
3392+
local enemyBaseLife = data.monsterLifeTable[enemyLevel]
3393+
local enemyMapLifeMult = 1 + (isBoss and data.mapBossLifeMult[enemyLevel] or data.mapMonsterLifeMult[enemyLevel]) / 100
3394+
local enemyMapAilmentMult = isBoss and ((100 + data.mapBossAilmentMult[enemyLevel]) / 100) or 1
3395+
local enemyTypeMult = isBoss and 7.68 or 1
3396+
local enemyThreshold = enemyBaseLife * enemyTypeMult * enemyMapLifeMult * enemyMapAilmentMult * enemyDB:More(nil, "AilmentThreshold")
3397+
33913398
local bonechill = output.BonechillEffect or enemyDB:Sum("BASE", nil, "DesiredBonechillEffect")
33923399
local ailments = {
33933400
["Chill"] = {
@@ -3487,7 +3494,7 @@ function calcs.offence(env, actor, activeSkill)
34873494
t_insert(val.effList, desired)
34883495
end
34893496
breakdown[ailment.."DPS"].label = "Resulting ailment effect"..((current > 0 and val.ramping) and s_format(" ^8(with a ^7%s%% ^8%s on the enemy)^7", current, ailment) or "")
3490-
breakdown[ailment.."DPS"].footer = s_format("^8(ailment threshold is about equal to life, except on bosses where it is about half their life)\n(the above table shows that when the enemy has X ailment threshold, you ^8%s for Y)", ailment:lower())
3497+
breakdown[ailment.."DPS"].footer = s_format("^8(ailment threshold is about equal to life, except on bosses that have specific ailement thresholds)\n(the above table shows that when the enemy has X ailment threshold, you ^8%s for Y)", ailment:lower())
34913498
breakdown[ailment.."DPS"].rowList = { }
34923499
breakdown[ailment.."DPS"].colList = {
34933500
{ label = "Ailment Threshold", key = "thresh" },
@@ -3500,7 +3507,7 @@ function calcs.offence(env, actor, activeSkill)
35003507
local precision = ailmentData[ailment].precision
35013508
value = m_floor(value * (10 ^ precision)) / (10 ^ precision)
35023509
local valueFormat = "%."..tostring(precision).."f%%"
3503-
local threshString = s_format("%d", thresh)..(m_floor(thresh + 0.5) == m_floor(enemyThreshold + 0.5) and s_format(" ^8(AL%d %s)", skillModList:Sum("BASE", nil, "AwakeningLevel"), env.configInput.enemyIsBoss) or "")
3510+
local threshString = s_format("%d", thresh)..(m_floor(thresh + 0.5) == m_floor(enemyThreshold + 0.5) and s_format(" ^8(%s)", env.configInput.enemyIsBoss) or "")
35043511
local labels = { }
35053512
if decCheck == 1 and value ~= 0 then
35063513
if ailment == "Chill" and value == bonechill then

src/Modules/ConfigOptions.lua

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1337,7 +1337,7 @@ Sirus adds the following modifiers:
13371337
enemyModList:NewMod("CurseEffectOnSelf", "MORE", -33, "Boss")
13381338
enemyModList:NewMod("ElementalResist", "BASE", 40, "Boss")
13391339
enemyModList:NewMod("ChaosResist", "BASE", 25, "Boss")
1340-
enemyModList:NewMod("AilmentThreshold", "BASE", 1070897, "Boss")
1340+
enemyModList:NewMod("AilmentThreshold", "MORE", 488, "Boss")
13411341
modList:NewMod("WarcryPower", "BASE", 20, "Boss")
13421342
elseif val == "Shaper" then
13431343
enemyModList:NewMod("Condition:RareOrUnique", "FLAG", true, "Config", { type = "Condition", var = "Effective" })
@@ -1346,7 +1346,7 @@ Sirus adds the following modifiers:
13461346
enemyModList:NewMod("ElementalResist", "BASE", 50, "Boss")
13471347
enemyModList:NewMod("ChaosResist", "BASE", 30, "Boss")
13481348
enemyModList:NewMod("Armour", "MORE", 33, "Boss")
1349-
enemyModList:NewMod("AilmentThreshold", "BASE", 14803760, "Boss")
1349+
enemyModList:NewMod("AilmentThreshold", "MORE", 404, "Boss")
13501350
modList:NewMod("WarcryPower", "BASE", 20, "Boss")
13511351
elseif val == "Sirus" then
13521352
enemyModList:NewMod("Condition:RareOrUnique", "FLAG", true, "Config", { type = "Condition", var = "Effective" })
@@ -1355,14 +1355,10 @@ Sirus adds the following modifiers:
13551355
enemyModList:NewMod("ElementalResist", "BASE", 50, "Boss")
13561356
enemyModList:NewMod("ChaosResist", "BASE", 30, "Boss")
13571357
enemyModList:NewMod("Armour", "MORE", 100, "Boss")
1358-
enemyModList:NewMod("AilmentThreshold", "BASE", 14803760, "Boss")
1358+
enemyModList:NewMod("AilmentThreshold", "MORE", 404, "Boss")
13591359
modList:NewMod("WarcryPower", "BASE", 20, "Boss")
13601360
end
13611361
end },
1362-
{ var = "enemyAwakeningLevel", type = "count", label = "Awakening Level:", tooltip = "Each Awakening Level gives Bosses 3% more ^xE05030Life.", apply = function(val, modList, enemyModList)
1363-
enemyModList:NewMod("Life", "MORE", 3 * m_min(val, 9), "Config")
1364-
modList:NewMod("AwakeningLevel", "BASE", m_min(val, 9), "Config")
1365-
end },
13661362
{ var = "deliriousPercentage", type = "list", label = "Delirious Effect:", list = {{val=0,label="None"},{val="20Percent",label="20% Delirious"},{val="40Percent",label="40% Delirious"},{val="60Percent",label="60% Delirious"},{val="80Percent",label="80% Delirious"},{val="100Percent",label="100% Delirious"}}, tooltip = "Delirium scales enemy 'less Damage Taken' as well as enemy 'increased Damage dealt'\nAt 100% effect:\nEnemies Deal 30% Increased Damage\nEnemies take 96% Less Damage", apply = function(val, modList, enemyModList)
13671363
if val == "20Percent" then
13681364
enemyModList:NewMod("DamageTaken", "MORE", -19.2, "20% Delirious")

src/Modules/Data.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ data.misc = { -- magic numbers
374374
TrapTriggerRadiusBase = 10,
375375
MineDetonationRadiusBase = 60,
376376
MineAuraRadiusBase = 35,
377-
MaxEnemyLevel = 84,
377+
MaxEnemyLevel = 85,
378378
LowPoolThreshold = 0.5,
379379
AccuracyPerDexBase = 2,
380380
BrandAttachmentRangeBase = 30,

0 commit comments

Comments
 (0)