Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
4 changes: 4 additions & 0 deletions src/Classes/PassiveSpec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1364,6 +1364,7 @@ function PassiveSpecClass:BuildAllDependsAndPaths()
-- Add selected mastery effect mods to mastery nodes
self.allocatedMasteryCount = 0
self.allocatedNotableCount = 0
self.allocatedSmithBodyArmourNodeCount = 0
self.allocatedMasteryTypes = { }
self.allocatedMasteryTypeCount = 0
for id, node in pairs(self.nodes) do
Expand Down Expand Up @@ -1401,6 +1402,9 @@ function PassiveSpecClass:BuildAllDependsAndPaths()
self:AddMasteryEffectOptionsToNode(node)
elseif node.type == "Notable" and node.alloc then
self.allocatedNotableCount = self.allocatedNotableCount + 1
if node.applyToArmour then
self.allocatedSmithBodyArmourNodeCount = self.allocatedSmithBodyArmourNodeCount + 1
end
end
end
end
Expand Down
8 changes: 4 additions & 4 deletions src/Data/ModCache.lua
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ c["+20% to all Elemental Resistances"]={{[1]={flags=0,keywordFlags=0,name="Eleme
c["+200 Intelligence Requirement"]={{[1]={flags=0,keywordFlags=0,name="IntRequirement",type="BASE",value=200}},nil}
c["+200 to Accuracy Rating"]={{[1]={flags=0,keywordFlags=0,name="Accuracy",type="BASE",value=200}},nil}
c["+200 to Armour"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=200}},nil}
c["+200 to Armour for each Connected Notable Passive Skill Allocated"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="BASE",value=200}}," for each Connected Notable Passive Skill Allocated "}
c["+200 to Armour for each Connected Notable Passive Skill Allocated"]={{[1]={[1]={type="Multiplier",var="AllocatedConnectedNotable"},flags=0,keywordFlags=0,name="Armour",type="BASE",value=200}},nil}
c["+200 to Stun Threshold"]={{[1]={flags=0,keywordFlags=0,name="StunThreshold",type="BASE",value=200}},nil}
c["+200 to maximum Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="EnergyShield",type="BASE",value=200}},nil}
c["+202 to Accuracy Rating"]={{[1]={flags=0,keywordFlags=0,name="Accuracy",type="BASE",value=202}},nil}
Expand Down Expand Up @@ -4462,8 +4462,8 @@ c["Blocking Damage Poisons the Enemy as though dealing 100 Base Chaos Damage Blo
c["Blocking Damage Poisons the Enemy as though dealing 200 Base Chaos Damage"]={nil,"Blocking Damage Poisons the Enemy as though dealing 200 Base Chaos Damage "}
c["Blood Magic"]={{[1]={flags=0,keywordFlags=0,name="Keystone",type="LIST",value="Blood Magic"}},nil}
c["Blue: Skills have 30% less cost"]={{[1]={[1]={type="Condition",var="MostNumerousBlueSocketedSupports"},flags=0,keywordFlags=0,name="ManaCost",type="MORE",value=-30}},nil}
c["Body Armour grants +100% of Armour also applies to Chaos Damage"]={{[1]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="Armour",type="BASE",value=100}}," also applies to Chaos Damage "}
c["Body Armour grants +50% of Armour also applies to Elemental Damage"]={{[1]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="ArmourAppliesToFireDamageTaken",type="BASE",value=50},[2]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="ArmourAppliesToColdDamageTaken",type="BASE",value=50},[3]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="ArmourAppliesToLightningDamageTaken",type="BASE",value=50}},nil}
c["Body Armour grants +100% of Armour also applies to Chaos Damage"]={{[1]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="ArmourAppliesToChaosDamageTaken",type="BASE",value=100}},nil}
c["Body Armour grants +50% of Armour also applies to Elemental Damage"]={{[1]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="ArmourAppliesToElementalDamageTaken",type="BASE",value=50}},nil}
c["Body Armour grants +75% to Fire Resistance"]={{[1]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="FireResist",type="BASE",value=75}},nil}
c["Body Armour grants 100% increased Thorns damage"]={{[1]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="ThornsDamage",type="INC",value=100}},nil}
c["Body Armour grants 15% increased maximum Life"]={{[1]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="Life",type="INC",value=15}},nil}
Expand All @@ -4472,7 +4472,7 @@ c["Body Armour grants 25% of Physical Damage from Hits taken as Fire Damage"]={{
c["Body Armour grants 30% increased Spirit"]={{[1]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="Spirit",type="INC",value=30}},nil}
c["Body Armour grants 60% increased Glory generation"]={{}," Glory generation "}
c["Body Armour grants Hits against you have 100% reduced Critical Damage Bonus"]={{[1]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="ReduceCritExtraDamage",type="BASE",value=100}},nil}
c["Body Armour grants Unaffected by Damaging Ailments"]={nil,"Unaffected by Damaging Ailments "}
c["Body Armour grants Unaffected by Damaging Ailments"]={{[1]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="SelfBleedEffect",type="MORE",value=-100},[2]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="SelfIgniteEffect",type="MORE",value=-100},[3]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="SelfPoisonEffect",type="MORE",value=-100}},nil}
c["Body Armour grants regenerate 3% of maximum Life per second"]={{[1]={[1]={itemSlot="Body Armour",rarityCond="NORMAL",type="ItemCondition"},flags=0,keywordFlags=0,name="LifeRegenPercent",type="BASE",value=3}},nil}
c["Bolts fired by Crossbow Attacks have 100% chance to not"]={{}," to not "}
c["Bolts fired by Crossbow Attacks have 100% chance to not expend Ammunition if you've Reloaded Recently"]={{[1]={[1]={skillType=116,type="SkillType"},[2]={type="Condition",var="ReloadedRecently"},flags=67108864,keywordFlags=0,name="ChanceToNotConsumeAmmo",type="BASE",value=100}},nil}
Expand Down
10 changes: 10 additions & 0 deletions src/Modules/CalcSetup.lua
Original file line number Diff line number Diff line change
Expand Up @@ -685,6 +685,7 @@ function calcs.initEnv(build, mode, override, specEnv)
end

