游戏版本 756039
首页 › 游戏机制 › 科技

科技 Technology

机制科技制作科技站 又名 科技树又名 制作科技

科技是《饥荒联机版》制作系统中的配方门槛:配方要求角色拥有对应科技树等级,或靠近并激活能提供该等级的科技站。最常见的基础路线是先制作科学机器,再用它解锁炼金引擎与其他制作站。

概述

科技不是单独可拾取或消耗的物品,而是制作系统用来判断配方可用性的等级集合。每个配方在 recipes.lua 中带有一个科技等级表;制作时,角色当前可用科技树中的每一项都必须达到配方要求,否则不能制作。

科技分为多条彼此独立的树,包括 SCIENCE(科学)、MAGIC(魔法)、ANCIENT(远古)、CELESTIAL(天体)、SHADOW(暗影)、SEAFARING(航海)、SCULPTING(雕塑)、CARTOGRAPHY(制图)等;源码还定义了料理加工、钓鱼、地皮制作、锻造、节日商店等专用科技树。完整的可用科技树列表见 techtree.lua。

科技等级与配方判定

constants.lua 将常用门槛定义为 TECH.NONE、TECH.SCIENCE_ONE、TECH.SCIENCE_TWO、TECH.SCIENCE_THREE、TECH.MAGIC_TWO、TECH.MAGIC_THREE、TECH.ANCIENT_TWO、TECH.ANCIENT_THREE、TECH.ANCIENT_FOUR 等。例如:

  • SCIENCE_ONE 要求科学等级达到 1;SCIENCE_TWO 和 SCIENCE_THREE 分别要求达到更高科学等级。
  • 魔法科技从 MAGIC_TWO 起步,源码注释明确说明不会在初始阶段展示低级魔法门槛。
  • ANCIENT_TWO、ANCIENT_FOUR 分别代表远古科技树的对应等级。
  • CELESTIAL_ONE 与 CELESTIAL_THREE 用于天体相关配方;旧的 MOON_ALTAR_TWO 实际映射到天体等级 3,源码标记为弃用。

Builder:KnowsRecipe 会逐项比较配方的 recipe.level 与角色的科技加成;任意一项要求高于当前值时,配方就不算已知。科技判定与材料判定是两件事:即使科技足够,仍须拥有全部普通材料、角色专属材料和科技材料。

科技站与提供的等级

科技站通过 prototyper 组件提供一份科技树。角色靠近科技站后,建造组件会在 4 范围内搜索可用的科技站,并激活距离最近的一个;不同科技站同时存在时,其他站会被关闭。科技站的范围、角色限制和特殊使用条件还可以由组件覆盖。

主要基础科技站如下:

科技站 代码名 提供的科技
科学机器 researchlab 科学等级 1、魔法等级 1
炼金引擎 researchlab2 科学等级 2、魔法等级 1
灵子分解器 researchlab3 魔法等级 2
暗影操纵器 researchlab4 魔法等级 3
远古祭坛(低级) ancient_altar 远古等级 2
远古祭坛(高级) ancient_altar 远古等级 4

上表中的科技树数值来自 TUNING.PROTOTYPER_TREES;科学机器与炼金引擎的 prefab 会分别绑定 SCIENCEMACHINE 与 ALCHEMYMACHINE 科技树。其他专用站点也可只提供某一条专用科技树,例如航海、制图、雕塑、钓鱼或地皮制作。

基础制作站配方

科技站本身也是配方,配方卡会显示当前版本的材料与制作条件:

“配方要求的科技”和“科技站提供的科技”是两个方向:例如炼金引擎的配方要求科学等级 1,而建成后提供科学等级 2与魔法等级 1。

解锁方式与制作流程

