Skip to content

Commit 06f49f7

Browse files
LocalIdentityLocalIdentity
andauthored
Fix Bifurcates Crit mod not working on Tangletongue (#1356)
The wording was updated in 0.3 but the parsing wasn't updated to work with it Co-authored-by: LocalIdentity <localidentity2@gmail.com>
1 parent fae2bfa commit 06f49f7

File tree

5 files changed

+29
-29
lines changed

5 files changed

+29
-29
lines changed

src/Data/ModCache.lua

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4147,8 +4147,7 @@ c["Base Maximum Darkness is 100"]={{[1]={flags=0,keywordFlags=0,name="PlayerHasD
41474147
c["Become Ignited when you deal a Critical Hit, taking 15% of your maximum Life and Energy Shield as Fire Damage per second"]={nil,"Become Ignited when you deal a Critical Hit, taking 15% of your maximum Life and Energy Shield as Fire Damage per second "}
41484148
c["Become Ignited when you deal a Critical Hit, taking 15% of your maximum Life and Energy Shield as Fire Damage per second 50% more Critical Damage Bonus"]={nil,"Become Ignited when you deal a Critical Hit, taking 15% of your maximum Life and Energy Shield as Fire Damage per second 50% more Critical Damage Bonus "}
41494149
c["Benefits from consuming Frenzy Charges for your Skills have 50% chance to be doubled"]={{[1]={[1]={globalLimit=100,globalLimitKey="FlaskChargesDoubledLimit",type="Multiplier",var="FlaskChargesDoubled"},flags=0,keywordFlags=0,name="FlaskCharges",type="MORE",value=100},[2]={flags=0,keywordFlags=0,name="Multiplier:FlaskChargesDoubled",type="OVERRIDE",value=1}},"Benefits from consuming Frenzy for your Skills have 50% chance to be d "}
4150-
c["Bifurcates Critical Hits"]={nil,"Bifurcates Critical Hits "}
4151-
c["Bifurcates Critical Hits 10% of Skill Mana Costs Converted to Life Costs"]={nil,"Bifurcates Critical Hits 10% of Skill Mana Costs Converted to Life Costs "}
4150+
c["Bifurcates Critical Hits"]={{[1]={flags=0,keywordFlags=0,name="BifurcateCrit",type="FLAG",value=true}},nil}
41524151
c["Bleeding you inflict deals Damage 10% faster"]={{[1]={flags=0,keywordFlags=0,name="BleedFaster",type="INC",value=10}},nil}
41534152
c["Bleeding you inflict is Aggravated"]={{[1]={flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="Condition:BleedAggravated",type="FLAG",value=true}}}},nil}
41544153
c["Bleeding you inflict on Cursed targets is Aggravated"]={{[1]={flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={[1]={type="Condition",var="Cursed"},flags=0,keywordFlags=0,name="Condition:BleedAggravated",type="FLAG",value=true}}}},nil}

src/Modules/BuildDisplayStats.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ local displayStats = {
3232
{ stat = "ReloadTime", label = "Reload Time", fmt = ".2fs", compPercent = true, lowerIsBetter = true, condFunc = function(v,o) return o.ReloadTime end },
3333
{ stat = "PreEffectiveCritChance", label = "Crit Chance", fmt = ".2f%%", flag = "hit" },
3434
{ stat = "CritChance", label = "Effective Crit Chance", fmt = ".2f%%", flag = "hit", condFunc = function(v,o) return v ~= o.PreEffectiveCritChance end },
35-
{ stat = "CritForks", label = "Crit Forks Chance", fmt = ".2f%%", flag = "hit", condFunc = function(v,o) return (o.CritForks or 0) > 0 end },
35+
{ stat = "CritBifurcates", label = "Crit Bifurcate Chance", fmt = ".2f%%", flag = "hit", condFunc = function(v,o) return (o.CritForks or 0) > 0 end },
3636
{ stat = "CritMultiplier", label = "Crit Multiplier", fmt = "d%%", pc = true, condFunc = function(v,o) return (o.CritChance or 0) > 0 end },
3737
{ stat = "HitChance", label = "Hit Chance", fmt = ".0f%%", flag = "attack" },
3838
{ stat = "HitChance", label = "Hit Chance", fmt = ".0f%%", condFunc = function(v,o) return o.enemyHasSpellBlock end },

src/Modules/CalcOffence.lua

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3279,7 +3279,7 @@ function calcs.offence(env, actor, activeSkill)
32793279

32803280
if critOverride == 100 then
32813281
output.PreEffectiveCritChance = 100
3282-
output.PreForkCritChance = 100
3282+
output.PreBifurcateCritChance = 100
32833283
output.CritChance = 100
32843284
else
32853285
local base = 0
@@ -3305,9 +3305,9 @@ function calcs.offence(env, actor, activeSkill)
33053305
if env.mode_effective and skillModList:Flag(cfg, "CritChanceLucky") then
33063306
output.CritChance = (1 - (1 - output.CritChance / 100) ^ 2) * 100
33073307
end
3308-
output.PreForkCritChance = output.CritChance
3309-
local preForkCritChance = output.CritChance
3310-
if env.mode_effective and skillModList:Flag(cfg, "ForkCrit") then
3308+
output.PreBifurcateCritChance = output.CritChance
3309+
local preBifurcateCritChance = output.CritChance
3310+
if env.mode_effective and skillModList:Flag(cfg, "BifurcateCrit") then
33113311
output.CritChance = (1 - (1 - output.CritChance / 100) ^ 2) * 100
33123312
end
33133313
if breakdown and output.CritChance ~= baseCrit then
@@ -3339,11 +3339,11 @@ function calcs.offence(env, actor, activeSkill)
33393339
if env.mode_effective and skillModList:Flag(cfg, "CritChanceLucky") then
33403340
t_insert(breakdown.CritChance, "Crit Chance is Lucky:")
33413341
t_insert(breakdown.CritChance, s_format("1 - (1 - %.4f) x (1 - %.4f)", preLuckyCritChance / 100, preLuckyCritChance / 100))
3342-
t_insert(breakdown.CritChance, s_format("= %.2f%%", preForkCritChance))
3342+
t_insert(breakdown.CritChance, s_format("= %.2f%%", preBifurcateCritChance))
33433343
end
3344-
if env.mode_effective and skillModList:Flag(cfg, "ForkCrit") then
3345-
t_insert(breakdown.CritChance, "Critical Strike Forks:")
3346-
t_insert(breakdown.CritChance, s_format("1 - (1 - %.4f) x (1 - %.4f)", preForkCritChance / 100, preForkCritChance / 100))
3344+
if env.mode_effective and skillModList:Flag(cfg, "BifurcateCrit") then
3345+
t_insert(breakdown.CritChance, "Critical Strike Bifurcates:")
3346+
t_insert(breakdown.CritChance, s_format("1 - (1 - %.4f) x (1 - %.4f)", preBifurcateCritChance / 100, preBifurcateCritChance / 100))
33473347
t_insert(breakdown.CritChance, s_format("= %.2f%%", output.CritChance))
33483348
end
33493349
end
@@ -3363,23 +3363,23 @@ function calcs.offence(env, actor, activeSkill)
33633363
end
33643364

33653365
output.PreEffectiveCritMultiplier = 1 + extraDamage
3366-
-- if crit forks are enabled, roll for crit twice and add multiplier for each
3367-
if env.mode_effective and skillModList:Flag(cfg, "ForkCrit") then
3366+
-- if crit bifurcates are enabled, roll for crit twice and add multiplier for each
3367+
if env.mode_effective and skillModList:Flag(cfg, "BifurcateCrit") then
33683368
-- get crit chance and calculate odds of critting twice
3369-
local critChancePercentage = output.PreForkCritChance
3370-
local forkMultiChance = (critChancePercentage ^ 2) / 100
3371-
output.CritForks = forkMultiChance
3369+
local critChancePercentage = output.PreBifurcateCritChance
3370+
local bifurcateMultiChance = (critChancePercentage ^ 2) / 100
3371+
output.CritBifurcates = bifurcateMultiChance
33723372
local damageBonus = extraDamage
3373-
local forkedBonus = forkMultiChance * extraDamage / 100
3373+
local bifurcatedBonus = bifurcateMultiChance * extraDamage / 100
33743374
if breakdown and enemyInc ~= 1 then
3375-
breakdown.CritForks = {
3375+
breakdown.CritBifurcates = {
33763376
s_format("%.2f%% ^8(effective crit chance)", critChancePercentage),
33773377
s_format("x %.2f%%", critChancePercentage),
3378-
s_format("= %.2f%% ^8(crit forks chance)", forkMultiChance),
3378+
s_format("= %.2f%% ^8(crit Bifurcates chance)", bifurcateMultiChance),
33793379
}
33803380
end
3381-
extraDamage = damageBonus + forkedBonus
3382-
skillModList:NewMod("CritMultiplier", "MORE", floor(forkMultiChance, 2), "Forked Crit Damage Bonus")
3381+
extraDamage = damageBonus + bifurcatedBonus
3382+
skillModList:NewMod("CritMultiplier", "MORE", floor(bifurcateMultiChance, 2), "Bifurcated Crit Damage Bonus")
33833383
end
33843384

33853385
if env.mode_effective then
@@ -4101,7 +4101,7 @@ function calcs.offence(env, actor, activeSkill)
41014101
combineStat("CritChance", "AVERAGE")
41024102
combineStat("PreEffectiveCritMultiplier", "AVERAGE")
41034103
combineStat("CritMultiplier", "AVERAGE")
4104-
combineStat("CritForks", "AVERAGE")
4104+
combineStat("CritBifurcates", "AVERAGE")
41054105
combineStat("AverageDamage", "DPS")
41064106
combineStat("PvpAverageDamage", "DPS")
41074107
combineStat("TotalDPS", "DPS")

src/Modules/CalcSections.lua

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -546,9 +546,9 @@ return {
546546
{ label = "Player modifiers", modName = { "CritChance", "WeaponBaseCritChance", "MainHandCritIsEqualToParent", "MainHandCritIsEqualToPartyMember", "AttackCritIsEqualToParentMainHand" }, cfg = "weapon1" },
547547
{ label = "Enemy modifiers", modName = "SelfCritChance", enemy = true },
548548
}, },
549-
{ label = "MH Crit Forks", bgCol = colorCodes.MAINHANDBG, haveOutput = "MainHand.CritForks", flag = "weapon1Attack", { format = "{2:output:MainHand.CritForks}%",
550-
{ breakdown = "MainHand.CritForks" },
551-
{ label = "Player modifiers", modName = "ForkCrit", cfg = "weapon1" },
549+
{ label = "MH Crit Bifurcates", bgCol = colorCodes.MAINHANDBG, haveOutput = "MainHand.CritBifurcates", flag = "weapon1Attack", { format = "{2:output:MainHand.CritBifurcates}%",
550+
{ breakdown = "MainHand.CritBifurcates" },
551+
{ label = "Player modifiers", modName = "BifurcateCrit", cfg = "weapon1" },
552552
}, },
553553
{ label = "MH Crit Multiplier", bgCol = colorCodes.MAINHANDBG, flag = "weapon1Attack", { format = "x {2:output:MainHand.CritMultiplier}",
554554
{ breakdown = "MainHand.CritMultiplier" },
@@ -566,9 +566,9 @@ return {
566566
{ label = "Player modifiers", modName = { "CritChance", "WeaponBaseCritChance", "AttackCritIsEqualToParentMainHand" }, cfg = "weapon2" },
567567
{ label = "Enemy modifiers", modName = "SelfCritChance", enemy = true },
568568
}, },
569-
{ label = "OH Crit Forks", bgCol = colorCodes.OFFHANDBG, haveOutput = "OffHand.CritForks", flag = "weapon2Attack", { format = "{2:output:OffHand.CritForks}%",
570-
{ breakdown = "OffHand.CritForks" },
571-
{ label = "Player modifiers", modName = "ForkCrit", cfg = "weapon2" },
569+
{ label = "OH Crit Bifurcates", bgCol = colorCodes.OFFHANDBG, haveOutput = "OffHand.CritBifurcates", flag = "weapon2Attack", { format = "{2:output:OffHand.CritBifurcates}%",
570+
{ breakdown = "OffHand.CritBifurcates" },
571+
{ label = "Player modifiers", modName = "BifurcateCrit", cfg = "weapon2" },
572572
}, },
573573
{ label = "OH Crit Multiplier", bgCol = colorCodes.OFFHANDBG, flag = "weapon2Attack", { format = "x {2:output:OffHand.CritMultiplier}",
574574
{ breakdown = "OffHand.CritMultiplier" },

src/Modules/ModParser.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3489,7 +3489,8 @@ local specialModList = {
34893489
["minion critical hits do not deal extra damage"] = { mod("MinionModifier", "LIST", { mod = flag("NoCritMultiplier") }) },
34903490
["lightning damage with non%-critical hits is lucky"] = { flag("LightningNoCritLucky") },
34913491
["your damage with critical hits is lucky"] = { flag("CritLucky") },
3492-
["forks critical hits"] = { flag("ForkCrit") },
3492+
["forks critical hits"] = { flag("BifurcateCrit") },
3493+
["bifurcates critical hits"] = { flag("BifurcateCrit") },
34933494
["critical hits deal no damage"] = { mod("Damage", "MORE", -100, { type = "Condition", var = "CriticalStrike" }) },
34943495
["critical hit chance is increased by uncapped lightning resistance"] = { flag("CritChanceIncreasedByUncappedLightningRes") },
34953496
["critical hit chance is increased by lightning resistance"] = { flag("CritChanceIncreasedByLightningRes") },

0 commit comments

Comments
 (0)