Fix Righteous Fire working if using Chaos Innoculation (#9110)

Co-authored-by: LocalIdentity <localidentity2@gmail.com>
This commit is contained in:
LocalIdentity
2025-11-03 15:07:34 +11:00
committed by GitHub
parent 10576dc817
commit fcfe422b28
2 changed files with 20 additions and 22 deletions

View File

@@ -15102,27 +15102,24 @@ skills["RighteousFire"] = {
statDescriptionScope = "buff_skill_stat_descriptions",
castTime = 0,
preDamageFunc = function(activeSkill, output)
if activeSkill.skillFlags.totem then
if activeSkill.skillFlags.totem and output.TotemLife > 1 then
activeSkill.skillData.FireDot = output.TotemLife * activeSkill.skillData.RFLifeMultiplier + output.TotemEnergyShield * activeSkill.skillData.RFESMultiplier
else
elseif output.LifeUnreserved > 1 then
activeSkill.skillData.FireDot = output.Life * activeSkill.skillData.RFLifeMultiplier + output.EnergyShield * activeSkill.skillData.RFESMultiplier
end
end,
statMap = {
["righteous_fire_spell_damage_+%_final"] = {
mod("Damage", "MORE", nil, ModFlag.Spell, 0, { type = "GlobalEffect", effectType = "Buff" }),
mod("Damage", "MORE", nil, ModFlag.Spell, 0, { type = "GlobalEffect", effectType = "Buff" }, { type = "StatThreshold", stat = "LifeUnreserved", threshold = 2 }),
},
["base_nonlethal_fire_damage_%_of_maximum_life_taken_per_minute"] = {
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "Life", div = 1}, { type = "GlobalEffect", effectType = "Buff" }),
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "Life", div = 1}, { type = "GlobalEffect", effectType = "Buff" }, { type = "StatThreshold", stat = "LifeUnreserved", threshold = 2 }),
div = 6000,
},
["base_nonlethal_fire_damage_%_of_maximum_energy_shield_taken_per_minute"] = {
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "EnergyShield", div = 1}, { type = "GlobalEffect", effectType = "Buff" }),
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "EnergyShield", div = 1}, { type = "GlobalEffect", effectType = "Buff" }, { type = "StatThreshold", stat = "LifeUnreserved", threshold = 2 }),
div = 6000,
},
["spell_damage_+%"] = {
mod("Damage", "INC", nil, ModFlag.Spell, 0, { type = "GlobalEffect", effectType = "Buff" }),
},
["base_righteous_fire_%_of_max_life_to_deal_to_nearby_per_minute"] = {
skill("RFLifeMultiplier", nil),
div = 6000,
@@ -15212,11 +15209,13 @@ skills["RighteousFireAltX"] = {
statDescriptionScope = "buff_skill_stat_descriptions",
castTime = 0,
preDamageFunc = function(activeSkill, output)
activeSkill.skillData.FireDot = output.Mana * activeSkill.skillData.RFManaMultiplier
if output.LifeUnreserved > 1 then
activeSkill.skillData.FireDot = output.Mana * activeSkill.skillData.RFManaMultiplier
end
end,
statMap = {
["base_nonlethal_fire_damage_%_of_maximum_mana_taken_per_minute"] = {
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "Mana", div = 1}, { type = "GlobalEffect", effectType = "Buff" }),
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "Mana", div = 1}, { type = "GlobalEffect", effectType = "Buff" }, { type = "StatThreshold", stat = "LifeUnreserved", threshold = 2 }),
div = 6000,
},
["base_righteous_fire_%_of_max_mana_to_deal_to_nearby_per_minute"] = {
@@ -15224,7 +15223,7 @@ skills["RighteousFireAltX"] = {
div = 6000,
},
["righteous_fire_cast_speed_+%_final"] = {
mod("Speed", "MORE", nil, ModFlag.Cast, 0, { type = "GlobalEffect", effectType = "Buff" }),
mod("Speed", "MORE", nil, ModFlag.Cast, 0, { type = "GlobalEffect", effectType = "Buff" }, { type = "StatThreshold", stat = "LifeUnreserved", threshold = 2 }),
},
},
baseFlags = {

View File

@@ -3228,27 +3228,24 @@ local skills, mod, flag, skill = ...
#skill RighteousFire
#flags spell area
preDamageFunc = function(activeSkill, output)
if activeSkill.skillFlags.totem then
if activeSkill.skillFlags.totem and output.TotemLife > 1 then
activeSkill.skillData.FireDot = output.TotemLife * activeSkill.skillData.RFLifeMultiplier + output.TotemEnergyShield * activeSkill.skillData.RFESMultiplier
else
elseif output.LifeUnreserved > 1 then
activeSkill.skillData.FireDot = output.Life * activeSkill.skillData.RFLifeMultiplier + output.EnergyShield * activeSkill.skillData.RFESMultiplier
end
end,
statMap = {
["righteous_fire_spell_damage_+%_final"] = {
mod("Damage", "MORE", nil, ModFlag.Spell, 0, { type = "GlobalEffect", effectType = "Buff" }),
mod("Damage", "MORE", nil, ModFlag.Spell, 0, { type = "GlobalEffect", effectType = "Buff" }, { type = "StatThreshold", stat = "LifeUnreserved", threshold = 2 }),
},
["base_nonlethal_fire_damage_%_of_maximum_life_taken_per_minute"] = {
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "Life", div = 1}, { type = "GlobalEffect", effectType = "Buff" }),
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "Life", div = 1}, { type = "GlobalEffect", effectType = "Buff" }, { type = "StatThreshold", stat = "LifeUnreserved", threshold = 2 }),
div = 6000,
},
["base_nonlethal_fire_damage_%_of_maximum_energy_shield_taken_per_minute"] = {
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "EnergyShield", div = 1}, { type = "GlobalEffect", effectType = "Buff" }),
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "EnergyShield", div = 1}, { type = "GlobalEffect", effectType = "Buff" }, { type = "StatThreshold", stat = "LifeUnreserved", threshold = 2 }),
div = 6000,
},
["spell_damage_+%"] = {
mod("Damage", "INC", nil, ModFlag.Spell, 0, { type = "GlobalEffect", effectType = "Buff" }),
},
["base_righteous_fire_%_of_max_life_to_deal_to_nearby_per_minute"] = {
skill("RFLifeMultiplier", nil),
div = 6000,
@@ -3264,11 +3261,13 @@ local skills, mod, flag, skill = ...
#skill RighteousFireAltX
#flags spell area
preDamageFunc = function(activeSkill, output)
activeSkill.skillData.FireDot = output.Mana * activeSkill.skillData.RFManaMultiplier
if output.LifeUnreserved > 1 then
activeSkill.skillData.FireDot = output.Mana * activeSkill.skillData.RFManaMultiplier
end
end,
statMap = {
["base_nonlethal_fire_damage_%_of_maximum_mana_taken_per_minute"] = {
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "Mana", div = 1}, { type = "GlobalEffect", effectType = "Buff" }),
mod("FireDegen", "BASE", nil, 0, 0, { type = "PerStat", stat = "Mana", div = 1}, { type = "GlobalEffect", effectType = "Buff" }, { type = "StatThreshold", stat = "LifeUnreserved", threshold = 2 }),
div = 6000,
},
["base_righteous_fire_%_of_max_mana_to_deal_to_nearby_per_minute"] = {
@@ -3276,7 +3275,7 @@ local skills, mod, flag, skill = ...
div = 6000,
},
["righteous_fire_cast_speed_+%_final"] = {
mod("Speed", "MORE", nil, ModFlag.Cast, 0, { type = "GlobalEffect", effectType = "Buff" }),
mod("Speed", "MORE", nil, ModFlag.Cast, 0, { type = "GlobalEffect", effectType = "Buff" }, { type = "StatThreshold", stat = "LifeUnreserved", threshold = 2 }),
},
},
#baseMod skill("dotIsArea", true)