From 9f133bc672fd3be785b3bc84c8a03a981bdb4399 Mon Sep 17 00:00:00 2001 From: EtherealCarnivore <42915554+EtherealCarnivore@users.noreply.github.com> Date: Mon, 2 Mar 2026 12:15:52 +0200 Subject: [PATCH 1/2] Update Runegraft of Refraction and add Fury parsing Refraction changed from "Skills Chain" to "Projectiles Chain" in 3.28. Fury grants rage on life flask use. --- src/Data/ModCache.lua | 2 ++ src/Data/TattooPassives.lua | 2 +- src/Modules/ModParser.lua | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index db0c8df48f..c6e9f16eb7 100755 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -8783,6 +8783,7 @@ c["Gain 3 Mana per Taunted Enemy Hit Gain 2 Power Charges on Using a Warcry"]={{ c["Gain 3 Power Charge on use"]={{}," Power Charge on use "} c["Gain 3 Rage on Melee Weapon Hit"]={{[1]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} c["Gain 3 Rage when Hit by an Enemy"]={{[1]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} +c["Gain 3 Rage when you use a Life Flask"]={{[1]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} c["Gain 3% of Maximum Life as Extra Maximum Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="LifeGainAsEnergyShield",type="BASE",value=3}},nil} c["Gain 3% of Missing Unreserved Life before being Hit by an Enemy Per Defiance"]={{[1]={[1]={type="Multiplier",var="Defiance"},flags=0,keywordFlags=0,name="Life",type="BASE",value=3}}," Missing Unreserved before being Hit by an Enemy "} c["Gain 30 Energy Shield per Enemy Hit while affected by Discipline"]={{[1]={[1]={type="Condition",var="AffectedByDiscipline"},flags=4,keywordFlags=0,name="EnergyShieldOnHit",type="BASE",value=30}},nil} @@ -10293,6 +10294,7 @@ c["Projectile Attack Skills have 50% increased Critical Strike Chance"]={{[1]={[ c["Projectile Attack Skills have 60% increased Critical Strike Chance"]={{[1]={[1]={skillType=47,type="SkillType"},flags=0,keywordFlags=0,name="CritChance",type="INC",value=60}},nil} c["Projectile Barrages have no spread"]={nil,"Projectile Barrages have no spread "} c["Projectile Barrages have no spread You take no Extra Damage from Critical Strikes while Elusive"]={nil,"Projectile Barrages have no spread You take no Extra Damage from Critical Strikes while Elusive "} +c["Projectiles Chain +1 times"]={{[1]={flags=1024,keywordFlags=0,name="ChainCountMax",type="BASE",value=1}},nil} c["Projectiles Chain +1 times while you have Phasing"]={{[1]={[1]={type="Condition",var="Phasing"},flags=1024,keywordFlags=0,name="ChainCountMax",type="BASE",value=1}},nil} c["Projectiles Fork"]={{[1]={flags=1024,keywordFlags=0,name="ForkOnce",type="FLAG",value=true},[2]={flags=1024,keywordFlags=0,name="ForkCountMax",type="BASE",value=1}},nil} c["Projectiles Pierce 2 additional Targets"]={{[1]={flags=0,keywordFlags=0,name="PierceCount",type="BASE",value=2}},nil} diff --git a/src/Data/TattooPassives.lua b/src/Data/TattooPassives.lua index 9268c9858e..0f5ddba2b1 100644 --- a/src/Data/TattooPassives.lua +++ b/src/Data/TattooPassives.lua @@ -2053,7 +2053,7 @@ return { ["overrideType"] = "AlternateMastery", ["sd"] = { [1] = "Fire at most 1 Projectile", - [2] = "Skills Chain +1 times", + [2] = "Projectiles Chain +1 times", [3] = "Projectiles Fork", [4] = "Limited to 1 Runegraft of Refraction", }, diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index fd91130b3e..cf8cf8d5c0 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -2405,6 +2405,9 @@ local specialModList = { ["gain %d+ rage on hit with retaliation skills"] = { flag("Condition:CanGainRage"), }, + ["gain %d+ rage when you use a life flask"] = { + flag("Condition:CanGainRage"), + }, ["while a unique enemy is in your presence, gain %d+ rage on hit with attacks, no more than once every [%d%.]+ seconds"] = { flag("Condition:CanGainRage", { type = "ActorCondition", actor = "enemy", var = "RareOrUnique" }), }, @@ -4254,6 +4257,7 @@ local specialModList = { ["your blink and mirror arrow clones use your gloves"] = { flag("BlinkAndMirrorUseGloves") }, -- Projectiles ["skills chain %+(%d) times"] = function(num) return { mod("ChainCountMax", "BASE", num) } end, + ["projectiles chain %+(%d) times"] = function(num) return { mod("ChainCountMax", "BASE", num, nil, ModFlag.Projectile) } end, ["arrows chain %+(%d) times"] = function(num) return { mod("ChainCountMax", "BASE", num, nil, 0, KeywordFlag.Arrow) } end, ["skills chain an additional time while at maximum frenzy charges"] = { mod("ChainCountMax", "BASE", 1, { type = "StatThreshold", stat = "FrenzyCharges", thresholdStat = "FrenzyChargesMax" }) }, ["attacks chain an additional time when in main hand"] = { mod("ChainCountMax", "BASE", 1, nil, ModFlag.Attack, { type = "SlotNumber", num = 1 }) }, From 00abee03cd9eda84618436ccded0f0c1f4a2c3d6 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Fri, 6 Mar 2026 07:27:17 +1100 Subject: [PATCH 2/2] remove file change --- src/Data/TattooPassives.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Data/TattooPassives.lua b/src/Data/TattooPassives.lua index 0f5ddba2b1..9268c9858e 100644 --- a/src/Data/TattooPassives.lua +++ b/src/Data/TattooPassives.lua @@ -2053,7 +2053,7 @@ return { ["overrideType"] = "AlternateMastery", ["sd"] = { [1] = "Fire at most 1 Projectile", - [2] = "Projectiles Chain +1 times", + [2] = "Skills Chain +1 times", [3] = "Projectiles Fork", [4] = "Limited to 1 Runegraft of Refraction", },