diff --git a/src/Classes/ModStore.lua b/src/Classes/ModStore.lua index 93434dc0..925ca598 100644 --- a/src/Classes/ModStore.lua +++ b/src/Classes/ModStore.lua @@ -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 diff --git a/src/Modules/CalcOffence.lua b/src/Modules/CalcOffence.lua index 754738d5..9816cc18 100644 --- a/src/Modules/CalcOffence.lua +++ b/src/Modules/CalcOffence.lua @@ -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)), diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index c324e531..a3334f82 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -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 {