NPC 生成

来自Terraria Wiki
跳转至: 导航搜索
另见:NPC 消失

泰拉瑞亚中,敌怪小动物、和其他 NPC 会在屏幕之外生成并按照它们的AI进入屏幕区域。敌怪的生成速率、敌怪的最大数量、以及敌怪的生成种类完全取决于一天中的时段生物群落、地面图格的类型,以及其他一些因素。

Spawn rates[编辑 | 编辑源代码]

基础[编辑 | 编辑源代码]

游戏中每个嘀嗒都会重新确定一次敌怪生成。[1] 这个处理中会考虑两个变量:生成速度最大生成数,生成速度限制一个敌怪在此嘀嗒生成的几率,而最大生成数限制此时刻活跃的敌怪数量。[2]

默认的生成速度,举例说,是 1/600。这意味着每个嘀嗒中一个敌怪生成的几率为 1/600 几率。因为 1 秒有 60 嘀嗒,每秒的几率为 1/10;因此对于 1/600 的生成速度,平均来说,每 10 秒生成一个敌怪。

默认的最大生成数,举例说,是 5。这意味着仅当所有当前活动敌怪的 NPC 栏位之和低于 5 时新敌怪才能生成。所有敌怪都默认占据 1 个 NPC 栏位;所有具有更高或更低 NPC 栏位的敌怪清单见下表。活动敌怪不包括,比如说,蠕虫的身体和尾巴部位,因为一只巨型蠕虫就有 6–8 个体节(即:单独的敌怪),否则他们就要占用数量不成比例的 NPC 栏位。对于 NPC 生成目的来说,城镇 NPC 不视为活跃 NPC。不视为活跃的敌怪清单见下表。

 具有非默认 NPC 栏位的 NPC 
NPC NPC 栏位
Hornet 5.png 大毒刺黄蜂 1.21
0.87
1.16
0.78
1.1
0.92
1.15
0.8
1.25
0.85
1.1
0.9
1.15
0.85
1.13
0.87
1.07
0.93
1.1
0.9
1.05
0.87
1.15
1.1
0.85
0.9
1.1
1.15
1.08
0.92
1.13
0.87
1.11
0.89
1.13
0.93
1.15
0.85
1.1
0.9
1.15
0.85
1.15
0.85
1.8
1.65
1.35
1.2
1.2
0.85
2
2
1.15
0.85
5
3.5
5
2
3
2
0.75
6
6
0.5
0.5
0.5
0.5
2
2
0.3
2
0.3
0.4
5
0.5
3.5
0.5
10
5
5
6
5
5
5
0.5
0.5
0.5
2
1.5
2
0.5
2
2
0.5
0.5
0.5
1.5
7
0.5
0.75
0.75
0.5
0.5
0.5
0.3
0.3
0.3
0.3
0.3
0
16
0
6
2
2
2
2
2
2
0.75
0.4
0.4
0.25
0.3
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0
0.5
0.5
0.5
2
3
5
4
1.5
1.5
1.5
1.75
2
0.2
0.25
0.1
0.2
0.5
0.5
10
0.15
0.15
0.1
0
0
0
0.75
1.5
0.5
0.5
0.5
0
6
6
6
6
0
0
0
2
3
3
0.5
2
0
0
2
3
0
2
0.5
2
0
0
10
0
0.4
0.25
0.1
0.25
0.1
7
5
0.5
0.1
0
0.1
0.5
0.1
0.1
0.1
0.1
0
0
5
0
0
4
0
0
0
0.5
0.5
0.5
0.5
0.75
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.8
0.8
0.4
0.25
0.25
 永不被视为活跃的 NPC 

自然生成速度[编辑 | 编辑源代码]

1/x:生成速度
y:最大生成数

生成速度和最大生成数有着设定的数值,根据环境而不同。它们是针对下表中提到的环境而正式定义的。一些事件采用单独的机制来控制生成速度;Boss通常会占用足够多 NPC 栏位来阻止大多数其他生成。

