文档设计(明细带退役呈现改版): 三屏定稿落文——battle.md 七处改写+新节「即时反馈画面化预览」(明细带整条退役/清图兑付浮字/Boss解锁拍零新增呈现, 内嵌SVG三屏+像素判据句, 三屏预览2026-11-10用户人审通过)+信息层级与ASCII线框两处活语境清零; 敌人系统 v2.2(一次性技能名toast退役, 解锁告知归既有意图预告, 杀戮尖塔Intent惯例同轨); HUD框架五处明细带提法清零(回看覆盖层同批报废); 待办清单登记新条目(文档设计已闭合+待写卡)。区内凭据: 流水线闸 PASS(32条目), 明细带活语境 grep 零残留

This commit is contained in:
DKChan committed 2026-11-10 01:43:29 +08:00
1 parent 2bc6444df9
commit 57466211c7
4 files changed
+89 -23

No files matched your search

@@ -1,7 +1,7 @@
# 敌人系统
> 一句话:敌人数据、技能池出招、意图呈现
> 状态:已定稿;现行为 v2.1
> 状态:已定稿;现行为 v2.2
## 设计目的
@@ -179,9 +179,9 @@ Boss 专属身份 = 专属池承载:独占技能 + 权重轮廓(**技能错
| 冷却 | 照常——条件与冷却各自独立排除,同一拍可叠加 |
| 保底 | 保底特殊技集合同样排除条件不满足的技能(保底禁止逼出条件不满足的技);池构成纪律"每池至少一行无条件特殊技"保证该集合闸外恒非空——间隔闸期内可被闸排空,保底顺延(见「三道闸」表) |
| 死亡作废 | 照常——摇定后兑现前死亡,本拍作废、不进冷却不进保底计数 |
| 意图呈现 | 三档规格不变——情境技属特殊技,走类型级预告+结算明细具名,因果由技能名承载(如"趁隙偷袭");闩型保留解锁弹出规格(见"目标顺位与意图线索"节) |
| 意图呈现 | 三档规格不变——情境技属特殊技,走类型级预告+结算明细具名,因果由技能名承载(如"趁隙偷袭");闩型解锁拍零新增呈现,告知归既有意图预告承载(见"目标顺位与意图线索"节) |
半血解锁:Boss 解锁技=trigger {fact: self_hp_pct, op: lte, value: 行值, latch: 真}——解锁弹出规格(归因明细行+一次性技能名 toast)、单向闩语义、双面过滤。
半血解锁:Boss 解锁技=trigger {fact: self_hp_pct, op: lte, value: 行值, latch: 真}——解锁拍零新增呈现(归因明细行照记数据面)、单向闩语义、双面过滤。
首批落地(已实装):①三 Boss 解锁技为闩型条件;②两个示范投放——地精池+低血防御增益「孤注守势」(self_hp_pct lte 35,纯增益)、L2/L3 群行位+停手偷袭伤害技「趁隙偷袭」(last_round_end eq 停手)。投放敌种、权重与阈值投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md);"每池增益≤1"纪律不动,条件技照常计入预算。
@@ -205,7 +205,7 @@ Boss 专属身份 = 专属池承载:独占技能 + 权重轮廓(**技能错
即:普攻完全不可预测;特殊技有一次类型级预告,不可撤销,但给"继续挖还是停手"的决策依据。攻击系内部不分档预告——重击与普通伤害技的预告呈现完全相同,强度差异的感知通道是敌人本体的准备动画(规格见[角色设计](../../../art/character-design.md) §5.6 意图准备动画三档)。
**半血解锁弹出规格(解锁判定点=通用事件「血量阈值 `enemy_hp_threshold`」的发射点,对所有带闩型血量触发条件的敌人逐个发射、非 Boss 专属——Boss 语义留给订阅条件判定;条件载体=技能行 trigger 闩型,见「触发条件」节)**:Boss 血量降至解锁阈值(trigger 行值,域 [1,99],缺省无字段=无门槛)时,下一个开轮摇号前出一次归因明细行「XX 解锁了 YY」(高光键为技能解锁,行型复用高光行零新增);呈现层对该行弹**一次性技能名 toast**(轻量提示,非演出——零动画资产、不改演出规格),只报技能名不报数值,池与权重不公开纪律不变。解锁=单向闩(治疗抬血不解锁);锁定条目双面过滤(不进可摇集合与保底特殊技集合——保底禁止逼出未解锁技);解锁后冷却初值 0 即可摇。投放纪律=机制通用、闩型解锁用例仅 Boss 专属技投放(enemy 表无 boss 编码位,硬闸须跨表查节点类型——不做硬闸,本句即文档纪律登记)。技能动画的攻/防系映射归[战斗表现](战斗表现.md),敌人侧摇定动画位归[HUD 框架](../表现与支撑/HUD框架.md)(呈现载体 = 站桩立绘,2026-09-20 全站桩拍板),本系统只锁上面这张三档规格。
**半血解锁呈现规格(解锁判定点=通用事件「血量阈值 `enemy_hp_threshold`」的发射点,对所有带闩型血量触发条件的敌人逐个发射、非 Boss 专属——Boss 语义留给订阅条件判定;条件载体=技能行 trigger 闩型,见「触发条件」节)**:Boss 血量降至解锁阈值(trigger 行值,域 [1,99],缺省无字段=无门槛)时,下一个开轮摇号前出一次归因明细行「XX 解锁了 YY」(高光键为技能解锁,行型复用高光行零新增——数据面照记,玩家不可见面)。**解锁拍零新增呈现(2026-11-10 用户裁,替代原一次性技能名 toast)**:血条跌破本身即视觉事件,新增提示条、弹窗、浮字一概不做——玩家刚把 Boss 打进阈值,「它亮新招」因果自明;新技的玩家告知由既有意图预告承载(下一拍开轮摇中即类型级徽标顶头,具名随预告),与杀戮尖塔敌人能力变化走头顶意图的惯例同轨。池与权重不公开纪律不变。解锁=单向闩(治疗抬血不解锁);锁定条目双面过滤(不进可摇集合与保底特殊技集合——保底禁止逼出未解锁技);解锁后冷却初值 0 即可摇。投放纪律=机制通用、闩型解锁用例仅 Boss 专属技投放(enemy 表无 boss 编码位,硬闸须跨表查节点类型——不做硬闸,本句即文档纪律登记)。技能动画的攻/防系映射归[战斗表现](战斗表现.md),敌人侧摇定动画位归[HUD 框架](../表现与支撑/HUD框架.md)(呈现载体 = 站桩立绘,2026-09-20 全站桩拍板),本系统只锁上面这张三档规格。
| 规格 | 含义 |
|---|---|
@@ -57,7 +57,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
| 区 | 位置与几何 | 管什么 |
|---|---|---|
| B 战斗画面 | 全宽,高读布局表 `stage_h`(背景三关变体+连续地面层高另读 `ground_h`) | 三关舞台背景+连续地面层、主角站桩立绘、敌人站桩立绘 ×1–3(**全站桩形态,2026-09-20 用户拍板:无框立绘+底座、状态小图标挂血条下,英雄卡/敌人卡退役**)、轮次阶段指示、结算明细带 |
| B 战斗画面 | 全宽,高读布局表 `stage_h`(背景三关变体+连续地面层高另读 `ground_h`) | 三关舞台背景+连续地面层、主角站桩立绘、敌人站桩立绘 ×1–3(**全站桩形态,2026-09-20 用户拍板:无框立绘+底座、状态小图标挂血条下,英雄卡/敌人卡退役**)、轮次阶段指示(结算明细带已退役,2026-11-10 用户裁——B 区零文字带,规格见 [battle.md](../../../ux/battle.md)「即时反馈画面化预览」节) |
| C 角色信息 | 左下,宽读 `info_panel_w`,高 = 基准屏高 − B 区高 | 生命 / 攻击 / 储备数据框、状态效果槽、小人立绘 |
| D 扫雷图 | 中下,宽 = 基准屏宽 − C 区宽 − 列间距,高同 C 区(2026-11-07 顶栏搬两侧:D 区全高归棋盘) | 左/右行动资源侧栏、棋盘本体、toast 槽(棋盘底常驻操作提示条退役) |
@@ -80,7 +80,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
### 提示与弹层:轻提示随起随消、重弹层排队进出
界面弹出的东西分两族。toast(从棋盘区上缘内侧浮出的轻提示条)是非模态的:弹出期间玩家照常操作棋盘,约 2.5 秒自动消退、不劫持输入。模态覆盖层(弹出期间挡住下方操作、要先处理才能继续的那种弹层)则相反,图例面板、结算明细回看、胜负终局画面都属于这族。
界面弹出的东西分两族。toast(从棋盘区上缘内侧浮出的轻提示条)是非模态的:弹出期间玩家照常操作棋盘,约 2.5 秒自动消退、不劫持输入。模态覆盖层(弹出期间挡住下方操作、要先处理才能继续的那种弹层)则相反,图例面板、胜负终局画面都属于这族(结算明细回看覆盖层已随明细带退役报废,2026-11-10 用户裁)。
| 弹出物 | 模态性 | 进出规则 |
|---|---|---|
@@ -195,12 +195,12 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
|---|---|---|
| 上游 | [排雷玩法](../排雷循环/排雷玩法.md) | 棋盘只读投影(格态、数字、封印印记、小人)与移动路径查询;玩家意图批次经组合根提交 |
| 上游 | [行动经济](../排雷循环/行动经济.md) | 行动点 / 储备 / 相位只读值;刷新入口可用性预判加返回值兜底 |
| 上游 | [战斗结算](../战斗循环/战斗结算.md) | 明细流水是结算明细带的统一数据源(现行 9 类行封闭协议);段序编排信号经组合根接线 |
| 上游 | [战斗结算](../战斗循环/战斗结算.md) | 明细流水 9 类行封闭协议(明细带已退役——流水消费面=日志落盘与回放对账,HUD 不再消费);段序编排信号经组合根接线 |
| 上游 | [敌人系统](../战斗循环/敌人系统.md) | 英雄与敌人的只读投影(血量、顺位、摇定动作〔技能标识·类型·名称〕、敌方增益、存活——经战斗结算呈现快照;敌人技能池定稿:当前拍/行动环进度字段拆除,池与权重不公开) |
| 上游 | [增益状态](../战斗循环/增益状态.md) | 状态投影经战斗结算呈现面取得,零直读 |
| 上游 | [地图战斗资源](../战斗循环/地图战斗资源.md) | 已开格奖励身份投影(只读回调,组合根注入)零直读 |
| 上游 | [关卡节点地图](../冒险循环/关卡节点地图.md) | 节点链、当前节点、跨战斗生命携带的读数;胜利后推进 |
| 下游 | [战斗表现](../战斗循环/战斗表现.md) | 交付三区布局、明细带呈现位、敌人呈现语义(站桩形态);它只叠加动画密度与演出 |
| 下游 | [战斗表现](../战斗循环/战斗表现.md) | 交付三区布局、敌人呈现语义(站桩形态);它只叠加动画密度与演出(明细带呈现位随带退役,2026-11-10 用户裁) |
| 下游 | [音频](音频.md) | 挂点事件源(明细行类型流、toast 触发);MVP 无音频 |
| 下游 | [教学引导](教学引导.md) | toast 与图例面板两个承载位——教学内容装进这两个容器 |
| 下游 | [设置与本地化](设置与本地化.md) | 中文字体随包、按钮宽度等契约的消费方 |
@@ -225,7 +225,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
1. 进入战斗屏:三区同屏就绪,半秒内首格可点。
2. 挖掘期鼠标操作经单意图帧整批提交(唯一写路径,经组合根)。
3. 回执链:组合根重查只读面,界面字段级就地刷新。
4. 轮末进入结算:棋盘区锁输入,明细带展开逐行兑现(战斗结算流水驱动)。
4. 轮末进入结算:棋盘区锁输入,结算演出在棋盘与立绘上逐段兑现(战斗结算段序驱动;明细带已退役)。
5. 终局呈现(胜利 / 失败)伴随状态全清与储备清零反馈。
6. 关卡末清库反馈:义务载体 = 秘宝背包(关卡域库存——秘宝过渡形态机械惰性承载,投放渠道全退役后恒空;拆线归实装批,见[战斗结算](../战斗循环/战斗结算.md)「轮次生命周期」节注)。
@@ -244,7 +244,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
## 调参表
本系统的参数全部是呈现节奏与可读性常量,不是玩法数值——玩法数值一律归[数据配置](数据配置.md)的表,与本表无关。修订本文常量走文档修订流程。**本表常量无数据表承载,为文档面唯一事实源;入驻 .tres 时本列改指路。** 布局几何(B 区高 / B 区连续地面层高 / C 区宽 / D 区侧栏宽 / 明细带两态高)已入驻 `game/data/tables/battle_layout.tres`,不在本表重复。
本系统的参数全部是呈现节奏与可读性常量,不是玩法数值——玩法数值一律归[数据配置](数据配置.md)的表,与本表无关。修订本文常量走文档修订流程。**本表常量无数据表承载,为文档面唯一事实源;入驻 .tres 时本列改指路。** 布局几何(B 区高 / B 区连续地面层高 / C 区宽 / D 区侧栏宽 / 明细带两态高〔已不被游戏视图读取,字段删除归工具批〕)已入驻 `game/data/tables/battle_layout.tres`,不在本表重复。
| 参数 | 域 | 现行值(文档自持,无表承载) | 说明 |
|---|---|---|---|
+73 -13
View File
@@ -2,7 +2,7 @@
> **Status**: Complete(现行)
> **Author**: user + ux-designer
> **Last Updated**: 2026-11-09
> **Last Updated**: 2026-11-10
> **Platform Target**: PC (Steam)——Keyboard/Mouse 主(全部操作纯鼠标可完成)、Gamepad Partial 非 MVP、Touch None(同 technical-preferences)
> **上游修订依赖**: 弃图刷新挖掘期受理依赖上游现行规则(行动经济 Active 受理 + 每轮上限 2 次、排雷玩法 Active·仅刷新路径装板、战斗结算的挖掘期刷新编排 + 恒同盘不变、系统索引的刷新规则同步——见布局决策 4 与 OQ11)
> **Template**: UX Spec
@@ -100,7 +100,7 @@
- **B 区战斗画面**
- 主角站桩:立绘、HP 血条、状态效果小图标行 ← **HP 与状态的唯一展示面**(2026-09-26 拍板:C 区同信息展示退役)
- 敌人站桩 ×1–3:HP 血条、顺位徽标、状态小图标行、意图徽标、护甲类型图标(AC 数值不展示——2026-09-26 终裁)
- 兑现演出区 / 结算明细带 / 轮次·阶段指示
- 兑现演出区 / 轮次·阶段指示(结算明细带已退役,2026-11-10 用户裁)
- **C 区角色信息(规划数据框)**
- 攻击值 + 修正来源角标(战斗在消费、且站桩上无展示)
- 护甲 AC(2026-09-26 二轮拍板补入——我方 AC 的唯一展示面;掷点判定轴,受击侧可读性)
@@ -115,11 +115,11 @@
### Layout Zones
采用用户拍板的布局图(2026-09-12),按 1280×800 基座落尺寸。**分区几何的唯一事实源 = `game/data/tables/battle_layout.tres`**(经 `ConfigDb.presentation.battle_layout` 读取;字段 `stage_h` / `ground_h`(B 区连续地面层高)/ `info_panel_w` / `side_rail_w`(D 区行动资源侧栏宽,2026-11-07 顶栏搬两侧后新增)/ `log_band_h_dig` / `log_band_h_settle`;游戏视图不再读 `ap_bar_h`;布局表字段暂留供样张渲染工具,删除归工具批)。本节只写结构关系与内容职责,不复写数值;任何文档与代码不另立第二份布局值。
采用用户拍板的布局图(2026-09-12),按 1280×800 基座落尺寸。**分区几何的唯一事实源 = `game/data/tables/battle_layout.tres`**(经 `ConfigDb.presentation.battle_layout` 读取;字段 `stage_h` / `ground_h`(B 区连续地面层高)/ `info_panel_w` / `side_rail_w`(D 区行动资源侧栏宽,2026-11-07 顶栏搬两侧后新增)/ `log_band_h_dig` / `log_band_h_settle`;游戏视图不再读 `ap_bar_h` 与 `log_band_h_dig`/`log_band_h_settle`(明细带退役,2026-11-10 用户裁);布局表字段暂留供样张渲染工具,删除归工具批)。本节只写结构关系与内容职责,不复写数值;任何文档与代码不另立第二份布局值。
| 区 | 位置与几何 | 内容 |
|---|---|---|
| **B 战斗画面** | 全宽,高读 `stage_h`(2026-10-06 方案二拍板:演出 ≈1/3 屏) | 主角站桩立绘(左)+ 兑现演出区(中)+ 敌人站桩立绘 ×1–3(右)——**全站桩形态(2026-09-20 用户拍板):主角与敌人均为无框立绘+底座,零卡片**;主角与敌人站桩 = **HP 与状态效果的唯一展示面(2026-09-26 信息归属拍板)**;底部结算明细带(挖掘期收起高读 `log_band_h_dig`,结算期展开高读 `log_band_h_settle`);顶部中央轮次·阶段指示 |
| **B 战斗画面** | 全宽,高读 `stage_h`(2026-10-06 方案二拍板:演出 ≈1/3 屏) | 主角站桩立绘(左)+ 兑现演出区(中)+ 敌人站桩立绘 ×1–3(右)——**全站桩形态(2026-09-20 用户拍板):主角与敌人均为无框立绘+底座,零卡片**;主角与敌人站桩 = **HP 与状态效果的唯一展示面(2026-09-26 信息归属拍板)**;结算明细带已退役(2026-11-10 用户裁,B 区零文字带,规格见「即时反馈画面化预览」节);顶部中央轮次·阶段指示 |
| **C 角色信息** | 左下,宽读 `info_panel_w`,高 = 基准屏高 − B 区高 | 攻击值(含修正显示)、护甲 AC;秘宝槽、奇物列表(现行标题「特性」)——HP 条/RAP 池/状态效果槽/立绘占位/钱包行退役(2026-09-26 信息归属拍板:HP 与状态唯一展示面 = B 区站桩;RAP 迁 D 区右栏;GP/钥石迁出战斗屏) |
| **D 扫雷图** | 中下,宽 = 基准屏宽 − C 区宽 − 列间距,高同 C 区(2026-11-07 顶栏搬两侧:**D 区全高归棋盘**,不再让出 AP 条高度;棋盘不缩,格边按公式现算) | 左栏(宽读 `side_rail_w`,贴棋盘左缘):AP 点阵 + 停手按钮;右栏(同宽,贴棋盘右缘):RAP 点阵+数字 + 图例按钮 + 弃图刷新按钮(RAP 贴唯一消费口,2026-09-26 拍板);棋盘主体居中(格边长见下方「棋盘格尺寸公式」;上方留 44px 给浮空数字越出棋盘,下方 12px+悬崖 8px);toast 槽(D 区上缘内侧左栏顶部,不覆盖棋盘与浮空数字);棋盘底常驻操作提示条退役(2026-11-07 用户裁,不占棋盘高度) |
@@ -190,6 +190,69 @@
算例不入文档:棋盘区可用面积随布局表与板型变化,不是契约值——现算并绘在整屏样张上,本文件不复写。
### 即时反馈画面化预览(2026-11-10 用户裁:明细带退役+清图兑付浮字+Boss 解锁技零提示;三屏预览 2026-11-10 用户人审通过)
**清图兑付浮字**:全图最后一块安全格开启的瞬间,在既有金粒喷泉+彩纸(§2.3)之上,兑付内容以**单行浮字**自棋盘中央上方升起——只写兑付值(例:「全体敌人 14 伤害」),无「清图奖励」标题、无底牌、不遮棋盘任何格;替代退役前的「清图奖励:××」toast。浮字规格:字高 17px(基座档)、暖白字芯+2px 深墨描边+微金光晕,约 2.5s 内上浮约 40px 并渐隐,时序落在喷泉 3–5s 窗口内、先于换新图 install。
像素判据:浮字全程不与棋盘格面重叠(浮字底缘恒在棋盘上缘上方 ≥6px);渐隐连续无跳变(帧间 alpha 步进 ≤0.1);兑付值在浮字生命期 ≥60% 时长内保持全可读。
**Boss 解锁技零提示**:解锁拍(Boss 血量跌破闩阈值)**不新增任何 UI 元素**——血条跌破本身即视觉事件,「我把它打到半血 → 它亮新招」因果自明;下一拍开轮摇中新技时,既有意图徽标(类型级预告,敌人系统 Rule 8⑤)按现行规格自然顶头,具名随预告承载。原「一次性技能名 toast」规格退役([敌人系统](../gdd/systems/战斗循环/敌人系统.md) v2.1 同步改写)。
像素判据:解锁拍 B 区新增可见元素数为 0(与前一帧逐元素比对);意图徽标几何沿用现行规格(悬浮头顶上方、探顶档压胸),零新增资产。
**战斗屏纵向**:明细带退役后 B 区舞台(高读 `stage_h`)直连 D 区——挖掘期 D 区可用高 +24、结算期 +84,棋盘格边按「棋盘格尺寸公式」现算放大,公式与垂直预留(上 44 / 下 12)不变;`log_band_h_dig`/`log_band_h_settle` 不再被游戏视图读取。
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 920 240" width="920" height="240">
<rect x="0" y="0" width="920" height="240" fill="#2E2620"/>
<g font-family="sans-serif" font-size="12" fill="#C9AF83">
<text x="150" y="20" text-anchor="middle">清图兑付浮字</text>
<text x="460" y="20" text-anchor="middle">解锁拍(零新增)</text>
<text x="770" y="20" text-anchor="middle">下拍开轮(意图徽标顶头)</text>
</g>
<!-- 屏1 棋盘+浮字 -->
<g>
<rect x="30" y="60" width="240" height="150" fill="#3A332A" stroke="#55483A" stroke-width="2"/>
<g fill="#57503F">
<rect x="38" y="68" width="28" height="26"/><rect x="70" y="68" width="28" height="26"/><rect x="102" y="68" width="28" height="26"/><rect x="134" y="68" width="28" height="26"/><rect x="166" y="68" width="28" height="26"/><rect x="198" y="68" width="28" height="26"/><rect x="230" y="68" width="28" height="26"/>
<rect x="38" y="98" width="28" height="26"/><rect x="70" y="98" width="28" height="26"/><rect x="102" y="98" width="28" height="26"/><rect x="134" y="98" width="28" height="26"/><rect x="166" y="98" width="28" height="26"/><rect x="198" y="98" width="28" height="26"/><rect x="230" y="98" width="28" height="26"/>
<rect x="38" y="128" width="28" height="26"/><rect x="70" y="128" width="28" height="26"/><rect x="102" y="128" width="28" height="26"/><rect x="134" y="128" width="28" height="26"/><rect x="166" y="128" width="28" height="26"/><rect x="198" y="128" width="28" height="26"/><rect x="230" y="128" width="28" height="26"/>
<rect x="38" y="158" width="28" height="26"/><rect x="70" y="158" width="28" height="26"/><rect x="102" y="158" width="28" height="26"/><rect x="134" y="158" width="28" height="26"/><rect x="166" y="158" width="28" height="26"/><rect x="198" y="158" width="28" height="26"/><rect x="230" y="158" width="28" height="26"/>
</g>
<g fill="#F0C75E"><circle cx="70" cy="82" r="2"/><circle cx="130" cy="74" r="2"/><circle cx="200" cy="88" r="2"/><circle cx="100" cy="140" r="2"/><circle cx="220" cy="168" r="2"/></g>
<g fill="#E06050"><rect x="90" y="70" width="5" height="7" transform="rotate(20 92 73)"/></g>
<g fill="#5AA0D8"><rect x="160" y="66" width="5" height="7" transform="rotate(-15 162 69)"/></g>
<text x="150" y="52" text-anchor="middle" font-family="sans-serif" font-size="15" font-weight="500" fill="#F5EAD0" stroke="#17130F" stroke-width="0.8" paint-order="stroke">全体敌人 14 伤害</text>
<text x="150" y="228" text-anchor="middle" font-family="sans-serif" font-size="10" fill="#8A7D68">浮字底缘恒在棋盘上缘上方 ≥6px</text>
</g>
<!-- 屏2 解锁拍零新增 -->
<g>
<rect x="340" y="60" width="240" height="150" fill="#241F19"/>
<rect x="340" y="158" width="240" height="52" fill="#443B2C"/>
<rect x="376" y="94" width="56" height="60" rx="6" fill="#4D443A"/>
<rect x="376" y="158" width="56" height="5" fill="#33291F"/><rect x="376" y="158" width="40" height="5" fill="#B8483D"/>
<text x="404" y="176" text-anchor="middle" font-family="sans-serif" font-size="11" fill="#C9BDA1">探险者</text>
<rect x="516" y="88" width="68" height="66" rx="6" fill="#5A4436"/>
<rect x="516" y="158" width="68" height="5" fill="#33291F"/><rect x="516" y="158" width="29" height="5" fill="#D8863D"/>
<text x="550" y="176" text-anchor="middle" font-family="sans-serif" font-size="11" fill="#C9BDA1">石君王 42%</text>
<text x="460" y="120" text-anchor="middle" font-family="sans-serif" font-size="11" fill="#6B6052">(无任何新增元素)</text>
<text x="460" y="228" text-anchor="middle" font-family="sans-serif" font-size="10" fill="#8A7D68">血条跌破即视觉事件 · B 区新增元素数 = 0</text>
</g>
<!-- 屏3 意图徽标顶头 -->
<g>
<rect x="650" y="60" width="240" height="150" fill="#241F19"/>
<rect x="650" y="158" width="240" height="52" fill="#443B2C"/>
<rect x="686" y="94" width="56" height="60" rx="6" fill="#4D443A"/>
<rect x="686" y="158" width="56" height="5" fill="#33291F"/><rect x="686" y="158" width="40" height="5" fill="#B8483D"/>
<text x="714" y="176" text-anchor="middle" font-family="sans-serif" font-size="11" fill="#C9BDA1">探险者</text>
<rect x="820" y="88" width="68" height="66" rx="6" fill="#5A4436"/>
<rect x="820" y="158" width="68" height="5" fill="#33291F"/><rect x="820" y="158" width="29" height="5" fill="#D8863D"/>
<text x="854" y="176" text-anchor="middle" font-family="sans-serif" font-size="11" fill="#C9BDA1">石君王</text>
<rect x="838" y="46" width="32" height="32" rx="5" fill="#2C2415" stroke="#B8483D" stroke-width="2"/>
<text x="854" y="68" text-anchor="middle" font-size="15" fill="#F0C75E">⛰</text>
<rect x="834" y="82" width="40" height="16" rx="3" fill="#000000" fill-opacity="0.55"/>
<text x="854" y="94" text-anchor="middle" font-family="sans-serif" font-size="10" fill="#D8C9A1">岩崩</text>
<text x="770" y="228" text-anchor="middle" font-family="sans-serif" font-size="10" fill="#8A7D68">既有意图徽标规格 · 几何零改动</text>
</g>
</svg>
### Component Inventory
| 区 | 组件 | 类型 | 内容 | 交互 | 载体 |
@@ -197,8 +260,8 @@
| B | 主角站桩立绘 | 站桩(无框立绘+落影) | HP 条落底盘(2026-10-06 方案二拍板:站桩排式 = **立绘→血条→状态**,全场血条对齐一线;血条嵌石板位、台缘线留作地面线;不悬浮头顶——高盒下血条-立绘空洞,用户点名否决)、状态效果小图标一排挂血条正下方(形状+色相双通道、层数角标;空态不占位退化为空行)——**HP 与状态效果的唯一展示面(2026-09-26 信息归属拍板;悬停 tooltip〔来源+语义+剩余结算次数〕职责在本组件)**;攻击值等规划数据仍归 C 区数据框(2026-09-20 全站桩拍板,英雄卡退役) | 悬停状态小图标看 tooltip | HUD 视图拆分改造 |
| B | 敌人站桩立绘 ×1–3 | 站桩(无框立绘+落影) | 血条+顺位徽标落底盘(同主角排式,2026-10-06 方案二;**大体档〔显示 >150px 级:drider/duergar_king〕允许向上溢出盒顶 N px(N 由实装实算,溢出判定与背景无关),血条仍落底**)、状态小图标挂血条正下方(敌方增益按个体呈现——各立绘只显示它自己名下的状态实例〔蓄力/硬化/削弱/暴走/警觉,2026-11-02 个体化裁〕;数据源 = 战斗结算流水经增益状态投影,敌人系统×4④;无行为环点〔proposal §2.4〕,意图占位 = 本拍摇定结果的动画占位——普通攻击零表示 / 特殊技类型级提示,**意图徽标悬浮头顶上方,探顶档压胸**,敌方增益〔蓄力/硬化〕入状态图标行);死亡灰化加碎裂退场直接演在立绘上(2026-09-20 全站桩拍板,敌人卡退役);血条下名字行 = 纯名字 + 护甲类型图标(形状+色相双通道,与状态图标同行共存,状态空时为纯名字),AC 数值不展示——2026-09-26 终裁(用户口径:HP 信息已足够,攻防数值不直接写上;护甲类型图标保留克制对策可读性——类型可读、数值隐藏) | 只读 | 新建 |
| B | 轮次·阶段指示 | 标签 | "第 N 轮 · 挖掘中/结算中"(终局定格「战斗结束」;Boss 变体附 Boss 名) | 只读 | 新建 |
| B | 结算明细带 | 摘要位+叙述行 | 逐行流水文字呈现已退役(2026-11-07 用户裁):挖掘期显示上轮摘要 1 行与冒险叙述行,结算期空带+FX 排播链承接演出;流水协议保留在数据面([战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 9 类行协议,供日志落盘与回放对账) | 无明细回看——带保留单行摘要,冒险中回看归「生涯」 | 改造 |
| B | 结算明细回看(已退役) | —— | 冒险中回看归「生涯」;回看覆盖层为未接线遗留件(待办清单登记) | —— | 未接线 |
| B | 结算明细带(已退役) | —— | 明细带整条退役(2026-11-10 用户裁):挖掘期摘要位为恒空死区(写入函数随 2026-11-07 逐行退役批删除)、冒险叙述行对玩家零信息增量——舞台底高归还(挖掘期 +24 / 结算期 +84 归 D 区棋盘区,格边按「棋盘格尺寸公式」现算);冒险叙述行六类随带全砍——关卡开场数字归 C 区数据框(同值重复)、恢复点回血归节点弹窗、商店 GP 归商店浮层、钥石结算归胜负浮层账行、节点横幅与岔路口文字砍(节点类型与可选交互自明);逐行流水文字呈现此前已退役(2026-11-07 用户裁);流水协议保留在数据面([战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 9 类行协议,供日志落盘与回放对账) | —— | 退役 |
| B | 结算明细回看(已退役) | —— | 冒险中回看归「生涯」;回看覆盖层为未接线遗留件,与明细带同批报废(2026-11-10 用户裁) | —— | 退役 |
| C | 攻击数据框 | 直角细线数据框 | 攻击值 + 修正来源角标 + 护甲 AC(AC 二轮拍板 2026-09-26 补入——我方 AC 唯一展示面;HP 与状态归 B 区站桩、RAP 归 D 区右栏,不在本组件) | 只读 | HUD 视图拆分 |
| C | 秘宝槽 | 图标槽 ×4 | 四槽壳在役、空槽占位(标题「秘宝」,悬停「秘宝槽(空)」);局内两步使用与关卡域库存随秘宝过渡形态退役——现行秘宝 = 营地同调装配件(秘宝.md),本区展示重接归装配面 | 悬停 tooltip | 已实装 |
| C | 奇物列表(现行标题「特性」) | 列表/图标行 | 已实装——逐件行「件名 ×N」呈现、零内部分类字样;锻造/大奖励/关卡奖励节点获得的属性提升——中循环数据,因改变战斗数学且无其他展示面准入战斗屏;与战斗内状态效果(B 区站桩)分区,防「战斗结束被清」误读 | 只读 | 已实装 |
@@ -247,9 +310,7 @@
│ (落影) [ 兑现演出区 ] /蛆虫\ /蛆虫\ │
│ HP▓▓▓▓░ (结算期: 光带→弹道→受击) ①HP▓▓▓░ ②HP▓▓░░ │
│ ⬆2 🛡1 ←血条状态落底排·全场对齐(状态空 = 名字行)〔意图徽标悬浮头顶上方〕 │
│ ├─ 结算明细带 ────────────────────────────────────────────────────────────┤ │
│ │ ▸上轮: 主角攻击3→蛆虫-3 | 攻击+50%(1结算) | 警觉+1×2 … │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
│ (明细带已退役——舞台直连 D 区,挖掘期 +24 / 结算期 +84 归棋盘区) │
├─[C] 角色信息 ─────────┬─[D] 扫雷图(顶栏已搬两侧) ───────────────────────────┤
│ ┌──────────────────┐ │ ┌──────┐ ┌───────────────────────────┐ ┌──────┐ │
│ │ 攻击 6 (+50%) │ │ │ AP │ │ (上方 44px 留白) │ │ RAP │ │
@@ -361,8 +422,8 @@
| State / Variant | Trigger | What Changes |
|---|---|---|
| **挖掘阶段(默认态)** | 轮次开始 / 结算完毕回 Active 相位 | B 区敌人待机(意图徽标全程可见——敌人系统 Rule 8⑤),D 区棋盘可交互,左右行动资源侧栏点亮;能量 2/10,唯悬停呼吸微光在动(§2.1) |
| **结算阶段** | round_end 触发(AP 尽/停手/清图) | D 区锁输入(棋盘去饱和 + 金橙色相偏移,明度不变,数字保持全对比);B 区播放五段编排演出(授予段 → 增益/减益段 → 战斗段 → 衰减段 → 判定段,战斗结算 段序冻结);明细带按结算期档展开(高读 `log_band_h_settle`)——settle 态空带+叙述行承载,零逐行文字;阶段指示→"结算中";能量 7/10 |
| **清图瞬间** | 全部安全格开完 | 金粒喷泉 + 彩纸 3–5s 即收(§2.3);清图奖励行强调呈现(H2,地图战斗资源×④——金框高亮行);随后换新图 install |
| **结算阶段** | round_end 触发(AP 尽/停手/清图) | D 区锁输入(棋盘去饱和 + 金橙色相偏移,明度不变,数字保持全对比);B 区播放五段编排演出(授予段 → 增益/减益段 → 战斗段 → 衰减段 → 判定段,战斗结算 段序冻结);明细带已退役——结算演出全程在棋盘与立绘上,零文字带;阶段指示→"结算中";能量 7/10 |
| **清图瞬间** | 全部安全格开完 | 金粒喷泉 + 彩纸 3–5s 即收(§2.3);兑付浮字随喷泉升起——只写兑付内容(如「全体敌人 14 伤害」),无标题、无底牌、不遮棋盘(规格与像素判据见「即时反馈画面化预览」节);随后换新图 install |
| **完美封印高光** | 战斗结算高光判定(全图标中/零误标类) | 全屏喝彩级反馈(§2.2 最高档):金光带加倍扫射 + 「完美封印 ×2」横幅——P2 爆发兑现节点(创意风险 #2 落点) |
| **封印标中高光** | 封印判定·标中 | 该印记化暴击弹道加重 + 明细行金框——chord 缺席的即时兑现补偿(创意风险 #3 落点) |
| **敌人死亡呈现** | 敌 hp=0(流水行击杀标记) | 该敌人立绘血条归零 → 立绘灰化 + 碎裂退场(**禁瞬消**——敌人系统资产下限「死亡瞬间须可辨识、禁止直接消失」,同等 blocking);战斗段短路的重击被掐灭不产行动明细行,由行序可推断(战斗结算);动画密度归战斗表现,呈现语义在本 spec |
@@ -428,7 +489,7 @@
| 时刻 | 过渡 | 依据 |
|---|---|---|
| 进入战斗屏 | 棋盘 install 淡入(200ms)+ 初始 3×3 展开涟漪 + Boss 战先播紫赤影子爬棋盘(§2.6) | 棋盘生成 install / §2.6 |
| 挖掘→结算 | 明细带自底展开(150ms)+ 棋盘去饱和 + 金橙色相偏移 + 阶段指示翻转 | §2.2 色彩转金橙主导、饱和拉高、明度不变(状态区分经饱和/色相——art-bible §2) |
| 挖掘→结算 | 棋盘去饱和 + 金橙色相偏移 + 阶段指示翻转 | §2.2 色彩转金橙主导、饱和拉高、明度不变(状态区分经饱和/色相——art-bible §2) |
| 结算逐行兑现 | 光带自棋盘行起点横扫 → 开格化箭雨/印记化暴击弹道飞向敌人立绘 → 受击闪白 + 血条直角递减 | §2.2 承载元素;因果全程可见可归因(P2) |
| 清图换新图 | 金粒喷泉 3–5s → 旧图碎裂淡出 → 新图 install 淡入 | §2.3 短促丰收不拖节奏 |
| RAP 清零(冒险收束) | RAP 数字滚动归零(D 区右栏)+「随冒险结束消散」微文案 | 行动经济可见反馈义务 |
@@ -483,7 +544,6 @@
- **源语言中文(CJK)**:运行时默认字体无 CJK 字形——**CJK 字体随包为硬性前置**(已锁),实现 AC 覆盖
- **按钮文案单行约束**:「停手」「弃图刷新」——按钮宽度按 4 汉字上限设计;译为英文("Hold"/"Reroll")不超 1.6× 不破版;德语长词("Aufgeben+Neu"类复合词)风险 HIGH——弃图刷新按钮允许两行或图标+缩写
- **明细带行文案**:来源标注格式「{行为} {值} → {目标}(来源)」为模板插值,最长 token = 来源标签(4 汉字,如「清图奖励」「封印未中」——战斗结算的来源标签封闭枚举);行模板预留 40% 膨胀宽度(固定槽高 + 裁剪兜底)
- **数字格式**:全部整数,无本地化格式需求;AP 点阵为图形载体不依赖文本
- **术语表锚定**:封印/雷/停手/弃图刷新/轮次/结算 已在 GDD 体系内定名,译文须同步 `design/gdd/术语表.md`
+6
View File
@@ -81,6 +81,12 @@
**状态**:待美术设计(备选)
#### B 区明细带退役+即时反馈画面化(2026-11-10 登记,来源=会话提及)
**实况**:设计闭合——[battle.md](design/ux/battle.md)(2026-11-10 版)「即时反馈画面化预览」节(明细带整条退役+清图兑付浮字+Boss 解锁拍零新增呈现,内嵌 SVG+像素判据,三屏预览 2026-11-10 用户人审通过);[敌人系统](design/gdd/systems/战斗循环/敌人系统.md) v2.2(解锁拍零新增呈现,一次性技能名 toast 退役);[HUD框架](design/gdd/systems/表现与支撑/HUD框架.md)(明细带提法清零,回看覆盖层同批报废)。叙述行六类随带全砍(分流裁决见 battle.md 组件表 B 区明细带行)。
**改动面**:游戏代码
**状态**:文档设计已闭合+待写卡
#### 扩展节点类型——危险/精英节点与特殊地形节点(2026-10-21 登记,来源=会话提及)
**实况**:用户定方向:Alpha 版只留现行四类(战斗/奖励/恢复/商店),以下两类留到以后再做——①危险/精英节点(怪物与普通战斗不同、奖励肥);②特殊地形节点(效果修饰:地图战斗资源、敌我伤害、金币比例等)。内容未设计。