Skip to content

Commit 969810d

Browse files
andyli00Wires77
andauthored
Add Molten Strike (+Zenith) ball average overlap calculations (#8427)
* add average ball overlap calcs for molten strike * add average ball overlap calcs for molten strike of the zenith as well as a total weighted average of normal balls and 5th attack balls * copy molten strike overlap changes to export scripts * Fix spelling --------- Co-authored-by: Wires77 <[email protected]>
1 parent 4236d88 commit 969810d

File tree

3 files changed

+231
-35
lines changed

3 files changed

+231
-35
lines changed

src/Data/Skills/act_str.lua

Lines changed: 114 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6975,10 +6975,89 @@ skills["MoltenStrike"] = {
69756975
projectile = true,
69766976
area = true,
69776977
},
6978+
{
6979+
name = "Average Balls Hitting",
6980+
melee = false,
6981+
projectile = true,
6982+
area = true,
6983+
},
69786984
},
6985+
preDamageFunc = function(activeSkill, output, breakdown)
6986+
local skillCfg = activeSkill.skillCfg
6987+
local skillData = activeSkill.skillData
6988+
local skillPart = activeSkill.skillPart
6989+
local skillModList = activeSkill.skillModList
6990+
local t_insert = table.insert
6991+
local s_format = string.format
6992+
6993+
-- melee part doesn't need to calc balls
6994+
if skillPart == 1 then
6995+
return
6996+
end
6997+
6998+
local enemyRadius = skillModList:Override(skillCfg, "EnemyRadius") or skillModList:Sum("BASE", skillCfg, "EnemyRadius")
6999+
local ballRadius = output.AreaOfEffectRadius
7000+
local innerRadius = output.AreaOfEffectRadiusSecondary
7001+
local outerRadius = output.AreaOfEffectRadiusTertiary
7002+
7003+
-- logic adapted from MoldyDwarf's calculator
7004+
local hitRange = enemyRadius + ballRadius - innerRadius
7005+
local landingRange = outerRadius - innerRadius
7006+
local overlapChance = math.min(1, hitRange / landingRange)
7007+
output.OverlapChance = overlapChance * 100
7008+
7009+
if breakdown then
7010+
breakdown.OverlapChance = { }
7011+
t_insert(breakdown.OverlapChance, "Chance for individual balls to land on the enemy:")
7012+
t_insert(breakdown.OverlapChance, "^8= (area where a ball can land on enemy) / (total area)")
7013+
t_insert(breakdown.OverlapChance, "^8= (enemy radius + ball radius - min travel) / (max travel - min travel)")
7014+
t_insert(breakdown.OverlapChance, s_format("^8= (^7%d^8 + ^7%d^8 - ^7%d) / (^7%d^8 - ^7%d)",
7015+
enemyRadius, ballRadius, innerRadius, outerRadius, innerRadius))
7016+
t_insert(breakdown.OverlapChance, s_format("^8=^7 %.2f^8%%", output.OverlapChance))
7017+
end
7018+
7019+
local numProjectiles = skillModList:Sum("BASE", skillCfg, "ProjectileCount")
7020+
local dpsMult = 1
7021+
if skillPart == 3 or skillPart == 5 or skillPart == 6 then
7022+
dpsMult = overlapChance * numProjectiles
7023+
7024+
if skillPart ~= 6 then
7025+
if breakdown then
7026+
breakdown.SkillDPSMultiplier = {}
7027+
t_insert(breakdown.SkillDPSMultiplier, "DPS multiplier")
7028+
t_insert(breakdown.SkillDPSMultiplier, "^8= number of projectiles * overlap chance")
7029+
t_insert(breakdown.SkillDPSMultiplier, s_format("^8=^7 %d^8 *^7 %.3f^8", numProjectiles, overlapChance))
7030+
t_insert(breakdown.SkillDPSMultiplier, s_format("^8=^7 %.3f", dpsMult))
7031+
end
7032+
else
7033+
-- zenith: make an effective dpsMult for the weighted average of normal and 5th attack balls
7034+
local gemQuality = activeSkill.activeEffect.quality
7035+
local fifthAttackMulti = 1 + 8 + 0.1 * gemQuality
7036+
local fifthAttackOverallMulti = fifthAttackMulti * overlapChance * (numProjectiles + 5)
7037+
dpsMult = 0.8 * dpsMult + 0.2 * fifthAttackOverallMulti
7038+
7039+
if breakdown then
7040+
breakdown.SkillDPSMultiplier = {}
7041+
t_insert(breakdown.SkillDPSMultiplier, "Weighted average DPS multiplier for balls")
7042+
t_insert(breakdown.SkillDPSMultiplier, "^8= (0.8 * balls dps) + (0.2 * 5th attack balls dps)")
7043+
t_insert(breakdown.SkillDPSMultiplier, "^8= (0.8 * normal ball hit * overlap chance * number of projectiles) " ..
7044+
"+ (0.2 * ball hit * 5th attack multiplier * overlap chance * (number of projectiles + 5))")
7045+
t_insert(breakdown.SkillDPSMultiplier, "^8= ball hit * overlap chance * (0.8 * number of projectiles " ..
7046+
"+ 0.2 * 5th attack multiplier * (number of projectiles + 5))")
7047+
t_insert(breakdown.SkillDPSMultiplier, s_format("^8= ball hit * ^7%.3f ^8* (0.8 * ^7%d ^8+ 0.2 * ^7%.1f ^8* ^7%d^8)",
7048+
overlapChance, numProjectiles, fifthAttackMulti, numProjectiles + 5))
7049+
t_insert(breakdown.SkillDPSMultiplier, s_format("^8= ball hit * ^7 %.3f", dpsMult))
7050+
end
7051+
end
7052+
end
7053+
if dpsMult ~= 1 then
7054+
skillData.dpsMultiplier = (skillData.dpsMultiplier or 1) * dpsMult
7055+
output.SkillDPSMultiplier = (output.SkillDPSMultiplier or 1) * dpsMult
7056+
end
7057+
end,
69797058
statMap = {
69807059
["active_skill_hit_ailment_damage_with_projectile_+%_final"] = {
6981-
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPart = 2 })
7060+
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPartList = { 2, 3 } })
69827061
},
69837062
},
69847063
baseFlags = {
@@ -6989,12 +7068,12 @@ skills["MoltenStrike"] = {
69897068
},
69907069
baseMods = {
69917070
skill("projectileSpeedAppliesToMSAreaOfEffect", true),
6992-
skill("radius", 9, { type = "SkillPart", skillPart = 2 }),
6993-
skill("radiusLabel", "Ball area:", { type = "SkillPart", skillPart = 2 }),
6994-
skill("radiusSecondary", 2, { type = "SkillPart", skillPart = 2 }),
6995-
skill("radiusSecondaryLabel", "Chain Minimum Distance:", { type = "SkillPart", skillPart = 2 }),
6996-
skill("radiusTertiary", 25, { type = "SkillPart", skillPart = 2 }),
6997-
skill("radiusTertiaryLabel", "Chain Maximum Distance:", { type = "SkillPart", skillPart = 2 }),
7071+
skill("radius", 9, { type = "SkillPart", skillPartList = { 2, 3 }}),
7072+
skill("radiusLabel", "Ball area:", { type = "SkillPart", skillPartList = { 2, 3 } }),
7073+
skill("radiusSecondary", 2, { type = "SkillPart", skillPartList = { 2, 3 } }),
7074+
skill("radiusSecondaryLabel", "Chain Minimum Distance:", { type = "SkillPart", skillPartList = { 2, 3 } }),
7075+
skill("radiusTertiary", 25, { type = "SkillPart", skillPartList = { 2, 3 } }),
7076+
skill("radiusTertiaryLabel", "Chain Maximum Distance:", { type = "SkillPart", skillPartList = { 2, 3 } }),
69987077
flag("CannotSplit"),
69997078
},
70007079
qualityStats = {
@@ -7081,22 +7160,41 @@ skills["MoltenStrikeAltX"] = {
70817160
projectile = true,
70827161
area = true,
70837162
},
7163+
{
7164+
name = "Average Balls Hitting",
7165+
melee = false,
7166+
projectile = true,
7167+
area = true,
7168+
},
70847169
{
70857170
name = "Magma Balls (5th attack)",
70867171
melee = false,
70877172
projectile = true,
70887173
area = true,
70897174
},
7175+
{
7176+
name = "Average Balls (5th attack)",
7177+
melee = false,
7178+
projectile = true,
7179+
area = true,
7180+
},
7181+
{
7182+
name = "Total Weighted Ball Average",
7183+
melee = false,
7184+
projectile = true,
7185+
area = true,
7186+
},
70907187
},
7188+
preDamageFunc = skills.MoltenStrike.preDamageFunc,
70917189
statMap = {
70927190
["active_skill_hit_ailment_damage_with_projectile_+%_final"] = {
7093-
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPartList = { 2, 3 } })
7191+
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } })
70947192
},
70957193
["molten_strike_every_5th_attack_projectiles_damage_+%_final"] = {
7096-
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPart = 3 })
7194+
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPartList = { 4, 5 } })
70977195
},
70987196
["molten_strike_every_5th_attack_fire_X_additional_projectiles"] = {
7099-
mod("ProjectileCount", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 3 })
7197+
mod("ProjectileCount", "BASE", nil, 0, 0, { type = "SkillPart", skillPartList = { 4, 5 } })
71007198
},
71017199
},
71027200
baseFlags = {
@@ -7107,12 +7205,12 @@ skills["MoltenStrikeAltX"] = {
71077205
},
71087206
baseMods = {
71097207
skill("projectileSpeedAppliesToMSAreaOfEffect", true),
7110-
skill("radius", 9, { type = "SkillPart", skillPartList = { 2, 3 } }),
7111-
skill("radiusLabel", "Ball area:", { type = "SkillPart", skillPartList = { 2, 3 } }),
7112-
skill("radiusSecondary", 2, { type = "SkillPart", skillPartList = { 2, 3 } }),
7113-
skill("radiusSecondaryLabel", "Chain Minimum Distance:", { type = "SkillPart", skillPartList = { 2, 3 } }),
7114-
skill("radiusTertiary", 25, { type = "SkillPart", skillPartList = { 2, 3 } }),
7115-
skill("radiusTertiaryLabel", "Chain Maximum Distance:", { type = "SkillPart", skillPartList = { 2, 3 } }),
7208+
skill("radius", 9, { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } }),
7209+
skill("radiusLabel", "Ball area:", { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } }),
7210+
skill("radiusSecondary", 2, { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } }),
7211+
skill("radiusSecondaryLabel", "Chain Minimum Distance:", { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } }),
7212+
skill("radiusTertiary", 25, { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } }),
7213+
skill("radiusTertiaryLabel", "Chain Maximum Distance:", { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } }),
71167214
flag("CannotSplit"),
71177215
},
71187216
qualityStats = {

src/Export/Skills/act_str.txt

Lines changed: 114 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1246,19 +1246,98 @@ local skills, mod, flag, skill = ...
12461246
projectile = true,
12471247
area = true,
12481248
},
1249+
{
1250+
name = "Average Balls Hitting",
1251+
melee = false,
1252+
projectile = true,
1253+
area = true,
1254+
},
12491255
},
1256+
preDamageFunc = function(activeSkill, output, breakdown)
1257+
local skillCfg = activeSkill.skillCfg
1258+
local skillData = activeSkill.skillData
1259+
local skillPart = activeSkill.skillPart
1260+
local skillModList = activeSkill.skillModList
1261+
local t_insert = table.insert
1262+
local s_format = string.format
1263+
1264+
-- melee part doesn't need to calc balls
1265+
if skillPart == 1 then
1266+
return
1267+
end
1268+
1269+
local enemyRadius = skillModList:Override(skillCfg, "EnemyRadius") or skillModList:Sum("BASE", skillCfg, "EnemyRadius")
1270+
local ballRadius = output.AreaOfEffectRadius
1271+
local innerRadius = output.AreaOfEffectRadiusSecondary
1272+
local outerRadius = output.AreaOfEffectRadiusTertiary
1273+
1274+
-- logic adapted from MoldyDwarf's calculator
1275+
local hitRange = enemyRadius + ballRadius - innerRadius
1276+
local landingRange = outerRadius - innerRadius
1277+
local overlapChance = math.min(1, hitRange / landingRange)
1278+
output.OverlapChance = overlapChance * 100
1279+
1280+
if breakdown then
1281+
breakdown.OverlapChance = { }
1282+
t_insert(breakdown.OverlapChance, "Chance for individual balls to land on the enemy:")
1283+
t_insert(breakdown.OverlapChance, "^8= (area where a ball can land on enemy) / (total area)")
1284+
t_insert(breakdown.OverlapChance, "^8= (enemy radius + ball radius - min travel) / (max travel - min travel)")
1285+
t_insert(breakdown.OverlapChance, s_format("^8= (^7%d^8 + ^7%d^8 - ^7%d) / (^7%d^8 - ^7%d)",
1286+
enemyRadius, ballRadius, innerRadius, outerRadius, innerRadius))
1287+
t_insert(breakdown.OverlapChance, s_format("^8=^7 %.2f^8%%", output.OverlapChance))
1288+
end
1289+
1290+
local numProjectiles = skillModList:Sum("BASE", skillCfg, "ProjectileCount")
1291+
local dpsMult = 1
1292+
if skillPart == 3 or skillPart == 5 or skillPart == 6 then
1293+
dpsMult = overlapChance * numProjectiles
1294+
1295+
if skillPart ~= 6 then
1296+
if breakdown then
1297+
breakdown.SkillDPSMultiplier = {}
1298+
t_insert(breakdown.SkillDPSMultiplier, "DPS multiplier")
1299+
t_insert(breakdown.SkillDPSMultiplier, "^8= number of projectiles * overlap chance")
1300+
t_insert(breakdown.SkillDPSMultiplier, s_format("^8=^7 %d^8 *^7 %.3f^8", numProjectiles, overlapChance))
1301+
t_insert(breakdown.SkillDPSMultiplier, s_format("^8=^7 %.3f", dpsMult))
1302+
end
1303+
else
1304+
-- zenith: make an effective dpsMult for the weighted average of normal and 5th attack balls
1305+
local gemQuality = activeSkill.activeEffect.quality
1306+
local fifthAttackMulti = 1 + 8 + 0.1 * gemQuality
1307+
local fifthAttackOverallMulti = fifthAttackMulti * overlapChance * (numProjectiles + 5)
1308+
dpsMult = 0.8 * dpsMult + 0.2 * fifthAttackOverallMulti
1309+
1310+
if breakdown then
1311+
breakdown.SkillDPSMultiplier = {}
1312+
t_insert(breakdown.SkillDPSMultiplier, "Weighted average DPS multiplier for balls")
1313+
t_insert(breakdown.SkillDPSMultiplier, "^8= (0.8 * balls dps) + (0.2 * 5th attack balls dps)")
1314+
t_insert(breakdown.SkillDPSMultiplier, "^8= (0.8 * normal ball hit * overlap chance * number of projectiles) " ..
1315+
"+ (0.2 * ball hit * 5th attack multiplier * overlap chance * (number of projectiles + 5))")
1316+
t_insert(breakdown.SkillDPSMultiplier, "^8= ball hit * overlap chance * (0.8 * number of projectiles " ..
1317+
"+ 0.2 * 5th attack multiplier * (number of projectiles + 5))")
1318+
t_insert(breakdown.SkillDPSMultiplier, s_format("^8= ball hit * ^7%.3f ^8* (0.8 * ^7%d ^8+ 0.2 * ^7%.1f ^8* ^7%d^8)",
1319+
overlapChance, numProjectiles, fifthAttackMulti, numProjectiles + 5))
1320+
t_insert(breakdown.SkillDPSMultiplier, s_format("^8= ball hit * ^7 %.3f", dpsMult))
1321+
end
1322+
end
1323+
end
1324+
if dpsMult ~= 1 then
1325+
skillData.dpsMultiplier = (skillData.dpsMultiplier or 1) * dpsMult
1326+
output.SkillDPSMultiplier = (output.SkillDPSMultiplier or 1) * dpsMult
1327+
end
1328+
end,
12501329
statMap = {
12511330
["active_skill_hit_ailment_damage_with_projectile_+%_final"] = {
1252-
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPart = 2 })
1331+
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPartList = { 2, 3 } })
12531332
},
12541333
},
12551334
#baseMod skill("projectileSpeedAppliesToMSAreaOfEffect", true)
1256-
#baseMod skill("radius", 9, { type = "SkillPart", skillPart = 2 })
1257-
#baseMod skill("radiusLabel", "Ball area:", { type = "SkillPart", skillPart = 2 })
1258-
#baseMod skill("radiusSecondary", 2, { type = "SkillPart", skillPart = 2 })
1259-
#baseMod skill("radiusSecondaryLabel", "Chain Minimum Distance:", { type = "SkillPart", skillPart = 2 })
1260-
#baseMod skill("radiusTertiary", 25, { type = "SkillPart", skillPart = 2 })
1261-
#baseMod skill("radiusTertiaryLabel", "Chain Maximum Distance:", { type = "SkillPart", skillPart = 2 })
1335+
#baseMod skill("radius", 9, { type = "SkillPart", skillPartList = { 2, 3 } })
1336+
#baseMod skill("radiusLabel", "Ball area:", { type = "SkillPart", skillPartList = { 2, 3 } })
1337+
#baseMod skill("radiusSecondary", 2, { type = "SkillPart", skillPartList = { 2, 3 } })
1338+
#baseMod skill("radiusSecondaryLabel", "Chain Minimum Distance:", { type = "SkillPart", skillPartList = { 2, 3 } })
1339+
#baseMod skill("radiusTertiary", 25, { type = "SkillPart", skillPartList = { 2, 3 } })
1340+
#baseMod skill("radiusTertiaryLabel", "Chain Maximum Distance:", { type = "SkillPart", skillPartList = { 2, 3 } })
12621341
#baseMod flag("CannotSplit")
12631342
#mods
12641343

