使用时间
使用时间是应用于武器、工具以及其他可使用的物品的一种属性,它决定了使用物品之后需要过多少时间才能再次使用同个或另一个物品。根本上说,这就是用游戏嘀嗒[1]来计量的“开火速率[2]”。较低的使用时间意味着武器较快。例如,短剑的使用时间通常为 10 到 13,意味着和异常慢的火山相比它能快速连续使用,后者的使用时间为 40——是慢得多的武器,不能那么频繁地用出。
使用时间在对比武器或工具的速度时特别有用。这些物品在游戏内的工具提示信息自动将此属性的值归为几类,如“很快”或“很慢”。所有分组如下:
值 | 游戏内文本 |
---|---|
≤8 | 超快速度 |
9–20 | 很快速度 |
21–25 | 快速度 |
26–30 | 普通速度 |
31–35 | 慢速度 |
36–45 | 很慢速度 |
46–55 | 极慢速度 |
≥56 | 蜗牛速度 |
技术性信息
有多个属性被用于决定一件物品的使用行为:useTime
[3]、useAnimation
[4]、和 reuseDelay
[5]。所有这些值的单位均为嘀嗒[1]。
useTime
决定了物品两次实际使用之间的时间,即物品两次生效之间的间隔。useAnimation
,如其名称所示,是每次物品使用的动画的持续时间,即单次 ⚒ 使用/攻击 按键输入后物品的行为。reuseDelay
决定了一件物品能够再次使用前需要经过多少嘀嗒。这通常被用于平衡武器以防止它具有极高的开火速率。这一属性也常被称为“use delay”(使用延迟)。
在内部,分别对应 useTime
和 useAnimation
的两个嘀嗒计数器 itemTime
和 itemAnimation
被应用于玩家。当一件物品被使用时,游戏会检查其 useTime
和 useAnimation
,应用所有攻击速度奖励,然后将得出的嘀嗒数添加至对应的计数器中。这些计数器每嘀嗒减少 1,且只要它们大于 0,玩家就被视为正在使用物品,在此期间多个行动会被禁用。对于大多数物品,useTime
等于 useAnimation
,意味着该物品每次 ⚒ 使用/攻击 按键输入只会被使用一次。有些物品的 useTime
属性低于 useAnimation
,使得它们每次 ⚒ 使用/攻击 按键输入会被使用多次。
每次 ⚒ 使用/攻击 按键输入的使用次数 |
---|
[math]\displaystyle{ \text{使用次数}=\lceil\frac{\mathit{useAnimation}}{\mathit{useTime}}\rceil }[/math] |
|
reuseDelay
在 itemAnimation
计数器归零后应用。这将会把 reuseDelay
的值增加到两个计数器中,让玩家在可使用物品前需再等待几个嘀嗒。
在此 wiki 上,useAnimation
属性被称为“使用时间”属性显示于信息框中。useTime
属性仅在工具上作为其“工具速度”属性显示(因为这一属性在大多数情况下对其他物品的功能没有影响)。
在 电脑版中,特定的行动会在 itemTime
或 itemAnimation
嘀嗒计数器不为零时被禁用:
- 涉及与物品栏中的物品互动的行动,包括:[6]
- 切换配装(电脑版、主机版、和移动版)。[7]
- 挖掘鼹鼠矿车(电脑版、主机版、和移动版)的采挖和矿车轨道放置。
- 和大多数游戏界面元素的交互。可以通过打开自动暂停,并在使用物品时打开物品栏观察到。除了复制菜单以外,旅行模式能力菜单的其他功能将仍然可用。[8]
部分热键仍然可用,包括快速治疗、快速魔力、快速增益、抓钩、和快速坐骑。
例如:
- 镐使用
useTime
来决定它们击打图格的频率(这是在本 wiki 上显示的工具速度);它们的useAnimation
决定了它们造成近战伤害的频率(这是挥舞动画的持续时间)。 - 黄金雨具有 6 的
useTime
,以及 18 的useAnimation
,使得其每次 ⚒ 使用/攻击 按键输入会发射 3 次。 - 发条式突击步枪具有 4 的
useTime
,以及 12 的useAnimation
,使得其每次 ⚒ 使用/攻击 按键输入会发射 3 次。它还具有 14 的reuseDelay
,在每次三发点射之间添加了 14 嘀嗒的间隔。
特殊情况
使用限制
以下武器被特殊编码以在每次使用时仅发射特定次数(基于其 useAnimation
):无限智慧巨著(电脑版、主机版、和移动版)(4 次)、夜光(电脑版、主机版、和移动版)(4 次)、和日暮(电脑版、主机版、和移动版)(5 次)。[9]
挥舞物品
对于在头顶挥舞的物品(近战武器、镐,等等),其挥舞动画的时长和 useAnimation
相关。单个目标在一次挥舞动画期间仅能被击中一次。
射弹近战武器
以下射弹近战武器的射弹的发射频率基于它们的 useTime
属性,和其基础的使用时间(useAnimation
)不同,所以它们可能无法在每次挥舞时都发射射弹。这些发射频率只能被修饰语更改,因为只有修饰语会影响 useTime
。不过,如果这种武器的 useTime
少于其 useAnimation
,它们在挥舞结束后才能再次发射射弹。
(电脑版、主机版、和移动版)下列射弹近战武器具有 shootsEveryUse
能力,这使得它们每次使用时都会发射一个射弹。不过,如果这种武器的 useTime
少于其 useAnimation
,它们在挥舞结束后才能再次发射射弹。
和自动挥舞相结合
自动挥舞的物品是具有 autoReuse
属性的物品(即在此 wiki 上的信息框中带有 自动挥舞图标)。当这种物品到达其动画结束的前一嘀嗒时,它会立即跳过并开始新动画(该物品的新一次使用)。[10]
对于大多数物品这是正常的,因为游戏会在计算过程中将其 useAnimation
增加 1 嘀嗒(见下方计算)。不过,这一步是整个过程的最后一步;对于近战武器的计算要早些完成,因此跳过了这一步。这意味着自动挥舞近战武器的实际使用时间(useAnimation
)相较于源代码中的 useAnimation
、物品工具提示中所示的、和此 wiki 上显示的要少 1 嘀嗒。
计算
由一次 ⚒ 使用/攻击 按键输入触发的物品使用所消耗的时间的计算基于物品的类型使用不同的公式。[11]
不过,在所有计算之前,会先应用修饰语的效果,可视作对特定物品属性的直接更改。useTime
、useAnimation
、和 reuseDelay
会受此影响,用下列公式计算:
[math]\displaystyle{ \text{新属性} = \operatorname{round}(\text{原属性}\times\mathit{修饰语}) }[/math]
- [math]\displaystyle{ \operatorname{round} }[/math] 运算符将值取整到最接近的整数;如果值正好在两个整数正中间(.5),则取整到最接近的偶数。
- [math]\displaystyle{ \mathit{修饰语} }[/math] 是修饰语对速度的强化(小数形式)。例如,轻修饰语提供 +15% 速度,意味着 [math]\displaystyle{ \mathit{修饰语}=1-0.15=0.85 }[/math]。
所有下方的公式会使用此处的新属性来进行计算。
而后,物品使用的总时间使用下列公式计算。注意对于一个给定的物品,有且仅有一个公式与之对应。
对于造成近战伤害的物品:
[math]\displaystyle{ \text{总时间} = \left\lfloor\mathit{useAnimation}\times\frac{1}{1+\mathit{近战速度}\times\mathit{近战速度倍率}}\right\rfloor+\mathit{reuseDelay} }[/math]
- [math]\displaystyle{ \left\lfloor{x}\right\rfloor }[/math] 为向下取整函数(向下取整到最接近的整数)。
- [math]\displaystyle{ \mathit{近战速度} }[/math] 是近战速度奖励之和(小数形式),起始为 0。例如,近战速度提高 10% 意味着 +0.1。
- [math]\displaystyle{ \mathit{近战速度倍率} }[/math] 对于大部分武器是 [math]\displaystyle{ 1 }[/math]。见下表获取具有不同值的武器:[12]
物品 | 倍率 |
---|---|
泰拉刃 | 0.75 |
利刃手套 | 0.5 |
臭虎爪 | 0.25 |
变态人的刀 | 0.33 |
对于鞭:
[math]\displaystyle{ \text{总时间} = \left\lfloor\mathit{useAnimation}\times\frac{1}{1+\mathit{近战速度}+\mathit{鞭速度增益}}\times\frac{1}{\mathit{鞭速度套装奖励}}\right\rfloor+\mathit{reuseDelay} }[/math]
- [math]\displaystyle{ \mathit{近战速度} }[/math] 是近战速度奖励之和(小数形式),起始为 0。例如,近战速度提高 10% 意味着 +0.1。
- [math]\displaystyle{ \mathit{鞭速度增益} }[/math] 是来自增益的鞭速度奖励之和(小数形式),起始为 0。例如,丛林之怒的鞭速度提高 12% 意味着 +0.12。
- [math]\displaystyle{ \mathit{鞭速度套装奖励} }[/math] 是来自套装奖励的鞭速度奖励,无套装奖励生效时为 1。目前仅有黑曜石盔甲提供此奖励,将这一值改为 1.15。
- 目前,所有鞭的 [math]\displaystyle{ \mathit{reuseDelay} }[/math] 为 0。
对于物块:
[math]\displaystyle{ \text{总时间} = \left\lfloor\mathit{useAnimation}\times\frac{1}{1+\mathit{物块速度}}\right\rfloor+\mathit{reuseDelay} }[/math]
- [math]\displaystyle{ \mathit{物块速度} }[/math] 默认为 0;部分物品会使其增加特定的值。
- 目前,所有物块的 [math]\displaystyle{ \mathit{reuseDelay} }[/math] 为 0。
物品 | 值 |
---|---|
仙馔密酒 | +0.05 |
建筑工药水 | +0.25 |
砌砖刀 (或其升级物) |
+0.5 |
对于墙:
[math]\displaystyle{ \text{总时间} = \left\lfloor\mathit{useAnimation}\times\frac{1}{1+\mathit{墙速度}}\right\rfloor+\mathit{reuseDelay} }[/math]
- [math]\displaystyle{ \mathit{墙速度} }[/math] 默认为 0;部分物品会使其增加特定的值。
- 目前,所有墙的 [math]\displaystyle{ \mathit{reuseDelay} }[/math] 为 0。
物品 | 值 |
---|---|
仙馔密酒 | +0.05 |
建筑工药水 | +0.25 |
便携式水泥搅拌机 (或其升级物) |
+0.5 |
对于其余能自动挥舞(autoReuse = true
)、reuseDelay
为 0、useTime
不高于 useAnimation
、能发射射弹、使用类型为 5 的物品(见下方获取适用的物品的列表):
[math]\displaystyle{ \text{总时间} = \mathit{useAnimation}+1 }[/math]
- +1 消除了自动挥舞物品的动画跳过特性。
|
对于余下的物品:
[math]\displaystyle{ \text{总时间} = \mathit{useAnimation} }[/math]
备注
- “开火频率”是通过将每秒嘀嗒数(60)除以物品的使用时间计算得到的:[math]\displaystyle{ \mathit{开火频率} = \frac{60}{\mathit{使用时间}} }[/math]
- 例如,巨兽鲨的使用时间为 7。其开火频率可通过将此值代入以上公式计算:[math]\displaystyle{ \mathit{开火频率} = \frac{60}{ 7 } \approx 8.57 }[/math]
- 将此值乘以 60 可以得到每分钟的开火速率,对于巨兽鲨来说是每分钟约 514.29 发。
- 特定物品的使用条件不仅仅基于其使用时间。例如,诸如蘑菇和弱效治疗药水这样的回复药水有特殊的冷却周期;连枷和回旋镖必须先被收回才能再次被发射。
- 自动挥舞近战武器的动画跳过特性在某些情况下会极大地影响使用时间。例如,轻彩虹猫之刃的使用时间为 12。具有 141% 近战速度奖励时,其使用时间变为 4.98,向下取整为 4,等同于 200% 近战速度奖励。考虑跳过后,实际的使用时间由 11 降低至 3,等同于 267% 近战速度奖励。
历史
- 电脑版 1.0.6:
- 工具提示文本“很快”现在应用于所有使用时间不超过 20 的物品上。相应调整了其他组别:
- “很快”现在为 9–20 而非 9–15。
- “快”现在为 21–25 而非 16–20。
- “普通”现在为 25–30 而非 21–25。
- “慢”现在为 31–35 而非 26–30。
- “很慢”现在为 36–45 而非 31–40。
- “极慢”现在为 46–55 而非 41–50。
- “蜗牛”现在为 ≥56 而非 ≥51。
- 工具提示文本“很快”现在应用于所有使用时间不超过 20 的物品上。相应调整了其他组别:
- 因此,有些物品现在列出的速度更快,即使其实际的使用时间并没有变化。
- 电脑版 1.0.3:修复了工具提示文本中一处有关使用时间的错误:“Extremly slow speed” → “Extremely slow speed”(极慢速度)。
参考
- ↑ 1.0 1.1 嘀嗒是可由软件计数的时间单位。《泰拉瑞亚》的大多数更新逻辑都会每嘀嗒发生一次。一个嘀嗒的长度为 1/60 秒,因此一秒钟内有 60 嘀嗒,一分钟内有 3600 嘀嗒。
- ↑ 相应英文原文为 rate of fire 或 fire rate,通常可翻译为射速。但由于游戏官方中文将另一个游戏中的概念 Velocity 译为射速,同时这里的 fire 泛指一切武器(包括近战武器)的使用动作,译为发射不妥。因此,这里改用开火速率作为 fire rate 的中文译名;此外本 wiki 以及官方 Wiki 中文语言包中将 Velocity 译为射弹速度。
- ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Item.cs
中的useTime
字段。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Item.cs
中的useAnimation
字段。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Item.cs
中的reuseDelay
字段。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.UI.ItemSlot.cs
中的LeftClick()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的TrySwitchingLoadout()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Main.cs
中的HoverOverCraftingItemButton()
方法 和Terraria.GameInput.PlayerInput.cs
中的IgnoreMouseInterface
属性。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的ItemCheck_OwnerOnlyCode()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的ApplyItemAnimation()
和Terraria.Player.cs
中的ItemCheck_HandleMPItemAnimation()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的Update()
,Terraria.Player.cs
中的CapAttackSpeeds()
,和Terraria.Player.cs
中的ApplyItemAnimation()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.ID.ItemID.cs
中的Sets.BonusMeleeSpeedMultiplier
字段。
- ↑ 游戏内所示的百分比。