常规制作流程如下:

  1. 先制作并放置科学机器。科学机器的配方使用 TECH.NONE,因此不依赖其他科技。
  2. 站在科技机器的有效范围内打开制作栏。Builder:EvaluateTechTrees 会读取当前科技站的树,并把可用等级合并到角色的临时科技状态中。
  3. 制作一个达到当前科技等级要求的配方。若该配方尚未永久记录,制作成功后会激活当前研究机器,并调用 UnlockRecipe 记录配方;标记为 nounlock 的配方不按普通方式永久解锁。
  4. 制作更高等级的科技站,再靠近它制作更高阶配方。

部分配方不依赖科技树,而是受 builder_tag、builder_skill、no_builder_tag 或 no_builder_skill 限制。角色专属配方可能因此在科技足够时仍不可制作。角色的永久科技加成和临时科技加成也会参与判定;临时加成可能在制作后被消耗。

制作限制

制作一个配方至少要同时满足以下条件:

  • 当前配方存在且没有被角色标签或技能树条件拒绝;
  • 科技树的每一项等级都达到配方要求;
  • 拥有配方中的普通材料;
  • 拥有角色专属材料与科技材料(如果配方声明了这些材料);
  • 配方没有达到制作站施加的次数上限;
  • 对需要放置的建筑,还必须通过放置点检查。

制作站配方可以由 craftingstation 组件额外控制次数或解锁状态。EvaluateTechTrees 会把这类站点配方单独加入 station_recipes,并同步其制作限制。科技站还可能带有 restrictedtag,只有拥有相应角色标签的角色才能使用。

常见发展路线

以下路线对应源码中基础科技站和典型配方的依赖关系,具体材料获取不属于科技系统本身:

基础生存路线

先制作科学机器,获得科学等级 1后制作炼金引擎(炼金引擎),再制作科学等级 2的工具升级配方,例如黄金斧头、黄金鹤嘴锄或黄金铲子。长矛、木甲、背包等常用生存装备则只要求科学等级 1,可在科学机器附近完成。

魔法路线

在科学机器或炼金引擎提供的基础魔法等级上,制作需要 MAGIC_TWO 的暗影操控器(灵子分解器);之后可使用魔法等级 2和更高等级的魔法配方。魔法路线不等同于科学等级路线,配方会单独检查 MAGIC 项。

航海与专用制作路线

科学等级 1可以制作航海科技站、制图桌、钓具容器和雕塑台等专用站点。建成后,它们提供各自的 SEAFARING、CARTOGRAPHY、FISHING 或 SCULPTING 科技树,不会自动替代科学机器的基础科技。

远古与天体路线

远古配方使用 ANCIENT 科技树,天体配方使用 CELESTIAL 科技树;这些等级由远古祭坛、天体相关原型站或其他特定系统提供。不能因为拥有科学或魔法等级,就直接满足远古、天体或暗影配方的门槛。

代码参考

  • scripts/techtree.lua:可用科技树、可添加科技加成的科技树,以及科技树初始化。
  • scripts/constants.lua:TECH.* 配方门槛定义。
  • scripts/tuning.lua:TUNING.PROTOTYPER_TREES,基础科技站提供的科技等级;RESEARCH_MACHINE_DIST,科技站搜索范围。
  • scripts/recipes.lua:PROTOTYPER_DEFS 科技站定义与基础科技站配方。
  • scripts/components/prototyper.lua:科技站的科技树、启用/停用和使用距离判断。
  • scripts/components/builder.lua:EvaluateTechTrees、KnowsRecipe、HasIngredients、MakeRecipeFromMenu,负责科技合并、配方判定、材料检查与制作后的解锁。

相关条目

科学机器炼金引擎暗影操控器灵子分解器长矛背包木甲

版本记录

  • 首次收录:build 756039;正文编写:build 756039;核对至:build 756039

依据源码:scripts/techtree.lua scripts/constants.lua scripts/tuning.lua scripts/recipes.lua scripts/components/prototyper.lua scripts/components/builder.lua scripts/prefabs/scienceprototyper.lua

涉及实体:technology(technology)