生命树
生命树是世界创建之时生成的大型树形森林结构。和常规的树不同,生命树是由实心的生命木和树叶块组成的,而非人物可以通过的背景物体。生命树常常会有向下通向宝藏室的隧道,宝藏室中会包含生命树主题的家具和一个生命木箱。
在 电脑版、
主机版、和
移动版中,生命树的树冠更大且更圆,并且可以成组生成,具有连通到其他树或者通往外部的水平隧道。宝箱也会在这些隧道中生成。宝藏室会位于其中一棵树下方,且包含生命木织机而非生命木桌。它们内部隧道的入口处是封闭的,需要有镐才能进入。侏儒在生命树中也会更常见。
内容
备注
- 在小世界中,生命树可能会延伸到太空中。
- 在
电脑版、
主机版、和
移动版中,天然生成的生命木墙被视为不安全墙,因此不能直接用于 NPC 房屋。在
前代主机版和任天堂
版中,天然生成的生命木墙被视为安全墙。
- 在
前代主机版和任天堂
版中,单个世界中最多会生成五棵生命树。[1]
- 在 Drunk world(电脑版、主机版、和移动版) 中,地牢入口被一棵生命树替代,其隧道会通向老人所处的地下房间。这棵生命树的图格会被刷上棕漆。
生成
以下为world generation时生命树的生成细节。信息来自 电脑版 1.4.4.9 源代码,
Terraria.WorldGen.cs
中的 GenerateWorld()
方法。相关 generation pass 为 Living Trees
。
生命树会成组生成。小世界最多会有 2 组,中世界最多 3 组,大世界最多 4 组。在 Drunk world、Celebrationmk10、和 Don't dig up 世界中,可以生成更多组的生命树。
每一组生命树都有一棵“主”树,其两侧可能会生成“副”生命树。主树会拥有宝藏室,而副树仅会生成水平隧道。每棵主树的两侧最多各能生成 3 棵副树,因此一组中总共最多有 7 棵生命树。在 Drunk world、Celebrationmk10、和 Don't dig up 世界中,可以生成更多的副生命树。
技术性细节
在生成世界时,游戏会首先决定生命树组的生成尝试次数;这一次数取决于世界大小和秘密世界种子。游戏会首先设定默认的次数;如果默认次数是 0,则有 1/2 (50%) 几率使其增加 1。然后,游戏会检查激活的秘密世界种子,然后基于世界大小增加尝试次数。
世界大小 | 尝试次数 | |||
---|---|---|---|---|
默认 | 激活的秘密世界种子[a] | |||
Drunk world | Celebrationmk10 | Don't dig up | ||
小 | 0–2 | +2 | +3 | +2 |
中 | 0–3 | +3 | +4 | +3 |
大 | 0–4 | +4 | +6 | +4 |
- 生成尝试次数示例:
- 一个小世界可以有 0–2 次尝试。
- 一个大 Celebrationmk10 世界可以有 6–10 次尝试。
- 一个大 Get fixed boi 世界可以有 4–8 次尝试。
然后,游戏会选择每棵生命树生成的位置。水平坐标会随机选择,但永远不会位于海洋生物群系中。
- 在 Celebrationmk10 世界中,水平坐标会在世界中部 70% 区域中随机选择。换言之,世界两侧的 15% 区域内不会生成生命树。
- 如果这一水平坐标和世界中心的距离少于 200 格,则这次尝试被消耗,不会生成生命树。
要决定每棵生命树的垂直坐标,游戏会从树的水平坐标处顶部的真正世界边界开始向下检查,结束于地表地层。
- 在到达此范围内的第一个土块后,土块上方的图格将被选为生成坐标。
此后,游戏会在此坐标生成一棵生命树(一组中的“主”生命树),并尝试在它两侧生成一些“副”生命树。每一侧的尝试次数会被激活的秘密世界种子所更改。
默认 | 激活的秘密世界种子[a] | ||
---|---|---|---|
Drunk world | Celebrationmk10 | Don't dig up | |
0–3 | + (2–4) | + (2–4) | + (1–5) |
- “副”生命树的生成尝试次数示例:
- 默认每一侧有 0–3 次尝试,因此一组中最多可有 7 棵生命树(1 + 3 + 3)。
- Don't dig up 世界每一侧有 0–8 次尝试,因此一组中最多可有 17 棵生命树(1 + 8 + 8)。
- Get fixed boi 世界每一侧有 0–7 次尝试,因此一组中最多可有 15 棵生命树(1 + 7 + 7)。
- 注意每一侧的尝试次数并不一定是相等的。例如,有可能左侧进行了 2 次尝试,而右侧进行了 1 次尝试。
会先生成主树左侧的副树,然后再生成右侧的。在每一侧,副树是由近及远生成的。类似于主生命树,副生命树的生成也使用坐标。
- 每一侧将要生成的第一棵副树的初始水平坐标开始于主树的水平坐标。
- 然后,对于这一侧每一棵副树,执行以下操作:
- 通过将当前的水平坐标减去/加上(取决于正在主树的哪一侧进行生成)13 至 30 间的一个随机的数来得到树的水平坐标。
- 如果这一水平坐标和世界中心的距离少于 200 格,则这次尝试被消耗,不会生成生命树。
- 将垂直坐标设置为主树的垂直坐标。如果新的坐标是实心图格,则向上移动,直至找到一个未被占据的图格;如果新的坐标未被占用,则向下移动直至找到一个实心图格,然后将坐标设置为实心图格上方的那一格。这就是最终副生命树所生成于的图格。
- 类似于主生命树,如果在以图格为中心 100×100 的方形区域内有任何下列图格[b],这次尝试被消耗,不会生成生命树:
- 通过将当前的水平坐标减去/加上(取决于正在主树的哪一侧进行生成)13 至 30 间的一个随机的数来得到树的水平坐标。
小贴士
- (前代主机版、和3DS版) 只需添加一个光源,生命树中的宝藏房间就可以被用作 NPC 房屋。
- 在困难模式中,只要树下的区域被清空,生命树就会成为抵御邪恶生物群系和神圣生物群系那加快的蔓延速率的天然屏障。
- 在和毁灭者作战时,生命树可以作为高地使用。
花絮
- 有时,生命树的内部隧道会被附魔剑冢完全取代。
图库
- (电脑版、主机版、和移动版)有宝藏室的一棵生命树(用 Terrafirma 查看)。
- 生命树阻挡了猩红之地在地下的蔓延。
- 1.4.0.1 之前生成的生命树。
历史
- 电脑版 1.3.0.1:生命树现在生成生命木平台而非木平台。
- 电脑版 1.2:引入。
- 主机版 1.02:引入。
- 移动版 1.4.0.5.0:添加了电脑版 1.4.0.1 中的所有功能和变更。
- 移动版 1.2.6508:引入。
- 3DS正式版:引入。
参考
- ↑ 1.0 1.1 Get fixed boi 世界被视为激活了Drunk world 种子。
- ↑ 2.0 2.1 从该图格开始各方向上的范围:向左 50 格,向上 50 格,向右 49 格,向下 49 格。