diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index 8b7196208..b8bc12acb 100644 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -4927,7 +4927,7 @@ c["Gain 1 Life Flask Charge per 4% Life spent"]={{[1]={flags=0,keywordFlags=0,na c["Gain 1 Life Flask Charge per 4% Life spent On Hitting an Enemy while a Life Flask is at full Charges, 40% of its Charges are consumed"]={{[1]={flags=4,keywordFlags=0,name="Life",type="BASE",value=1}}," Flask Charge per 4% Life spent ting an Enemy while a Life Flask is at full Charges, 40% of its Charges are consumed "} c["Gain 1 Life Flask Charge per 4% Life spent On Hitting an Enemy while a Life Flask is at full Charges, 40% of its Charges are consumed Gain 1% of damage as Physical damage for 3 seconds per Charge consumed this way"]={{[1]={flags=4,keywordFlags=0,name="LifeAsPhysical",type="BASE",value=1}}," Flask Charge per 4% Life spent ting an Enemy while a Life Flask is at full Charges, 40% of its Charges are consumed Gain 1% of damage per Charge consumed this way "} c["Gain 1 Rage on Melee Axe Hit"]={{[1]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} -c["Gain 1 Rage on Melee Hit"]={{[1]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} +c["Gain 1 Rage on Melee Hit"]={{[1]={flags=0,keywordFlags=0,name="RageOnMeleeHit",type="BASE",value=1},[2]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} c["Gain 1 Rage when your Hit Ignites a target"]={{}," Rage when your Hit Ignites a target "} c["Gain 1 Volatility on inflicting an Elemental Ailment"]={{}," Volatility on inflicting an Elemental Ailment "} c["Gain 1 Volatility on inflicting an Elemental Ailment Take no Damage from Volatility"]={{[1]={flags=0,keywordFlags=0,name="Damage",type="BASE",value=1}}," Volatility on inflicting an Elemental Ailment Take no from Volatility "} @@ -4971,7 +4971,7 @@ c["Gain 15% of maximum Life as Extra maximum Energy Shield"]={{[1]={flags=0,keyw c["Gain 18 Mana per enemy killed"]={{[1]={flags=0,keywordFlags=0,name="ManaOnKill",type="BASE",value=18}},nil} c["Gain 18% of Physical Damage as Extra Lightning Damage"]={{[1]={flags=0,keywordFlags=0,name="PhysicalDamageGainAsLightning",type="BASE",value=18}},nil} c["Gain 2 Rage on Melee Axe Hit"]={{[1]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} -c["Gain 2 Rage when Hit by an Enemy"]={{[1]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} +c["Gain 2 Rage when Hit by an Enemy"]={{[1]={flags=0,keywordFlags=0,name="RageWhenHit",type="BASE",value=2},[2]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} c["Gain 2% of Damage as Extra Fire Damage per Endurance Charge consumed Recently"]={{[1]={[1]={type="Multiplier",var="EnduranceCharge"},flags=0,keywordFlags=0,name="DamageGainAsFire",type="BASE",value=2}}," consumed Recently "} c["Gain 20 Energy Shield when you Block"]={{[1]={flags=0,keywordFlags=0,name="EnergyShieldOnBlock",type="BASE",value=20}},nil} c["Gain 20 Life per enemy killed"]={{[1]={flags=0,keywordFlags=0,name="LifeOnKill",type="BASE",value=20}},nil} @@ -4992,7 +4992,7 @@ c["Gain 26% of Damage as Extra Lightning Damage"]={{[1]={flags=0,keywordFlags=0, c["Gain 27% of Damage as Extra Chaos Damage"]={{[1]={flags=0,keywordFlags=0,name="DamageGainAsChaos",type="BASE",value=27}},nil} c["Gain 3 Life per Enemy Hit with Attacks"]={{[1]={flags=4,keywordFlags=65536,name="LifeOnHit",type="BASE",value=3}},nil} c["Gain 3 Life per enemy killed"]={{[1]={flags=0,keywordFlags=0,name="LifeOnKill",type="BASE",value=3}},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 Hit by an Enemy"]={{[1]={flags=0,keywordFlags=0,name="RageWhenHit",type="BASE",value=3},[2]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} c["Gain 3 Volatility when an Allied Persistent Reviving Minion is Killed"]={{}," Volatility when an Allied Persistent Reviving is Killed "} c["Gain 3% of Damage as Chaos Damage per Undead Minion"]={{[1]={flags=0,keywordFlags=0,name="MinionModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="DamageAsChaos",type="BASE",value=3}}}}," per Undead "} c["Gain 3% of Damage as Chaos Damage per Undead Minion Gain 5% of Damage as Chaos Damage per Undead Minion"]={{[1]={flags=0,keywordFlags=0,name="MinionModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="DamageAsChaos",type="BASE",value=3}}}}," per Undead Gain 5% of Damage as Chaos Damage per Undead Minion "} @@ -5017,7 +5017,7 @@ c["Gain 5 Life per Enemy Hit with Attacks"]={{[1]={flags=4,keywordFlags=65536,na c["Gain 5 Life per enemy killed"]={{[1]={flags=0,keywordFlags=0,name="LifeOnKill",type="BASE",value=5}},nil} c["Gain 5 Mana per enemy killed"]={{[1]={flags=0,keywordFlags=0,name="ManaOnKill",type="BASE",value=5}},nil} c["Gain 5 Rage on Hit"]={{[1]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} -c["Gain 5 Rage when Hit by an Enemy"]={{[1]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} +c["Gain 5 Rage when Hit by an Enemy"]={{[1]={flags=0,keywordFlags=0,name="RageWhenHit",type="BASE",value=5},[2]={flags=0,keywordFlags=0,name="Condition:CanGainRage",type="FLAG",value=true}},nil} c["Gain 5 Rage when Hit by an Enemy during effect"]={{}," Rage when Hit by an Enemy "} c["Gain 5 Rage when Hit by an Enemy during effect No Inherent loss of Rage during effect"]={{}," Rage when Hit by an Enemy No Inherent loss of Rage "} c["Gain 5% of Damage as Chaos Damage per Undead Minion"]={{[1]={flags=0,keywordFlags=0,name="MinionModifier",type="LIST",value={mod={flags=0,keywordFlags=0,name="DamageAsChaos",type="BASE",value=5}}}}," per Undead "} diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index 8c31e4c6f..ccdbe5fe3 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -643,6 +643,8 @@ local function doActorMisc(env, actor) modDB:NewMod("Multiplier:RageEffect", "BASE", output.RageEffect, "Base") output.Rage = stacks output.MaximumRage = maxStacks + output.RageOnMeleeHit = modDB:Sum("BASE", nil, "RageOnMeleeHit") + output.RageWhenHit = modDB:Sum("BASE", nil, "RageWhenHit") modDB:NewMod("Multiplier:Rage", "BASE", output.Rage, "Base") if modDB:Flag(nil, "Condition:RageSpellDamage") then modDB:NewMod("Damage", "MORE", output.RageEffect, "Rage", ModFlag.Spell) diff --git a/src/Modules/CalcSections.lua b/src/Modules/CalcSections.lua index 992684637..bb5cccba1 100644 --- a/src/Modules/CalcSections.lua +++ b/src/Modules/CalcSections.lua @@ -1803,6 +1803,8 @@ return { { label = "Total", { format = "{0:output:Rage}", }, }, { label = "Rage Effect", { format = "{1:output:RageEffect}", { modName = "RageEffect" }, }, }, { label = "Maximum Rage", { format = "{0:output:MaximumRage}", { modName = "MaximumRage" }, }, }, + { label = "Gain on Melee hit", { format = "{0:output:RageOnMeleeHit}", { modName = "RageOnMeleeHit" }, }, }, + { label = "Gain when hit", { format = "{0:output:RageWhenHit}", { modName = "RageWhenHit" }, }, }, { label = "Recovery", { format = "{1:output:RageRegenRecovery} ({1:output:RageRegenPercent}%)", { breakdown = "RageRegenRecovery" }, { label = "Sources", modName = { "RageRegen", "RageRegenPercent", "RageDegen", "RageDegenPercent", "RageRecovery" }, modType = "BASE" }, diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index da227690e..367f006b8 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -2707,11 +2707,16 @@ local specialModList = { ["gain %d+ rage on hit with axes or swords"] = { flag("Condition:CanGainRage"), }, - ["gain %d+ rage on melee hit"] = { - flag("Condition:CanGainRage"), - }, + ["gain (%d+) rage on melee hit"] = function(num) return { + mod("RageOnMeleeHit", "BASE", num), + flag("Condition:CanGainRage") + }end, + ["gain (%d+) rage when hit by an enemy"] = function(num) return { + mod("RageWhenHit", "BASE", num), + flag("Condition:CanGainRage") + }end, ["gain %d+ rage on melee weapon hit"] = { - flag("Condition:CanGainRage"), + flag("Condition:CanGainRage") }, ["gain %d+ rage on ([%D]+)"] = { flag("Condition:CanGainRage"),