From 04670b35ef476722b5fd35c3224f679ffb6b0167 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Sat, 29 Aug 2026 20:21:31 +0000 Subject: [PATCH 1/2] Apply changes from https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/10051 --- src/Data/ModCache.lua.rej | 12 ++++++++++++ src/Modules/ModParser.lua.rej | 18 ++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/Data/ModCache.lua.rej create mode 100644 src/Modules/ModParser.lua.rej diff --git a/src/Data/ModCache.lua.rej b/src/Data/ModCache.lua.rej new file mode 100644 index 0000000000..0092a42a43 --- /dev/null +++ b/src/Data/ModCache.lua.rej @@ -0,0 +1,12 @@ +diff a/src/Data/ModCache.lua b/src/Data/ModCache.lua (rejected hunks) +@@ -7697,8 +7697,8 @@ c["Arrows Pierce all Targets after Chaining"]={nil,"Arrows Pierce all Targets af + c["Arrows Pierce all Targets after Chaining Arrows Pierce all Targets after Forking"]={nil,"Arrows Pierce all Targets after Chaining Arrows Pierce all Targets after Forking "} + c["Arrows Pierce all Targets after Forking"]={{[1]={[1]={stat="ForkedCount",threshold=1,type="StatThreshold"},flags=0,keywordFlags=2048,name="PierceAllTargets",type="FLAG",value=true}},nil} + c["Arrows Pierce an additional Target"]={{[1]={flags=0,keywordFlags=2048,name="PierceCount",type="BASE",value=1}},nil} +-c["Arrows deal 30 to 50 Added Fire Damage for each time they've Pierced"]={{[1]={[1]={stat="PiercedCount",type="PerStat"},flags=0,keywordFlags=2048,name="FireMin",type="BASE",value=30},[2]={[1]={stat="PiercedCount",type="PerStat"},flags=0,keywordFlags=2048,name="FireMax",type="BASE",value=50}},nil} +-c["Arrows deal 50% increased Damage with Hits and Ailments to Targets they Pierce"]={{[1]={[1]={stat="PierceCount",threshold=1,type="StatThreshold"},flags=0,keywordFlags=788480,name="Damage",type="INC",value=50}},nil} ++c["Arrows deal 30 to 50 Added Fire Damage for each time they've Pierced"]={{[1]={[1]={keywordFlags=2048,type="KeywordFlagAnd"},[2]={stat="PiercedCount",type="PerStat"},flags=0,keywordFlags=0,name="FireMin",type="BASE",value=30},[2]={[1]={keywordFlags=2048,type="KeywordFlagAnd"},[2]={stat="PiercedCount",type="PerStat"},flags=0,keywordFlags=0,name="FireMax",type="BASE",value=50}},nil} ++c["Arrows deal 50% increased Damage with Hits and Ailments to Targets they Pierce"]={{[1]={[1]={keywordFlags=2048,type="KeywordFlagAnd"},[2]={stat="PierceCount",threshold=1,type="StatThreshold"},flags=0,keywordFlags=786432,name="Damage",type="INC",value=50}},nil} + c["Arrows fired from the first firing points always Pierce"]={nil,"Arrows fired from the first firing points always Pierce "} + c["Arrows fired from the first firing points always Pierce Arrows fired from the second firing points Fork"]={nil,"Arrows fired from the first firing points always Pierce Arrows fired from the second firing points Fork "} + c["Arrows fired from the fourth firing points Chain +2 times"]={nil,"Arrows fired from the fourth firing points Chain +2 times "} diff --git a/src/Modules/ModParser.lua.rej b/src/Modules/ModParser.lua.rej new file mode 100644 index 0000000000..a8262f7bbd --- /dev/null +++ b/src/Modules/ModParser.lua.rej @@ -0,0 +1,18 @@ +diff a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua (rejected hunks) +@@ -1116,7 +1116,6 @@ local preFlagList = { + ["^hits deal "] = { keywordFlags = KeywordFlag.Hit }, + ["^melee weapon damage"] = { flags = ModFlag.WeaponMelee }, + ["^deal "] = { }, +- ["^arrows deal "] = { keywordFlags = KeywordFlag.Arrow }, + ["^critical strikes deal "] = { tag = { type = "Condition", var = "CriticalStrike" } }, + ["^poisons you inflict with critical strikes have "] = { keywordFlags = bor(KeywordFlag.Poison, KeywordFlag.MatchAll), tag = { type = "Condition", var = "CriticalStrike" } }, + -- Add to minion +@@ -1185,7 +1184,7 @@ local preFlagList = { + ["^spell skills [hd][ae][va][el] "] = { keywordFlags = KeywordFlag.Spell }, + ["^projectile attack skills [hd][ae][va][el] "] = { tag = { type = "SkillType", skillType = SkillType.RangedAttack } }, + ["^projectiles from attacks [hd][ae][va][el] "] = { tag = { type = "SkillType", skillType = SkillType.RangedAttack } }, +- ["^arrows [hd][ae][va][el] "] = { keywordFlags = KeywordFlag.Arrow }, ++ ["^arrows [hd][ae][va][el] "] = { tag = { type = "KeywordFlagAnd", keywordFlags = KeywordFlag.Arrow } }, + ["^bow skills [hdf][aei][var][el] "] = { keywordFlags = KeywordFlag.Bow }, + ["^projectiles [hdf][aei][var][el] "] = { flags = ModFlag.Projectile }, + ["^projectiles "] = { flags = ModFlag.Projectile }, From e1067134b337efe4fa3a3937f8eff68e93856432 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Sun, 30 Aug 2026 08:00:41 +1000 Subject: [PATCH 2/2] Fix port --- src/Data/ModCache.lua | 2 +- src/Data/ModCache.lua.rej | 12 ------------ src/Modules/ModParser.lua | 3 +-- src/Modules/ModParser.lua.rej | 18 ------------------ 4 files changed, 2 insertions(+), 33 deletions(-) delete mode 100644 src/Data/ModCache.lua.rej delete mode 100644 src/Modules/ModParser.lua.rej diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index c6a7b54f29..1db80b017e 100644 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -6598,7 +6598,7 @@ c["Arrows Pierce all Targets after Chaining"]={nil,"Arrows Pierce all Targets af c["Arrows Pierce all targets after Forking"]={{[1]={[1]={stat="ForkedCount",threshold=1,type="StatThreshold"},flags=0,keywordFlags=2048,name="PierceAllTargets",type="FLAG",value=true}},nil} c["Arrows Pierce an additional Target"]={{[1]={flags=0,keywordFlags=2048,name="PierceCount",type="BASE",value=1}},nil} c["Arrows Return if they have Pierced a target which had Fully Broken Armour"]={nil,"Arrows Return if they have Pierced a target which had Fully Broken Armour "} -c["Arrows deal 50% increased Damage with Hits to Targets they Pierce"]={{[1]={[1]={stat="PierceCount",threshold=1,type="StatThreshold"},flags=0,keywordFlags=264192,name="Damage",type="INC",value=50}},nil} +c["Arrows deal 50% increased Damage with Hits to Targets they Pierce"]={{[1]={[1]={keywordFlags=2048,type="KeywordFlagAnd"},[2]={stat="PierceCount",threshold=1,type="StatThreshold"},flags=0,keywordFlags=262144,name="Damage",type="INC",value=50}},nil} c["Arrows gain Critical Hit Chance as they travel farther, up to"]={nil,"Arrows gain Critical Hit Chance as they travel farther, up to "} c["Arrows gain Critical Hit Chance as they travel farther, up to 40% increased Critical Hit Chance after 7 metres"]={{[1]={[1]={ramp={[1]={[1]=35,[2]=0},[2]={[1]=70,[2]=1}},type="DistanceRamp"},flags=0,keywordFlags=2048,name="CritChance",type="INC",value=40}},nil} c["Arrows that Pierce have 50% chance to inflict Bleeding"]={nil,"Arrows that Pierce have 50% chance to inflict Bleeding "} diff --git a/src/Data/ModCache.lua.rej b/src/Data/ModCache.lua.rej deleted file mode 100644 index 0092a42a43..0000000000 --- a/src/Data/ModCache.lua.rej +++ /dev/null @@ -1,12 +0,0 @@ -diff a/src/Data/ModCache.lua b/src/Data/ModCache.lua (rejected hunks) -@@ -7697,8 +7697,8 @@ c["Arrows Pierce all Targets after Chaining"]={nil,"Arrows Pierce all Targets af - c["Arrows Pierce all Targets after Chaining Arrows Pierce all Targets after Forking"]={nil,"Arrows Pierce all Targets after Chaining Arrows Pierce all Targets after Forking "} - c["Arrows Pierce all Targets after Forking"]={{[1]={[1]={stat="ForkedCount",threshold=1,type="StatThreshold"},flags=0,keywordFlags=2048,name="PierceAllTargets",type="FLAG",value=true}},nil} - c["Arrows Pierce an additional Target"]={{[1]={flags=0,keywordFlags=2048,name="PierceCount",type="BASE",value=1}},nil} --c["Arrows deal 30 to 50 Added Fire Damage for each time they've Pierced"]={{[1]={[1]={stat="PiercedCount",type="PerStat"},flags=0,keywordFlags=2048,name="FireMin",type="BASE",value=30},[2]={[1]={stat="PiercedCount",type="PerStat"},flags=0,keywordFlags=2048,name="FireMax",type="BASE",value=50}},nil} --c["Arrows deal 50% increased Damage with Hits and Ailments to Targets they Pierce"]={{[1]={[1]={stat="PierceCount",threshold=1,type="StatThreshold"},flags=0,keywordFlags=788480,name="Damage",type="INC",value=50}},nil} -+c["Arrows deal 30 to 50 Added Fire Damage for each time they've Pierced"]={{[1]={[1]={keywordFlags=2048,type="KeywordFlagAnd"},[2]={stat="PiercedCount",type="PerStat"},flags=0,keywordFlags=0,name="FireMin",type="BASE",value=30},[2]={[1]={keywordFlags=2048,type="KeywordFlagAnd"},[2]={stat="PiercedCount",type="PerStat"},flags=0,keywordFlags=0,name="FireMax",type="BASE",value=50}},nil} -+c["Arrows deal 50% increased Damage with Hits and Ailments to Targets they Pierce"]={{[1]={[1]={keywordFlags=2048,type="KeywordFlagAnd"},[2]={stat="PierceCount",threshold=1,type="StatThreshold"},flags=0,keywordFlags=786432,name="Damage",type="INC",value=50}},nil} - c["Arrows fired from the first firing points always Pierce"]={nil,"Arrows fired from the first firing points always Pierce "} - c["Arrows fired from the first firing points always Pierce Arrows fired from the second firing points Fork"]={nil,"Arrows fired from the first firing points always Pierce Arrows fired from the second firing points Fork "} - c["Arrows fired from the fourth firing points Chain +2 times"]={nil,"Arrows fired from the fourth firing points Chain +2 times "} diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 35f626b319..7032dc2674 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -1220,7 +1220,6 @@ local preFlagList = { ["^melee weapon damage"] = { flags = ModFlag.WeaponMelee }, ["^deal "] = { }, ["^causes "] = { }, - ["^arrows deal "] = { keywordFlags = KeywordFlag.Arrow }, ["^critical hits deal "] = { tag = { type = "Condition", var = "CriticalStrike" } }, ["^poisons you inflict with critical hits have "] = { keywordFlags = bor(KeywordFlag.Poison, KeywordFlag.MatchAll), tag = { type = "Condition", var = "CriticalStrike" } }, -- Add to minion @@ -1297,7 +1296,7 @@ local preFlagList = { ["^offering skills [hd][ae][va][el] "] = { tag = { type = "SkillType", skillType = SkillType.Offering } }, ["^projectile attack skills [hd][ae][va][el] "] = { tag = { type = "SkillType", skillType = SkillType.RangedAttack } }, ["^projectiles from attacks [hd][ae][va][el] "] = { tag = { type = "SkillType", skillType = SkillType.RangedAttack } }, - ["^arrows [hd][ae][va][el] "] = { keywordFlags = KeywordFlag.Arrow }, + ["^arrows [hd][ae][va][el] "] = { tag = { type = "KeywordFlagAnd", keywordFlags = KeywordFlag.Arrow } }, ["^bow skills [hdf][aei][var][el] "] = { keywordFlags = KeywordFlag.Bow }, ["^projectiles [hdf][aei][var][el] "] = { flags = ModFlag.Projectile }, ["^grenade skills [hdf][aei][var][el] "] = { tag = { type = "SkillType", skillType = SkillType.Grenade } }, diff --git a/src/Modules/ModParser.lua.rej b/src/Modules/ModParser.lua.rej deleted file mode 100644 index a8262f7bbd..0000000000 --- a/src/Modules/ModParser.lua.rej +++ /dev/null @@ -1,18 +0,0 @@ -diff a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua (rejected hunks) -@@ -1116,7 +1116,6 @@ local preFlagList = { - ["^hits deal "] = { keywordFlags = KeywordFlag.Hit }, - ["^melee weapon damage"] = { flags = ModFlag.WeaponMelee }, - ["^deal "] = { }, -- ["^arrows deal "] = { keywordFlags = KeywordFlag.Arrow }, - ["^critical strikes deal "] = { tag = { type = "Condition", var = "CriticalStrike" } }, - ["^poisons you inflict with critical strikes have "] = { keywordFlags = bor(KeywordFlag.Poison, KeywordFlag.MatchAll), tag = { type = "Condition", var = "CriticalStrike" } }, - -- Add to minion -@@ -1185,7 +1184,7 @@ local preFlagList = { - ["^spell skills [hd][ae][va][el] "] = { keywordFlags = KeywordFlag.Spell }, - ["^projectile attack skills [hd][ae][va][el] "] = { tag = { type = "SkillType", skillType = SkillType.RangedAttack } }, - ["^projectiles from attacks [hd][ae][va][el] "] = { tag = { type = "SkillType", skillType = SkillType.RangedAttack } }, -- ["^arrows [hd][ae][va][el] "] = { keywordFlags = KeywordFlag.Arrow }, -+ ["^arrows [hd][ae][va][el] "] = { tag = { type = "KeywordFlagAnd", keywordFlags = KeywordFlag.Arrow } }, - ["^bow skills [hdf][aei][var][el] "] = { keywordFlags = KeywordFlag.Bow }, - ["^projectiles [hdf][aei][var][el] "] = { flags = ModFlag.Projectile }, - ["^projectiles "] = { flags = ModFlag.Projectile },