docs(ux): 敌人卡形态裁决收口——全站桩形态定稿(台账 99)
用户看对照样张拍板:卡片式千万不能用——B 区主角与敌人均站桩(无框立绘+底座), 主角状态小图标挂血条正下方,英雄卡/敌人卡整体退役,C 区数据框不动。 - 06 清单「敌人卡形态」解决移除(46→45 条) - battle.md:B 区行/组件表两行/线框图 B 区重绘(顺带清行为环残留示意)/ 死亡·Boss·弹道·义务对照四处措辞/OQ4 收口注记/修订记录 - 战斗表现 v0.4:相邻裁定改裁决已下、样张对照项解除(正式样张按站桩单版出样) - HUD框架 v0.6:敌人呈现义务行载体改立绘(数据面零改动) - 敌人系统/美术清单:指认行与对照义务同步 - 对照样张存档 production/mockups/(HTML+3PNG) - active.md 快照节+台账 99
This commit is contained in:
1 parent
c267943a3f
commit
a20ea38086
12 files changed
+360
-39
No files matched your search
@@ -37,7 +37,7 @@
|
||||
|
||||
### 1.2 战斗一屏样张(双舞台,2–3 版候选)⚙格面骨架 + ✦角色剪影候选
|
||||
|
||||
- **要什么**:按双舞台布局(战斗画面与扫雷图同屏常驻)出的整屏试验图。要锁的四件事:**角色剪影方向 / 动画方案 / 战斗空间 / 敌人层绘制优先级插入位置**;顺带裁决**敌人卡形态:卡片式 vs 站桩式(无框立绘+底座)**——两版候选各出一版。
|
||||
- **要什么**:按双舞台布局(战斗画面与扫雷图同屏常驻)出的整屏试验图。要锁的四件事:**角色剪影方向 / 动画方案 / 战斗空间 / 敌人层绘制优先级插入位置**;~~顺带裁决**敌人卡形态:卡片式 vs 站桩式(无框立绘+底座)**——两版候选各出一版~~——**已提前裁决(2026-09-20 用户看对照样张拍板):全站桩式(主角同站桩、状态小图标挂血条下),卡片式退役,正式样张按站桩形态单版出样**(对照样张存档 `production/mockups/`)。
|
||||
- **风格/规格**:敌人剪影按五类原型出(见 2.2);战斗舞台背景=明亮地窟,紫赤仅 Boss。
|
||||
- **验收**:战斗表现「一屏样张的验收标准」(已成文)。
|
||||
- **联动**:样张未过,**不启动任何终稿资产与动画设计**(文档明文的排期硬前置);HUD框架「格边长两档定值」条款将由表现层升级批按分辨率档位计算口径改写(2026-09-18 用户拍板:固定几档分辨率、窗口不可调、格子量增加则格边长相应变小;**候选档位 1280×800 + 1920×1080 待拍板**)。
|
||||
@@ -124,7 +124,7 @@
|
||||
│
|
||||
战斗一屏样张(1.2) ──> 角色终稿(2.1/2.2) ──> 意图动画三档(2.3) ──> 演出类(P3)
|
||||
│
|
||||
└─> 敌人卡形态裁决(卡片式 vs 站桩式,用户看图拍板)
|
||||
└─> 敌人卡形态裁决 ✅已收口(2026-09-20 拍板全站桩,卡片式退役)
|
||||
徽章(3.1)/节点图(3.2) —— 独立线,可随时插队
|
||||
```
|
||||
|
||||
|
||||
@@ -225,16 +225,6 @@
|
||||
|
||||
**状态**:待办(2026-09-18 用户提案、方向评估通过;实施窗口 = Alpha,与「雷格与安全格的资源分布差异化(Alpha 批)」合并立项)
|
||||
|
||||
### 战斗表现
|
||||
|
||||
#### 敌人卡形态
|
||||
|
||||
**现状**:卡片式还是站桩式(无框立绘加底座)——battle.md 按卡片式起草并登记给样张裁决;战斗表现的动画方案随之而定
|
||||
|
||||
**归属**:样张裁决(用户)
|
||||
|
||||
**状态**:待办
|
||||
|
||||
## 冒险循环
|
||||
|
||||
### 关卡节点地图
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
| 不负责 | 归谁 |
|
||||
|---|---|
|
||||
| 屏级呈现形态与呈现语义(五区布局、敌人卡、明细带、高光行) | [battle.md](../../../ux/battle.md) 与 [HUD 框架](../表现与支撑/HUD框架.md),本文只引用 |
|
||||
| 屏级呈现形态与呈现语义(四区布局、敌人呈现〔站桩形态〕、明细带、高光行) | [battle.md](../../../ux/battle.md) 与 [HUD 框架](../表现与支撑/HUD框架.md),本文只引用 |
|
||||
| 视觉基调、剪影哲学、色彩与图标键契约 | [art-bible](../../../art/art-bible.md),本文只引用 |
|
||||
| 结算逻辑与逐行流水本身 | [战斗结算](战斗结算.md) |
|
||||
| 敌种视觉状态的数据面(哪个敌种有几态、什么姿态) | [敌人系统](敌人系统.md) |
|
||||
@@ -75,13 +75,13 @@
|
||||
|
||||
附着在同一次样张上的还有一项已登记的裁决(登记出处 = 敌人系统的呈现契约):敌人层绘制优先级的插入位置——白话就是敌人的姿态精灵画在绘制顺序的哪一层,会不会、以及如何与棋盘上的数字、旗、小人发生遮挡。它随美术测试一并裁决,不在本文提前定。
|
||||
|
||||
两项相邻裁定已有结论,设计时直接继承:敌人卡在 battle.md 里先按卡片式起草,卡片式对站桩式留给样张裁决;art-bible 的图标键契约已冻结,动画设计不必等图标终稿。
|
||||
两项相邻裁定已有结论,设计时直接继承:**敌人呈现形态已裁决(2026-09-20 用户看对照样张拍板)——全站桩式(无框立绘+底座),主角同样站桩、状态小图标挂血条正下方,卡片式整体退役**(06 待办「敌人卡形态」解决移除,台账 99;battle.md 起草条款已随裁决改写,对照样张存档 `production/mockups/`);art-bible 的图标键契约已冻结,动画设计不必等图标终稿。
|
||||
|
||||
### 一屏样张的验收标准
|
||||
|
||||
样张是前置美术测试的判定物;本节把"怎么算过"在测试组织前写成文,避免临场现定标准。成文做法参照 [art-bible](../../../art/art-bible.md) §1.4 格子样张测试(内容清单、按序验收项、判定与回退),判据全部落到已冻结的现行口径上——本节不定任何新的视觉参数。
|
||||
|
||||
样张内容清单(一组齐备,缺项即无效):按 [battle.md 布局决策 1](../../../ux/battle.md) 的常驻双舞台四区布局整屏出样;角色剪影按棋盘格、结算明细带、战斗舞台三个语境同图摆放;敌人卡两候选形态对照(卡片式与站桩式各一版,其余内容不变);受击、退场、高光兑现三组动画关键帧条(每组至少起、中、末三帧);敌人姿态精灵与数字、旗、小人同格叠放的遮挡对照组至少一组。
|
||||
样张内容清单(一组齐备,缺项即无效):按 [battle.md 布局决策 1](../../../ux/battle.md) 的常驻双舞台四区布局整屏出样;角色剪影按棋盘格、结算明细带、战斗舞台三个语境同图摆放;~~敌人卡两候选形态对照(卡片式与站桩式各一版,其余内容不变)~~——**本项已由 2026-09-20 形态裁决提前收口(全站桩定稿、卡片式退役),正式样张按站桩形态单版出样即可**(owner 修订,对照义务解除;见 06 待办「敌人卡形态」销项,台账 99);受击、退场、高光兑现三组动画关键帧条(每组至少起、中、末三帧);敌人姿态精灵与数字、旗、小人同格叠放的遮挡对照组至少一组。
|
||||
|
||||
验收项按序判定,第一项不过 = 整张否决(继承格子样张"数字可读性定风格"的次序):
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
4. **战斗空间成立**:双舞台同屏下挖掘期视线锚在棋盘区、结算期锚在明细带与战斗画面区(B 区),两舞台边界清晰、无焦点争夺。
|
||||
5. **敌层插入位置可裁**:遮挡对照组足以裁决敌人姿态精灵画进绘制顺序的哪一层——任何层叠组合下数字、旗、小人不得被遮挡到不可辨。
|
||||
|
||||
判定与回退:第 1 项不过即演出元素回炉,禁止以牺牲可读性换氛围(改演出、不动数字口径);第 2–4 项不过对应资产或方案回炉重交,已过项结果保留。第 5 项与敌人卡形态对照不产生过/不过,各产出一条裁决记录:插入位置结论由[敌人系统](敌人系统.md)的呈现契约登记,卡片式对站桩式的结论回写 battle.md 的起草条款。样张通过 = 角色剪影、动画方案、战斗空间、敌层插入位置四件锁定物冻结;通过前不启动任何终稿资产与动画设计。
|
||||
判定与回退:第 1 项不过即演出元素回炉,禁止以牺牲可读性换氛围(改演出、不动数字口径);第 2–4 项不过对应资产或方案回炉重交,已过项结果保留。第 5 项(敌层插入位置)不产生过/不过,产出一条裁决记录:插入位置结论由[敌人系统](敌人系统.md)的呈现契约登记(~~敌人卡形态对照~~半边已于 2026-09-20 提前裁决收口——全站桩定稿,结论已回写 battle.md 起草条款)。样张通过 = 角色剪影、动画方案、战斗空间、敌层插入位置四件锁定物冻结;通过前不启动任何终稿资产与动画设计。
|
||||
|
||||
### 演出服从信息与可读性
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
| 方向 | 系统 / 文档 | 接口要点 |
|
||||
|---|---|---|
|
||||
| 上游 | [战斗结算](战斗结算.md) | 逐行流水与明细协议——演出时间轴的数据源 |
|
||||
| 上游 | [HUD 框架](../表现与支撑/HUD框架.md) | 四区布局、战斗画面区(四区中的 B 区)演出区结构、敌人卡与明细带呈现语义——本文在其上叠加密度 |
|
||||
| 上游 | [HUD 框架](../表现与支撑/HUD框架.md) | 四区布局、战斗画面区(四区中的 B 区)演出区结构、敌人呈现(站桩形态)与明细带呈现语义——本文在其上叠加密度 |
|
||||
| 上游 | [敌人系统](敌人系统.md) | 资产需求下限三类与敌种姿态数据面——数据已锁,本文出终稿;另登记一项随样张一并裁决的事项:敌人层绘制优先级的插入位置 |
|
||||
| 上游 | [art-bible](../../../art/art-bible.md)(现行权威) | 剪影、色彩、图标键契约、各阶段氛围——表现侧约束 |
|
||||
| 上游 | [battle.md](../../../ux/battle.md)(现行权威) | 屏级呈现形态与呈现语义 |
|
||||
@@ -156,3 +156,4 @@ MVP 不要求本文的闭环:不做清单把战斗动画演出列为 MVP 打
|
||||
| v0.1 | 2026-09-15 | 自归档线索整合为范围草案(旧体系未单独成文) |
|
||||
| v0.2 | 2026-09-16 | 新增「一屏样张的验收标准」:内容清单、五项按序判定与判定回退成文,四件锁定物(角色剪影/动画方案/战斗空间/敌层插入位置)的过判口径落到已冻结口径上(06 清单「样张验收标准未成文」闭合);依赖与输出表"五区"改"四区"随 UI 收口批同步 |
|
||||
| v0.3 | 2026-09-16 | **敌人技能池批(与敌人系统 / 战斗结算 / HUD框架 / registry / 切片代码同批)**:上游呈现输入清单「敌种姿态资产定稿」行改型——行为环姿态预告(一态与三态)随行为环退役,改「特殊技技能动画定稿」(普通攻击零表示、特殊技攻/防系两型动画映射,暴击掷点层无前置表示);摇定动画位呈现语义 = 开轮摇定即可见、纯类型级提醒(池与权重不公开),样张验收联动口径不变 |
|
||||
| v0.4 | 2026-09-20 | **敌人卡形态裁决收口批(与 battle.md / HUD框架 / 06 清单同批,台账 99)**:敌人呈现形态拍板全站桩式(无框立绘+底座,主角同站桩、状态小图标挂血条下,卡片式退役)——「前置美术测试是硬前置」节相邻裁定句改裁决已下;样张内容清单「敌人卡两候选形态对照」项划线解除(正式样张按站桩形态单版出样,owner 修订);判定与回退节第 5 项拆出形态对照半边(已收口);敌人层插入位置裁决义务保留随样张批 |
|
||||
@@ -182,7 +182,7 @@ Boss 专属身份 = 专属池承载:独占技能 + 权重轮廓(现行:酋
|
||||
| 特殊技 | 技能动画占位(攻击系 / 增益系 / 妨害系三族——2026-09-19 妨害系 ☠ 新增)——纯类型级提醒,不预告技能名与数值 | 明细行具名技能 + 数值 |
|
||||
| nat20 暴击 | 无前置表示(掷点层,与技能重击严格区分) | 明细行"(暴击)"标注 |
|
||||
|
||||
即:普攻完全不可预测;特殊技有一次类型级预告,不可撤销,但给"继续挖还是停手"的决策依据。旧环"下一拍全程亮出(意图徽标 + 环点)"的预告粒度随行为环退役。技能动画的攻/防系映射归[战斗表现](战斗表现.md),敌人卡摇定动画位归[HUD 框架](../表现与支撑/HUD框架.md),本系统只锁上面这张三档规格。
|
||||
即:普攻完全不可预测;特殊技有一次类型级预告,不可撤销,但给"继续挖还是停手"的决策依据。旧环"下一拍全程亮出(意图徽标 + 环点)"的预告粒度随行为环退役。技能动画的攻/防系映射归[战斗表现](战斗表现.md),敌人侧摇定动画位归[HUD 框架](../表现与支撑/HUD框架.md)(呈现载体 = 站桩立绘,2026-09-20 全站桩拍板),本系统只锁上面这张三档规格。
|
||||
|
||||
| 规格 | 含义 |
|
||||
|---|---|
|
||||
|
||||
@@ -59,7 +59,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
|
||||
| 区 | 位置与尺寸 | 管什么 |
|
||||
|---|---|---|
|
||||
| A 关卡进度条 | 全宽 28px 顶栏 | 节点链步进与当前位置 |
|
||||
| B 战斗画面 | 全宽 252px | 英雄卡、敌人卡、轮次阶段指示、结算明细带 |
|
||||
| B 战斗画面 | 全宽 252px | 主角站桩立绘、敌人站桩立绘 ×1–3(**全站桩形态,2026-09-20 用户拍板:无框立绘+底座、状态小图标挂血条下,英雄卡/敌人卡退役**)、轮次阶段指示、结算明细带 |
|
||||
| C 角色信息 | 左下 240×520 | 生命 / 攻击 / 储备数据框、状态效果槽、小人立绘 |
|
||||
| D 扫雷图 | 中下约 1036×520(原右下面板删除后横向加宽) | 行动点条与按钮组、棋盘本体、toast 槽 |
|
||||
|
||||
@@ -109,7 +109,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
|
||||
| 状态效果 | 绑定结算编排完成时点 |
|
||||
| 已开格奖励身份 | 已开格揭显时经身份解析只读回调查询(`query_identity`,组合根注入) |
|
||||
|
||||
就地更新指只改变化的字段、不整块重建界面——整块重建会把敌人卡死亡灰化这类就地状态吞掉。
|
||||
就地更新指只改变化的字段、不整块重建界面——整块重建会把敌人立绘死亡灰化这类就地状态吞掉。
|
||||
|
||||
### 信号载荷契约:消息带着当场就能用的数据来
|
||||
|
||||
@@ -158,7 +158,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
|
||||
| 上游 | [增益状态](../战斗循环/增益状态.md) | 状态投影经战斗结算呈现面取得,零直读 |
|
||||
| 上游 | [地图战斗资源](../战斗循环/地图战斗资源.md) | 已开格奖励身份投影(`query_identity` 只读回调,组合根注入)零直读 |
|
||||
| 上游 | [关卡节点地图](../冒险循环/关卡节点地图.md) | 节点链、当前节点、跨战斗生命携带的读数;胜利后推进 |
|
||||
| 下游 | [战斗表现](../战斗循环/战斗表现.md) | 交付四区布局、明细带呈现位、敌人卡呈现语义;它只叠加动画密度与演出 |
|
||||
| 下游 | [战斗表现](../战斗循环/战斗表现.md) | 交付四区布局、明细带呈现位、敌人呈现语义(站桩形态);它只叠加动画密度与演出 |
|
||||
| 下游 | [音频](音频.md) | 挂点事件源(明细行类型流、toast 触发);MVP 无音频 |
|
||||
| 下游 | [教学引导](教学引导.md) | toast 与图例面板两个承载位——教学内容装进这两个容器 |
|
||||
| 下游 | [设置与本地化](设置与本地化.md) | 中文字体随包、按钮宽度、术语表等契约的消费方 |
|
||||
@@ -227,7 +227,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
|
||||
- 结算逐行实时滚出且每行带来源标注;未生效类行聚合计数并带形状冗余;零值行不被吞;效果行的单次贡献与池合成值分示、禁相加误读。
|
||||
- 高光三档:标中旗行金框、清图奖励行金框、完美排雷全屏喝彩级——庆祝不打在空兑现上(首份即零兑付则不发高光)。
|
||||
- 状态槽显示图标加层数加剩余结算次数,悬停见来源;极性按键级表呈现(金满框 / 红缺框),空态整排隐藏、数据框上移补位;战斗结束全清有微文案。
|
||||
- 敌人卡:意图徽标 = 本拍摇定结果的动画占位(敌人技能池批三档可见性——普通攻击零表示、特殊技类型级提示〔攻/防系两型〕,不预告技能名与数值、池与权重不公开)且挖掘期全程可见、映射跨局恒定、顺位可读、血量数字可读、敌方共享层数各卡同值;死亡灰化加碎裂退场(禁止瞬间消失)且就地更新不丢灰化态。
|
||||
- 敌人呈现(站桩立绘,2026-09-20 全站桩拍板后载体由敌人卡改为无框立绘+底座,义务面平移不重述):意图占位 = 本拍摇定结果的动画占位(敌人技能池批三档可见性——普通攻击零表示、特殊技类型级提示〔攻/防系两型〕,不预告技能名与数值、池与权重不公开)且挖掘期全程可见、映射跨局恒定、顺位可读、血量数字可读、敌方共享层数各立绘同值(血条悬浮头顶、状态小图标挂血条正下方);死亡灰化加碎裂退场(禁止瞬间消失)且就地更新不丢灰化态。
|
||||
- 终局:胜利金蜡封、失败暮蓝氛围层(明度不变);储备清零与状态全清两反馈不合并、时序不倒挂(关卡末清库反馈义务载体 = 魔法道具背包,随魔法道具 P0 落地补验收)。
|
||||
- 任一模态层打开时遮挡物隐藏或输入锁定、关闭逐层恢复;tooltip 与明细行等动态区固定槽高、换行裁剪不推挤布局。
|
||||
- 终局呈现只消费流水与快照:核心对象销毁后呈现层对生命周期状态零回读;终局后重放渲染与实时渲染一致。
|
||||
@@ -248,3 +248,4 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
|
||||
| v0.4 | 2026-09-16 | **敌人技能池批(与敌人系统 / 战斗结算 / registry / 切片代码同批)**:敌人卡义务改写——行为环环点拆除(proposal §2.4),意图徽标语义改「本拍摇定结果的动画占位」(普通攻击零表示 / 特殊技类型级提示两型:攻击系 ⚔ / 增益系 ✦),护甲行(护甲类型 + AC)保留常驻;敌方增益显示(蓄力/硬化)入敌卡状态行 + 状态槽图标键增 empower/fortify 两键(状态表九行全映射);呈现快照敌人字段消费面同步(摇定动作三字段 + effects,池与权重不投影);上游敌人系统行与验收条目同步 |
|
||||
| v0.3 | 2026-09-16 | 格面资源批 UI 欠账收口(可选类道具与其轮末窗口已随 2026-09-15 代码批删除):战斗屏布局五区 → 四区(删 E 道具栏行,D 区加宽至约 1036px 并同步装板校验变量);删道具窗口弹层条款(原位点亮、非模态不入栈)、P0 闭环窗口锚点条目、「道具窗口原位点亮 / 至多选一件 / 禁用件带原因 / 空库存不弹窗」验收行;依赖与输出表的窗口选择提交、道具使用窗口呈现、库存查询义务删除或改述为现行口径(奖励身份投影经 `query_identity` 只读回调,零直读);关卡末清库反馈义务改载魔法道具背包,随魔法道具 P0 落地。魔法道具预留义务行与「待拍板」登记保持 |
|
||||
| v0.5 | 2026-09-17 | 数值纪律收口批:调参表标注文档自持口径(无表承载常量的唯一事实源声明) |
|
||||
| v0.6 | 2026-09-20 | **敌人卡形态裁决收口批(与 battle.md / 战斗表现 / 06 清单同批,台账 99)**:全站桩形态拍板——B 区主角与敌人均为无框立绘+底座、状态小图标挂血条正下方,英雄卡/敌人卡退役;B 区行、敌人呈现义务行(载体由卡改立绘,意图占位/共享层数各立绘同值/死亡灰化退场等义务面平移)、下游战斗表现交付行、就地更新示例措辞四处同步;攻击值等规划数据仍归 C 区数据框(C 区不动)。呈现快照数据面零改动(消费字段不变,只换呈现载体) |
|
||||
+17
-16
@@ -2,7 +2,7 @@
|
||||
|
||||
> **Status**: Complete — /ux-review 修订落稿(2026-09-12,blocking 7 项已修,待复检)
|
||||
> **Author**: user + ux-designer
|
||||
> **Last Updated**: 2026-09-16(格面资源批 UI 欠账收口:可选类道具及其右下面板、轮末窗口 UI 已随代码删除下线,四区口径、结算五段、明细行 10 类协议同步——见文末修订记录)
|
||||
> **Last Updated**: 2026-09-20(敌人卡形态裁决收口:全站桩形态拍板——主角与敌人均无框立绘+底座、状态小图标挂血条下、卡片式退役;B 区行/组件表/线框图/OQ4 同步改写——见文末修订记录)
|
||||
> **Platform Target**: PC (Steam)——Keyboard/Mouse 主(全部操作纯鼠标可完成)、Gamepad Partial 非 MVP、Touch None(同 technical-preferences)
|
||||
> **上游修订依赖**: 弃图刷新挖掘期受理已随布局决策 4 落稿上游(2026-09-12:行动经济 Active 受理 + 每轮上限 2 次、排雷玩法 Active·仅刷新路径装板、战斗结算 `refresh_board` 编排 + 恒 same_board、registry `rap_rules` 同步——见 OQ11)
|
||||
> **Template**: UX Spec
|
||||
@@ -94,7 +94,7 @@
|
||||
| 区 | 位置与尺寸 | 内容 |
|
||||
|---|---|---|
|
||||
| **A 关卡进度条** | 全宽 × 28px 顶栏 | 节点图步进(战 → 战 → 赏 → 战 → 战 → 疗 → 王——文字签槽,对应 battle/reward/rest/boss 四型节点),当前节点奖励金高亮、已过暗金、Boss 旗朱描边 |
|
||||
| **B 战斗画面** | 全宽 × 252px | 英雄卡(左)+ 兑现演出区(中)+ 敌人卡 ×1–3(右);底部结算明细带(24px 摘要 / 结算期 84px 实时流);顶部中央轮次·阶段指示 |
|
||||
| **B 战斗画面** | 全宽 × 252px | 主角站桩立绘(左)+ 兑现演出区(中)+ 敌人站桩立绘 ×1–3(右)——**全站桩形态(2026-09-20 用户拍板,敌人卡形态待办裁决收口):主角与敌人均为无框立绘+底座,零卡片**;底部结算明细带(24px 摘要 / 结算期 84px 实时流);顶部中央轮次·阶段指示 |
|
||||
| **C 角色信息** | 左下 240px × 520px | HP 条、攻击值(含修正显示)、RAP 池、状态效果槽(固定 4 槽)、小人立绘占位 |
|
||||
| **D 扫雷图** | 中下 ~1036px × 520px(原右下面板删除后横向加宽,吸收其宽度) | 顶部 AP 条(44px:左——AP 点阵 + 停手按钮;右——图例按钮 + 弃图刷新按钮〔雷图右上角,2026-09-12 拍板〕);棋盘主体(居中,格 36–45px 见方);toast 槽(上缘内侧) |
|
||||
|
||||
@@ -110,8 +110,8 @@
|
||||
| 区 | 组件 | 类型 | 内容 | 交互 | 现有 demo 组件 |
|
||||
|---|---|---|---|---|---|
|
||||
| A | LevelStripView | 步进条 | 节点图 + 当前位置 | 只读(点击节点不可跳) | ✅ level_strip_view.gd 迁移 |
|
||||
| B | 英雄卡 | 卡片 | 小人像、HP 条、攻击值、状态效果槽 ×4 | 只读 | HUDView 拆分 |
|
||||
| B | 敌人卡 ×1–3 | 卡片 | 敌像、血条、顺位徽标、意图徽标、状态槽(含敌方 side 池口径:伏击层数为全体敌人共享单值、各卡同值呈现——数据源 = 战斗结算流水经增益状态投影,敌人系统×4④;2026-09-16 敌人技能池批改型:行为环点拆除〔proposal §2.4〕,意图徽标语义 = 本拍摇定结果的动画占位——普通攻击零表示 / 特殊技类型级提示,敌方增益〔蓄力/硬化〕入状态行) | 只读 | 新建 |
|
||||
| B | 主角站桩立绘 | 站桩(无框立绘+底座) | HP 条悬浮头顶、状态效果小图标一排挂血条正下方(形状+色相双通道、层数角标同 C 区状态槽键);攻击值等规划数据仍归 C 区数据框(2026-09-20 全站桩拍板,英雄卡退役) | 只读 | HUDView 拆分改造 |
|
||||
| B | 敌人站桩立绘 ×1–3 | 站桩(无框立绘+底座) | 血条+顺位徽标悬浮头顶、状态小图标挂血条正下方(含敌方 side 池口径:伏击层数为全体敌人共享单值、各立绘同值呈现——数据源 = 战斗结算流水经增益状态投影,敌人系统×4④;2026-09-16 敌人技能池批改型:行为环点拆除〔proposal §2.4〕,意图占位 = 本拍摇定结果的动画占位——普通攻击零表示 / 特殊技类型级提示,敌方增益〔蓄力/硬化〕入状态图标行);死亡灰化加碎裂退场直接演在立绘上(2026-09-20 全站桩拍板,敌人卡退役) | 只读 | 新建 |
|
||||
| B | 轮次·阶段指示 | 标签 | "第 N 轮 · 挖掘中/结算中"(终局定格「战斗结束」;Boss 变体附 Boss 名) | 只读 | 新建 |
|
||||
| B | 结算明细带 | 滚动列表 | 结算期逐行流水([战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 10 类行协议);挖掘期收起为上轮摘要 1 行 | 点击展开明细回看 overlay | battle_log_view.gd 改造 |
|
||||
| B | 结算明细回看 | 模态 overlay | 完整流水逐行(现行 10 类行协议;未生效类行聚合计数) | 关闭 | battle_log_view.gd 改造 |
|
||||
@@ -149,18 +149,18 @@
|
||||
|
||||
### ASCII Wireframe
|
||||
|
||||
> **2026-09-20 全站桩形态改版**:敌人卡形态裁决收口(卡片式退役、主角与敌人均站桩——无框立绘+底座、状态小图标挂血条下),下方线框图 B 区已随裁决重绘;旧卡片式线框留档于 git 历史。
|
||||
|
||||
```
|
||||
1280 × 800 ────────────────────────────────────────────────────────────────────
|
||||
┌─[A] 关卡进度条 28px ─────────────────────────────────────────────────────────┐
|
||||
│ 战→战→赏→战→战→疗→王 (当前节点奖励金高亮,已过节点暗金) │
|
||||
├─[B] 战斗画面 252px ──────────────────────────────────────────────────────────┤
|
||||
│ ┌────────────┐ ┌──────────┐ ┌──────────┐ │
|
||||
│ │ 英雄卡 │ 第 3 轮 · 挖掘中 │ ①蛆虫 │ │ ②蛆虫 │ │
|
||||
│ │ [小人像] │ │ HP▓▓▓░ │ │ HP▓▓░░ │ │
|
||||
│ │ HP▓▓▓▓░ │ [ 兑现演出区 ] │ 意图:爪击 │ │ 意图:蓄力 │ │
|
||||
│ │ 攻 6 (+50%) │ (结算期: 光带→弹道→受击) │ 环 ●○○○ │ │ 环 ●●○○ │ │
|
||||
│ │ 状态 ⬆2 ·🛡1 │ │ 状态 ⚡2 │ │ 状态 🛡1 │ │
|
||||
│ └────────────┘ └──────────┘ └──────────┘ │
|
||||
│ HP▓▓▓▓░ ①HP▓▓▓░ ②HP▓▓░░ │
|
||||
│ ⬆2 🛡1 [⚔特殊技] (普攻·零表示) │
|
||||
│ /小人\ 第 3 轮 · 挖掘中 伏×2 伏×2 │
|
||||
│ (底座) [ 兑现演出区 ] /蛆虫\ /蛆虫\ │
|
||||
│ ↑状态图标挂血条正下方 (结算期: 光带→弹道→受击) (底座) (底座) │
|
||||
│ ├─ 结算明细带 ────────────────────────────────────────────────────────────┤ │
|
||||
│ │ ▸上轮: 主角攻击3→蛆虫-3 | 攻击+50%(1结算) | 伏击+1×2 … [展开明细▾] │ │ # 2026-09-17 数值压缩批:UI 示意文本同步(atk 7→3〔地精格数÷3 + L1 锚行;UX 示意按当前地精行值读〕、伏击 +3 → +1/层,幅度参考 data/tables/)
|
||||
│ └────────────────────────────────────────────────────────────────────────┘ │
|
||||
@@ -192,10 +192,10 @@
|
||||
| **清图瞬间** | 全部安全格开完 | 金粒喷泉 + 彩纸 3–5s 即收(§2.3);清图奖励行强调呈现(H2,地图战斗资源×④——金框高亮行);随后换新图 install |
|
||||
| **完美排雷高光** | 战斗结算高光判定(全图标中/零误标类) | 全屏喝彩级反馈(§2.2 最高档):金光带加倍扫射 + 「完美排雷 ×2」横幅——P2 爆发兑现节点(创意风险 #2 落点) |
|
||||
| **标中旗高光** | flag_judged{hit=true} | 该旗化暴击弹道加重 + 明细行金框——chord 缺席的即时兑现补偿(创意风险 #3 落点) |
|
||||
| **敌人死亡呈现** | 敌 hp=0(流水行击杀标记) | 该敌人卡血条归零 → 卡体灰化 + 碎裂退场(**禁瞬消**——敌人系统资产下限「死亡瞬间须可辨识、不得直接消失」,同等 blocking);战斗段短路的重击被掐灭不产行动明细行,由行序可推断(战斗结算);动画密度归战斗表现,呈现语义在本 spec |
|
||||
| **敌人死亡呈现** | 敌 hp=0(流水行击杀标记) | 该敌人立绘血条归零 → 立绘灰化 + 碎裂退场(**禁瞬消**——敌人系统资产下限「死亡瞬间须可辨识、不得直接消失」,同等 blocking);战斗段短路的重击被掐灭不产行动明细行,由行序可推断(战斗结算);动画密度归战斗表现,呈现语义在本 spec |
|
||||
| **胜利终局** | verdict=win | 金蜡封落于**扫雷图区中央**(§2.4 字面锚定),全屏暖白金 overlay;判定行 + 「下一节点」;明细回看入口;状态槽全清可见反馈(增益状态×4④——逐槽化光收回 + 微文案「状态随战斗结束消散」,防「我的 buff 哪去了」误读) |
|
||||
| **失败终局** | verdict=lose(hero hp=0,战斗段短路) | 明度不变的暮蓝 #5A6C8C 氛围 overlay(全作唯一暮蓝档);小人坐砖掸灰、插过的旗逐面化光点收回(§2.5);判定行 + 明细回看(学习用途)+「返回」;状态槽全清可见反馈(增益状态×4④,同胜利) |
|
||||
| **Boss 遭遇变体** | encounter=boss(遗迹守卫) | 战斗开始一次性演出:紫赤 #8F2F6A 影子爬过棋盘(§2.6);敌人卡体量最大+锐角剪影;阶段指示附 Boss 名 |
|
||||
| **Boss 遭遇变体** | encounter=boss(遗迹守卫) | 战斗开始一次性演出:紫赤 #8F2F6A 影子爬过棋盘(§2.6);敌人立绘体量最大+锐角剪影;阶段指示附 Boss 名 |
|
||||
| **空态:无状态效果** | 增益状态 EC12 | 状态槽隐藏 or 空槽占位——**裁决:槽位隐藏,HP/攻击/RAP 上移补位**(角色信息区纵向空间紧张,空槽占位浪费);图例面板载空态说明(增益状态×① 成文项) |
|
||||
| **调试变体** | 测试模式 | TunePanel 入口(demo 保留,正式侧元进度退役);Playtest 诊断按钮(卡死转储) |
|
||||
|
||||
@@ -256,7 +256,7 @@
|
||||
|---|---|---|
|
||||
| 进入战斗屏 | 棋盘 install 淡入(200ms)+ 初始 3×3 展开涟漪 + Boss 战先播紫赤影子爬棋盘(§2.6) | 棋盘生成 install / §2.6 |
|
||||
| 挖掘→结算 | 明细带自底展开(150ms)+ 棋盘去饱和 + 金橙色相偏移 + 阶段指示翻转 | §2.2 色彩转金橙主导、饱和拉高、明度不变(状态区分经饱和/色相——art-bible §2 合规化 2026-09-12) |
|
||||
| 结算逐行兑现 | 光带自棋盘行起点横扫 → 开格化箭雨/旗化暴击弹道飞向敌人卡 → 受击闪白 + 血条直角递减 | §2.2 承载元素;因果全程可见可归因(P2) |
|
||||
| 结算逐行兑现 | 光带自棋盘行起点横扫 → 开格化箭雨/旗化暴击弹道飞向敌人立绘 → 受击闪白 + 血条直角递减 | §2.2 承载元素;因果全程可见可归因(P2) |
|
||||
| 清图换新图 | 金粒喷泉 3–5s → 旧图碎裂淡出 → 新图 install 淡入 | §2.3 短促丰收不拖节奏 |
|
||||
| RAP 清零(battle_over) | RAP 数字滚动归零 + 「随战斗结束消散」微文案 | 行动经济可见反馈义务 |
|
||||
| 敌人死亡 | 血条直角递减至零 → 卡体灰化 + 碎裂退场(禁瞬消) | 敌人系统资产下限(同等 blocking);动画密度归战斗表现 |
|
||||
@@ -363,7 +363,7 @@
|
||||
1. **Player journey map 未建**——建议实现前补建(`design/player-journey.md`),校准挖掘→结算→终局情绪曲线与 art-bible §2 能量档的匹配
|
||||
2. **`design/accessibility-requirements.md` 未建**(gate-check Pre-Production 缺口)——本 spec 内建 WCAG AA 基线承诺,正式分层(文本缩放/色盲模式/按键重映射)待该文档定稿
|
||||
3. **`design/ux/interaction-patterns.md` 未建**——本 spec 新引入待入库 pattern:toast 双源拒绝、逐行兑现明细带、悬停预承诺光标、点阵资源显示(/ux-design patterns 批次入库)
|
||||
4. **战斗表现美术测试**(game-concept 已登记,战斗表现批次前强制):本 spec 的常驻双舞台分屏(布局决策 1)是测试的布局输入——敌人卡卡片式 vs 场景站桩式(无框立绘+底座)待样张定稿;本 spec 按"卡片式"起草(信息分层最稳),站桩式不改变分区结构
|
||||
4. **战斗表现美术测试**(game-concept 已登记,战斗表现批次前强制):本 spec 的常驻双舞台分屏(布局决策 1)是测试的布局输入——**敌人卡形态已裁决(2026-09-20 用户看对照样张拍板):全站桩式(无框立绘+底座),主角同样站桩、状态小图标挂血条下,卡片式整体退役**;本 spec 已随裁决改写(原"按卡片式起草"条款作废),站桩式不改变分区结构。对照样张存档 `production/mockups/enemy-card-vs-standee-mockup.html`
|
||||
5. **移动动画形态**(布局决策 3):≤150ms 短滑为推荐值,playtest 观测「移动太瞬/太拖」反馈后调
|
||||
6. **明细带挖掘期是否常驻上轮摘要**:常驻(现方案)vs 结算后即收起——playtest 观测回看频率
|
||||
7. **Gamepad 导航序**:Partial 支持(非 MVP 门禁)——焦点环顺序待 gamepad 批次定
|
||||
@@ -389,7 +389,7 @@
|
||||
| 排雷玩法×6 | ⑥ 单意图帧+voided+拒绝可感知 | §Interaction Map + §States 拒绝子态 + AC |
|
||||
| 行动经济 | AP/RAP 常显+刷新入口+清零反馈+双源 | §Layout C/D 区 + §Transitions + AC |
|
||||
| 战斗结算×3 | ①高光行强调呈现(标中旗金框行/清图 H2 金框行)②完美排雷呈现形态 ③棋盘生成 EC5 零合法板提示/补偿/回退形态(toast 提示;补偿/回退不提供——三形态选型留痕 2026-09-12) | §States 高光/清图 + §States 拒绝子态 + §AC;注:结算明细屏 = 战斗结算 UX Flag 事项(本 spec 即其 /ux-design 产物),非 战斗结算×3 台账 |
|
||||
| 敌人系统×4 | 意图映射/恒定/顺位/敌方池 | §Component Inventory 敌人卡 + **意图线索映射目录(敌人系统×4① 成文占位,资产定稿归战斗表现)** + AC |
|
||||
| 敌人系统×4 | 意图映射/恒定/顺位/敌方池 | §Component Inventory 敌人站桩立绘 + **意图线索映射目录(敌人系统×4① 成文占位,资产定稿归战斗表现)** + AC |
|
||||
| 增益状态×4 | 常显+空态/来源标注/溢出/去留 | §States 空态 + §AC |
|
||||
| 地图战斗资源×5 | 身份恒读/明细行/清图强调(旧版台账五条中「窗口」「清空反馈」随格面资源批下线——清空反馈义务现载体 = 魔法道具背包,随魔法道具 P0 落地) | §Component Inventory BoardView 奖励徽章 + §States 清图/高光 + §Data Requirements query_identity + AC |
|
||||
| 棋盘生成 | EC5 零合法板诚实呈现(数据面经 战斗结算×3③ 上抛) | §States 拒绝子态(toast)+ AC |
|
||||
@@ -403,3 +403,4 @@
|
||||
|---|---|
|
||||
| 2026-09-15 | 雾格残留清理:格态收窄为已开 / 未开两态(删除雾图变体状态行、四格态 AC 与已开雾格 tint / 雾区全开信号两条 AC);图例面板与 toast 槽去掉雾条目与雾首遇提示;BoardView 纹带、绘制优先级与色弱冗余改按通用变异纹带表述;`ux_hint_shown` 的 hint_id 枚举去掉 fog_first;输入义务与 §13 义务对照表去掉 地形变异×3 一项;目标感知示例与提示文案 OQ 措辞同步。本 spec 不装载被移除机制的呈现义务 |
|
||||
| 2026-09-16 | 格面资源批 UI 欠账收口(随 2026-09-15 可选类道具删除的代码收口同步文档):① 布局四区化——删 E 区道具面板行、布局决策 2(道具窗口形态=右栏原位激活)整段删除(编号留空防交叉引用失锚)、ASCII 线框图重绘为 A/B/C/D 四区(D 区横向加宽 ~1036px)、A 区节点链示例改文字签槽实际渲染(战/赏/疗/王);② States 删道具窗口态与零库存空态(「道包空空」);③ 结算口径五段化(授予→增益/减益→战斗→衰减→判定)与明细行 10 类封闭协议(删 15 类行、四类行旧口径;「奖励未生效」行保留);④ 交互/动效/事件表删道具窗口行、跳过按钮、`ux_window_choice`、`submit_window_selection`;⑤ 数据源登记删 `query_inventory` 与窗口载荷,奖励身份按现行 `query_identity` 只读回调口径校正;⑥ 验收清单删窗口断言、五区改四区、未生效类行改现行两型(溢出未生效/奖励未生效);⑦ 关卡末清库反馈义务改载魔法道具背包(随魔法道具 P0 落地,本批不设计具体呈现);⑧ OQ7(道具窗口原位激活)删除、OQ 重编号,「囤刀待机」等旧可选类措辞清理。本 spec 不装载被删除机制的呈现义务 |
|
||||
| 2026-09-20 | **敌人卡形态裁决收口(2026-09-20 用户看对照样张拍板,06 待办「敌人卡形态」解决移除——台账 99)**:全站桩形态定稿——① B 区主角与敌人均为无框立绘+底座(站桩式),**英雄卡/敌人卡组件整体退役,卡片式不再作为候选**;主角血条悬浮头顶、状态效果小图标一排挂血条正下方,敌人血条+顺位徽标悬浮头顶、状态小图标同款挂血条下;攻击值等规划数据仍归 C 区数据框(C 区不动);② 布局表 B 区行、Component Inventory 英雄卡/敌人卡两行随裁决改写(敌方 side 池共享层数各立绘同值、意图动画占位等既有语义平移到站桩载体,不随形态改变);③ ASCII 线框图 B 区重绘(旧"意图:爪击/环点"示意早已随行为环退役,本次一并清掉);④ OQ4 改写为裁决已收口注记,对照样张存档 `production/mockups/`;呈现义务细节重述(受击/退场演出挂点等)随表现层升级批执行 |
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 204 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 404 KiB |
@@ -0,0 +1,325 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>敌人卡形态对照样张 — 卡片式 vs 站桩式</title>
|
||||
<style>
|
||||
* { margin:0; padding:0; box-sizing:border-box; }
|
||||
body { background:#0d0b09; color:#cfc4b0; font-family:"Microsoft YaHei","PingFang SC",sans-serif; padding:24px; }
|
||||
h1 { font-size:18px; color:#d9a441; margin-bottom:4px; }
|
||||
.note { font-size:12px; color:#8a7f6d; margin-bottom:20px; }
|
||||
.screen-wrap { margin-bottom:36px; }
|
||||
.screen-title { font-size:15px; color:#e8d9b0; margin-bottom:8px; font-weight:bold; }
|
||||
.screen-title small { color:#8a7f6d; font-weight:normal; }
|
||||
/* ===== 战斗屏 1280x800 ===== */
|
||||
.screen { width:1280px; height:800px; background:#171310; border:1px solid #3a322a; position:relative; display:flex; flex-direction:column; }
|
||||
/* A 区 */
|
||||
.zone-a { height:28px; background:#1f1a15; border-bottom:1px solid #3a322a; display:flex; align-items:center; padding:0 16px; gap:6px; font-size:12px; }
|
||||
.node-tag { padding:1px 8px; border:1px solid #4a4036; border-radius:3px; color:#8a7f6d; }
|
||||
.node-tag.past { color:#6b5f34; border-color:#3a322a; }
|
||||
.node-tag.now { color:#d9a441; border-color:#d9a441; background:rgba(217,164,65,.12); }
|
||||
.node-tag.boss { border-color:#c0392b; color:#c0392b; }
|
||||
.arrow { color:#4a4036; }
|
||||
/* B 区 */
|
||||
.zone-b { height:252px; background:#221c16; border-bottom:1px solid #3a322a; position:relative; display:flex; }
|
||||
.round-ind { position:absolute; top:10px; left:50%; transform:translateX(-50%); font-size:14px; color:#e8d9b0; letter-spacing:2px; background:#171310; border:1px solid #3a322a; padding:2px 14px; border-radius:10px; z-index:5;}
|
||||
.hero-card { width:190px; margin:34px 0 34px 18px; background:#2a231c; border:1px solid #4a4036; border-radius:6px; padding:8px; }
|
||||
.hero-sil { height:70px; display:flex; align-items:center; justify-content:center; }
|
||||
.stat-row { font-size:12px; color:#cfc4b0; margin-top:6px; }
|
||||
.hpbar { height:10px; background:#171310; border:1px solid #4a4036; border-radius:2px; overflow:hidden; margin-top:3px; }
|
||||
.hpbar > div { height:100%; background:#5da35d; }
|
||||
.hpbar.enemy > div { background:#c0574a; }
|
||||
.status-chips { display:flex; gap:4px; margin-top:6px; min-height:18px; }
|
||||
.chip { font-size:11px; padding:1px 6px; border-radius:3px; border:1px solid; }
|
||||
.chip.buff { color:#8fd18f; border-color:#3f6b3f; background:rgba(93,163,93,.12); }
|
||||
.chip.debuff { color:#d98a7f; border-color:#6b3f3a; background:rgba(192,87,74,.12); }
|
||||
.stage { flex:1; position:relative; }
|
||||
.detail-band { position:absolute; bottom:0; left:0; right:0; height:24px; background:#171310; border-top:1px solid #3a322a; font-size:11px; color:#9a8f7c; display:flex; align-items:center; padding:0 12px; gap:8px; }
|
||||
.detail-band .expand { margin-left:auto; color:#d9a441; }
|
||||
/* 卡片式敌人 */
|
||||
.enemy-cards { display:flex; gap:12px; align-items:center; margin:34px 18px 34px 0; }
|
||||
.ecard { width:150px; background:#2a231c; border:1px solid #4a4036; border-radius:6px; padding:8px; position:relative; }
|
||||
.ecard .order { position:absolute; top:-8px; left:-8px; width:22px; height:22px; border-radius:50%; background:#d9a441; color:#171310; font-size:12px; font-weight:bold; display:flex; align-items:center; justify-content:center; border:2px solid #171310; }
|
||||
.ecard .portrait { height:56px; background:#171310; border:1px solid #3a322a; border-radius:4px; display:flex; align-items:center; justify-content:center; margin-bottom:6px; }
|
||||
.ecard .ename { font-size:12px; color:#e8d9b0; text-align:center; margin-bottom:4px; }
|
||||
.fx-icon { font-size:11px; color:#d98a7f; border:1px dashed #6b3f3a; border-radius:3px; padding:1px 6px; display:inline-block; margin-top:5px;}
|
||||
/* 站桩式敌人 */
|
||||
.standee-stage { position:relative; flex:1; height:100%; }
|
||||
.ground { position:absolute; bottom:24px; left:8%; right:8%; height:2px; background:linear-gradient(90deg,transparent,#4a4036 20%,#4a4036 80%,transparent); }
|
||||
.standee { position:absolute; bottom:26px; display:flex; flex-direction:column; align-items:center; }
|
||||
.standee .floaters { display:flex; gap:4px; margin-bottom:4px; align-items:center; }
|
||||
.fbar { width:64px; height:8px; background:#171310; border:1px solid #4a4036; border-radius:2px; overflow:hidden; }
|
||||
.fbar > div { height:100%; background:#c0574a; }
|
||||
.fbar.hero > div { background:#5da35d; }
|
||||
.forder { width:18px; height:18px; border-radius:50%; background:#d9a441; color:#171310; font-size:11px; font-weight:bold; display:flex; align-items:center; justify-content:center; }
|
||||
.standee .base { width:70px; height:12px; border-radius:50%; background:radial-gradient(ellipse,#3a322a,#221c16); margin-top:-4px; }
|
||||
.standee .fx-flash { position:absolute; top:-14px; font-size:18px; color:#e8b04a; text-shadow:0 0 8px rgba(232,176,74,.6); }
|
||||
.status-icons { display:flex; gap:3px; margin-top:3px; }
|
||||
.sicon { width:16px; height:16px; border-radius:3px; border:1px solid #4a4036; background:#241f19; font-size:10px; display:flex; align-items:center; justify-content:center; }
|
||||
.sicon.buff { color:#8fd18f; border-color:#3f6b3f; }
|
||||
.sicon.debuff { color:#d98a7f; border-color:#6b3f3a; }
|
||||
.sicon .stack { font-size:8px; transform:translate(5px,5px); }
|
||||
/* 下半区 */
|
||||
.lower { flex:1; display:flex; }
|
||||
.zone-c { width:240px; background:#1f1a15; border-right:1px solid #3a322a; padding:12px; }
|
||||
.zone-d { flex:1; background:#1b1611; padding:8px; position:relative; }
|
||||
.databox { border:1px solid #4a4036; padding:6px 8px; font-size:12px; margin-bottom:8px; background:#241f19; }
|
||||
.databox b { color:#e8d9b0; }
|
||||
.ap-bar { height:44px; display:flex; align-items:center; gap:10px; padding:0 8px; font-size:13px; }
|
||||
.ap-dot { width:14px; height:14px; border-radius:50%; border:1px solid #d9a441; display:inline-block; margin-right:3px; }
|
||||
.ap-dot.full { background:#d9a441; }
|
||||
.btn { border:1px solid #4a4036; background:#2a231c; color:#cfc4b0; font-size:12px; padding:4px 10px; border-radius:4px; }
|
||||
.btn.accent { border-color:#d9a441; color:#d9a441; }
|
||||
.board { display:grid; grid-template-columns:repeat(12,36px); grid-auto-rows:36px; gap:2px; justify-content:center; margin-top:4px; }
|
||||
.cell { background:#2e2820; border-radius:3px; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:bold; color:#e8d9b0; font-family:Consolas,monospace; position:relative; }
|
||||
.cell.open { background:#3d352a; }
|
||||
.cell.flag::after { content:"🚩"; font-size:16px; }
|
||||
.cell.reward::before { content:""; position:absolute; bottom:2px; right:2px; width:8px; height:8px; border-radius:50%; }
|
||||
.cell.reward.r1::before { background:#8fd18f; }
|
||||
.cell.reward.r2::before { background:#7fa8d9; }
|
||||
.pawn { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
|
||||
.pawn i { width:14px; height:14px; border-radius:50% 50% 40% 40%; background:#e8d9b0; display:block; box-shadow:0 10px 0 -3px #e8d9b0; }
|
||||
.toast { position:absolute; top:52px; left:50%; transform:translateX(-50%); background:#171310; border:1px solid #6b3f3a; color:#d98a7f; font-size:12px; padding:4px 12px; border-radius:4px; }
|
||||
.callout { font-size:12px; color:#d9a441; margin-top:8px; line-height:1.7; }
|
||||
.callout b { color:#e8d9b0; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>敌人卡形态对照样张(卡片式 vs 站桩式)</h1>
|
||||
<div class="note">仅裁决「B 区敌人怎么呈现」这一件事:两版除 B 区敌人呈现外完全一致(四区布局按 battle.md 现行口径;意图预告=普攻零表示/特殊技动画占位;剪影为程序化占位,非美术终稿)。战斗场景:第 1 关,地精一伙 ×2,第 3 轮挖掘中。</div>
|
||||
|
||||
<!-- ============ 卡片式 ============ -->
|
||||
<div class="screen-wrap">
|
||||
<div class="screen-title">形态 A · 卡片式 <small>—— 带框信息卡,信息有固定卡位</small></div>
|
||||
<div class="screen">
|
||||
<div class="zone-a">
|
||||
<span class="node-tag past">战</span><span class="arrow">→</span><span class="node-tag past">战</span><span class="arrow">→</span><span class="node-tag now">赏</span><span class="arrow">→</span><span class="node-tag">战</span><span class="arrow">→</span><span class="node-tag">战</span><span class="arrow">→</span><span class="node-tag">疗</span><span class="arrow">→</span><span class="node-tag boss">王</span>
|
||||
</div>
|
||||
<div class="zone-b">
|
||||
<div class="round-ind">第 3 轮 · 挖掘中</div>
|
||||
<div class="hero-card">
|
||||
<div class="hero-sil">
|
||||
<svg width="46" height="64" viewBox="0 0 46 64"><path d="M23 4 L30 10 L28 18 C36 22 38 32 37 44 L40 60 L30 60 L28 48 L18 48 L16 60 L6 60 L9 44 C8 32 10 22 18 18 L16 10 Z" fill="#cfc4b0"/></svg>
|
||||
</div>
|
||||
<div class="stat-row">HP 42/50</div>
|
||||
<div class="hpbar"><div style="width:84%"></div></div>
|
||||
<div class="stat-row">攻 6 <span style="color:#8fd18f">(+50%)</span></div>
|
||||
<div class="status-chips"><span class="chip buff">⬆ +50% ·2</span><span class="chip buff">🛡 坚守 ·1</span></div>
|
||||
</div>
|
||||
<div class="stage">
|
||||
<div style="position:absolute;inset:34px 0 24px;display:flex;align-items:center;justify-content:center;color:#5a5044;font-size:13px;">[ 兑现演出区 ]</div>
|
||||
<div class="detail-band">▸ 上轮:主角攻击 3 → 地精 −3 | 攻击+50%(1结算) | 伏击+1 ×2 <span class="expand">[展开明细 ▾]</span></div>
|
||||
</div>
|
||||
<div class="enemy-cards">
|
||||
<div class="ecard">
|
||||
<div class="order">①</div>
|
||||
<div class="portrait"><svg width="36" height="46" viewBox="0 0 36 46"><path d="M18 2 L26 6 L24 12 L30 14 L28 20 C32 26 32 34 30 42 L8 42 C6 34 6 26 10 20 L8 14 L14 12 L12 6 Z" fill="#9a8f7c"/></svg></div>
|
||||
<div class="ename">地精</div>
|
||||
<div class="hpbar enemy"><div style="width:70%"></div></div>
|
||||
<div class="stat-row" style="font-size:11px;color:#8a7f6d">HP 7/10</div>
|
||||
<div class="status-chips"><span class="chip debuff">伏击 ×2</span></div>
|
||||
<span class="fx-icon">⚔ 特殊技·攻击系</span>
|
||||
</div>
|
||||
<div class="ecard">
|
||||
<div class="order">②</div>
|
||||
<div class="portrait"><svg width="36" height="46" viewBox="0 0 36 46"><path d="M18 2 L26 6 L24 12 L30 14 L28 20 C32 26 32 34 30 42 L8 42 C6 34 6 26 10 20 L8 14 L14 12 L12 6 Z" fill="#9a8f7c"/></svg></div>
|
||||
<div class="ename">地精</div>
|
||||
<div class="hpbar enemy"><div style="width:40%"></div></div>
|
||||
<div class="stat-row" style="font-size:11px;color:#8a7f6d">HP 4/10</div>
|
||||
<div class="status-chips"><span class="chip debuff">伏击 ×2</span></div>
|
||||
<span class="fx-icon" style="color:#5a5044;border-color:#3a322a">普攻 · 无表示</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="lower">
|
||||
<div class="zone-c">
|
||||
<div class="databox"><b>HP</b> 42 / 50</div>
|
||||
<div class="databox"><b>攻击</b> 6 <span style="color:#8fd18f">(+50%)</span></div>
|
||||
<div class="databox"><b>RAP</b> 3 / 8</div>
|
||||
<div class="databox" style="margin-top:14px"><b>状态效果</b></div>
|
||||
<div class="status-chips" style="flex-direction:column;align-items:flex-start">
|
||||
<span class="chip buff">⬆ 攻击+50% ○ 1</span>
|
||||
<span class="chip buff">🛡 坚守 ○ ●</span>
|
||||
</div>
|
||||
<div style="margin-top:18px;text-align:center;color:#5a5044;font-size:11px">[ 小人立绘占位 ]</div>
|
||||
</div>
|
||||
<div class="zone-d">
|
||||
<div class="ap-bar">
|
||||
<span class="ap-dot full"></span><span class="ap-dot full"></span><span class="ap-dot full"></span><span class="ap-dot full"></span><span class="ap-dot"></span><span class="ap-dot"></span>
|
||||
<span style="color:#8a7f6d">4/6</span>
|
||||
<button class="btn">⏹ 停手</button>
|
||||
<span style="margin-left:auto"></span>
|
||||
<button class="btn">? 图例</button>
|
||||
<button class="btn accent">↻ 刷新 −8 |剩 2</button>
|
||||
</div>
|
||||
<div class="board" id="boardA"></div>
|
||||
<div class="toast">AP 不足 · 剩 0 点</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="callout"><b>卡片式读法:</b>每个敌人一只带框卡——敌像、血条、顺位徽标①②、状态槽(伏击层数为全体共享、各卡同值)、特殊技动画占位都有固定卡位;信息不随站位漂移,排版最稳。代价:框多、界面感重,战斗画面区更像"面板"而非"场景"。</div>
|
||||
</div>
|
||||
|
||||
<!-- ============ 站桩式 ============ -->
|
||||
<div class="screen-wrap">
|
||||
<div class="screen-title">形态 B · 站桩式 <small>—— 无框立绘 + 底座,信息悬浮跟随</small></div>
|
||||
<div class="screen">
|
||||
<div class="zone-a">
|
||||
<span class="node-tag past">战</span><span class="arrow">→</span><span class="node-tag past">战</span><span class="arrow">→</span><span class="node-tag now">赏</span><span class="arrow">→</span><span class="node-tag">战</span><span class="arrow">→</span><span class="node-tag">战</span><span class="arrow">→</span><span class="node-tag">疗</span><span class="arrow">→</span><span class="node-tag boss">王</span>
|
||||
</div>
|
||||
<div class="zone-b">
|
||||
<div class="round-ind">第 3 轮 · 挖掘中</div>
|
||||
<div class="hero-card">
|
||||
<div class="hero-sil">
|
||||
<svg width="46" height="64" viewBox="0 0 46 64"><path d="M23 4 L30 10 L28 18 C36 22 38 32 37 44 L40 60 L30 60 L28 48 L18 48 L16 60 L6 60 L9 44 C8 32 10 22 18 18 L16 10 Z" fill="#cfc4b0"/></svg>
|
||||
</div>
|
||||
<div class="stat-row">HP 42/50</div>
|
||||
<div class="hpbar"><div style="width:84%"></div></div>
|
||||
<div class="stat-row">攻 6 <span style="color:#8fd18f">(+50%)</span></div>
|
||||
<div class="status-chips"><span class="chip buff">⬆ +50% ·2</span><span class="chip buff">🛡 坚守 ·1</span></div>
|
||||
</div>
|
||||
<div class="stage">
|
||||
<div class="standee-stage">
|
||||
<div class="ground"></div>
|
||||
<div class="standee" style="right:230px;">
|
||||
<div class="fx-flash">⚔</div>
|
||||
<div class="floaters"><span class="forder">①</span><div class="fbar"><div style="width:70%"></div></div><span class="chip debuff">伏击×2</span></div>
|
||||
<svg width="52" height="72" viewBox="0 0 36 46"><path d="M18 2 L26 6 L24 12 L30 14 L28 20 C32 26 32 34 30 42 L8 42 C6 34 6 26 10 20 L8 14 L14 12 L12 6 Z" fill="#9a8f7c"/></svg>
|
||||
<div class="base"></div>
|
||||
</div>
|
||||
<div class="standee" style="right:80px;">
|
||||
<div class="floaters"><span class="forder">②</span><div class="fbar"><div style="width:40%"></div></div><span class="chip debuff">伏击×2</span></div>
|
||||
<svg width="46" height="64" viewBox="0 0 36 46"><path d="M18 2 L26 6 L24 12 L30 14 L28 20 C32 26 32 34 30 42 L8 42 C6 34 6 26 10 20 L8 14 L14 12 L12 6 Z" fill="#8a7f6d"/></svg>
|
||||
<div class="base"></div>
|
||||
</div>
|
||||
<div style="position:absolute;top:8px;left:50%;transform:translateX(-50%);color:#5a5044;font-size:13px;">[ 兑现演出区 ]</div>
|
||||
</div>
|
||||
<div class="detail-band">▸ 上轮:主角攻击 3 → 地精 −3 | 攻击+50%(1结算) | 伏击+1 ×2 <span class="expand">[展开明细 ▾]</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="lower">
|
||||
<div class="zone-c">
|
||||
<div class="databox"><b>HP</b> 42 / 50</div>
|
||||
<div class="databox"><b>攻击</b> 6 <span style="color:#8fd18f">(+50%)</span></div>
|
||||
<div class="databox"><b>RAP</b> 3 / 8</div>
|
||||
<div class="databox" style="margin-top:14px"><b>状态效果</b></div>
|
||||
<div class="status-chips" style="flex-direction:column;align-items:flex-start">
|
||||
<span class="chip buff">⬆ 攻击+50% ○ 1</span>
|
||||
<span class="chip buff">🛡 坚守 ○ ●</span>
|
||||
</div>
|
||||
<div style="margin-top:18px;text-align:center;color:#5a5044;font-size:11px">[ 小人立绘占位 ]</div>
|
||||
</div>
|
||||
<div class="zone-d">
|
||||
<div class="ap-bar">
|
||||
<span class="ap-dot full"></span><span class="ap-dot full"></span><span class="ap-dot full"></span><span class="ap-dot full"></span><span class="ap-dot"></span><span class="ap-dot"></span>
|
||||
<span style="color:#8a7f6d">4/6</span>
|
||||
<button class="btn">⏹ 停手</button>
|
||||
<span style="margin-left:auto"></span>
|
||||
<button class="btn">? 图例</button>
|
||||
<button class="btn accent">↻ 刷新 −8 |剩 2</button>
|
||||
</div>
|
||||
<div class="board" id="boardB"></div>
|
||||
<div class="toast">AP 不足 · 剩 0 点</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="callout"><b>站桩式读法:</b>敌人是"站在战斗画面里的角色"——立绘 + 椭圆底座,血条/顺位/状态徽标全部悬浮在头顶跟随站位;场景感强、受击与退场动画直接演在角色身上。代价:信息位置随站位浮动、悬浮件之间可能互撞(上图已能看出 ①头顶三件悬浮件的拥挤),三敌满编时右侧更挤。</div>
|
||||
</div>
|
||||
|
||||
<!-- ============ 定稿形态:全站桩(主角+敌人) ============ -->
|
||||
<div class="screen-wrap">
|
||||
<div class="screen-title">✅ 定稿形态 · 全站桩 <small>—— 主角与敌人均无卡片立绘+底座;状态小图标挂血条下(2026-09-20 用户拍板)</small></div>
|
||||
<div class="screen">
|
||||
<div class="zone-a">
|
||||
<span class="node-tag past">战</span><span class="arrow">→</span><span class="node-tag past">战</span><span class="arrow">→</span><span class="node-tag now">赏</span><span class="arrow">→</span><span class="node-tag">战</span><span class="arrow">→</span><span class="node-tag">战</span><span class="arrow">→</span><span class="node-tag">疗</span><span class="arrow">→</span><span class="node-tag boss">王</span>
|
||||
</div>
|
||||
<div class="zone-b">
|
||||
<div class="round-ind">第 3 轮 · 挖掘中</div>
|
||||
<div class="standee-stage" style="width:100%;display:flex;">
|
||||
<div class="ground" style="left:40px;right:40px;"></div>
|
||||
<!-- 主角站桩 -->
|
||||
<div class="standee" style="position:absolute;left:80px;">
|
||||
<div class="floaters">
|
||||
<div class="fbar hero" style="width:80px"><div style="width:84%"></div></div>
|
||||
</div>
|
||||
<div class="status-icons">
|
||||
<span class="sicon buff">⬆<span class="stack">2</span></span>
|
||||
<span class="sicon buff">🛡<span class="stack">1</span></span>
|
||||
</div>
|
||||
<svg width="56" height="80" viewBox="0 0 46 64"><path d="M23 4 L30 10 L28 18 C36 22 38 32 37 44 L40 60 L30 60 L28 48 L18 48 L16 60 L6 60 L9 44 C8 32 10 22 18 18 L16 10 Z" fill="#e0d6c2"/></svg>
|
||||
<div class="base" style="width:80px"></div>
|
||||
</div>
|
||||
<div style="position:absolute;top:40px;left:50%;transform:translateX(-50%);color:#5a5044;font-size:13px;">[ 兑现演出区 ]</div>
|
||||
<!-- 敌人站桩 ×2 -->
|
||||
<div class="standee" style="position:absolute;right:220px;">
|
||||
<div class="fx-flash">⚔</div>
|
||||
<div class="floaters"><span class="forder">①</span><div class="fbar"><div style="width:70%"></div></div></div>
|
||||
<div class="status-icons"><span class="sicon debuff">伏<span class="stack">2</span></span></div>
|
||||
<svg width="52" height="72" viewBox="0 0 36 46"><path d="M18 2 L26 6 L24 12 L30 14 L28 20 C32 26 32 34 30 42 L8 42 C6 34 6 26 10 20 L8 14 L14 12 L12 6 Z" fill="#9a8f7c"/></svg>
|
||||
<div class="base"></div>
|
||||
</div>
|
||||
<div class="standee" style="position:absolute;right:70px;">
|
||||
<div class="floaters"><span class="forder">②</span><div class="fbar"><div style="width:40%"></div></div></div>
|
||||
<div class="status-icons"><span class="sicon debuff">伏<span class="stack">2</span></span></div>
|
||||
<svg width="46" height="64" viewBox="0 0 36 46"><path d="M18 2 L26 6 L24 12 L30 14 L28 20 C32 26 32 34 30 42 L8 42 C6 34 6 26 10 20 L8 14 L14 12 L12 6 Z" fill="#8a7f6d"/></svg>
|
||||
<div class="base"></div>
|
||||
</div>
|
||||
<div class="detail-band">▸ 上轮:主角攻击 3 → 地精 −3 | 攻击+50%(1结算) | 伏击+1 ×2 <span class="expand">[展开明细 ▾]</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="lower">
|
||||
<div class="zone-c">
|
||||
<div class="databox"><b>HP</b> 42 / 50</div>
|
||||
<div class="databox"><b>攻击</b> 6 <span style="color:#8fd18f">(+50%)</span></div>
|
||||
<div class="databox"><b>RAP</b> 3 / 8</div>
|
||||
<div class="databox" style="margin-top:14px"><b>状态效果</b></div>
|
||||
<div class="status-chips" style="flex-direction:column;align-items:flex-start">
|
||||
<span class="chip buff">⬆ 攻击+50% ○ 1</span>
|
||||
<span class="chip buff">🛡 坚守 ○ ●</span>
|
||||
</div>
|
||||
<div style="margin-top:18px;text-align:center;color:#5a5044;font-size:11px">[ 小人立绘占位 ]</div>
|
||||
</div>
|
||||
<div class="zone-d">
|
||||
<div class="ap-bar">
|
||||
<span class="ap-dot full"></span><span class="ap-dot full"></span><span class="ap-dot full"></span><span class="ap-dot full"></span><span class="ap-dot"></span><span class="ap-dot"></span>
|
||||
<span style="color:#8a7f6d">4/6</span>
|
||||
<button class="btn">⏹ 停手</button>
|
||||
<span style="margin-left:auto"></span>
|
||||
<button class="btn">? 图例</button>
|
||||
<button class="btn accent">↻ 刷新 −8 |剩 2</button>
|
||||
</div>
|
||||
<div class="board" id="boardC"></div>
|
||||
<div class="toast">AP 不足 · 剩 0 点</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="callout"><b>定稿形态读法:</b>主角与敌人都以"立绘+底座"站在战斗画面区——主角在左(绿色血条悬浮头顶,状态小图标一排挂血条正下方),敌人在右(红色血条+顺位徽标,伏击等状态图标同款挂在血条下);全部无框、无卡片。C 区角色信息数据框保留(那是规划数据面,不是战斗内卡片)。</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function mulberry32(a){return function(){a|=0;a=a+0x6D2B79F5|0;var t=Math.imul(a^a>>>15,1|a);t=t+Math.imul(t^t>>>7,61|t)^t;return((t^t>>>14)>>>0)/4294967296}}
|
||||
function buildBoard(id){
|
||||
const rnd=mulberry32(20260920);
|
||||
const el=document.getElementById(id);
|
||||
const flags=new Set([3,17,40,66,90]);
|
||||
const pawn=83;
|
||||
for(let i=0;i<144;i++){
|
||||
const c=document.createElement('div');c.className='cell';
|
||||
const open=rnd()<0.55;
|
||||
if(open){
|
||||
c.classList.add('open');
|
||||
c.textContent=Math.floor(rnd()*3)+1;
|
||||
const r=rnd();
|
||||
if(r<0.10)c.classList.add('reward','r1');
|
||||
else if(r<0.16)c.classList.add('reward','r2');
|
||||
}
|
||||
if(flags.has(i))c.classList.add('flag');
|
||||
if(i===pawn){c.classList.add('open');c.innerHTML='<span class="pawn"><i></i></span>';}
|
||||
el.appendChild(c);
|
||||
}
|
||||
}
|
||||
buildBoard('boardA');buildBoard('boardB');buildBoard('boardC');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 167 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 189 KiB |
@@ -12,11 +12,12 @@
|
||||
|
||||
## 当前状态快照(收口批先更新本节,再追加台账;≤10 行)
|
||||
|
||||
- **更新于**:2026-09-20(**敌人卡形态裁决收口批**,独立 worktree 分支 enemy-form-20260920,台账 99):用户看对照样张拍板**全站桩形态**——B 区主角与敌人均为无框立绘+底座(主角站桩、状态小图标挂血条正下方),英雄卡/敌人卡卡片式整体退役;06 清单「敌人卡形态」解决移除(清单 46→45 条);battle.md 回写(B 区行/组件表两行/线框图 B 区重绘/OQ4)+战斗表现 v0.4(相邻裁定改裁决已下+样张对照项解除)+HUD框架 v0.6(B 区行+敌人呈现义务行载体改立绘)+敌人系统一行+美术清单两处(对照义务解除,正式样张按站桩单版出样);对照样张存档 production/mockups/(双形态对照+定稿形态+HTML 源);纯文档零代码,冒烟不适用;表现层升级批的敌人卡形态前置就此解锁
|
||||
- **更新于**:2026-09-20(**显影尘待办条目移除批**,独立 worktree 分支 probe-dust-todo-20260920,台账 98):用户拍板「显影尘效果重定」条目删除——辅助道具(魔法道具)统一在 Alpha 阶段重新设计,垂直切片期不需要相关内容;06 清单 47→46 条(解决即移除口径,去向=并入 Alpha 阶段魔法道具整体重设计);连带悬空指认清偿四处——06 反制条目合流从句改写、魔法道具.md 信息维度存根行、03-内容规模.md 待定句、registry aux_items 三处「魔法道具 待办」指针改指 Alpha 重设计(名称保留、六行登记不动;历史修订块豁免);地穴全图卷/探宝罗盘两条目未动(探宝罗盘已排 Alpha 在案)。纯文档零代码,冒烟不适用
|
||||
- **更新于**:2026-09-20(**地形变异首批类型定稿批**,独立 worktree 分支 terrain-variation-20260919,台账 96):用户六点裁决落地——①首批四类型两轴×两关(荆棘丛/藤蔓缠绕=第一关 dungeon 平原密林;岩浆/烬覆=第二关 underdark 幽暗地域;岩浆/冰冻旧占位退役);②机制枚举化 effect/trigger/placement 三枚举+跨字段互锁(伤害型只落未开格、信息型打开显数字时触发),新增类型=加行不改代码;③数量=总格数 5%+每关+2、全连通单片≤4;④布置段=战斗初始化第 4 步(生成→打开状态初始化→资源格→变异格,用户拍板顺序),生成器四阶段化;⑤反制道具改排 Alpha(counter_items 字段位预留);⑥biome_tags→board_types 更名对齐 board_type 词表。伤害型=轮末结算扣血(荆棘 1/岩浆 2,插旗格直挖照吃=地形后果)、信息型=呈现层数字遮蔽(模拟读数经查询面不受影响);variant_place 新封闭流(R3 向量 5785725196205023206)。合并 master 4708940 吸收 R3 后暴露并修复布置片粘连 bug(片间 8 邻隔离)。冒烟 352 项 0 失败+四探针全过;R3+unique 读数(基线格 atk+0%):L1 普通 83%→43%/完美 87%→70%、L2 普通/完美 87%→60%,L1 Boss 承伤 26.7%→49.8%(带缘)、L2 完美 Boss 承伤 55.8% 越带(≤50%)——变异为显著难度增量,压力不足方向性缓解、L2 Boss 承伤越带归调参批;文档 v0.3/棋盘生成四阶段化/战斗结算六处随机流/registry 三条目/06 清单(四条目收口、全局作用域+反制改排 Alpha、清单 53→51 条)+00/02/03/05 过期提法清理
|
||||
- **更新于**:2026-09-19(技能池节奏体验验证批〔已收口:用户四点拍板(判读带/多种子重跑/免真人补采/授权执行)→ 60 种子正式读数落调参表 v0.13 → 06 条目解决移除 → 合并 b270a94 落 master → worktree 已清,见台账 89-90〕)+(并行)旗行为基线前置采集批:拔旗定价复核+插旗不可逆提案两条自 06 清单销项〔用户拍板标记完成〕,观测面以 07-体验验证清单⑧承接——玩法零改动〔冒烟补旗奖励语义断言 11 项,见台账 83〕,清单 55→53 条)+(并行对答会话)**技能池新效应词汇批已执行收口**:妨害技 debuff 新类型 + 必中附加分量 rider_mult 0.75〔多段命中退役〕,实装面 = 仅 L2 Boss 卓尔〔毒爆+毒分量、蛛网束缚→失衡〕;冒烟 306 项 0 失败+四探针 PASS;800 局模拟试玩 L2 基线 90%→80% 死因集中 Boss、L1 回归一致;文档 v0.17/v0.10/v0.10+registry+07+README+06 条目移除;已提交 d236d9f〔含我方台账 81-83 各面收编〕)+(本会话)**冒烟脚本错误门禁立闸**:tools/run_smoke.py 三闸〔退出码/摘要失败数/SCRIPT ERROR 扫描〕双路径验证 exit 1/0——盲区=脚本错误不计失败数且静默吞剩余断言(83 号首跑实证+并行执行批 board_type 漏网二次实证);CLAUDE.md 冒烟命令改指包装器;台账 84)+(本会话)**地形变异排期改批**:06 清单地形变异名下五条+数据配置「变异表旧字段集」一条状态行统一加注——2026-09-19 用户拍板整体改排 **Alpha 版本之后**、垂直切片期不讨论不做相关实现(纯文档零代码);反制维度承载失义归属行改写〔原与显影尘重定批同窗合流→两批错窗,显影尘侧排期未动〕;魔法道具三条不在范围未动;台账 85)+(本会话)**清图支配性对账重跑批**:06 待办「清图支配性保守地板缺口」对账义务经用户指令提前执行——现行值链重推主判式:非完美清图 18 语境全负、完美态 L1 前段实测板形翻正 +8.3(唯一翻正面),**裁决②"非支配设计态"维持建议已呈报待确认**;保守地板缺口收窄至 L1≈24/L2≈45 当量(u=1,实测板形口径);护栏 B 防钓鱼上界被 C=13 常态越线(压缩批未登记连带面)披露归调参批三选一;重算器 tools/clear_dominance_audit.py(调参批常设入口)+ 板形探针 board_stat_probe.gd 入册;模拟 1200 局双画像配对(analyze_playtest.py +弃图率/轮出口读数+--policy 过滤):刷新流通关率全档位 ≥ 推到底流、刷新策略实测 0.03~0.23 次/局几乎不发生;06 条目销项(清单 51 条);报告 design/research/audit-clear-dominance-2026-09-19.md;冒烟 317 项 0 失败;台账 86)+(本会话)**插旗不可逆全套落地批(真人试玩两 bug 修复批)**:bug⑤「不能挖旗格」=2026-09-18 插旗不可逆提案(台账 72)经用户拍板**转正全套落地**——禁拔旗+挖旗格放行+四情况兑付改判(②雷格直挖只吃挖雷惩罚标中不发/④安全格直挖零惩罚零奖励+作废归因行);bug⑥「L2 棋盘下缘裁掉约 1/6 格高」=格边长公式漏算 (N−1)×2px 网格间距,修复=公式计入间距+垂直预留 24px;冒烟 317→331 项 0 失败(四情况探针+布局公式回归探针);四探针 PASS〔过程登记:board_view 缩进解析错误曾致三 UI 探针静默挂死——冒烟纯脚本模式不加载表现层抓不到,--check-only 定位〕;80 局 MC 双画像回归读数与批前逐位一致(零行为变更);文档 排雷玩法 v0.5/行动经济 v0.4/战斗结算 v0.18/地图战斗资源 v0.12/教学引导/07⑧ 重写+registry 五处;台账 87)+(本会话)**worktree 铁律批**:用户立规「一切开发/设计任务走独立 worktree,完事合并回 master,主工作区禁直改直提交」——CLAUDE.md 新增分支纪律节+硬性红线首条(豁免面仅 active.md 与 .zcode/)+PreToolUse 守卫 worktree-guard.sh 双路拦截(主区 Edit/Write 直改+主区 git commit,exit 2);15 用例三态全 PASS,本批自身走 worktree 示范(合并 0b015dc);活体拦截待下会话确认(钩子注册表会话启动时快照不热载+工作区钩子信任提示须用户批准);grandfather=挂起批次 84/85/86 分三笔收口(c595397/8057956/2ca3e20,registry 按 hunk 拆分只提对账回执);台账 88(本批 commit 信息内写 87 系并行撞号)
|
||||
- **更新于**:2026-09-19(**验收读数重测批 + 掷点测量修复批 A+B**,独立 worktree 分支执行):模拟+日志两源 1200 局判读初稿已出(真人批缺位待用户 3–5 局);掷点发现经两轮修正定稿=窄种子窗×复用放大(派生公式无恙、玩家单局影响≈机会涨落);B 案 rng_service R2→R3 混淆派生(黄金向量 8 常量重登记)+A 案 MC unique 种子模式已落地,A+B 版直方图全面干净=阶段一正式数据(T220949/T221847);压力面三批复测焊死(L1 完美档 87% 越上界+承伤带下=压力不足);敌→主角 EV 24.6%=护甲强化抬 AC~1.5 点干净设计信号归调参批;07⑦ 刷新基线已采+07⑨ 试玩指引新增;判读报告 production/qa/acceptance-rerun-20260919.md,台账 92-95(原分支内 84-87 因并行撞号重编)
|
||||
- **在飞**:表现层升级批未启动(前置 = 美术清单 P0 样张 + 用户看图拍板敌人卡形态);两份美术清单合并待拍板;多批工作区未提交
|
||||
- **在飞**:表现层升级批未启动(前置 = 美术清单 P0 样张;敌人卡形态前置已 2026-09-20 裁决解锁——全站桩,见台账 99);两份美术清单合并待拍板;多批工作区未提交
|
||||
- **已完成**:06 待办清理批(清单 87→80 条;三裁决落地:变异死分支删/快照域进 Alpha 首批/未开格微光拍板;排雷玩法节新增禁拔旗提案登记)+ 冒险内成长提案登记批(GP 临时资源+商店房提案登记 06 清单关卡节点地图节,未评估;台账 74)
|
||||
- **已完成**:**数值语言拍板批(加法核,台账 75)**——全项目数值语言=小整数加法核(模板 C 骨架+模板 A 成长语言)成文 01-核心循环;甲效矩阵 percent→三档点数 +1/0/−1(pierce×heavy=0 用户拍板,今晨五档 percent 调参〔台账 71〕随批退役);增益池/AC 折扣档/暴击保留百分比+粒度口径成文;元进度/GP 投值语言锁 flat;冒烟 300 全绿+四探针 PASS+flat vs percent A/B(L1 逐值全同、L2 Boss 战基础攻击 +1 生效 hp+100 档 50→60%)
|
||||
- **已解锁可做**:验收读数重测批(结构修复批+调参批+换装批三次数值行为变更叠加,基线彻底归零须重测;击杀区间复算义务随批);敌方技能攻击类型轴(敌方攻击入矩阵消费面后主角 armor_type 轴才生效)
|
||||
@@ -253,3 +254,5 @@
|
||||
97. **06 清单调参登记小批(2026-09-20,本会话——用户问询待办清单状态后拍板登记,worktree tv-todo-reg-20260920)**:①「基线通关率越带,加难杠杆扫描未执行」现状追加地形变异批读数注记(R3+unique 基线格:普通 L1 43%/L2 60%、完美 L1 70%/L2 60%,加难紧迫性重判)+变异杠杆位并入杠杆清单(effect_value 荆棘 1/岩浆 2 · percent_of_cells 5% · per_level_bonus +2/关,全 provisional);②新增条目「L2 Boss 承伤越带(地形变异后实测)」——55.8%>50% 唯一实测越带读数,杠杆同①。两条均注明**执行阶段 = 曲线调参批**(门 = 验收读数重测真人批 k 系数合入),垂直切片期只登记不调参。代拍板细则(雷格不吃变异/每图单类型/连锁揭示照吃/插旗格照吃)维持 provisional 记 GDD/registry、不单独登记(用户未点选可选确认条)。零代码零玩法改动,验证不适用(纯文档)。
|
||||
|
||||
98. **显影尘待办条目移除批(2026-09-20,本会话——用户直接指令「这条待办事项可以删除了:辅助道具(魔法道具)统一在 Alpha 阶段重新设计,垂直切片不需要相关内容」;worktree 铁律批内执行,纯文档零代码)**:**裁决面**——06 清单「显影尘效果重定」(地形变异组名下,原归属魔法道具内容重定批·排垂直切片收尾后)按用户指令删除,去向=并入 **Alpha 阶段魔法道具整体重设计**(解决即移除口径,2026-09-18 拍板;清单 47→46 条)。**连带悬空指认清偿四处**:①06 反制维度承载失义条目归属行——原「与显影尘重定批〔排垂直切片收尾后〕的合流关系随两批同窗化自然解除」改写为「显影尘重定条目已随魔法道具整体重设计并入 Alpha、自本清单移除」(台账 85 错窗登记的历史链条就此闭合);②魔法道具.md 五维度表信息维度存根行——显影尘半边改指 Alpha 重设计拍板,地穴全图卷半边保留见待办;③03-内容规模.md 待定句同口径拆分(显影尘归 Alpha/地穴全图卷待重定在 06);④registry aux_items 三处现行注记(effect_kinds/mvp_content/closures)「魔法道具 待办」指针改指「随魔法道具整体重设计归 Alpha(2026-09-20 用户拍板,原 06 待办条目移除)」——显影尘名称保留、六行登记与字段 schema 不动(重设计的对象载体),历史修订块按「历史不改写」豁免未动。**边界**——地穴全图卷效果重定(重定需拍板:纯全图预读还是另配信息半边)与探宝罗盘两方案评估两条目未动(后者 2026-09-19 已拍板排 Alpha,与本批去向口径一致;两者同属魔法道具族,是否一并并入 Alpha 重设计待用户后续表态);元进度道具工坊/00 概念/03 清单罗列中的显影尘均为登记现状陈述非待办指针,未动。**验证**——纯文档零代码,冒烟不适用;全仓 grep 复核显影尘×待办残留仅剩良性事实句。
|
||||
|
||||
99. **敌人卡形态裁决收口批(2026-09-20,本会话——用户从 06 清单点名战斗表现决断项,看对照样张后拍板「千万不要用卡片这种形式」;worktree enemy-form-20260920,纯文档零代码)**:**裁决面**——敌人呈现形态定稿**全站桩式**:① B 区主角与敌人均为无框立绘+底座(站桩),卡片式整体退役、不再作为候选;② 主角也站桩(英雄卡退役)——血条悬浮头顶、状态效果小图标一排挂血条正下方;③ 敌人血条+顺位徽标悬浮头顶、状态小图标同款挂血条下(敌方 side 池共享层数各立绘同值等既有语义平移载体不改);④ 攻击值等规划数据仍归 C 区数据框(C 区不动)。样张工具链:production/mockups/enemy-card-vs-standee-mockup.html(双形态对照+定稿形态三屏同源对照,除 B 区敌人/主角呈现外四区完全一致)+三张 PNG 截图,浏览器渲染出图。**文档落地**——06 清单「敌人卡形态」条目解决移除(清单 46→45 条,战斗表现节清空);battle.md Last Updated+B 区行+组件表英雄卡/敌人卡两行+ASCII 线框图 B 区重绘(顺带清掉行为环退役后残留的「意图:爪击/环点」旧示意)+敌人死亡/Boss 变体/逐行兑现/义务对照表四处措辞+OQ4 改裁决收口注记+修订记录一行;战斗表现.md v0.4(相邻裁定句改裁决已下+样张内容清单对照项划线解除〔正式样张按站桩单版出样,owner 修订〕+判定回退第 5 项拆半+不负责表/依赖表两处五区与敌人卡旧措辞顺手清偿);HUD框架.md v0.6(B 区行+敌人呈现义务行载体改立绘〔义务面平移不重述,呈现快照数据面零改动〕+下游战斗表现交付行+就地更新示例);敌人系统.md 摇定动画位归属行一句(敌人卡→敌人侧·站桩载体);art-assets-checklist.md 两处(1.2 样张对照义务解除+流程图裁决节点标已收口)。**边界**——战斗结算.md v0.10 版本历史行「英雄卡与敌人卡 AC 展示」系历史留痕不改写;AC 展示义务在站桩载体上的落位(血条旁/状态图标行)随表现层升级批;设计/art/asset-checklist.md(主区未跟踪新件,并行会话产物)未碰。**验证**——纯文档零代码冒烟不适用;全仓 grep 复核「敌人卡/英雄卡」现行口径残留仅剩改型注记与历史留痕。
|
||||
Reference in new issue
Block a user