local allocatedNotableCount = env.spec.allocatedNotableCount
local allocatedSmithBodyArmourNodeCount = env.spec.allocatedSmithBodyArmourNodeCount
local allocatedMasteryCount = env.spec.allocatedMasteryCount
local allocatedMasteryTypeCount = env.spec.allocatedMasteryTypeCount
local allocatedMasteryTypes = copyTable(env.spec.allocatedMasteryTypes)
Expand Down Expand Up @@ -717,6 +718,9 @@ function calcs.initEnv(build, mode, override, specEnv)
end
elseif node.type == "Notable" then
allocatedNotableCount = allocatedNotableCount + 1
if node.applyToArmour then
allocatedSmithBodyArmourNodeCount = allocatedSmithBodyArmourNodeCount + 1
end
end
end
end
Expand All @@ -733,6 +737,9 @@ function calcs.initEnv(build, mode, override, specEnv)
end
elseif node.type == "Notable" then
allocatedNotableCount = allocatedNotableCount - 1
if node.applyToArmour then
allocatedSmithBodyArmourNodeCount = allocatedSmithBodyArmourNodeCount - 1
end
end
end
end
Expand All @@ -747,6 +754,9 @@ function calcs.initEnv(build, mode, override, specEnv)
if allocatedNotableCount and allocatedNotableCount > 0 then
modDB:NewMod("Multiplier:AllocatedNotable", "BASE", allocatedNotableCount)
end
if allocatedSmithBodyArmourNodeCount and allocatedSmithBodyArmourNodeCount > 0 then
modDB:NewMod("Multiplier:AllocatedConnectedNotable", "BASE", allocatedSmithBodyArmourNodeCount)
end
if allocatedMasteryCount and allocatedMasteryCount > 0 then
modDB:NewMod("Multiplier:AllocatedMastery", "BASE", allocatedMasteryCount)
end
Expand Down
9 changes: 9 additions & 0 deletions src/Modules/ModParser.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1522,6 +1522,7 @@ local modTagList = {
["per bark below maximum"] = { tag = { type = "Multiplier", var = "MissingBarkskinStacks" } },
["per allocated mastery passive skill"] = { tag = { type = "Multiplier", var = "AllocatedMastery" } },
["per allocated notable passive skill"] = { tag = { type = "Multiplier", var = "AllocatedNotable" } },
["for each connected notable passive skill allocated"] = { tag = { type = "Multiplier", var = "AllocatedConnectedNotable" } },
["for each different type of mastery you have allocated"] = { tag = { type = "Multiplier", var = "AllocatedMasteryType" } },
["per socketed grand spectrum"] = { tag = { type = "Multiplier", var = "GrandSpectrum" } },
["per second you've been stationary, up to a maximum of (%d+)%%"] = function(num) return { tag = { type = "Multiplier", var = "StationarySeconds", limit = tonumber(num), limitTotal = true } } end,
Expand Down Expand Up @@ -3176,10 +3177,18 @@ local specialModList = {
["body armour grants armour also applies to (%a+) damage taken from hits"] = function(_, dmgType) return {
mod("ArmourAppliesTo"..firstToUpper(dmgType).."DamageTaken", "BASE", 100, { type = "ItemCondition", itemSlot = "Body Armour", rarityCond = "NORMAL" })
} end,
["body armour grants %+(%d+)%% of armour also applies to (%a+) damage"] = function(num, _, dmgType) return {
mod("ArmourAppliesTo"..firstToUpper(dmgType).."DamageTaken", "BASE", num, { type = "ItemCondition", itemSlot = "Body Armour", rarityCond = "NORMAL" })
} end,
["body armour grants hits against you have (%d+)%% reduced critical damage bonus"] = function(num) return {
mod("ReduceCritExtraDamage", "BASE", num, { type = "ItemCondition", itemSlot = "Body Armour", rarityCond = "NORMAL" })
} end,
["body armour grants unaffected by ignite"] = { mod("SelfIgniteEffect", "MORE", -100, { type = "ItemCondition", itemSlot = "Body Armour", rarityCond = "NORMAL"}) },
["body armour grants unaffected by damaging ailments"] = {
mod("SelfBleedEffect", "MORE", -100, { type = "ItemCondition", itemSlot = "Body Armour", rarityCond = "NORMAL"}),
mod("SelfIgniteEffect", "MORE", -100, { type = "ItemCondition", itemSlot = "Body Armour", rarityCond = "NORMAL"}),
mod("SelfPoisonEffect", "MORE", -100, { type = "ItemCondition", itemSlot = "Body Armour", rarityCond = "NORMAL"}),
},
-- Warrior - Titan
["(%d+)%% increased effect of small passive skills"] = function(num) return { mod("SmallPassiveSkillEffect", "INC", num) } end,
["carry a chest which adds (%d+) inventory slots"] = { },
Expand Down
Loading