本篇教程由作者设定使用 CC BY-NC-SA 协议。

前言

此篇教程是在阅读“匠魂2部分工具特性和强化的说明和计算(不适合新手)”这篇教程后对其中一些个人感兴趣但未提及部分的补充研究,因此适用范围和面向读者应与之相同。同时,在其中已经提及的部分本文不再重复说明。

说明:

  1. “顶端”、“其他部件”、“手柄”属性代指匠魂宝典中“工具材料”一章显示的对应材料的对应属性;“弓臂”、“弓弦”、“箭杆”、“箭羽”属性代指匠魂宝典中“弓材料”一章下面“弓”、“弓弦”、“箭杆”、“箭羽”四小章显示的对应材料的对应属性。

  2. 在不加说明的时候,XX部件的XX属性指部件信息中所能看见的属性;XX部件作为“XX”指此部件材料在匠魂宝典中对应栏目的属性。

  3. 本文中包含部分笔者感兴趣的附属模组相关数据。

基础属性

近战武器在隔壁已有分析,不再赘述。

远程武器

仅讨论基于原版匠魂弓弩模板的远程武器,回旋镖从代码性质上被视为弹药不列入此栏。

耐久

说明:

  1. 耐久计算通常会在每一步进行四舍五入,大部分情况下都可以近似地认为是在最终结果值进行了四舍五入。