困难模式之前的自然生成速度
生物群落/事件/
Boss 战
地表 地下 洞穴 地狱
白天 夜晚 血月[3]
森林沙漠
雪原生物群落[4]
1/600
5
1/360
6
1/108
10
1/300
8
1/240
9
1/600
10
丛林 1/240
7
1/144
9
1/60
15
1/120
12
1/96
13
腐化之地/猩红之地 1/390
6
1/234
7
1/70
13
1/195
10
1/156
11
地牢 1/120
13
1/96
15
陨石 1/240
5
1/144
6
1/60
11
1/120
8
1/96
9
沙尘暴电脑版和主机版 1/540
6
1/324
7
1/97
12
地下沙漠电脑版、主机版、和移动版 1/180
10
1/108
12
1/60
15
1/90
15
1/72
15
哥布林军队 1/20
10 + 每玩家 1.5
血肉墙 1/1800
3
神圣之地
(如果人工创建)
1/600
5
1/360
6
1/108
10
1/300
8
1/156
11
困难模式的自然生成速度
生物群落/事件/
Boss 战
地表 地下 洞穴 地狱
白天 夜晚 血月[3]
森林沙漠
雪原生物群落[4]
1/540
6
1/324
7
1/97
12
1/243
10
1/216
11
1/540
12
丛林 1/216
9
1/129
10
1/60
15
1/97
15
1/86
15
腐化之地/猩红之地 1/351
7
1/210
9
1/63
15
1/157
13
1/140
14
地牢 1/97
15
1/86
15
陨石 1/216
6
1/129
7
1/60
13
1/97
11
1/86
12
沙尘暴电脑版和主机版 1/216
9
1/129
10
1/60
15
地下沙漠电脑版、主机版、和移动版 1/108
12
1/64
14
1/60
15
1/60
15
1/60
15
哥布林军队雪人军团
海盗入侵火星暴乱电脑版、主机版、和移动版
月亮事件电脑版、主机版、和移动版
1/20
10 + 每玩家 1.5
血肉墙 1/1620
3
神圣之地 1/540
6
1/324
7
1/97
12
1/243
10
1/140
14

在决定生成速度时,一些生物群落会覆盖其他的。腐化、地牢、流星和丛林的生成速度全部是互斥的。地牢有最高优先级,随后是丛林、腐化,最后是流星。例如,如果一颗流星落在丛林中,则会使用丛林的生成速度。

另外,生成速度会受此区域中活跃敌怪数量影响。活跃敌怪越少,新的敌怪就会越快生成:

  • 如果所有活跃敌怪的 NPC 栏位总和小于最大生成数的 20%,生成速度的分母会乘以 0.6。
  • 如果所有活跃敌怪的 NPC 栏位总和大于等于最大生成数的 20% 且小于 40%,生成速度的分母会乘以 0.7。
  • 如果所有活跃敌怪的 NPC 栏位总和大于等于最大生成数的 40% 且小于 60%,生成速度的分母会乘以 0.8。
  • 如果所有活跃敌怪的 NPC 栏位总和大于等于最大生成数的 60% 且小于 80%,生成速度的分母会乘以 0.9。

(注意所有乘积会向下取整到最接近的整数。)

例如:

生成速度 最大生成数 NPC 栏位总和 改变后的生成速度
1/600 6 0.8
(最大生成数的 13.3%)
1/360
1/173 15 10
(最大生成数的 66.7%)
1/155
1/430 12 10
(最大生成数的 83.3%)
1/430

人工改变生成速度[编辑 | 编辑源代码]

某些物品当其使用或者放置后可以改变生成速度和最大生成数,如下表所示。所有效果都是乘性而非加性的。

