Fix "Farewell to Flesh" not applying to Agony Crawler ailment damage (#9162)
The `GetStat` code relied on using `cfg.summonSkillName` to match names for the skills but when we handle the ailments we were not including summonSkillName in the cfg so it would fail to match and not grant Ailment damage to Agony Crawler Also added a floor to the returned value as it was a float before Co-authored-by: LocalIdentity <localidentity2@gmail.com>
This commit is contained in:
@@ -251,7 +251,7 @@ function ModStoreClass:GetStat(stat, cfg)
|
||||
for _, activeSkill in ipairs(self.actor.activeSkillList) do
|
||||
if (activeSkill.skillTypes[SkillType.HasReservation] and not activeSkill.skillFlags.disable and activeSkill.buffList and activeSkill.buffList[1] and cfg and (isNameInBuffList(activeSkill.buffList, cfg.skillName) or isNameInBuffList(activeSkill.buffList, cfg.summonSkillName)) ) then
|
||||
local manaBase = activeSkill.skillData["ManaReservedBase"] or 0
|
||||
reservedPercentMana = manaBase / totalMana * 100
|
||||
reservedPercentMana = m_floor(manaBase / totalMana * 100)
|
||||
break
|
||||
end
|
||||
end
|
||||
@@ -265,7 +265,7 @@ function ModStoreClass:GetStat(stat, cfg)
|
||||
for _, activeSkill in ipairs(self.actor.activeSkillList) do
|
||||
if (activeSkill.skillTypes[SkillType.HasReservation] and not activeSkill.skillFlags.disable and activeSkill.buffList and activeSkill.buffList[1] and cfg and (isNameInBuffList(activeSkill.buffList, cfg.skillName) or isNameInBuffList(activeSkill.buffList, cfg.summonSkillName)) ) then
|
||||
local lifeBase = activeSkill.skillData["LifeReservedBase"] or 0
|
||||
reservedPercentLife = lifeBase / totalLife * 100
|
||||
reservedPercentLife = m_floor(lifeBase / totalLife * 100)
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
@@ -4003,6 +4003,7 @@ function calcs.offence(env, actor, activeSkill)
|
||||
skillName = skillCfg.skillName,
|
||||
skillPart = skillCfg.skillPart,
|
||||
skillTypes = skillCfg.skillTypes,
|
||||
summonSkillName = skillCfg.summonSkillName,
|
||||
slotName = skillCfg.slotName,
|
||||
flags = bor(ModFlag.Dot, ModFlag.Ailment, band(cfg.flags, ModFlag.WeaponMask), band(cfg.flags, ModFlag.Melee) ~= 0 and ModFlag.MeleeHit or 0),
|
||||
keywordFlags = bor(band(cfg.keywordFlags, bnot(KeywordFlag.Hit)), KeywordFlag.Bleed, KeywordFlag.Ailment, KeywordFlag.PhysicalDot),
|
||||
@@ -4275,6 +4276,7 @@ function calcs.offence(env, actor, activeSkill)
|
||||
skillName = skillCfg.skillName,
|
||||
skillPart = skillCfg.skillPart,
|
||||
skillTypes = skillCfg.skillTypes,
|
||||
summonSkillName = skillCfg.summonSkillName,
|
||||
slotName = skillCfg.slotName,
|
||||
flags = bor(ModFlag.Dot, ModFlag.Ailment, band(cfg.flags, ModFlag.WeaponMask), band(cfg.flags, ModFlag.Melee) ~= 0 and ModFlag.MeleeHit or 0),
|
||||
keywordFlags = bor(band(cfg.keywordFlags, bnot(KeywordFlag.Hit)), KeywordFlag.Poison, KeywordFlag.Ailment, KeywordFlag.ChaosDot),
|
||||
@@ -4552,6 +4554,7 @@ function calcs.offence(env, actor, activeSkill)
|
||||
skillName = skillCfg.skillName,
|
||||
skillPart = skillCfg.skillPart,
|
||||
skillTypes = skillCfg.skillTypes,
|
||||
summonSkillName = skillCfg.summonSkillName,
|
||||
slotName = skillCfg.slotName,
|
||||
flags = bor(ModFlag.Dot, ModFlag.Ailment, band(cfg.flags, ModFlag.WeaponMask), band(cfg.flags, ModFlag.Melee) ~= 0 and ModFlag.MeleeHit or 0),
|
||||
keywordFlags = bor(band(cfg.keywordFlags, bnot(KeywordFlag.Hit)), KeywordFlag.Ignite, KeywordFlag.Ailment, KeywordFlag.FireDot),
|
||||
@@ -5258,6 +5261,7 @@ function calcs.offence(env, actor, activeSkill)
|
||||
skillName = skillCfg.skillName,
|
||||
skillPart = skillCfg.skillPart,
|
||||
skillTypes = skillCfg.skillTypes,
|
||||
summonSkillName = skillCfg.summonSkillName,
|
||||
slotName = skillCfg.slotName,
|
||||
flags = ModFlag.Dot,
|
||||
keywordFlags = bor(band(skillCfg.keywordFlags, bnot(KeywordFlag.Hit)), KeywordFlag.ChaosDot),
|
||||
@@ -5328,6 +5332,7 @@ function calcs.offence(env, actor, activeSkill)
|
||||
skillName = skillCfg.skillName,
|
||||
skillPart = skillCfg.skillPart,
|
||||
skillTypes = skillCfg.skillTypes,
|
||||
summonSkillName = skillCfg.summonSkillName,
|
||||
slotName = skillCfg.slotName,
|
||||
flags = bor(ModFlag.Dot, skillCfg.flags),
|
||||
keywordFlags = band(skillCfg.keywordFlags, bnot(KeywordFlag.Hit)),
|
||||
|
||||
@@ -2858,7 +2858,7 @@ local specialModList = {
|
||||
["herald skills and minions from herald skills deal (%d+)%% more damage for every (%d+)%% of maximum life those skills reserve"] = function(_, num1, num2) return {
|
||||
mod("MinionModifier", "LIST", { mod = mod("Damage", "MORE", tonumber(num1), { type = "PerStat", stat = "LifeReservedPercent", div = tonumber(num2), actor = "parent" })}, { type = "SkillType", skillType = SkillType.Herald }),
|
||||
mod("Damage", "MORE", tonumber(num1), { type = "PerStat", stat = "LifeReservedPercent", div = tonumber(num2) }, { type = "SkillType", skillType = SkillType.Herald }),
|
||||
} end,
|
||||
} end,
|
||||
-- Oshabi Bloodline
|
||||
["unsealed spells gain (%d+)%% more damage each time their effects reoccur"] = function(num) return { mod("MaxSealDamage", "MORE", num) } end,
|
||||
["skills gain added chaos damage equal to (%d+)%% of life cost, if life cost is not higher than the maximum you could spend"] = function(num) return {
|
||||
|
||||
Reference in New Issue
Block a user