名称(模组)
耐久公式
短弓
(弓臂1 + 弓臂2) / 2 * 弓弦系数
长弓1.4 * (弓臂1 + 弓臂2) / 2 + 大板作为“其他部件”) * 弓弦系数
十字弓((弓臂 + (绑定结 + 手柄作为“其他部件”) / 2) * 手柄作为“手柄”的耐久系数 + 手柄作为“手柄”的耐久) * 弓弦系数
吹箭筒(天境工匠(吹管 + 吹嘴作为“其他部件”) * 吹嘴作为“手柄”的耐久系数 + 吹嘴作为“手柄”的耐久


附加伤害

名称(模组)
附加伤害公式基础伤害加值(不显示在面板中)伤害修正系数(不显示在面板中)
短弓
(弓臂1 + 弓臂2) / 200.8
长弓(弓臂1 + 弓臂2) / 22.51.25
十字弓1.5 * 弓臂31.3
吹箭筒(天境工匠0.5 * 吹管11

拉弓速度

说明:

  1. 下文中的拉弓时间是一个代码上区分不同武器基础拉弓速度的数据(详见代码中的getDrawTime()),可以理解为如果“弓臂”拉弓速度为1时每次拉弓所需的游戏刻,为防止代码阅读者的困惑故单独列出,且最终公式不进行化简。

  2. 在“拉弓速度过程计算结果”一步中,得出的结果最小值为 0.001(代码地址)。

  3. 最终显示的拉弓速度可以理解为每发子弹所需的拉弓时长,面板数据会保留两位小数但不影响实际速度(代码地址);从代码上看,每游戏刻似乎最多只能射出1发(代码地址),但笔者在游戏中测试时肉眼无法分辨和判断拉弓速度是否受限。

  4. NBT数据中的拉弓速度(DrawSpeed)=1/拉弓速度过程计算结果。

名称(模组)
拉弓时间(单位:游戏刻)拉弓速度过程计算结果拉弓速度(单位:秒)
短弓
12(弓臂1 + 弓臂2) / 212 / 20 * (弓臂1 + 弓臂2) / 2
长弓30(弓臂1 + 弓臂2) / 230 / 20 * (弓臂1 + 弓臂2) / 2
十字弓45弓臂45 / 20 * 弓臂
吹箭筒(天境工匠1吹管
1 / 20 * 吹管

箭矢

仅讨论基于原版匠魂箭矢弩箭模板的弹药,包含回旋镖。

弹药

说明:

  1. 耐久计算通常会在每一步进行四舍五入,大部分情况下都可以近似地认为是在最终结果值进行了四舍五入。

  2. 在计算耐久转化为弹药数量的时候,向下取整而非四舍五入。

  3. 生态、同调等特性回复的是耐久值而非弹药值。

名称(模组)
耐久公式弹药公式
箭矢
箭头 * 箭羽系数 * 箭杆系数+额外弹药*10耐久值 / 10
弩箭0.8 * (弩箭核心浇筑材料耐久 * 箭羽系数 * 弩箭核心箭杆系数+额外弹药*10)耐久值 / 10
回旋镖4刀刃材料作为“顶端”的耐久平均值 + 4刀刃材料作为“其他部件”的耐久平均值耐久值 / 10
毒镖(天境工匠镖尖 * 箭羽系数 * 箭杆系数+额外弹药*10耐久值 / 10

伤害

说明:

  1. 箭矢类物品的面板攻击伤害公式与普通近战武器相同,请参考隔壁相关解析;箭矢近战等于徒手伤害。

名称(模组)
攻击伤害修正系数基础伤害加值(计入面板)顶端伤害临界伤害
箭矢
12箭头15
弩箭10弩箭核心浇筑材料15
回旋镖0.714刀刃材料作为“顶端”的伤害平均值15
毒镖(天境工匠0.51镖尖15

远程武器最终伤害公式

说明:

  1. 蓄力进度代表拉弓是否拉满,结果值为 0 - 1 之间,拉满为 1。

  2. 伤害衰减计算参考隔壁

  3. 远程武器射击会受到两次伤害衰减计算。(第一次伤害衰减代码第二次伤害衰减代码

箭矢面板伤害  = 对右侧结果进行伤害衰减计算 ((玩家基础伤害 + 顶端伤害 + 锋利等特性提供的基础伤害) * 攻击伤害修正系数 + 基础伤害加值)

最终伤害 = 对右侧结果进行伤害衰减计算 (蓄力进度 * 远程武器伤害修正系数 *  (远程武器附加伤害 + 蓄力进度 * 远程武器基础伤害加值 + 箭矢面板伤害 + 其他特性提供的额外伤害)))

特殊武器:回旋镖

说明:

  1. 回旋镖发射冷却时间为固定的 4 游戏刻,且所有回旋镖共享冷却。

  2. 回旋镖面板伤害即是最终伤害,也就是只计算一次伤害衰减。

特性

冰火传说 / 冰与火之歌 (Ice and Fire)

基于版本 iceandfire-1.9.1-1.12.2

炽火 (Inferno)

炽火源码传送门

最高等级 2 级,但正常游戏中无法获得 1 级炽火的物品。

效果分为三部分:

  1. 造成(等级 * 2 点)龙炎伤害,独立计算,不计入武器伤害;

  2. 1 级 10 秒燃烧效果,2 级 15 秒燃烧效果;

  3. 等级 2 时击退敌人,强度为 1。(击退方面不太熟悉,之后有机会再分析一下这个强度如何计算)

凛冰 (Blizzard)

凛冰源码传送门

最高等级 2 级,但正常游戏中无法获得1级凛冰的物品。

效果分为两部分:

  1. 1 级 7.5 秒缓慢 III 效果,2 级 15 秒缓慢 III 效果;

  2. 等级 2 时击退敌人,强度为 1。(击退方面不太熟悉,之后有机会再分析一下这个强度如何计算)

相比炽火,凛冰没有额外伤害,与描述不符。(游戏内已验证,版本 iceandfire-1.9.1-1.12.2)

冶金4:重铸 (Metallurgy 4: Reforged)

基于版本 Metallurgy-4-Reforged-1.3.0-beta.1-1.12.2

模糊 (Obscure)

模糊源码传送门

攻击击中后给予目标 1.5 秒失明 III 效果。(但是原版中失明对怪物毫无用处)

后颌鱼 (Opistognathus)

后颌鱼源码传送门

在水中时(判定跟喜水一样,接触到水都行,不一定头部浸水),挖掘速度乘以 3,攻击速度增加 2.7。

火山 (Volcanic)

火山源码传送门

最高等级 2 级,但正常游戏中无法获得 2 级火山的物品。

不可与精准共存。

效果分为两部分:

  1. 击中敌人后,1 级 5 秒燃烧效果,2 级 7 秒燃烧效果;

  2. 破坏方块效果等同自动熔炼(代码都是一样的)。

复制 (Duplication)

复制源码传送门

击中敌人后,如果目标生命值小于等于 0,有 1/2 的几率(代码判断方式为一个随机 0 - 99 的整数小于 50 时)使目标掉落物翻倍。

生命汲取 (Life Steal)

生命汲取源码传送门

击中敌人后,如果玩家生命未满,那么有 (15 + 幸运等级 * 5)% 的概率回复造成伤害的15%数量的生命值。

目前疑似有两个bug,一是文本写的10%,二是代码显示回复量大于损失的生命值就不会回复任何生命,已提交反馈。

凋零 (Wither)

凋零源码传送门

攻击击中后给予目标 1.5 秒凋零 II 效果。

赌神 (King Dice)

赌神源码传送门

攻击击中后给予目标一个 4 秒长的随机效果,效果等级为 1,所有可能的效果有:失明,漂浮,饥饿,瞬间伤害,反胃,夜视,中毒,缓慢,生命恢复。

源码参考地址

名称(模组)
源码参考地址
短弓
源码地址
长弓源码地址
十字弓源码地址
吹箭筒(天境工匠源码地址
箭矢
源码地址
弩箭源码地址
回旋镖源码地址
毒镖(天境工匠源码地址