Skip to content

Commit 6963efb

Browse files
committed
Scouring Flame - and ward cost from life and mana cost
1 parent 32402f4 commit 6963efb

5 files changed

Lines changed: 30 additions & 1 deletion

File tree

src/Data/SkillStatMap.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1753,6 +1753,10 @@ return {
17531753
["gain_energy_shield_cost_equal_to_intelligence"] = {
17541754
mod("ESCostNoMult", "BASE", nil, 0, 0, { type = "PercentStat", stat = "Int", percent = 100 }),
17551755
},
1756+
["base_skill_ward_cost_as_%_of_life_and_mana_cost"] = {
1757+
mod("WardCostAsPercentOfManaCost", "BASE", nil),
1758+
mod("WardCostAsPercentOfLifeCost", "BASE", nil),
1759+
},
17561760
-- Projectiles
17571761
["skill_can_fire_arrows"] = {
17581762
skillFlag = "arrow",

src/Data/Skills/other.lua

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15330,6 +15330,11 @@ skills["SupportScouringFlamePlayer"] = {
1533015330
label = "Scouring Flame",
1533115331
incrementalEffectiveness = 0.054999999701977,
1533215332
statDescriptionScope = "gem_stat_descriptions",
15333+
statMap = {
15334+
["support_scouring_flame_ignite_effect_+%_final"] = {
15335+
mod("AilmentMagnitude", "MORE", nil, 0, KeywordFlag.Ignite),
15336+
},
15337+
},
1533315338
baseFlags = {
1533415339
},
1533515340
constantStats = {

src/Export/Skills/other.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,6 +1071,12 @@ statMap = {
10711071

10721072
#skill SupportScouringFlamePlayer
10731073
#set SupportScouringFlamePlayer
1074+
#flags
1075+
statMap = {
1076+
["support_scouring_flame_ignite_effect_+%_final"] = {
1077+
mod("AilmentMagnitude", "MORE", nil, 0, KeywordFlag.Ignite),
1078+
},
1079+
},
10741080
#mods
10751081
#skillEnd
10761082

src/Export/spec.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3675,7 +3675,7 @@ return {
36753675
},
36763676
[6]={
36773677
list=false,
3678-
name="RunicWard",
3678+
name="Ward",
36793679
refTo="",
36803680
type="Int",
36813681
width=150

src/Modules/CalcOffence.lua

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2062,6 +2062,8 @@ function calcs.offence(env, actor, activeSkill)
20622062
local additionalLifeCost = skillModList:Sum("BASE", skillCfg, "BaseManaCostAsLifeCost") / 100 -- Extra cost (e.g. Petrified Blood) calculations
20632063
local additionalESCost = skillModList:Sum("BASE", skillCfg, "ManaCostAsEnergyShieldCost") / 100 -- Extra cost (e.g. Replica Covenant) calculations
20642064
local hybridLifeCost = m_min(skillModList:Sum("BASE", skillCfg, "HybridManaAndLifeCost_Life"), 100) / 100 -- Blood Magic, Lifetap and tree mods capped at 100
2065+
local wardCostPctOfLife = skillModList:Sum("BASE", skillCfg, "WardCostAsPercentOfLifeCost") / 100 -- Extra cost (e.g. Scouring Flame) calculations
2066+
local wardCostPctOfMana = skillModList:Sum("BASE", skillCfg, "WardCostAsPercentOfManaCost") / 100
20652067
for _, resource in ipairs(costs.order) do
20662068
local val = costs[resource]
20672069
local skillCost = skillModList:Override(skillCfg, "Base"..resource.."CostOverride") or activeSkill.activeEffect.grantedEffectLevel.cost and activeSkill.activeEffect.grantedEffectLevel.cost[resource] or nil
@@ -2105,6 +2107,18 @@ function calcs.offence(env, actor, activeSkill)
21052107
val.baseCost = costs[manaType].baseCost
21062108
val.finalBaseCost = round(finalBaseCostRaw + round(costs[manaType].finalBaseCost * additionalESCost))
21072109
end
2110+
elseif val.type == "Ward" then
2111+
local wardCostFromOtherCosts = 0
2112+
if wardCostPctOfMana ~= 0 then
2113+
wardCostFromOtherCosts = wardCostFromOtherCosts + round(costs["Mana"].finalBaseCost * wardCostPctOfMana)
2114+
end
2115+
if wardCostPctOfLife ~= 0 then
2116+
wardCostFromOtherCosts = wardCostFromOtherCosts + round(costs["Life"].finalBaseCost * wardCostPctOfLife)
2117+
end
2118+
if wardCostFromOtherCosts > 0 then
2119+
val.baseCost = val.baseCost + wardCostFromOtherCosts
2120+
val.finalBaseCost = val.finalBaseCost + wardCostFromOtherCosts
2121+
end
21082122
elseif val.type == "Rage" then
21092123
if skillModList:Flag(skillCfg, "CostRageInsteadOfSouls") then -- Hateforge
21102124
val.baseCost = costs.Soul.baseCost

0 commit comments

Comments
 (0)