feat(trigger): add 回合结束触发组支持

1. 新增fend触发组常量与默认英雄模板配置
2. 后端校验、渲染逻辑兼容新触发组
3. 更新文档说明fend触发组规范
4. 前端UI添加回合结束触发组编辑器
5. 兼容旧英雄数据补全fend空对象
This commit is contained in:
panFD
2026-09-14 17:09:31 +08:00
parent 923d81c2a0
commit b63572c383
4 changed files with 14 additions and 8 deletions

View File

@@ -42,7 +42,7 @@
| `statBase` | {hp,ap,def} | 相对 `HERO_ROLE_BASE[roleKey]` 的**偏移量**(可为负,如 5007 hp=−5);惯例量级 ±5/10/20/30 |
| `dis` / `speed` | number\|null | 英雄一般 null(走默认);显式配置才填 |
| `skills` | array | **恰好 2 个**:`[普攻, 大招]`,结构见 §3 |
| `atking`/`atked`/`fstart`/`dead` | object | 触发组,结构见 §4 |
| `atking`/`atked`/`fstart`/`fend`/`dead` | object | 触发组,结构见 §4 |
| `field` | array | 驻场光环档位,结构见 §5 |
| `bonus` | array | 额外属性加成 `[{lv,attrs:{...},name?,icon?,info?}]`,运行时累加所有 lv ≤ 英雄等级 的档位;`hp`/`ap`/`def` 为百分比(基数取"基础×品质+成长"快照,多档加法叠加),`crt`/`frz`/`stun`/`para` 为固定百分点;配了 `icon` 的档位在图鉴技能列表最末出图标(点击弹窗展示 name/效果,描述缺省按 attrs 自动生成,`info` 可自定义模板支持 `{lv}` 占位);常规英雄留空 |
| `info` | string | 描述文案,可空 |
@@ -67,12 +67,12 @@
- `desc` 为描述模板,占位符 `{target}` `{ap}` `{dur}` `{技能字段名}` 由 HeroSkillText 渲染实时数值;空字符串等价省略;
- 档位 `overrides` 与基础 `overrides` **浅合并**(档位优先),档位只写变化键。
## 4. 触发组规范(atking / atked / fstart / dead)
## 4. 触发组规范(atking / atked / fstart / fend / dead)
- 结构:`{ "<技能uuid字符串>": [条目, ...] }`,一个组可挂多个技能 uuid;
- 条目:`{lv, s_lv, name, t_num, overrides, desc}`;
- 解锁等级惯例 **lv4**(`lv:4, s_lv:1`;heroSet.ts 头部注释写的 lv6 已过时,现有英雄与编辑器默认值均为 lv4);
- `t_num`:每 n 次普攻(atking)/受击(atked)触发一次;
- `t_num`:每 n 次普攻(atking)/受击(atked)触发一次;fstart/fend 为每回合开始/结束固定触发 1 次,`t_num` 恒填 1;
- `name` 为组对外展示名(写在该组首档),留空回退底座名;
- 复活:在 `dead` 某条目 `overrides` 配 `revive_hp`(回血%)+ `revive_count`(次数上限);
- 无触发组时写空对象 `{}`,**不要省略字段**。