介绍
用途
此模组修复了 Brutality 与 Apothic Attributes / AttributesLib 之间的护甲穿透兼容性计算问题。
问题
在某些兼容性处理路径中,Brutality 的致命属性会在计算护甲减伤前,将有效护甲降至零以下。
如果未进行保护就将负护甲代入减伤公式,可能会产生无效结果(0、数值激增或非有限值)。
问题成因
Brutality 按以下公式计算有效护甲:
modifiedArmor = targetArmor * (2 – armorPenetration) – lethality
随后,护甲减伤会使用 Apothic 的伤害缩放常数 a:
if damage < 20: a = 10
if damage >= 20: a = 10 + (damage – 20) / 2
伤害倍率:
a / (a + modifiedArmor)
护甲阶段后的最终伤害:
finalDamageAfterArmor = damage * (a / (a + modifiedArmor))
如果 modifiedArmor 变为较大的负数:
分母可能趋近于 0,导致伤害值极高
分母可能等于 0,导致伤害为 inf / 未定义
分母可能为负数,导致最终伤害为负值(不会治疗目标,但在许多情况下会被限制为 0)
示例
情况 A(负数结果路径)
targetArmor = 1, armorPenetration = 1, lethality = 12, damage = 20
modifiedArmor = 1 * (2 – 1) – 12 = -11
a = 10
final = 20 * (10 / (10 + -11)) = -200
情况 B(除以零路径)
targetArmor = 1, armorPenetration = 1, lethality = 11, damage = 20
modifiedArmor = -10
a = 10
final = 20 * (10 / (10 + -10)) = 20 * (10 / 0)
修复方案
此模组采用两项保护措施:
在进行减伤计算前,将有效护甲下限限制为 0(不向护甲公式输入负护甲)。
通过将致命属性拆分为以下两部分,保留其高额数值带来的收益:
将护甲减至 0
将超出部分的致命属性转化为线性额外伤害:
bonus = unarmoredDamage * (excess * bonusPerExcessLethalityPoint)
默认值:
bonusPerExcessLethalityPoint = 0.10(每超出 1 点增加 10%,可在配置中调整)
超额加成示例
如果无护甲伤害基准值为 5,超额致命属性为 4,配置值为 0.10:
bonus = 5 * (4 * 0.10) = 2
总计 = 5 + 2 = 7
兼容性行为
如果存在 Apothic Attributes,则使用 ALCombatRules#getArmorDamageReduction
否则,回退到原版 CombatRules.getDamageAfterAbsorb
结果
不会出现除以零或伤害无限大的情况
不会将负数处理为零
致命性缩放效果可预测且可配置
适用于使用 Brutality + Apothic/AttributesLib 的整合包。
常见问题
Apothic Attributes x Brutality Compat 支持哪些 Minecraft 版本?
Apothic Attributes x Brutality Compat 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
Apothic Attributes x Brutality Compat 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
d0ugdimmadome 的其他作品
查看全部 →Echelon – Linggango Variant
由 ElocinDev 的 Tierify 分支修改,专为 linggango 打造。
L2Hostility – Imagine Breaker Bypasses Dispell
小幅增强幻想破坏者:装备时,魔法伤害也能绕过驱散效果,与它对摄魂怪特性和物理伤害的效果保持一致。
Advanced Bow Enchantments
高级弓附魔添加了新的方式来构建以弓为核心的游戏风格
Macabre Fixes and Optimizations Patch
一个针对热门维度模组 macabre 的大型补丁,旨在修复各种 bug 并优化该维度。
评论
登录后评论和评分