模组
模组能让玩家添加新内容,或更改游戏的运作方式。分两种:数据模组(一个 JSON 文件)和脚本模组(JavaScript)。
要点
- 在设置的模组页面里添加或移除模组。
- 数据模组添加内容:技能、物品、活动和地点。游戏在载入每个文件时都会先检查。
- 脚本模组几乎能更改任何东西。它们不受沙盒限制,所以只安装你信任的模组。
- 模组页面上有文件格式说明,还有一个能直接用的示例。
数据模组
一个添加内容的 JSON 文件:技能、物品、活动和地点。游戏载入时会检查文件,拒绝任何会破坏存档、或指向不存在内容的东西。数据模组的物品和游戏自带的物品运作方式完全一样。
脚本模组
一个拥有和游戏本身相同权限的 JavaScript 模块。它会拿到一个对象,api(API v1)。有了它,模组能添加各种内容、更改规则、添加加成、使用游戏的每个指令、监听改动、添加面板和页面、样式、提示和设置,把自己的数据存进存档,还能依赖其他模组。
你在模组页面确认信任。游戏不会把脚本模组放进沙盒,所以只安装你信任的模组。
给模组作者:让离开期间保持公平
就算装了模组,离开期间的结果也必须和看着玩一样。有两条规则保证这一点:
- 在游戏启动时注册内容、规则和加成。它们在本次游玩期间保持不变。
- 只通过游戏指令更改模组保存的数据。
如果一个加成读取系统时间,或者自己掷骰子,就会破坏这一点,离开期间的结果就不再和看着玩时一致。
参考
设置里的模组页面有完整的文件格式和一个示例模组。脚本模组可以用 Object.keys(api) 列出自己能用的一切。