自定义伤害

自定义伤害

自定义护甲提供的伤害减免效果,可全局设置或根据护甲材质调整。

游戏玩法

这个模组用功能相同但向 XML 暴露多个变量的方式替换了默认的伤害计算方法。

你现在可以通过编辑模组目录中的这个 XML 文件(customdamage.xml)来自定义护甲的伤害减免(如果需要的话,可以为每种护甲类型单独设置)。

你可以直接将此文件与你的模组一起发布,如果你的模组依赖于此模组,可以直接覆盖此文件。

该文件在注释中提供了这些值的更多详细信息。

此外,还有一些新功能:

  1. 你可以设置技能额外伤害是否能被护甲吸收,在普通 MB 中这部分伤害会在护甲计算后叠加: <ArmorSkillDamageAbsorb>1.0</ArmorSkillDamageAbsorb>

  2. 可为每种材质(布料、皮革、锁甲、板甲)设置护甲特性,例如 "布料": <材料> <布料> <钝器伤害系数>0.1</钝器伤害系数> <钝器穿刺系数>0.1</钝器穿刺系数> <钝器伤害系数>1.0</钝器伤害系数> <ArmorAbsorbFactor>2.0</ArmorAbsorbFactor> <ArmorThresholdFactorPierce>0.5</ArmorThresholdFactorPierce> <ArmorThresholdFactorCut>0.5</ArmorThresholdFactorCut> </布料>

3a. 攻击强度可为每种伤害类型 x 攻击类型单独设置: <近战> <cut>1.0</cut> <穿甲>1.5</穿甲> <钝器>1.0</钝器> </近战> <远程> <cut>1.0</cut> <穿透>0.8</穿透> <钝器>0.6</钝器> </远程>

3b. 若需更精确控制攻击强度,可按武器类别单独设置倍率: <徒手>1.0</徒手> <匕首>1.0</匕首> <单手剑>1.0</单手剑> ... 20 个包含在 xml 中,但如果你需要设置其他的,可以添加它们

  1. 护甲减免后的伤害可被修改,例如 "削减": <伤害倍率> <剪切> <标题>1.4</标题> <颈部>1.8</颈部> <宝箱>1.0</宝箱> <腹部>1.0</腹部> <肩膀>1.0</肩膀> <武器>1.2</武器> <腿部>1.2</腿部> <腿部_马>1.4</腿部_马> </cut>

  2. (请求)可以设置马匹护甲的效果。

  3. (请求)可以设置所有英雄受到的伤害。

根据要求,默认(基础配置)值应为:

<BluntFactorCut>0.1</BluntFactorCut> <钝器穿刺系数>0.25</钝器穿刺系数> <BluntFactorBlunt>1.0</BluntFactorBlunt> <ArmorAbsorbFactor>1.00</ArmorAbsorbFactor> <ArmorThresholdFactorPierce>0.33</ArmorThresholdFactorPierce> <ArmorThresholdFactorCut>0.5</ArmorThresholdFactorCut> <护甲技能伤害吸收>0.0</护甲技能伤害吸收> //禁用原版行为

有关默认值的完整列表,请参阅模组目录中的 MBDefaults.xml 文件。

请注意,材质检测没有默认值,因为它不在基础游戏中。

源仓库位于 https://gitlab.com/macnokker/customdamage

Mod 使用 Harmony 2.0 net472 DLL

版本 R1.5 修复了以下方法:

  • TaleWorlds.MountAndBlade.Mission.ComputeBlowDamage
  • TaleWorlds.MountAndBlade.Mission.ComputeBlowMagnitudeImp
  • TaleWorlds.MountAndBlade.Mission.获取战斗难度伤害倍率
  • TaleWorlds.MountAndBlade.Agent.GetBaseArmorEffectivenessForBodyPart
  • 沙盒.沙盒代理应用伤害模型.计算伤害