feat(trigger): add 回合结束触发组支持
1. 新增fend触发组常量与默认英雄模板配置 2. 后端校验、渲染逻辑兼容新触发组 3. 更新文档说明fend触发组规范 4. 前端UI添加回合结束触发组编辑器 5. 兼容旧英雄数据补全fend空对象
This commit is contained in:
@@ -130,7 +130,7 @@ app.post('/api/templates', (req, res) => {
|
||||
return res.status(400).json({ error: 'triggerPresets 与 fieldPresets 必须为数组' })
|
||||
}
|
||||
// 触发预设必须绑定合法触发组
|
||||
const groups = ['atking', 'atked', 'fstart', 'dead']
|
||||
const groups = ['atking', 'atked', 'fstart', 'fend', 'dead']
|
||||
const bad = triggerPresets.find((p) => !groups.includes(p.group))
|
||||
if (bad) {
|
||||
return res.status(400).json({ error: `触发预设 ${bad.id || bad.label} 的 group 非法:${bad.group}` })
|
||||
@@ -203,7 +203,7 @@ function renderSingleHero(h) {
|
||||
push(` },`)
|
||||
|
||||
// triggers
|
||||
const triggerKeys = ['atking', 'atked', 'fstart', 'dead']
|
||||
const triggerKeys = ['atking', 'atked', 'fstart', 'fend', 'dead']
|
||||
for (const tk of triggerKeys) {
|
||||
const grp = h[tk]
|
||||
if (!grp || !Object.keys(grp).length) continue
|
||||
@@ -413,6 +413,7 @@ function renderHeroCsv(heroes) {
|
||||
rows.push(['atking[0]_lv4', ...sorted.map((h) => csvTrigger(h.atking))])
|
||||
rows.push(['atked[0]_lv4', ...sorted.map((h) => csvTrigger(h.atked))])
|
||||
rows.push(['fstart[0]_lv4', ...sorted.map((h) => csvTrigger(h.fstart))])
|
||||
rows.push(['fend[0]_lv4', ...sorted.map((h) => csvTrigger(h.fend))])
|
||||
rows.push(['dead[0]_lv4', ...sorted.map((h) => csvTrigger(h.dead))])
|
||||
rows.push(['field[0]_lv4', ...sorted.map((h) => csvField(h.field))])
|
||||
rows.push(['bonus', ...sorted.map((h) => csvBonus(h.bonus))])
|
||||
|
||||
Reference in New Issue
Block a user