全站通知:

模组:能力

来自站务
跳到导航 跳到搜索

目录

此页面解释游戏如何存储和解析特殊物品与能力的数据。这是面向模组开发者的高级指南。

概览

特殊物品与能力是每个玩家只能获取一次的特殊“物品”,它们能永久解锁新能力。关于能力的信息存储在 Data/Powers 中。然而素材文件本身并不能赋予玩家任何能力。素材文件中只包含能力的解锁条件信息及其在菜单中的显示信息。

数据格式

您可以通过编辑 Data/Powers 数据素材来添加或修改特殊物品与能力

此素材文件内含一个“字符串 → 数据模型”查询,其中:

字段 描述
DisplayName 一个模板字符串,用于显示能力解锁后的译名。
Description (可选)一个模板字符串,用于显示能力描述的译文。
TexturePath 能力图标所在贴图集的素材名称。
TexturePosition 能力图标在贴图集中的位置,相对于左上角。此字段应当指定为包含 XY 字段的数据模型。能力贴图尺寸必须恰为 16x16 像素。
UnlockedCondition 一个游戏状态查询,也即能力的解锁条件。
CustomFields (可选)此条目的自定义字段

例如,下面的 Content Patcher 内容包添加了一个自定义的河豚鱼能力,它在玩家抓到河豚鱼后解锁:

{
    "Format": "2.7.0",
    "Changes": [
        // 加载图标
        {
            "Action": "Load",
            "Target": "Mods/{{ModId}}/PufferIcon",
            "FromFile": "assets/PufferIcon.png"
        },

        // 添加能力
        {
            "Action": "EditData",
            "Target": "Data/Powers",
            "Entries": {
                "{{ModId}}_Pufferpower": {
                    "DisplayName": "Puffer's Blessing",
                    "Description": "You feel as if you have become one with the pufferfish...",
                    "TexturePath": "Mods/{{ModId}}/PufferIcon",
                    "TexturePosition": {
                        "X": 0,  // 此示例中用到的图标位于贴图集左上角。请根据实际情况调整坐标。
                        "Y": 0
                    },
                    "UnlockedCondition": "PLAYER_HAS_CAUGHT_FISH Current 128",  // 玩家抓到了河豚
                }
            }
        }
    ]
}