Keep skill total labels visible in the grid; mod documentation

This commit is contained in:
cthangover committed 2026-10-29 09:26:16 +01:00
1 parent 4839ee71ad
commit 07648cc236
17 files changed
+494 -8

No files matched your search

+69
View File
@@ -0,0 +1,69 @@
# Skills Engine — 玩家的技能卡收藏
Skills Engine 保存玩家收集到的技能,并以卡片形式显示在**技能**面板中。一个技能可以开启其他机制中的可能性(被动"大门"),给玩家发放新的战斗行动卡,并把数值累加进**收藏效果**——所有已收集技能的总和。
它是 Cthangover 的一部分:游戏开局时玩家就带有一个技能——**奴隶贩子**。
## 技能面板
用工具栏上的技能图标打开。
![Cthangover 中的技能面板:网格中的"奴隶贩子"卡(史诗、被动、俘虏几率 +10%),右侧卡牌研读区显示它的描述,角落的收藏效果牌写着"+10% 俘虏几率"。](assets/skills-panel.jpg)
- **页签**按类型筛选——**被动**、**主动**、**角色专属**——稀有度一行按稀有度筛选,从**普通**到**传说**;搜索框和排序列表可以缩小网格范围。
- **边框颜色和菱形标记**表示卡片的稀有度。
- **点击一张卡**可在卡牌研读区查看它:图片、稀有度和类型徽章、描述、它的效果,以及(若技能授予行动卡)它给出的那张行动卡。
- **收藏效果**把所有已收集技能的效果加在一起:一个 +10%、一个 +5% 俘虏几率的技能会显示 +15%。
"奴隶贩子"这张卡暂时没有图片:游戏指定 `characters/skills/slave_master` 作为它的图片,但没有任何 mod 提供这个文件,所以边框一直空着。
## 技能的定义
技能是类型为 `skill` 的 JSON 文件,放在 mod 的任何位置。这是 Cthangover 的奴隶贩子——可与上面的面板对照:
```json
{
"Kind": "skill",
"Items": [
{
"Id": "slave_master",
"Name": "characters/skills/slave_master_name",
"Description": "characters/skills/slave_master",
"Image": "characters/skills/slave_master",
"Type": 1,
"Rare": 3,
"Effects": [
{ "Key": "characters/skills/effects/recruit", "Value": 10, "Percent": true }
]
}
]
}
```
- `Name`、`Description` — 翻译键。
- `Image` — 卡片图片。
- `Type` — `Active`(0)、`Passive`(1)或 `ForCharacter`(2);名称或数字都可以。奴隶贩子是**被动**。
- `Rare` — `Common`(0)、`Uncommon`、`Rare`、`Epic`(3)、`Legendary`。奴隶贩子是**史诗**。
- `Effects` — 供收藏效果累计的数值:`Key` 是所加成内容的翻译键,`Value` 是数值,`Percent` 决定是否按百分比显示。同一个键在所有技能里必须使用同一单位,因为这些数值要相加。
- `GrantsAction`(可选)— 一张行动卡的 id(见 Characters Engine)。获得技能的同时,这张卡也会进入"角色行动"面板的行动卡池。
## 技能在游戏里做什么
面板只负责展示技能。技能真正改变什么,由检查它的那些 mod 决定:
- 只有当玩家拥有 `slave_master` 时,recruiting 才会提供**奴役**被击败敌人的选项。成功率是敌人自身的 `RecruitmentChance`;卡片上的 +10% 只显示在面板里,recruiting 并不会把它加进去。
- 带 `GrantsAction` 的技能会给出它的行动卡,玩家随后可以把它放进角色的栏位。
## 从剧本授予技能
```scenario
action character.add_skill skill_id=slave_master
```
重复授予同一个技能不会有任何效果,所以重复播放的场景不会复制技能或它的行动卡。Cthangover 在新游戏开始时授予奴隶贩子。
## 出问题时
1. **技能没有出现。** `skill_id` 必须与技能的 `Id` 一致;未知 id 会作为警告写入日志。
2. **卡片没有图片。** 没有 mod 提供 `Image` 里所写名称的图片。
3. **收藏效果显示出奇怪的总数。** 两个技能用了相同的效果键但 `Percent` 值不同。