Skip to content
Open
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
25 changes: 23 additions & 2 deletions src/Modules/CalcOffence.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3047,14 +3047,35 @@ function calcs.offence(env, actor, activeSkill)

runSkillFunc("postCritFunc")

-- Check for added damage redirection (Cryogenesis)
local addedDamageRedirectType = nil
if skillModList:Flag(cfg, "AllAddedDamageAsLightning") then
addedDamageRedirectType = "Lightning"
elseif skillModList:Flag(cfg, "AllAddedDamageAsCold") then
addedDamageRedirectType = "Cold"
end

-- Calculate base hit damage
for _, damageType in ipairs(dmgTypeList) do
local damageTypeMin = damageType.."Min"
local damageTypeMax = damageType.."Max"
local baseMultiplier = activeSkill.activeEffect.grantedEffectLevel.baseMultiplier or skillData.baseMultiplier or 1
local damageEffectiveness = activeSkill.activeEffect.grantedEffectLevel.damageEffectiveness or skillData.damageEffectiveness or 1
local addedMin = skillModList:Sum("BASE", cfg, damageTypeMin) + enemyDB:Sum("BASE", cfg, "Self"..damageTypeMin)
local addedMax = skillModList:Sum("BASE", cfg, damageTypeMax) + enemyDB:Sum("BASE", cfg, "Self"..damageTypeMax)
local addedMin, addedMax
if addedDamageRedirectType then
if damageType == addedDamageRedirectType then
addedMin, addedMax = 0, 0
for _, srcType in ipairs(dmgTypeList) do
addedMin = addedMin + skillModList:Sum("BASE", cfg, srcType.."Min") + enemyDB:Sum("BASE", cfg, "Self"..srcType.."Min")
addedMax = addedMax + skillModList:Sum("BASE", cfg, srcType.."Max") + enemyDB:Sum("BASE", cfg, "Self"..srcType.."Max")
end
else
addedMin, addedMax = 0, 0
end
else
addedMin = skillModList:Sum("BASE", cfg, damageTypeMin) + enemyDB:Sum("BASE", cfg, "Self"..damageTypeMin)
addedMax = skillModList:Sum("BASE", cfg, damageTypeMax) + enemyDB:Sum("BASE", cfg, "Self"..damageTypeMax)
end
local addedMult = calcLib.mod(skillModList, cfg, "Added"..damageType.."Damage", "AddedDamage")
local baseMin = ((source[damageTypeMin] or 0) + (source[damageType.."BonusMin"] or 0)) * baseMultiplier + addedMin * damageEffectiveness * addedMult
local baseMax = ((source[damageTypeMax] or 0) + (source[damageType.."BonusMax"] or 0)) * baseMultiplier + addedMax * damageEffectiveness * addedMult
Expand Down
4 changes: 4 additions & 0 deletions src/Modules/CalcPerform.lua
Original file line number Diff line number Diff line change
Expand Up @@ -395,6 +395,8 @@ local function doActorAttribsConditions(env, actor)
condList["StrHighestAttribute"] = output.Str >= output.Dex and output.Str >= output.Int
condList["IntHighestAttribute"] = output.Int >= output.Str and output.Int >= output.Dex
condList["DexHighestAttribute"] = output.Dex >= output.Str and output.Dex >= output.Int
condList["IntSingleHighestAttribute"] = output.Int > output.Str and output.Int > output.Dex
condList["DexSingleHighestAttribute"] = output.Dex > output.Str and output.Dex > output.Int
end
end

Expand Down Expand Up @@ -457,6 +459,8 @@ local function doActorAttribsConditions(env, actor)
condList["StrHighestAttribute"] = output.Str >= output.Dex and output.Str >= output.Int
condList["IntHighestAttribute"] = output.Int >= output.Str and output.Int >= output.Dex
condList["DexHighestAttribute"] = output.Dex >= output.Str and output.Dex >= output.Int
condList["IntSingleHighestAttribute"] = output.Int > output.Str and output.Int > output.Dex
condList["DexSingleHighestAttribute"] = output.Dex > output.Str and output.Dex > output.Int
end
end