物品 生成速度因子[5] 有效生成速度 最大生成数
水蜡烛水蜡烛(如果在热键栏中手持也可) 1/0.75 +33% +50%
战斗药水战斗药水 1/0.5 +100% +100%
镇静药水镇静药水 1/1.3 -23% -30%
向日葵向日葵 1/1.2 -17% (仅限 电脑版、主机版、和移动版 -20%
和平蜡烛和平蜡烛电脑版、主机版、和移动版(如果在热键栏中手持也可) 1/1.3 -23% -30%
隐身药水隐身药水(电脑版 only) 1/1.2? -20%? -20%

水蜡烛和和平蜡烛会互相抵消,虽然它们并不按相同的绝对值来改变生成速度。如果二者都处于活跃状态,(例如:手持和平蜡烛同时附近放着水蜡烛)则不会施加任何影响。

这有个例外情况:水蜡烛放置(明确地不是手持)在太空中总是会提高生成速度,无论附近是否有和平蜡烛。但是它们的有效性仍取决于附近的和平蜡烛:

物品 生成速度因子[5] 有效生成速度 最大生成数
水蜡烛水蜡烛放置在太空中
(附近无放置或手持的和平蜡烛)
1/0.375 +167% +50%
水蜡烛水蜡烛放置在太空中
(附近有放置或手持的和平蜡烛)
1/0.5 +100% +50%

到目前为止,生成速度无法提升到大于 1/60 且最大生成数无法提升到大于 15。二者都将在那个点被截断。上表中列出的入侵事件的生成速度和最大生成数则不受此限制。

城镇 NPC 对生成速度的影响[编辑 | 编辑源代码]

附近存在城镇 NPC 通常会降低生成速度和最大生成数。此效果在地狱中会有所调整。

世界中地狱以上的任意位置
附近城镇 NPC 的数量 生成速度因子[5] 有效生成速度 最大生成数
1 1/1.5 -33% -13%
2 1/(9/7) -22% -27%
≥3 -40%
地狱中
附近城镇 NPC 的数量 生成速度因子[5] 有效生成速度 最大生成数
1 1/(50/41) -18% -5%
2 1/(15/11) -27% -10%
≥3 1/1.8 -44% -17%

When 3 or more town NPCs, or the Skeleton Merchant are present nearby, no enemies will spawn. This is only valid for areas outside of the Underworld and only for normal worlds – in 专家模式电脑版、主机版、和移动版, there is still a 1/30 chance an enemy may spawn that tick. Events and bosses (and their servants) will bypass this restriction.

Journey Mode[编辑 | 编辑源代码]

Spawning rates can be manually altered in Journey Mode, from 0× (disabling spawns) to 10× the normal rate. Even with the spawn rate set to 0×, Bosses may still be summoned, and mining up Tombstones can still cause Ghosts to spawn.

生成的基础原理[编辑 | 编辑源代码]

游戏中的每个玩家都会生成自己的敌怪。如果两个玩家在同一个区域内,怪物会以两倍于仅一个玩家时的速度出现。最大生成数的限制依然有用,这意味着即使有两个玩家在同一个地点,你也无法在这地点附近聚集起 30 个普通怪物。(别忘了,蝙蝠计为 1/2,且一些特定敌怪计为 2 或更多。)

选择一个地方来生成敌怪[编辑 | 编辑源代码]

生成区域示意

验证 当游戏决定生成一个敌怪时,游戏首先会在玩家周围矩形范围内随机选择一个图格(具体来说, 图格是包括玩家hitbox的左上角那一格图格)。矩阵范围是从玩家开始东边(右)84个图格,西边(左)83个,上边46个,下边45格构成的矩形。如果选择的图格是个实心方块,就会寻找下一格空图格。被制动器激活的方块不算实心方块。如果选择的图格有玩家用来阻止生怪放置的墙的话,同样会寻找下一个图格。

一旦找到空图格,就向下移动直到接触到地面。(注意这可能使得这个图格在玩家下方超过 45 格。如果它最终位于“活跃矩形”之外,就会即刻取消生成。)如果这个位置有足够空间可供敌怪生成,这就会是最终选定的图格。例外情况是当玩家处于能生成鸟妖和很多其他飞行敌怪的区域时。在这种情况下,游戏不会尝试寻找地面图格。

选定的图格接下来会经过检查以确保它不在玩家周围的“安全”区域内。它不能在东西 62 格或上下 34 格内。此外,选定的图格空间必须完全位于以每个玩家的碰撞框中心点为中心的 2088 × 1172 像素的矩形之外。(如果玩家没有骑乘坐骑,这个矩形的上边缘是在前面提到的左上角图格之上 34 + 3/16 格处,这意味着若玩家站立于半物块上,NPC 可以在玩家上方正好 35 格处的地面上生成,但若玩家站立于完整的物块上则不行。)

使用某些物品会导致怪能在比正常更远的地方生成。当装备着步枪瞄准镜狙击镜时,仅当玩家选择了与此兼容的枪时才会如此,但无论玩家是否缩小了视野均如此。

物品 生成范围 安全范围
水平 垂直 水平 垂直
普通 84 46 62 34
Rifle Scope (or derivatives) 114 62 92 50
双筒望远镜 124 68 102 56
狙击步枪 124 68 102 56
Sniper Rifle with Rifle Scope (or derivatives) 132 72 110 60

注:如果正在使用深度计、罗盘、或类似的东西,每格等于 2 英尺,所以将所有尺寸翻倍即可得到以英尺为单位的距离

移动版 移动版中,玩家周围的无生成区域是 68×48 格,生成区域是 112×62 格。另外,敌怪不能在比左右 34 格上下 24 格更近的地方生成,也不能在比左右 56 格上下 31 格更远的地方生成。

选择一个敌怪类型来生成[编辑 | 编辑源代码]

所生成的敌怪的类型取决于很多因素,包括但不限于:

备注[编辑 | 编辑源代码]

  • 当站在世界的左边缘或右边缘时,敌怪可以在屏幕内生成,只要它们距离玩家至少 62 格远。屏幕大致是 85 格宽,因此在这种情况下,敌怪可以在最远处的四分之一屏幕内生成(不一定是这样,一些玩家的屏幕要更大,宽度高达 120 格)。
  • 装备双筒望远镜会让活跃矩形变得更大。

历史[编辑 | 编辑源代码]

  • 电脑版 1.2.3:修正了在土层中点以下时生成速度比任何地方的预期值都高的 Bug。

参考[编辑 | 编辑源代码]

  1. 嘀嗒是可由软件计数的时间单位。泰拉瑞亚的大多数更新逻辑都会每嘀嗒发生一次。一个嘀嗒的长度为 1/60 秒,因此一秒钟内有 60 嘀嗒,一分钟内有 3600 嘀嗒。
  2. 信息来自电脑版 电脑版 1.3.5.3 源代码,function SpawnNPC() in Terraria.NPC.cs这可能已经不准确,因为电脑版 电脑版的当前版本已经是 1.4.0.5。
  3. 3.0 3.1 血月只影响地表以上的生成速度。
  4. 4.0 4.1 在雪原生物群落中天气还会额外影响生成速度和最大生成数。
  5. 5.0 5.1 5.2 5.3 分母的乘积会向下取整到最接近的整数。