维护提醒

BWIKI 全站将于 9 月 3 日(全天)进行维护,期间无法编辑任何页面或发布新的评论。

全站通知:

模组:鱼塘数据

来自星露谷物语维基
跳到导航 跳到搜索

目录

此页面介绍了游戏如何存储和解析鱼塘数据。这是面向模组开发者的高级指南。

格式

鱼塘数据存储于 Data/FishPondData 文件,该文件为一个包含如下字段的数据模型所组成的列表:

字段 含义
Id 此列表项的唯一字符串ID
RequiredTags 应当使用此列表项的鱼类的上下文标签。可以在某个标签前面添加 ! 来标识反向筛选。

例如,["fish_ocean", "fish_crab_pot", "!fish_carnivorous"] 匹配那些可以通过蟹笼被捕获、非肉食性的海鱼。

如果同一种鱼匹配多个鱼塘配置,会使用 Precedence 最高的配置。如果任何一项都不匹配,则 Data/FishPondData 提供了一个 RequiredTags 字段为 category_fish 的默认项。

ProducedItems 指定鱼类可以产出的物品。

当鱼塘准备好产出时(概率为 (15 + 8 * 鱼数)%),其会遍历此列表中的每个物品,直到遇见第一个匹配的物品。如果没有匹配的列表项,则不会产出物品。

此字段为包含如下字段的数据模型所组成的列表:

字段 含义
Id 此列表项的唯一字符串ID
通用字段 参见物品生成字段以了解鱼塘奖励支持的物品字段。

注意:

  • ItemIdRandomItemId 设为返回多个物品的物品查询,则随机选取一个。
  • ItemIdRandomItemId 设为字符串 (O)812鱼籽),则会产出当前鱼类对应的鱼籽。
  • 对于 Condition 字段,其输入物品是指鱼塘中的鱼类。
RequiredPopulation (可选)产出此物品所需的最小鱼数。默认为 0。
Chance (可选)产出此物品的概率,介于 0(从不)到 1(总是)之间。游戏会按顺序依次判定前面的列表项的概率,然后再判定此列表项的概率。默认为 1。
MinQuantity
MaxQuantity
(过时)请转而使用物品生成字段的 MinStack/MaxStack
PopulationGates 此字段为鱼塘鱼数可以增长的规则(最多 10 条,这是硬编码的),以及相应的鱼塘任务。若忽略,则鱼数可以不受限制地增长到 10 条。

此字段为一个“数值 → 物品ID”查询,其中:

  • 键为使用此关卡所需的鱼数。
  • 值为完成此关卡所需的随机任务物品。每个物品都表示为 1 ~ 3 个空格分隔的值:物品ID、最小品质、最大品质。若同时指定了最小品质和最大品质,则随机取介于二者之间的随机品质。若仅指定最小品质,则必须恰好为最小品质。若都未指定,则鱼会要求一个品质。

考虑下面的鱼塘任务关卡:

"6": [ "422 2 3", "60 2", "749 2 3", "116" ]

其意味,在鱼数达到 6 条之前,鱼会随机要求如下物品:

MaxPopulation (可选)能生活在此鱼塘中的最大鱼数,无论是自然繁殖的还是人工添加的。不能超过硬编码的最大值 10。若忽略,则默认为基于 PopulationGates 的最大值。
Precedence (可选)此鱼塘配置被检查的优先级,其中 0 为大多数鱼塘配置的默认值。相同优先级的鱼塘规则会按列出的顺序被检查。默认为 0。
SpawnTime (可选)若鱼塘中尚有足够空间,繁殖一条鱼所需的天数。

若忽略,游戏会选取基于基础鱼价的随机值:1 天(0 ~ 30 金),2 天(31 ~ 80 金),3 天(81 ~ 120 金),4 天(121 ~ 250 金),5 天(250 金以上)。

WaterColor (可选)当此鱼塘配置生效时,鱼塘的色调。若指定多个值,则使用第一个匹配的值。若没有匹配值,则使用默认水色

此字段为包含如下字段的数据模型所组成的列表:

字段 效果
Id 此列表项的唯一字符串ID
Color (可选)水的颜色。可以为标准颜色值,也可以为 CopyFromInput(代表使用鱼塘 (to use the item color from the fish item data). Default none.
MinPopulation (可选)应用此颜色所需的最小鱼数。默认为 1。
MinUnlockedPopulationGate (可选)应用此颜色所需解锁的最低鱼塘关卡,或取 0 代表无限制。默认为 0。
Condition (可选)一个游戏状态查询,指示何时应用此列表项。默认为总是应用。