@@ -1277,31 +1356,50 @@ local skills, mod, flag, skill = ...
12771356
projectile = true,
12781357
area = true,
12791358
},
1359+
{
1360+
name = "Average Balls Hitting",
1361+
melee = false,
1362+
projectile = true,
1363+
area = true,
1364+
},
12801365
{
12811366
name = "Magma Balls (5th attack)",
12821367
melee = false,
12831368
projectile = true,
12841369
area = true,
12851370
},
1371+
{
1372+
name = "Average Balls (5th attack)",
1373+
melee = false,
1374+
projectile = true,
1375+
area = true,
1376+
},
1377+
{
1378+
name = "Total Weighted Ball Average",
1379+
melee = false,
1380+
projectile = true,
1381+
area = true,
1382+
},
12861383
},
1384+
preDamageFunc = skills.MoltenStrike.preDamageFunc,
12871385
statMap = {
12881386
["active_skill_hit_ailment_damage_with_projectile_+%_final"] = {
1289-
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPartList = { 2, 3 } })
1387+
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } })
12901388
},
12911389
["molten_strike_every_5th_attack_projectiles_damage_+%_final"] = {
1292-
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPart = 3 })
1390+
mod("Damage", "MORE", nil, bit.band(ModFlag.Hit, ModFlag.Ailment), 0, { type = "SkillPart", skillPartList = { 4, 5 } })
12931391
},
12941392
["molten_strike_every_5th_attack_fire_X_additional_projectiles"] = {
1295-
mod("ProjectileCount", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 3 })
1393+
mod("ProjectileCount", "BASE", nil, 0, 0, { type = "SkillPart", skillPartList = { 4, 5 } })
12961394
},
12971395
},
12981396
#baseMod skill("projectileSpeedAppliesToMSAreaOfEffect", true)
1299-
#baseMod skill("radius", 9, { type = "SkillPart", skillPartList = { 2, 3 } })
1300-
#baseMod skill("radiusLabel", "Ball area:", { type = "SkillPart", skillPartList = { 2, 3 } })
1301-
#baseMod skill("radiusSecondary", 2, { type = "SkillPart", skillPartList = { 2, 3 } })
1302-
#baseMod skill("radiusSecondaryLabel", "Chain Minimum Distance:", { type = "SkillPart", skillPartList = { 2, 3 } })
1303-
#baseMod skill("radiusTertiary", 25, { type = "SkillPart", skillPartList = { 2, 3 } })
1304-
#baseMod skill("radiusTertiaryLabel", "Chain Maximum Distance:", { type = "SkillPart", skillPartList = { 2, 3 } })
1397+
#baseMod skill("radius", 9, { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } })
1398+
#baseMod skill("radiusLabel", "Ball area:", { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } })
1399+
#baseMod skill("radiusSecondary", 2, { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } })
1400+
#baseMod skill("radiusSecondaryLabel", "Chain Minimum Distance:", { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } })
1401+
#baseMod skill("radiusTertiary", 25, { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } })
1402+
#baseMod skill("radiusTertiaryLabel", "Chain Maximum Distance:", { type = "SkillPart", skillPartList = { 2, 3, 4, 5, 6 } })
13051403
#baseMod flag("CannotSplit")
13061404
#mods
13071405