Expand Down
6 changes: 6 additions & 0 deletions src/Modules/ModParser.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5258,6 +5258,12 @@ local specialModList = {
["consecrated path and purifying flame create profane ground instead of consecrated ground"] = {
flag("Condition:CreateProfaneGround"),
},
["if intelligence is your single highest attribute, all added damage is treated as added lightning damage"] = {
flag("AllAddedDamageAsLightning", { type = "Condition", var = "IntSingleHighestAttribute" }),
},
["if dexterity is your single highest attribute, all added damage is treated as added cold damage"] = {
flag("AllAddedDamageAsCold", { type = "Condition", var = "DexSingleHighestAttribute" }),
},
["you have consecrated ground around you while stationary if strength is your highest attribute"] = {
flag("Condition:OnConsecratedGround", { type = "Condition", var = "StrHighestAttribute" }, { type = "Condition", var = "Stationary" }),
},
Expand Down
9 changes: 3 additions & 6 deletions src/TreeData/3_27/tree.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14450,17 +14450,14 @@ return {
},
[52855]= {
["skill"]= 52855,
["name"]= "Otherworldly Appendages",
["name"]= "Cryogenesis",
["icon"]= "Art/2DArt/SkillIcons/passives/AtlasTrees/BreachNotable4.png",
["isNotable"]= true,
["ascendancyName"]= "Breachlord",
["isBloodline"]= true,
["stats"]= {
"Take 15% less Lightning Damage with at least one Eshgraft grafted to you",
"Take 15% less Cold Damage with at least one Tulgraft grafted to you",
"Take 15% less Physical Damage with at least one Uulgraft grafted to you",
"Take 15% less Fire Damage with at least one Xophgraft grafted to you",
"Nearby Enemies take 100% increased Damage from Graft Skills"
"If Intelligence is your single highest Attribute, all added Damage is treated as added Lightning Damage",
"If Dexterity is your single highest Attribute, all added Damage is treated as added Cold Damage"
},
["group"]= 26,
["orbit"]= 3,
Expand Down
9 changes: 3 additions & 6 deletions src/TreeData/3_27_alternate/tree.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15057,17 +15057,14 @@ return {
},
[52855]= {
["skill"]= 52855,
["name"]= "Otherworldly Appendages",
["name"]= "Cryogenesis",
["icon"]= "Art/2DArt/SkillIcons/passives/AtlasTrees/BreachNotable4.png",
["isNotable"]= true,
["ascendancyName"]= "Breachlord",
["isBloodline"]= true,
["stats"]= {
"Take 15% less Lightning Damage with at least one Eshgraft grafted to you",
"Take 15% less Cold Damage with at least one Tulgraft grafted to you",
"Take 15% less Physical Damage with at least one Uulgraft grafted to you",
"Take 15% less Fire Damage with at least one Xophgraft grafted to you",
"Nearby Enemies take 100% increased Damage from Graft Skills"
"If Intelligence is your single highest Attribute, all added Damage is treated as added Lightning Damage",
"If Dexterity is your single highest Attribute, all added Damage is treated as added Cold Damage"
},
["group"]= 31,
["orbit"]= 3,
Expand Down
9 changes: 3 additions & 6 deletions src/TreeData/3_27_ruthless/tree.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14438,17 +14438,14 @@ return {
},
[52855]= {
["skill"]= 52855,
["name"]= "Otherworldly Appendages",
["name"]= "Cryogenesis",
["icon"]= "Art/2DArt/SkillIcons/passives/AtlasTrees/BreachNotable4.png",
["isNotable"]= true,
["ascendancyName"]= "Breachlord",
["isBloodline"]= true,
["stats"]= {
"Take 15% less Lightning Damage with at least one Eshgraft grafted to you",
"Take 15% less Cold Damage with at least one Tulgraft grafted to you",
"Take 15% less Physical Damage with at least one Uulgraft grafted to you",
"Take 15% less Fire Damage with at least one Xophgraft grafted to you",
"Nearby Enemies take 100% increased Damage from Graft Skills"
"If Intelligence is your single highest Attribute, all added Damage is treated as added Lightning Damage",
"If Dexterity is your single highest Attribute, all added Damage is treated as added Cold Damage"
},
["group"]= 26,
["orbit"]= 3,
Expand Down
9 changes: 3 additions & 6 deletions src/TreeData/3_27_ruthless_alternate/tree.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15058,17 +15058,14 @@ return {
},
[52855]= {
["skill"]= 52855,
["name"]= "Otherworldly Appendages",
["name"]= "Cryogenesis",
["icon"]= "Art/2DArt/SkillIcons/passives/AtlasTrees/BreachNotable4.png",
["isNotable"]= true,
["ascendancyName"]= "Breachlord",
["isBloodline"]= true,
["stats"]= {
"Take 15% less Lightning Damage with at least one Eshgraft grafted to you",
"Take 15% less Cold Damage with at least one Tulgraft grafted to you",
"Take 15% less Physical Damage with at least one Uulgraft grafted to you",
"Take 15% less Fire Damage with at least one Xophgraft grafted to you",
"Nearby Enemies take 100% increased Damage from Graft Skills"
"If Intelligence is your single highest Attribute, all added Damage is treated as added Lightning Damage",
"If Dexterity is your single highest Attribute, all added Damage is treated as added Cold Damage"
},
["group"]= 31,
["orbit"]= 3,
Expand Down