← 目录
此页面介绍了游戏如何存储和解析鱼塘数据。这是面向模组开发者的高级指南。
格式
鱼塘数据存储于 Data/FishPondData 文件,该文件为一个包含如下字段的数据模型所组成的列表:
字段
|
含义
|
Id
|
此列表项的唯一字符串ID。
|
RequiredTags
|
应当使用此列表项的鱼类的上下文标签。可以在某个标签前面添加 ! 来标识反向筛选。
例如,["fish_ocean", "fish_crab_pot", "!fish_carnivorous"] 匹配那些可以通过蟹笼被捕获、非肉食性的海鱼。
如果同一种鱼匹配多个鱼塘配置,会使用 Precedence 最高的配置。如果任何一项都不匹配,则 Data/FishPondData 提供了一个 RequiredTags 字段为 category_fish 的默认项。
|
ProducedItems
|
指定鱼类可以产出的物品。
当鱼塘准备好产出时(概率为 (15 + 8 * 鱼数)% ),其会遍历此列表中的每个物品,直到遇见第一个匹配的物品。如果没有匹配的列表项,则不会产出物品。
此字段为包含如下字段的数据模型所组成的列表:
字段
|
含义
|
Id
|
此列表项的唯一字符串ID。
|
通用字段
|
参见物品生成字段以了解鱼塘奖励支持的物品字段。
注意:
- 若 ItemId 或 RandomItemId 设为返回多个物品的物品查询,则随机选取一个。
- 若 ItemId 和 RandomItemId 设为字符串
(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 条之前,鱼会随机要求如下物品:
- 2 ~ 3 个紫蘑菇(物品ID 422);
- 2 颗绿宝石(物品ID 60);
- 2 ~ 3 个万象晶球(物品ID 749);
- 或 1 个干海星(物品ID 116);
|
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
|
(可选)一个游戏状态查询,指示何时应用此列表项。默认为总是应用。
|
|
Modding:Fish ponds