Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 6 additions & 9 deletions src/Data/ModCache.lua
Original file line number Diff line number Diff line change
Expand Up @@ -877,11 +877,9 @@ c["10% chance for Attack Hits to apply ten Incision"]={{[1]={flags=0,keywordFlag
c["10% chance for Enemies you Kill to Explode, dealing 100%"]={{}," for Enemies you Kill to Explode, dealing 100% "}
c["10% chance for Enemies you Kill to Explode, dealing 100% of their maximum Life as Physical Damage"]={{[1]={flags=0,keywordFlags=0,name="ExplodeMod",type="LIST",value={amount=100,keyOfScaledMod="chance",type="Physical",value=10}},[2]={flags=0,keywordFlags=0,name="CanExplode",type="FLAG",value=true}},nil}
c["10% chance for Flasks you use to not consume Charges"]={{[1]={flags=0,keywordFlags=0,name="FlaskChanceNotConsumeCharges",type="BASE",value=10}},nil}
c["10% chance for Mace Slam Skills you use yourself to cause Aftershocks"]={{}," for Mace Slam Skills you use yourself to cause Aftershocks "}
c["10% chance for Mace Slam Skills you use yourself to cause Aftershocks 10% chance for Mace Strike Skills you use yourself to cause Aftershocks, dealing"]={{}," for Mace Slam Skills you use yourself to cause Aftershocks 10% chance forSkills you use yourself to cause Aftershocks, dealing "}
c["10% chance for Mace Slam Skills you use yourself to cause Aftershocks 10% chance for Mace Strike Skills you use yourself to cause Aftershocks, dealing the same damage to enemies within 1.8 metres"]={{[1]={[1]={includeTransfigured=true,skillName="Mace Strike",type="SkillName"},flags=0,keywordFlags=0,name="Damage",type="BASE",value=10}}," for Mace Slam Skills you use yourself to cause Aftershocks 10% chance forSkills you use yourself to cause Aftershocks, dealing the same to enemies within 1.8 metres "}
c["10% chance for Mace Strike Skills you use yourself to cause Aftershocks, dealing"]={{}," forSkills you use yourself to cause Aftershocks, dealing "}
c["10% chance for Mace Strike Skills you use yourself to cause Aftershocks, dealing the same damage to enemies within 1.8 metres"]={{[1]={[1]={includeTransfigured=true,skillName="Mace Strike",type="SkillName"},flags=0,keywordFlags=0,name="Damage",type="BASE",value=10}}," forSkills you use yourself to cause Aftershocks, dealing the same to enemies within 1.8 metres "}
c["10% chance for Mace Slam Skills you use yourself to cause Aftershocks"]={{[1]={[1]={type="Condition",var="UsingMace"},[2]={skillType=92,type="SkillType"},[3]={neg=true,skillType=95,type="SkillType"},[4]={neg=true,skillType=37,type="SkillType"},[5]={neg=true,skillType=33,type="SkillType"},flags=0,keywordFlags=0,name="AftershockChance",type="BASE",value=10}},nil}
c["10% chance for Mace Strike Skills you use yourself to cause Aftershocks, dealing"]={{[1]={[1]={neg=true,skillType=95,type="SkillType"},[2]={neg=true,skillType=37,type="SkillType"},[3]={neg=true,skillType=33,type="SkillType"},[4]={includeTransfigured=true,skillName="Mace Strike",type="SkillName"},flags=0,keywordFlags=0,name="AftershockChance",type="BASE",value=10}}," forSkills , dealing "}
c["10% chance for Mace Strike Skills you use yourself to cause Aftershocks, dealing the same damage to enemies within 1.8 metres"]={{[1]={[1]={type="Condition",var="UsingMace"},[2]={skillType=21,type="SkillType"},flags=0,keywordFlags=0,name="AftershockChance",type="BASE",value=10}},nil}
c["10% chance to Aggravate Bleeding on targets you Hit with Attacks"]={{}," to Aggravate Bleeding on targets you Hit "}
c["10% chance to Aggravate Bleeding on targets you Hit with Attacks 8% increased Attack Speed while a Rare or Unique Enemy is in your Presence"]={{[1]={[1]={actor="enemy",type="ActorCondition",varList={[1]="NearbyRareOrUniqueEnemy",[2]="RareOrUnique"}},flags=1,keywordFlags=65536,name="Speed",type="BASE",value=10}}," to Aggravate Bleeding on targets you Hit 8% increased "}
c["10% chance to Blind Enemies on Hit with Attacks"]={{[1]={flags=0,keywordFlags=65536,name="BlindChance",type="BASE",value=10}},nil}
Expand Down Expand Up @@ -1867,7 +1865,7 @@ c["25% chance for Attacks to Maim on Hit against Poisoned Enemies"]={{}," to Ma
c["25% chance for Attacks to Maim on Hit against Poisoned Enemies 25% increased Magnitude of Poison you inflict"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="Poisoned"},flags=1,keywordFlags=2097152,name="AilmentMagnitude",type="BASE",value=25}}," to Maim on Hit 25% increased "}
c["25% chance for Lightning Damage with Hits to be Lucky"]={{[1]={flags=0,keywordFlags=0,name="LightningLuckyHitsChance",type="BASE",value=25}},nil}
c["25% chance for Projectiles to Pierce Enemies within 3m distance of you"]={{[1]={flags=0,keywordFlags=0,name="ProjectileCount",type="BASE",value=25}}," for to Pierce Enemies within 3m distance of you "}
c["25% chance for Slam Skills you use yourself to cause Aftershocks"]={{}," for Slam Skills you use yourself to cause Aftershocks "}
c["25% chance for Slam Skills you use yourself to cause Aftershocks"]={{[1]={[1]={skillType=92,type="SkillType"},[2]={neg=true,skillType=95,type="SkillType"},[3]={neg=true,skillType=37,type="SkillType"},[4]={neg=true,skillType=33,type="SkillType"},flags=0,keywordFlags=0,name="AftershockChance",type="BASE",value=25}},nil}
c["25% chance for Trigger skills to refund half of Energy Spent"]={{}," for Trigger skills to refund half of Energy Spent "}
c["25% chance on Consuming a Shock on an Enemy to reapply it"]={{}," on Consuming a Shock on an Enemy to reapply it "}
c["25% chance on Shocking Enemies to created Shocked Ground"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="OnShockedGround"},flags=0,keywordFlags=0,name="ShockBase",type="BASE",value=20}},nil}
Expand Down Expand Up @@ -2541,7 +2539,7 @@ c["5 to 10 Physical Thorns damage"]={{[1]={flags=0,keywordFlags=0,name="ThornsDa
c["5 to 10 Physical Thorns damage Pain Attunement"]={{[1]={flags=0,keywordFlags=0,name="ThornsDamage",type="BASE",value=5}}," to 10 Physical Pain Attunement "}
c["5% Chance to build an additional Combo on Hit"]={{}," to build an additional Combo "}
c["5% additional Physical Damage Reduction while you have at least 150 Devotion"]={{[1]={[1]={stat="Devotion",threshold=150,type="StatThreshold"},flags=0,keywordFlags=0,name="PhysicalDamageReduction",type="BASE",value=5}},nil}
c["5% chance for Slam Skills you use yourself to cause Aftershocks"]={{}," for Slam Skills you use yourself to cause Aftershocks "}
c["5% chance for Slam Skills you use yourself to cause Aftershocks"]={{[1]={[1]={skillType=92,type="SkillType"},[2]={neg=true,skillType=95,type="SkillType"},[3]={neg=true,skillType=37,type="SkillType"},[4]={neg=true,skillType=33,type="SkillType"},flags=0,keywordFlags=0,name="AftershockChance",type="BASE",value=5}},nil}
c["5% chance to Blind Enemies on Hit"]={{[1]={flags=0,keywordFlags=0,name="BlindChance",type="BASE",value=5}},nil}
c["5% chance to Blind Enemies on Hit with Attacks"]={{[1]={flags=0,keywordFlags=65536,name="BlindChance",type="BASE",value=5}},nil}
c["5% chance to Daze on Hit"]={{[1]={flags=4,keywordFlags=0,name="DazeChance",type="BASE",value=5}},nil}
Expand Down Expand Up @@ -2898,7 +2896,7 @@ c["75% increased Thorns damage if you've Blocked Recently"]={{[1]={[1]={type="Co
c["75% increased chance to Shock"]={{[1]={flags=0,keywordFlags=0,name="EnemyShockChance",type="INC",value=75}},nil}
c["75% of Damage Converted to Fire Damage"]={{[1]={flags=0,keywordFlags=0,name="DamageConvertToFire",type="BASE",value=75}},nil}
c["8 Life Regeneration per second"]={{[1]={flags=0,keywordFlags=0,name="LifeRegen",type="BASE",value=8}},nil}
c["8% chance for Mace Slam Skills you use yourself to cause Aftershocks"]={{}," for Mace Slam Skills you use yourself to cause Aftershocks "}
c["8% chance for Mace Slam Skills you use yourself to cause Aftershocks"]={{[1]={[1]={type="Condition",var="UsingMace"},[2]={skillType=92,type="SkillType"},[3]={neg=true,skillType=95,type="SkillType"},[4]={neg=true,skillType=37,type="SkillType"},[5]={neg=true,skillType=33,type="SkillType"},flags=0,keywordFlags=0,name="AftershockChance",type="BASE",value=8}},nil}
c["8% chance to Blind Enemies on Hit with Attacks"]={{[1]={flags=0,keywordFlags=65536,name="BlindChance",type="BASE",value=8}},nil}
c["8% chance to Poison on Hit"]={{[1]={flags=0,keywordFlags=0,name="PoisonChance",type="BASE",value=8}},nil}
c["8% faster start of Energy Shield Recharge"]={{[1]={flags=0,keywordFlags=0,name="EnergyShieldRechargeFaster",type="INC",value=8}},nil}
Expand Down Expand Up @@ -5682,7 +5680,6 @@ c["additional Elemental Infusion of the same type"]={nil,"additional Elemental I
c["for 4 seconds, every 0.25 seconds while raised"]={nil,"for 4 seconds, every 0.25 seconds while raised "}
c["gain 6 Cold Surges or 6 Fire Surges"]={{}," Cold Surges or 6 Fire Surges "}
c["the enemy's Power for 6 seconds, up to a total of 500"]={nil,"the enemy's Power for 6 seconds, up to a total of 500 "}
c["the same damage to enemies within 1.8 metres"]={nil,"the same damage to enemies within 1.8 metres "}
c["until you take no Damage to Life for 5 seconds"]={nil,"until you take no Damage to Life for 5 seconds "}
c["your Ailments on them"]={nil,"your Ailments on them "}
c["your Ailments on them 30% reduced Duration of Ignite, Shock and Chill on Enemies"]={nil,"your Ailments on them 30% reduced Duration of Ignite, Shock and Chill on Enemies "}
Expand Down
1 change: 1 addition & 0 deletions src/Modules/BuildDisplayStats.lua
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ local displayStats = {
{ stat = "AreaOfEffectRadiusMetres", label = "AoE Radius", fmt = ".1fm" },
{ stat = "BrandAttachmentRangeMetre", label = "Attachment Range", fmt = ".1fm", flag = "brand" },
{ stat = "BrandTicks", label = "Activations per Brand", fmt = "d", flag = "brand" },
{ stat = "AftershockChance", label = "Aftershock Chance", fmt = ".0f%%" },
{ stat = "ManaCost", label = "Mana Cost", fmt = "d", color = colorCodes.MANA, pool = "ManaUnreserved", compPercent = true, lowerIsBetter = true, condFunc = function(v,o) return o.ManaHasCost end },
{ stat = "ManaPercentCost", label = "Mana Cost", fmt = "d%%", color = colorCodes.MANA, pool = "ManaUnreservedPercent", compPercent = true, lowerIsBetter = true, condFunc = function(v,o) return o.ManaPercentHasCost end },
{ stat = "ManaPerSecondCost", label = "Mana Cost per second", fmt = ".2f", color = colorCodes.MANA, pool = "ManaUnreserved", compPercent = true, lowerIsBetter = true, condFunc = function(v,o) return o.ManaPerSecondHasCost end },
Expand Down
7 changes: 6 additions & 1 deletion src/Modules/CalcOffence.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4024,7 +4024,8 @@ function calcs.offence(env, actor, activeSkill)
local repeatPenalty = skillModList:Flag(nil, "HasSeals") and activeSkill.skillTypes[SkillType.Unleashable] and not skillModList:Flag(nil, "NoRepeatBonuses") and calcLib.mod(skillModList, skillCfg, "SealRepeatPenalty") or 1
globalOutput.AverageBurstDamage = output.AverageDamage + output.AverageDamage * (globalOutput.AverageBurstHits - 1) * repeatPenalty or 0
globalOutput.ShowBurst = globalOutput.AverageBurstHits > 1
output.TotalDPS = output.AverageDamage * (globalOutput.HitSpeed or globalOutput.Speed) * skillData.dpsMultiplier * quantityMultiplier
local aftershockChance = (1 + skillModList:Sum("BASE", skillCfg, "AftershockChance")/100) or 1
output.TotalDPS = output.AverageDamage * (globalOutput.HitSpeed or globalOutput.Speed) * skillData.dpsMultiplier * quantityMultiplier * aftershockChance
if breakdown then
if output.CritEffect ~= 1 then
breakdown.AverageHit = { }
Expand Down Expand Up @@ -5269,6 +5270,10 @@ function calcs.offence(env, actor, activeSkill)
combineStat("ImpaleModifier", "CHANCE", "ImpaleChance")
end

output.AftershockChance = skillModList:Sum("BASE", skillCfg, "AftershockChance")
print("aftershock chance:" .. output.AftershockChance)


if skillData.decay and canDeal.Chaos then
-- Calculate DPS for Decay effect
skillFlags.decay = true
Expand Down
14 changes: 14 additions & 0 deletions src/Modules/ModParser.lua
Original file line number Diff line number Diff line change
Expand Up @@ -870,6 +870,7 @@ local modNameList = {
["penalty to accuracy rating at range"] = "AccuracyPenalty",
["when you reload a crossbow to be immediate"] = "InstantReloadChance",
["to not expend ammunition"] = "ChanceToNotConsumeAmmo",
["to cause aftershocks"] = "AftershockChance",
-- Flask and Charm modifiers
["effect"] = "LocalEffect",
["effect of flasks"] = "FlaskEffect",
Expand Down Expand Up @@ -1587,6 +1588,14 @@ local modTagList = {
["for each remaining chain"] = { tag = { type = "PerStat", stat = "ChainRemaining" } },
["for each enemy pierced"] = { tag = { type = "PerStat", stat = "PiercedCount" } },
["for each time they've pierced"] = { tag = { type = "PerStat", stat = "PiercedCount" } },
["for slam skills"] = { tag = { type = "SkillType", skillType = SkillType.Slam } },
["for mace slam skills"] = { tagList = {
{ type = "Condition", var = "UsingMace" },
{ type = "SkillType", skillType = SkillType.Slam } }},
["you use yourself"] = { tagList = {
{ type = "SkillType", skillType = SkillType.UsedByTotem, neg = true },
{ type = "SkillType", skillType = SkillType.Triggered, neg = true },
{ type = "SkillType", skillType = SkillType.Trapped, neg = true } }},
-- Stat conditions
["with (%d+) or more strength"] = function(num) return { tag = { type = "StatThreshold", stat = "Str", threshold = num } } end,
["with at least (%d+) strength"] = function(num) return { tag = { type = "StatThreshold", stat = "Str", threshold = num } } end,
Expand Down Expand Up @@ -5080,6 +5089,11 @@ local specialModList = {
-- MultiplierThreshold is on RageStacks because Rage is only set in CalcPerform if Condition:CanGainRage is true, Bear's Girdle does not flag CanGainRage
mod("EnemyModifier", "LIST", { mod = flag("Condition:Intimidated") }, { type = "MultiplierThreshold", var = "RageStack", threshold = 1 })
},
["(%d+)%% chance for mace strike skills you use yourself to cause aftershocks, dealing the same damage to enemies within ([%d%.]+) metres"] = function (num, _) return {
mod("AftershockChance", "BASE", num,
{ type = "Condition", var = "UsingMace" },
{ type = "SkillType", skillType = SkillType.MeleeSingleTarget } )
} end,
-- Flasks
["flasks do not apply to you"] = { flag("FlasksDoNotApplyToPlayer") },
["flasks apply to your zombies and spectres"] = { flag("FlasksApplyToMinion", { type = "SkillName", skillNameList = { "Raise Zombie", "Raise Spectre" }, includeTransfigured = true }) },
Expand Down