src/Modules/ConfigOptions.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -667,8 +667,8 @@ return {
667667
{ var = "VaalMoltenShellDamageMitigated", type = "count", label = "Damage mitigated:", tooltip = "Vaal Molten Shell reflects damage to the enemy,\nbased on the amount of damage it has mitigated in the last second.", ifSkill = "Vaal Molten Shell", apply = function(val, modList, enemyModList)
668668
modList:NewMod("SkillData", "LIST", { key = "VaalMoltenShellDamageMitigated", value = val }, "Config", { type = "SkillName", skillName = "Molten Shell" })
669669
end },
670-
{ label = "Multi-part area skills:", ifSkill = { "Seismic Trap", "Lightning Spire Trap", "Explosive Trap" }, includeTransfigured = true },
671-
{ var = "enemySizePreset", type = "list", label = "Enemy size preset:", ifSkill = { "Seismic Trap", "Lightning Spire Trap", "Explosive Trap" }, includeTransfigured = true, defaultIndex = 2, tooltip = [[
670+
{ label = "Multi-part area skills:", ifSkill = { "Seismic Trap", "Lightning Spire Trap", "Explosive Trap", "Molten Strike" }, includeTransfigured = true },
671+
{ var = "enemySizePreset", type = "list", label = "Enemy size preset:", ifSkill = { "Seismic Trap", "Lightning Spire Trap", "Explosive Trap", "Molten Strike" }, includeTransfigured = true, defaultIndex = 2, tooltip = [[
672672
Configure the radius of an enemy hitbox which is used in calculating some area multi-hitting (shotgunning) effects.
673673
674674
Small sets the radius to 2.
@@ -693,7 +693,7 @@ Huge sets the radius to 11.
693693
modList:NewMod("EnemyRadius", "BASE", 11, "Config")
694694
end
695695
end },
696-
{ var = "enemyRadius", type = "integer", label = "Enemy radius:", ifSkill = { "Seismic Trap", "Lightning Spire Trap", "Explosive Trap" }, includeTransfigured = true, tooltip = "Configure the radius of an enemy hitbox to calculate some area overlapping (shotgunning) effects.", apply = function(val, modList, enemyModList)
696+
{ var = "enemyRadius", type = "integer", label = "Enemy radius:", ifSkill = { "Seismic Trap", "Lightning Spire Trap", "Explosive Trap", "Molten Strike" }, includeTransfigured = true, tooltip = "Configure the radius of an enemy hitbox to calculate some area overlapping (shotgunning) effects.", apply = function(val, modList, enemyModList)
697697
modList:NewMod("EnemyRadius", "OVERRIDE", m_max(val, 1), "Config")
698698
end },
699699
{ var = "TotalSpectreLife", type = "integer", label = "Total Spectre Life:", ifMod = "takenFromSpectresBeforeYou", ifSkill = "Raise Spectre", includeTransfigured = true, tooltip = "The total life of your Spectres that can be taken before yours (used by jinxed juju)", apply = function(val, modList, enemyModList)

0 commit comments

Comments
 (0)