跳到正文

第一个模组

五分钟做出一个完整可用的模组:用 extends 从原版单位出发,改你想改的。

最简单的路径是 extends:从一个原版定义出发,只覆盖你想改的。下面就是一个完整可用的模组,后期用的重型野牛:

{
  "format": "steel-tide-mod",
  "v": 4,
  "id": "bison-ii",
  "name": [
    "Bison II",
    "野牛 II"
  ],
  "version": "1.0.0",
  "author": "you",
  "description": [
    "A heavier Bison for the late game.",
    "后期用的重型野牛。"
  ],
  "defs": [
    {
      "id": "bison2",
      "extends": "mbt",
      "name": [
        "Bison II",
        "野牛 II"
      ],
      "desc": [
        "Thicker plate, a bigger gun, and a bigger bill.",
        "更厚的装甲、更大的炮,也更贵。"
      ],
      "tier": 3,
      "cost": 520,
      "hp": 1100,
      "speed": 52,
      "requires": [
        "radar"
      ],
      "weapons": [
        {
          "id": "cannon",
          "cls": "cannon",
          "dmg": 90,
          "reload": 2,
          "range": 5,
          "splash": 12,
          "turret": true,
          "muzzleOffset": 23
        }
      ],
      "aiWeight": 2
    }
  ]
}
  1. 把它保存为 mod.json,放进一个名为 bison-ii 的文件夹。
  2. 在游戏里打开“设置 → 模组”,点打开文件夹…(或者把文件夹压缩后点上传文件…)。游戏会告诉你加载了什么,或者列出哪里有问题,每一条都带着它在 mod.json 里的路径。
  3. 开一局征服。野牛 II 会从二级战车工厂开始出现在生产列表里,因为野牛就在那里生产;它用野牛的图像;而且 AI 也会造它,因为定义带了 aiWeight。

extends 会复制一切(图像、武器、造价、生产位置),你写出的每个字段都替换掉复制的值。不写 weapons 就保留基础单位的武器;写自己的列表就整个替换。

接下来,在游戏里测试它,给它自己的图像和武器,等它玩起来如你所愿,就发布它。

最后编辑