From 0d59f7e3a047e4b166164863543eac2ad80f3f01 Mon Sep 17 00:00:00 2001 From: Peechey <92683202+Peechey@users.noreply.github.com> Date: Thu, 2 Apr 2026 23:09:46 -0500 Subject: [PATCH 1/2] update Fatal Flourish parsing to ignore Travel and Retaliation skills --- src/Data/ModCache.lua | 4 ++-- src/Modules/ModParser.lua | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index e35fd09163..97c3a37df3 100755 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -8668,7 +8668,7 @@ c["Exposure you inflict applies at least -18% to the affected Resistance"]={{[1] c["Extra Gore"]={{},nil} c["Extra gore"]={{},nil} c["Far Shot"]={{[1]={flags=0,keywordFlags=0,name="FarShot",type="FLAG",value=true}},nil} -c["Final Repeat of Attack Skills deals 60% more Damage"]={{[1]={flags=1,keywordFlags=0,name="RepeatFinalDamage",type="MORE",value=60}},nil} +c["Final Repeat of Attack Skills deals 60% more Damage"]={{[1]={[1]={neg=true,skillType=132,type="SkillType"},[2]={neg=true,skillType=90,type="SkillType"},flags=1,keywordFlags=0,name="RepeatFinalDamage",type="MORE",value=60}},nil} c["Final Repeat of Spells has 40% increased Area of Effect"]={{[1]={[1]={neg=true,type="Condition",var="CastOnFrostbolt"},[2]={type="Condition",varList={[1]="averageRepeat",[2]="alwaysFinalRepeat"}},flags=2,keywordFlags=0,name="RepeatFinalAreaOfEffect",type="INC",value=40}},nil} c["Fire Exposure you inflict applies an extra -5% to Fire Resistance"]={{[1]={flags=0,keywordFlags=0,name="ExtraFireExposure",type="BASE",value=-5}},nil} c["Fire Resistance is 75%"]={{[1]={flags=0,keywordFlags=0,name="FireResist",type="OVERRIDE",value=75}},nil} @@ -10337,7 +10337,7 @@ c["Non-Damaging Elemental Ailments you inflict have 100% more Effect"]={{[1]={fl c["Non-Damaging Elemental Ailments you inflict spread to nearby enemies within 2 metres"]={nil,"Non-Damaging Elemental Ailments you inflict spread to nearby enemies within 2 metres "} c["Non-Damaging Elemental Ailments you inflict spread to nearby enemies within 2 metres Non-Damaging Elemental Ailments you inflict have 100% more Effect"]={nil,"Non-Damaging Elemental Ailments you inflict spread to nearby enemies within 2 metres Non-Damaging Elemental Ailments you inflict have 100% more Effect "} c["Non-Exerted Attacks deal no Damage"]={nil,"Non-Exerted Attacks deal no Damage "} -c["Non-Travel Attack Skills Repeat an additional Time"]={{[1]={[1]={type="Condition",varList={[1]="averageRepeat",[2]="alwaysFinalRepeat"}},flags=1,keywordFlags=0,name="RepeatCount",type="BASE",value=1}},nil} +c["Non-Travel Attack Skills Repeat an additional Time"]={{[1]={[1]={neg=true,skillType=132,type="SkillType"},[2]={neg=true,skillType=90,type="SkillType"},[3]={type="Condition",varList={[1]="averageRepeat",[2]="alwaysFinalRepeat"}},flags=1,keywordFlags=0,name="RepeatCount",type="BASE",value=1}},nil} c["Non-Unique Jewels cause Small and Notable Passive Skills in a Large Radius to"]={nil,"Non-Unique Jewels cause Small and Notable Passive Skills in a Large Radius to "} c["Non-Unique Utility Flasks you Use apply to Linked Targets"]={{[1]={flags=0,keywordFlags=0,name="ExtraLinkEffect",type="LIST",value={mod={[1]={effectType="Global",type="GlobalEffect",unscalable=true},flags=0,keywordFlags=0,name="ParentNonUniqueFlasksAppliedToYou",type="FLAG",value=true}}}},nil} c["Non-Vaal Strike Skills target 1 additional nearby Enemy"]={{[1]={[1]={skillType=25,type="SkillType"},[2]={neg=true,skillType=42,type="SkillType"},flags=0,keywordFlags=0,name="AdditionalStrikeTarget",type="BASE",value=1}},nil} diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 49510213e8..78b3f230c9 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -2399,8 +2399,8 @@ local specialModList = { ["exerted attacks deal (%d+)%% increased damage"] = function(num) return { mod("ExertIncrease", "INC", num, nil, ModFlag.Attack, 0) } end, ["exerted attacks have (%d+)%% chance to deal double damage"] = function(num) return { mod("ExertDoubleDamageChance", "BASE", num, nil, ModFlag.Attack, 0) } end, -- Duelist (Fatal flourish) - ["final repeat of attack skills deals (%d+)%% more damage"] = function(num) return { mod("RepeatFinalDamage", "MORE", num, nil, ModFlag.Attack, 0) } end, - ["non%-travel attack skills repeat an additional time"] = { mod("RepeatCount", "BASE", 1, nil, ModFlag.Attack, 0, { type = "Condition", varList = {"averageRepeat", "alwaysFinalRepeat"} }) }, + ["final repeat of attack skills deals (%d+)%% more damage"] = function(num) return { mod("RepeatFinalDamage", "MORE", num, nil, ModFlag.Attack, 0, { type = "SkillType", skillType = SkillType.Retaliation, neg = true }, { type = "SkillType", skillType = SkillType.Travel, neg = true }) } end, + ["non%-travel attack skills repeat an additional time"] = { mod("RepeatCount", "BASE", 1, nil, ModFlag.Attack, 0, { type = "SkillType", skillType = SkillType.Retaliation, neg = true }, { type = "SkillType", skillType = SkillType.Travel, neg = true }, { type = "Condition", varList = {"averageRepeat", "alwaysFinalRepeat"} }) }, -- Ascendant ["grants (%d+) passive skill points?"] = function(num) return { mod("ExtraPoints", "BASE", num) } end, ["can allocate passives from the %a+'s starting point"] = { }, From 3d6d0a4ddc2d083286f25cdcc479182b20cc43cd Mon Sep 17 00:00:00 2001 From: Peechey <92683202+Peechey@users.noreply.github.com> Date: Fri, 3 Apr 2026 09:06:19 -0500 Subject: [PATCH 2/2] update for Channel, Instant, and Triggered skills --- src/Data/ModCache.lua | 4 ++-- src/Modules/ModParser.lua | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index 97c3a37df3..df7bc0b34f 100755 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -8668,7 +8668,7 @@ c["Exposure you inflict applies at least -18% to the affected Resistance"]={{[1] c["Extra Gore"]={{},nil} c["Extra gore"]={{},nil} c["Far Shot"]={{[1]={flags=0,keywordFlags=0,name="FarShot",type="FLAG",value=true}},nil} -c["Final Repeat of Attack Skills deals 60% more Damage"]={{[1]={[1]={neg=true,skillType=132,type="SkillType"},[2]={neg=true,skillType=90,type="SkillType"},flags=1,keywordFlags=0,name="RepeatFinalDamage",type="MORE",value=60}},nil} +c["Final Repeat of Attack Skills deals 60% more Damage"]={{[1]={[1]={neg=true,skillTypeList={[1]=132,[2]=90,[3]=57,[4]=74,[5]=41},type="SkillType"},flags=1,keywordFlags=0,name="RepeatFinalDamage",type="MORE",value=60}},nil} c["Final Repeat of Spells has 40% increased Area of Effect"]={{[1]={[1]={neg=true,type="Condition",var="CastOnFrostbolt"},[2]={type="Condition",varList={[1]="averageRepeat",[2]="alwaysFinalRepeat"}},flags=2,keywordFlags=0,name="RepeatFinalAreaOfEffect",type="INC",value=40}},nil} c["Fire Exposure you inflict applies an extra -5% to Fire Resistance"]={{[1]={flags=0,keywordFlags=0,name="ExtraFireExposure",type="BASE",value=-5}},nil} c["Fire Resistance is 75%"]={{[1]={flags=0,keywordFlags=0,name="FireResist",type="OVERRIDE",value=75}},nil} @@ -10337,7 +10337,7 @@ c["Non-Damaging Elemental Ailments you inflict have 100% more Effect"]={{[1]={fl c["Non-Damaging Elemental Ailments you inflict spread to nearby enemies within 2 metres"]={nil,"Non-Damaging Elemental Ailments you inflict spread to nearby enemies within 2 metres "} c["Non-Damaging Elemental Ailments you inflict spread to nearby enemies within 2 metres Non-Damaging Elemental Ailments you inflict have 100% more Effect"]={nil,"Non-Damaging Elemental Ailments you inflict spread to nearby enemies within 2 metres Non-Damaging Elemental Ailments you inflict have 100% more Effect "} c["Non-Exerted Attacks deal no Damage"]={nil,"Non-Exerted Attacks deal no Damage "} -c["Non-Travel Attack Skills Repeat an additional Time"]={{[1]={[1]={neg=true,skillType=132,type="SkillType"},[2]={neg=true,skillType=90,type="SkillType"},[3]={type="Condition",varList={[1]="averageRepeat",[2]="alwaysFinalRepeat"}},flags=1,keywordFlags=0,name="RepeatCount",type="BASE",value=1}},nil} +c["Non-Travel Attack Skills Repeat an additional Time"]={{[1]={[1]={neg=true,skillTypeList={[1]=132,[2]=90,[3]=57,[4]=74,[5]=41},type="SkillType"},[2]={type="Condition",varList={[1]="averageRepeat",[2]="alwaysFinalRepeat"}},flags=1,keywordFlags=0,name="RepeatCount",type="BASE",value=1}},nil} c["Non-Unique Jewels cause Small and Notable Passive Skills in a Large Radius to"]={nil,"Non-Unique Jewels cause Small and Notable Passive Skills in a Large Radius to "} c["Non-Unique Utility Flasks you Use apply to Linked Targets"]={{[1]={flags=0,keywordFlags=0,name="ExtraLinkEffect",type="LIST",value={mod={[1]={effectType="Global",type="GlobalEffect",unscalable=true},flags=0,keywordFlags=0,name="ParentNonUniqueFlasksAppliedToYou",type="FLAG",value=true}}}},nil} c["Non-Vaal Strike Skills target 1 additional nearby Enemy"]={{[1]={[1]={skillType=25,type="SkillType"},[2]={neg=true,skillType=42,type="SkillType"},flags=0,keywordFlags=0,name="AdditionalStrikeTarget",type="BASE",value=1}},nil} diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 78b3f230c9..7c96c75ca6 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -2399,8 +2399,13 @@ local specialModList = { ["exerted attacks deal (%d+)%% increased damage"] = function(num) return { mod("ExertIncrease", "INC", num, nil, ModFlag.Attack, 0) } end, ["exerted attacks have (%d+)%% chance to deal double damage"] = function(num) return { mod("ExertDoubleDamageChance", "BASE", num, nil, ModFlag.Attack, 0) } end, -- Duelist (Fatal flourish) - ["final repeat of attack skills deals (%d+)%% more damage"] = function(num) return { mod("RepeatFinalDamage", "MORE", num, nil, ModFlag.Attack, 0, { type = "SkillType", skillType = SkillType.Retaliation, neg = true }, { type = "SkillType", skillType = SkillType.Travel, neg = true }) } end, - ["non%-travel attack skills repeat an additional time"] = { mod("RepeatCount", "BASE", 1, nil, ModFlag.Attack, 0, { type = "SkillType", skillType = SkillType.Retaliation, neg = true }, { type = "SkillType", skillType = SkillType.Travel, neg = true }, { type = "Condition", varList = {"averageRepeat", "alwaysFinalRepeat"} }) }, + ["final repeat of attack skills deals (%d+)%% more damage"] = function(num) return { mod("RepeatFinalDamage", "MORE", num, nil, ModFlag.Attack, 0, + { type = "SkillType", skillTypeList = { SkillType.Retaliation, SkillType.Travel, SkillType.Channel, SkillType.Instant, SkillType.Triggered }, neg = true }), + } end, + ["non%-travel attack skills repeat an additional time"] = { mod("RepeatCount", "BASE", 1, nil, ModFlag.Attack, 0, + { type = "SkillType", skillTypeList = { SkillType.Retaliation, SkillType.Travel, SkillType.Channel, SkillType.Instant, SkillType.Triggered }, neg = true }, + { type = "Condition", varList = {"averageRepeat", "alwaysFinalRepeat"} }) + }, -- Ascendant ["grants (%d+) passive skill points?"] = function(num) return { mod("ExtraPoints", "BASE", num) } end, ["can allocate passives from the %a+'s starting point"] = { },