Skip to content

Commit 92b125a

Browse files
committed
add global base duration, update skillstatmap for skills that gain fortify on hit, update fortify support qual to apply duration
1 parent ddb124f commit 92b125a

File tree

6 files changed

+13
-7
lines changed

6 files changed

+13
-7
lines changed

src/Data/ModCache.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4881,7 +4881,7 @@ c["30% increased Fire Damage if you have used a Cold Skill Recently"]={{[1]={[1]
48814881
c["30% increased Fire Damage with Attack Skills"]={{[1]={flags=0,keywordFlags=65536,name="FireDamage",type="INC",value=30}},nil}
48824882
c["30% increased Fire Damage with Hits and Ailments against Blinded Enemies"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="Blinded"},flags=0,keywordFlags=786432,name="FireDamage",type="INC",value=30}},nil}
48834883
c["30% increased Flask Recovery rate"]={{[1]={flags=0,keywordFlags=0,name="FlaskRecoveryRate",type="INC",value=30}},nil}
4884-
c["30% increased Fortification Duration"]={{[1]={flags=0,keywordFlags=0,name="FortificationDuration",type="INC",value=30}},nil}
4884+
c["30% increased Fortification Duration"]={{[1]={flags=0,keywordFlags=0,name="FortifyDuration",type="INC",value=30}},nil}
48854885
c["30% increased Freeze Duration on Enemies"]={{[1]={flags=0,keywordFlags=0,name="EnemyFreezeDuration",type="INC",value=30}},nil}
48864886
c["30% increased Global Accuracy Rating"]={{[1]={[1]={type="Global"},flags=0,keywordFlags=0,name="Accuracy",type="INC",value=30}},nil}
48874887
c["30% increased Global Critical Strike Chance"]={{[1]={[1]={type="Global"},flags=0,keywordFlags=0,name="CritChance",type="INC",value=30}},nil}
@@ -5094,7 +5094,7 @@ c["35% increased Effect of your Curses"]={{[1]={flags=0,keywordFlags=0,name="Cur
50945094
c["35% increased Elemental Damage"]={{[1]={flags=0,keywordFlags=0,name="ElementalDamage",type="INC",value=35}},nil}
50955095
c["35% increased Elemental Damage with Hits and Ailments for each type of Elemental Ailment on Enemy"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="Frozen"},flags=0,keywordFlags=786432,name="ElementalDamage",type="INC",value=35},[2]={[1]={actor="enemy",type="ActorCondition",var="Chilled"},flags=0,keywordFlags=786432,name="ElementalDamage",type="INC",value=35},[3]={[1]={actor="enemy",type="ActorCondition",var="Ignited"},flags=0,keywordFlags=786432,name="ElementalDamage",type="INC",value=35},[4]={[1]={actor="enemy",type="ActorCondition",var="Shocked"},flags=0,keywordFlags=786432,name="ElementalDamage",type="INC",value=35},[5]={[1]={actor="enemy",type="ActorCondition",var="Scorched"},flags=0,keywordFlags=786432,name="ElementalDamage",type="INC",value=35},[6]={[1]={actor="enemy",type="ActorCondition",var="Brittle"},flags=0,keywordFlags=786432,name="ElementalDamage",type="INC",value=35},[7]={[1]={actor="enemy",type="ActorCondition",var="Sapped"},flags=0,keywordFlags=786432,name="ElementalDamage",type="INC",value=35}},nil}
50965096
c["35% increased Fire Damage"]={{[1]={flags=0,keywordFlags=0,name="FireDamage",type="INC",value=35}},nil}
5097-
c["35% increased Fortification Duration"]={{[1]={flags=0,keywordFlags=0,name="FortificationDuration",type="INC",value=35}},nil}
5097+
c["35% increased Fortification Duration"]={{[1]={flags=0,keywordFlags=0,name="FortifyDuration",type="INC",value=35}},nil}
50985098
c["35% increased Global Critical Strike Chance"]={{[1]={[1]={type="Global"},flags=0,keywordFlags=0,name="CritChance",type="INC",value=35}},nil}
50995099
c["35% increased Global maximum Energy Shield and reduced Lightning Resistance"]={{[1]={[1]={type="Global"},flags=0,keywordFlags=0,name="EnergyShield",type="INC",value=35},[2]={flags=0,keywordFlags=0,name="LightningResist",type="INC",value=-35}},nil}
51005100
c["35% increased Life Recovery from Flasks"]={{[1]={flags=0,keywordFlags=0,name="FlaskLifeRecovery",type="INC",value=35}},nil}
@@ -5330,7 +5330,7 @@ c["40% increased Evasion Rating while Phasing"]={{[1]={[1]={type="Condition",var
53305330
c["40% increased Evasion Rating while you have Onslaught"]={{[1]={[1]={type="Condition",var="Onslaught"},flags=0,keywordFlags=0,name="Evasion",type="INC",value=40}},nil}
53315331
c["40% increased Fire Damage"]={{[1]={flags=0,keywordFlags=0,name="FireDamage",type="INC",value=40}},nil}
53325332
c["40% increased Fire Damage with Hits and Ailments against Blinded Enemies"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="Blinded"},flags=0,keywordFlags=786432,name="FireDamage",type="INC",value=40}},nil}
5333-
c["40% increased Fortification Duration"]={{[1]={flags=0,keywordFlags=0,name="FortificationDuration",type="INC",value=40}},nil}
5333+
c["40% increased Fortification Duration"]={{[1]={flags=0,keywordFlags=0,name="FortifyDuration",type="INC",value=40}},nil}
53345334
c["40% increased Global Accuracy Rating"]={{[1]={[1]={type="Global"},flags=0,keywordFlags=0,name="Accuracy",type="INC",value=40}},nil}
53355335
c["40% increased Global Critical Strike Chance"]={{[1]={[1]={type="Global"},flags=0,keywordFlags=0,name="CritChance",type="INC",value=40}},nil}
53365336
c["40% increased Global Critical Strike Chance while wielding a Staff"]={{[1]={[1]={type="Global"},[2]={type="Condition",var="UsingStaff"},flags=0,keywordFlags=0,name="CritChance",type="INC",value=40}},nil}

src/Data/SkillStatMap.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,10 @@ return {
663663
["fortify_duration_+%"] = {
664664
mod("FortifyDuration", "INC", nil),
665665
},
666+
["gain_fortify_on_melee_hit_ms"] = {
667+
mod("FortifyDuration", "OVERRIDE", nil),
668+
div = 1000,
669+
},
666670
["support_swift_affliction_skill_effect_and_damaging_ailment_duration_+%_final"] = {
667671
mod("Duration", "MORE", nil),
668672
mod("DamagingAilmentDuration", "MORE", nil),

src/Modules/CalcPerform.lua

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -614,15 +614,16 @@ local function doActorMisc(env, actor)
614614
end
615615
-- Fortify
616616
if modDB:Flag(nil, "Fortified") or modDB:Sum("BASE", nil, "Multiplier:Fortification") > 0 then
617+
local skillModList = actor.mainSkill.skillModList
617618
local maxStacks = modDB:Override(nil, "MaximumFortification") or modDB:Sum("BASE", skillCfg, "MaximumFortification")
618619
local minStacks = m_min(modDB:Flag(nil, "Condition:HaveMaxFortification") and maxStacks or modDB:Sum("BASE", nil, "MinimumFortification"), maxStacks)
619620
local stacks = m_min(modDB:Override(nil, "FortificationStacks") or (alliedFortify > 0 and alliedFortify) or (minStacks > 0 and minStacks) or maxStacks, maxStacks)
620-
local duration = modDB:Sum("INC", nil, "FortificationDuration")
621+
local increasedDuration = skillModList:Sum("INC", nil, "FortifyDuration")
621622
output.MaximumFortification = maxStacks
622623
output.MinimumFortification = minStacks
623624
output.FortificationStacks = stacks
624625
output.FortificationStacksOver20 = m_min(m_max(0, stacks - 20), maxStacks - 20)
625-
output.FortificationDuration = (6 + (env.player.mainSkill.skillCfg.skillName == "Vigilant Strike" and 2 or 0)) * (1 + duration / 100)
626+
output.FortifyDuration = (skillModList:Override(nil, "FortifyDuration") or data.misc.FortifyBaseDuration) * (1 + increasedDuration / 100)
626627
output.FortificationEffect = "0" -- string allows shown for Willowgift mod
627628
if not modDB:Flag(nil,"Condition:NoFortificationMitigation") then
628629
output.FortificationEffect = stacks

src/Modules/CalcSections.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1743,7 +1743,7 @@ return {
17431743
} }, { defaultCollapsed = false, label = "Fortification", data = {
17441744
{ label = "Maximum Stacks", haveOutput = "MaximumFortification", { format = "{0:output:MaximumFortification}", { breakdown = "MaximumFortification" }, { modName = "MaximumFortification" }, }, },
17451745
{ label = "Minimum Stacks", haveOutput = "MinimumFortification", { format = "{0:output:MinimumFortification}", { breakdown = "MinimumFortification" }, { modName = "MinimumFortification" }, }, },
1746-
{ label = "Duration", haveOutput = "FortificationDuration", { format = "{2:output:FortificationDuration}s", { breakdown = "FortificationDuration" }, { modName = "FortificationDuration" }, }, },
1746+
{ label = "Duration", haveOutput = "FortifyDuration", { format = "{2:output:FortifyDuration}s", { breakdown = "FortifyDuration" }, { modName = "FortifyDuration" }, }, },
17471747
{ label = "Less Dmg. Taken", haveOutput = "FortificationEffect", { format = "{output:FortificationEffect}%", { breakdown = "FortificationEffect" }, { modName = "Condition:NoFortificationMitigation" }, }, },
17481748
} }, { defaultCollapsed = false, label = "Stun Duration", data = {
17491749
{ label = "Stun Avoid Chance", haveOutput = "StunAvoidChance", { format = "{0:output:StunAvoidChance}%", { breakdown = "StunAvoidChance" }, { modName = "AvoidStun" }, }, },

src/Modules/Data.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ data.misc = { -- magic numbers
177177
SuppressionChanceCap = 100,
178178
SuppressionEffect = 40,
179179
AvoidChanceCap = 75,
180+
FortifyBaseDuration = 6,
180181
ManaRegenBase = data.characterConstants["mana_regeneration_rate_per_minute_%"] / 60 / 100,
181182
EnergyShieldRechargeBase = data.characterConstants["energy_shield_recharge_rate_per_minute_%"] / 60 / 100,
182183
EnergyShieldRechargeBase = 0.33,

src/Modules/ModParser.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ local modNameList = {
454454
["rage effect"] = "RageEffect",
455455
["maximum fortification"] = "MaximumFortification",
456456
["fortification"] = "MinimumFortification",
457-
["fortification duration"] = "FortificationDuration",
457+
["fortification duration"] = "FortifyDuration",
458458
["maximum valour"] = "MaximumValour",
459459
-- Charges
460460
["maximum power charge"] = "PowerChargesMax",

0 commit comments

Comments
 (0)