房屋(或家)是生成城镇 NPC 所必需的由玩家建造的建筑物,每个 NPC 都需要一间房屋。建筑物需要满足一些要求才能作为房屋使用(见下方章节)。可以用房屋菜单中最上方标有一个问号(“?”)的按钮检查建筑物是否满足要求。在夜晚,NPC 一般会回到他们的房屋并待在其中直到黎明。在日食或下雨期间他们也会回到房屋中。
向导在新世界一开启时就会出现,但如果他被杀死就需要有房屋才能重生。老人、旅商、骷髅商人不要求房屋。
类似地,向导、渔夫、哥布林工匠、馆老、机械师、发型师、巫师、收、和高尔夫球手 各自的最初出现和是否有可用房屋无关。一旦首次发现他们后,每个人都需要有一个合适的房屋才会重生。
某些自然生成的建筑物只要玩家在其中放置光源就可以作为房屋并会在不经意间吸引 NPC。例如漂浮岛上的建筑物,和 生命树的宝藏室。具体列表见下方章节。可以用房屋菜单将住在其中的 NPC 搬到玩家的建筑物去。
玩家选定床能作为生成点的要求与作为 NPC 房屋的要求类似,但要宽松一些。玩家无需床以外的其他家具。完整细节参见床页面。
房屋菜单[]
用于管理 NPC 放置的菜单,通过点击盔甲栏上方的小房子图标进入。
房屋菜单中,可以检查所建造的房屋是否适合使用,并能手工为特定 NPC 指定房屋。要进入此菜单,点击物品栏上方的房屋图标。
要检查房屋是否适合使用,点击“?”房屋查询标记,然后点击房屋内部的任何地方;玩家会收到一条讯息,表明此房屋是否适合。如果不适合,游戏会提示此房屋缺了什么。该警告会优先考虑墙壁(前景和背景都考虑),然后是家具(门、光源、桌子、和椅子)。一条笼统的“This is not valid housing.”提示可能是由于房屋的框架没有封闭,或者 NPC 没有可用的站立点(见下方章节)。
一旦房屋确定为合适,就可以通过在其中放置相应的 NPC 旗号 来为其分配 NPC。注意只会出现已存在于世界中的那些 NPC 旗号。例如,首次进入新世界时,只会显示向导的 NPC 旗号。其他 NPC 的 NPC 旗号只会在他们在世界中生成后才会显示。在 Desktop version, Console version, Mobile version, Nintendo Switch version, and tModLoader version中,NPC 旗号有两种不同的外观,实心的红色和带金色边框的红色。自行入住的 NPC 是常规的红色旗号。如果是分配了房屋的,其旗号会带有金色边框。这指示着当前居住在这个家里的 NPC 死亡后,其继任的 NPC 将必定入住到此房屋中。
在 Old-gen console version中,房屋菜单可以通过按Inventory键并来到房屋菜单部分来打开。要检查房屋是否有效,按下Quick Buff键,然后所在的房屋的状态会输出到聊天中。 按Inventory键来显示/隐藏房屋旗号。
当第一次满足某个 NPC 的生成条件时,会从可用的合适空房屋中随机为其分配一间。
房屋有效性评估[]
房屋有效性的评估分成 3 个阶段:框架检测,家具检测,属性检测。
框架[]
在这一阶段,游戏会尝试判定出房屋的内部区域和边框,并且对其结构完成若干评估。[1]
房屋的范围包括一块连通的内部区域和围绕着内部区域的边框,其中:
- 一个图格可以在 8 个方向上“连通”,即内部区域的图格在水平方向、竖直方向、或斜角方向上彼此相连。
- “边框”是指围绕着内部区域的图格。边框必须完全封闭,即内部区域和边框外的区域完全不连通。边框必须是实心图格(即实心块或平台,见表)或者机关门、门、或高门组成(仅有关门状态下所占据的那些图格才有效)。
房屋范围内的所有图格(即包括内部区域和边框的整体),需要满足以下条件:
- 所有图格离世界真正边缘必须有至少 10 个图格远。[2]
- 范围内不允许存在水平或竖直方向上连续 5 个及以上图格的“洞”。“洞”指的是未被有效的实心块占据同时又没有有效的背景墙的图格。
- 房屋的大小也有约束:边框和内部区域总共的图格数量至少要有 60 个,同时要少于 750 个。
最小的房屋尺寸[]
由于房屋总格数必须至少有 60 格,但要少于 750 格。因此,房屋外框尺寸必须满足以下最低要求之一:
不包括天花板、地板和墙 | 包括天花板、地板和墙 |
---|---|
3 格宽 × 10 格高 [3] | 5 格宽 × 12 格高 |
4 格宽 × 8 格高 | 6 格宽 × 10 格高 |
5 格宽 × 7 格高 | 7 格宽 × 9 格高 |
6 格宽 × 6 格高 | 8 格宽 × 8 格高 |
7 格宽 × 5 格高 | 9 格宽 × 7 格高 |
8 格宽 × 4 格高 | 10 格宽 × 6 格高 |
10 格宽 × 3 格高 | 12 格宽 × 5 格高 |
13 格宽 × 2 格高 [4] | 15 格宽 × 4 格高 |
家具[]
在这一阶段,游戏会检测房屋内是否有必要的家具。
房屋范围内必须至少有一个有效的光源、一个有效的平坦表面物品、一个有效的舒适性物品、和一个有效的入口。[5]符合条件的最小最简单的物品分别是火把、工作台、和椅子。具体列表见下方。 [6]
- 并不是所有提供光亮的物品都满足房屋的光源要求;具体来说,任何“前景物块”、平台、或墙都是不合格的。
- 入口并不需要是 NPC 可使用的(例如,NPC 并不能使用机关门),也并不需要通向“室外”(例如,放置在房屋内的一个平台也是可用的)。
- 下列每个物品的任何类型都满足要求。例如,任何颜色的火把都可以,任何主题的椅子也一样。
光源
属性[]
经过以上的步骤,房屋似乎已经合格了,但仍可能有三种原因导致它变得无效:它已被占用;它太靠近或在邪恶生物群落中;它其中没有可供 NPC 站立的位置。
- 首先,检查房屋是否已被其他 NPC 入住占据。如果已有入住,则房屋无效,并显示“This housing is already occupied.”
- 否则,就会通过判定两种房屋属性的方式来确认一个房屋是否有效:邪恶分值,和家图格分值。[7]
邪恶分值[]
然后,开始评估邪恶分值:
- 以房屋范围为基准,向四个方向延伸一定距离后所形成的矩形区域为评估区域。具体延伸范围随游戏版本而有所不同,在 .4.2. 中是:
- 如果以上区域四边中的任意边距离世界(真正)边缘小于 5 个图格,则收缩到以距离世界边缘 5 个图格处。 [9]
- 统计区域中的所有有效的、未被图格(包括被致动后变为背景物块的)的总分值,具体见下表:
图格 | 分值影响 |
---|---|
腐化草 | 每图格 +1 分 |
黑檀石块 | |
紫冰雪块 | |
黑檀沙块 | |
黑檀沙岩块 | |
硬化黑檀沙块 | |
腐化多刺灌木 | |
腐化植物 | |
魔菇 | |
猩红草 | |
猩红石块 | |
红冰雪块 | |
猩红沙块 | |
猩红沙岩块 | |
硬化猩红沙块 | |
猩红多刺灌木 | |
神圣草 | 每图格 -1 分 |
珍珠石块 | |
粉冰雪块 | |
珍珠沙块 | |
珍珠沙岩块 | |
硬化珍珠沙块 | |
矮小神圣植物 | |
高大神圣植物 (每株植物仅算作一个图格,只是外观上高两个图格。) | |
向日葵 | 每棵 -40 分[10] |
- 最终计算:邪恶分值 = 腐化块分值 + 猩红块分值 - 神圣物块分值 - 向日葵分值
如果邪恶分值 ≥ 50,则房屋无效,并显示“This housing is corrupted.”,邪恶分值 ≥ 300 时则改为显示“This is not valid housing.”当一间已被占用的房间被腐化/猩红化时,生活在其中的 NPC 会搬出去并在此区域走动,直到有新的房屋可用。
如果邪恶分值 < 50,用(50 - 邪恶分值)计算出中间得分。此得分会在家图格判定中使用。
家图格判定[]
然后,开始判定房屋范围内是否有合格的家图格。家图格为一个符合下列条件的图格;右图中紫色图格作为待判定的家图格:
- 必须是实心图格
- 不能是平台或泡泡
- 未被致动
- 左边和右边直接相邻的图格(蓝色图格)必须是实心图格,且未被致动
- 其正上方高 3 格,宽 3 格的范围内(绿色方框中的图格)不能有影响通行的物体(即不允许有未致动的实心块,但可以有平台)
- 其正上方 3 格(绿色方框中的黄色图格)必须没有有效前景图格,也不能是实心图格。并且这 3 格必须全部都在房屋范围内。
如果有符合以上条件的图格,用(在邪恶分值判定中得到的)中间得分,结合正上方 5×4 范围内(红色、白色、黄色图格)的物体情况进行分值评估:
- 此范围内所有有效的前景图格,且不是下方列表中的无效图格的,进行以下操作:
- 此范围内,在正中间一列的(即图格正上方 1×4 的范围;黄色图格)不参与第一次评估,只参与下方第二次评估。
- 剩下 16 格范围内(红色、白色图格),满足以上条件的图格,参与第一次评估:
- 每一格关闭的门或高门减 20 分。
- 每一格开启的门的门轴部分(即关闭状态下门所占据的范围)减 20 分。开启的高门不影响分数。
- 每一格未致动实心图格减 5 分。
- 其它物体,每一格加 5 分。
|
如果分值 ≤ 0,那么此图格不合格。
如果分值 > 0,那么继续进行第二次评估:
- 如果此房屋入住会导致两名 NPC 共享房屋(即城镇 NPC 和城镇宠物共用房屋),且当前格与先前入住的那个 NPC 的家图格水平距离小于 3,那么分值会被直接设置为 1。
- 如果正上方 5×4 范围内(红色、白色、黄色图格)有宝箱,宝箱每占用一个图格减 30 分。如果计算后分值小于 1 ,则设置为 1。
- 如果正上方 1×4 范围内(黄色图格)有合格的图格,每有一格就减 15 分。
- 如果最后计算出的分值 ≤ 0,此格不合格。
房屋内必须至少有一格合格的家图格作为 NPC 的站立点。NPC 旗号会挂在 NPC 站立点上方。如果有多个有效的家图格,则会选择分数最高的图格中,最靠左上的那格。[11]
松露人[]
松露人 NPC对他的房屋有额外条件:他的房屋周围范围内必须有至少 100 格的发光蘑菇生物群落物块。这一范围和用于计算邪恶分值的评估区域的大小相同。
成就[]
备注[]
- 房屋可以连在一起并共用公共墙壁、地板、天花板、和门。在玩家看来,这就像一座有多个房间的房屋或者公寓,而在 NPC 看来这就是一堆互相独立的房屋。
- 几乎所有 NPC 房屋都符合玩家放置床并将其用作生成点所需的条件,只要床正上方的图格未被阻挡即可(完整细节,参见床页面)。床也算作舒适性物品。
- 如果已分配给 NPC 的房屋被摧毁或有任何要求变为无效状态,NPC 会在此区域走动直到重新有可用的有效房屋。如果 NPC 被杀死,他会在有效的房屋恢复了之后立刻重生。
- 当房屋处于可见屏幕内时,NPC 不会在房屋内重生,取而代之的是在屏幕外面的区域走动。在单人模式中,退出并重新进入游戏会使 NPC 回到自己的房屋。在夜晚,如果玩家移动到几个屏幕之外,或使用魔镜、传送机、或冰雪镜,NPC 们会自动进入他们的房屋中。
- 世界的侧边、顶边、和底边不算作墙。
- 如果石墙已被转化为珍珠石墙,房屋也会变为无效。
- 在 Old-gen console version, Nintendo version, and tModLoader version中,如果在世界初始生成点建造房屋,最好不要在人物出现的地方放置任何前景物体或物块;当玩家传送回来或者重生时,玩家出现位置上的所有物块或家具都会被破坏,这可能会让房屋变得无效。
- 增加世界中空房屋内空墙区域(即只有背景墙,没有其它前景物块/背景物体的图格)的大小会使 NPC 入住更快。此外,使用沙岩砖墙会将 NPC 入住需花费的时间乘以 4 倍。[12]
- 这意味着没有空墙区域的房屋只能被玩家分配 NPC。(译注:入住(move in),指新的或失去房屋的 NPC 搬进一个房屋这一事件;分配(assign),指使用房屋菜单让世界中已经存在的 NPC 住到一个房屋中的行为)
- 液体不会影响房屋有效性的评估。
小贴士[]
- 如果位于活跃的腐化或猩红生物群落中,房屋永远不会有效。这会让购买有生物群落需求的物品(对于油漆工特别明显)需要折腾一番才能满足。对于此种情况,建议使用国王雕像或女王雕像将 NPC 传送以购买物品。
- 如果没有国王雕像或女王雕像,可以在邪恶分值判定区域外且仍然处于邪恶生物群落中(邪恶生物群落的背景可见)的位置建造房屋,它将仍然是上述生物群落中的有效房屋。
- 致动器可以和棕、灰、丛林蜥蜴压力板共同使用来让玩家可以进入同时阻止敌怪进入和 NPC 外出。也可以用机关门,敌怪和 NPC 都打不开它。但是,如果制动后的墙维持打开状态,这可能让房屋变得无效,直到再次将其变得实心为止。
- 1.3.1 更新以后,用玩家感应器来代替压力板会很有用且很方便。这不仅可以节约一些可用地板空间,还能避免因为意外失误而让入口意外开启。警告:玩家感应器自身不是有效的房屋框架物块;如果将其用作地板、天花板、或侧墙(包括拐角)的一部分,则房屋会变得无效。
- 如果确实绝对有必要,(比如,在中,没有房屋菜单),玩家可以通过摧毁所有其余房屋的方式强制让某个 NPC 进入特定的房屋。
- 困难模式的天然墙,比如珍珠石和黑檀石墙,不算作有效的墙。
- “无限房屋”漏洞在 Old-gen console version上会一直可用,因为这些主机不会收到泰拉瑞亚的后继更新。 [13]
- 在房屋符合大小要求的同时,它可以是任何形状的,而并不仅限于矩形或正方形。(例如,圆顶房屋依然有效。)
- 房屋是玩家挥洒创意的好地方。为NPC 提供经过装修及主题化的家是很有意思的,虽然空荡荡的房间也足以让他们满意。1.4 中实现的NPC 快乐系统建立在这种乐趣来源之上,通过让 NPC 对其房屋的位置和与其他 NPC 房屋的距离有所偏好来实现。也就是说,NPC 的快乐并不受房屋的外观或装修所影响,从而让玩家在这方面能不受约束自由发挥。
- 明智的做法是在当前 NPC 数量之外建造一些“备用”房屋:
- 任何新 NPC 一旦生成或被找到立刻就能搬进来(可能是意料之外的)。
- 特别是在进入困难模式是,一些房屋可能会因腐化或猩红而变得无效,有备用的有助于避免 NPC 变得物无家可归。
- 在每个基地中都有额外的房屋对于管理四处移动的 NPC 的快乐会有所帮助,并有助于确保晶塔维持可用。
- 在地下建造房屋时,粘性炸弹或虫炸是不错的选择,因为它们较为精准,且能够破坏背景墙以更方便地放置墙。
参考[]
- ↑ Information taken from the Desktop 1.4.2.3 source code,
Terraria.WorldGen
中的StartRoomCheck()
方法。 There may be inaccuracies, as the current Desktop version is 1.4.4.9. - ↑ 游戏中世界可见边缘外部还有约 40 个图格的不可见区域,然后才是真正边缘,所以这一条在正常游戏过程中应当不会触发。
- ↑ 仅当使用工作台而非桌子时才可能。
- ↑ 仅当使用平台作为天花板时才可能。在Desktop, Console, Mobile, Switch, and tModLoader上已不再可能。
- ↑ Information taken from the Desktop 1.4.2.3 source code,
Terraria.WorldGen
中的RoomNeeds()
方法。 There may be inaccuracies, as the current Desktop version is 1.4.4.9. - ↑ Information taken from the Desktop 1.4.2.3 source code,
Terraria.ID.Sets.RoomNeeds
类。 There may be inaccuracies, as the current Desktop version is 1.4.4.9. - ↑ Information taken from the Desktop 1.4.2.3 source code,
Terraria.WorldGen
中的ScoreRoom()
方法。 There may be inaccuracies, as the current Desktop version is 1.4.4.9. - ↑ 8.0 8.1 此处的实际代码存在 Bug,多了一个 /16 ,导致实际范围远小于应有范围。按 1.4.2.3 的代码中的数值,延伸距离原本应当是水平方向各 144 图格,垂直方向向上 101 图格、向下 104 图格。这个 Bug 使得实际上房屋几乎不会因为腐化问题而无效。
- ↑ 注意,此条在正常游戏中可能触发,因为评估区域的延伸距离长于世界可见边缘和真正边缘的距离。
- ↑ 每个图格 -5 分,每棵向日葵占 8 个图格
- ↑ 游戏会从上到下,从左到右依次检查房屋内图格:如果比之前分数更高,则记录为候选;如果和之前分数相同或更低,则跳过。因此,当多个图格并列最高时,最靠上、靠左的图格会被选为家图格。
- ↑ Information taken from the Desktop 1.4.2.3 source code,
Terraria.WorldGen.cs
中的TrySpawningTownNPC
方法。 There may be inaccuracies, as the current Desktop version is 1.4.4.9. - ↑ 前代主机不会再有后继更新
历史[]
- 电脑版 1.4.0.1: Chippy的沙发现在可以在房屋中用作舒适性物品。
- 电脑版 1.3.5.3: 修正了在某些语言中试图在不合适的房间上使用房间查询时出现的错误。
- 电脑版 1.3.5: 对于手工分配房间的 NPC,如果之前那个被杀,其继任会尝试搬进同一间房间内。
- 电脑版 1.3.1: 修正了“无限房屋”漏洞。
- 电脑版 1.3.0.5: 生命树叶墙现在可以作为房屋的背景墙。
- 电脑版 1.3.0.1: 来自地牢的蓝板墙现在对于房屋也算作有效。
- 电脑版 1.2.4.1: 开着的门再次会导致房间变为不合适,但仅限于向同一个房间开两扇门的情况。(依赖于房间的大小)
- 电脑版 1.2: 修正了一个会导致合适的房屋变为不合适的 Bug。
zh:房屋tr:House/trbg:House/bgnl:House/nlit:House/itcs:House/cs