@@ -3237,7 +3237,7 @@ function calcs.offence(env, actor, activeSkill)
3237
3237
if skillModList :Flag (cfg , isElemental [damageType ] and " CannotElePenIgnore" or nil ) then
3238
3238
effMult = effMult * (1 - resist / 100 )
3239
3239
elseif useRes then
3240
- effMult = effMult * (1 - (resist - pen ) / 100 )
3240
+ effMult = effMult * (1 - (m_max ( resist - pen , 0 ) ) / 100 )
3241
3241
end
3242
3242
damageTypeHitMin = damageTypeHitMin * effMult
3243
3243
damageTypeHitMax = damageTypeHitMax * effMult
@@ -3248,7 +3248,7 @@ function calcs.offence(env, actor, activeSkill)
3248
3248
if pass == 2 and breakdown and (effMult ~= 1 or sourceRes ~= damageType ) and skillModList :Flag (cfg , isElemental [damageType ] and " CannotElePenIgnore" or nil ) then
3249
3249
t_insert (breakdown [damageType ], s_format (" x %.3f ^8(effective DPS modifier)" , effMult ))
3250
3250
breakdown [damageType .. " EffMult" ] = breakdown .effMult (damageType , resist , 0 , takenInc , effMult , takenMore , sourceRes , useRes , invertChance )
3251
- elseif pass == 2 and breakdown and (effMult ~= 1 or sourceRes ~= damageType ) then
3251
+ elseif pass == 2 and breakdown and (effMult ~= 1 or ( resist - pen ) < 0 or sourceRes ~= damageType ) then
3252
3252
t_insert (breakdown [damageType ], s_format (" x %.3f ^8(effective DPS modifier)" , effMult ))
3253
3253
breakdown [damageType .. " EffMult" ] = breakdown .effMult (damageType , resist , pen , takenInc , effMult , takenMore , sourceRes , useRes , invertChance )
3254
3254
end
0 commit comments