feat(slice): 敌人技能池批收编——废确定性行为环改技能池+开轮摇号(冒烟 263 项全绿)
- 机制:每敌种技能池(池模板/实例池/技能行三层),开轮摇号定拍(behavior_roll 第五流, 每敌子流 scope=spawn_index×1000000+摇号序,单敌轨迹独立复放);两道闸 = 全技能各自 冷却(普攻恒 0 锁死)+ 保底 M=4;死亡即不动手改摇定作废不进账;拍结构保留 - 数据:新增 skills.tres+skill_table.gd(五行+保底阈值)/skill_lottery.gd 独立抽签器; enemy.tres 六行 pattern→pool(9/1·6/2/2·6/2/2 provisional);status_effects 七→九行 (empower/fortify——enemy_defense 敌方防御池新词汇);settlement effect_pool_map 增两键 - core:rng_service 增流+open_scope(salt 0x85EBCA7758C24E15,黄金向量 m=42 scope0= 426657203655691839);unit_container 重写(实例池/冷却/待发/保底);battle_orchestrator 开轮摇号编排+三乘法链+施放行 cast+敌方防御池乘区;config_db 挂技能表+池跨表校验 - 呈现:快照 pending_* 三字段+敌方增益投影(beat/ring 拆除);敌卡摇定动画位(普攻零 表示/攻击系⚔/增益系✦);明细具名技能+施放行;状态槽九行全映射 - smoke 211→263:六项验收(回放逐位/单敌独立复放/EV 对锚/死亡作废/空池不可能/加载拒绝) - 文档:敌人系统 v0.5/战斗结算 v0.11/增益状态 v0.5/难度曲线与Boss v0.6/战斗表现 v0.3/ HUD框架 v0.4/battle.md 改型注记/registry(skill 新条目+四条目修订+术语七词条)/ 06-待办清单收编;active.md entry 60 - EV 实测(×5000 拍):地精 1.1056(保底闸抬升,登记难度曲线重锚)/熊地精 0.9998/酋长 1.0236
This commit is contained in:
1 parent
d76a023fa9
commit
8ca3da669b
35 files changed
+1309
-356
No files matched your search
@@ -31,7 +31,7 @@
|
||||
| 文件 | 一句话概要 | 状态 |
|
||||
|---|---|---|
|
||||
| `战斗结算.md` | 轮末结算的编排与逐行兑现 | 已定稿·自旧体系迁移 |
|
||||
| `敌人系统.md` | 敌人数据、行为环、意图呈现 | 已定稿·自旧体系迁移 |
|
||||
| `敌人系统.md` | 敌人数据、技能池出招、意图呈现 | 已定稿·自旧体系迁移(2026-09-16 技能池批 v0.5) |
|
||||
| `增益状态.md` | 增益/减益状态的容器、叠层与衰减 | 已定稿·自旧体系迁移 |
|
||||
| `地图战斗资源.md` | 格面资源的产出、极性字典与清图奖励封装 | 已定稿·自旧体系迁移 |
|
||||
| `战斗表现.md` | 战斗动画与演出(旧体系未单独成文) | 范围草案·待设计 |
|
||||
|
||||
@@ -17,11 +17,13 @@ MVP 做到两关:第二层不新造结构,与第一层共用节点链模板
|
||||
|
||||
**三种**,含一个 Boss(enemy.tres 六行 = 第一关五场遭遇 + 第二层锚行):
|
||||
|
||||
| 敌人 | 定位 | 行为环 |
|
||||
| 敌人 | 定位 | 技能池(权重) |
|
||||
|---|---|---|
|
||||
| 地精 | 教学杂鱼,可成群(1–3 个) | 只会攻击 |
|
||||
| 熊地精 | 主力,可成群 | 攻击 → 蓄力 → 重击三拍循环 |
|
||||
| 食人魔酋长 | 第一关 Boss,单个 | 攻击 → 攻击 → 蓄力 → 重击四拍循环 |
|
||||
| 地精 | 教学杂鱼,可成群(1–3 个) | 普攻 9 · 突刺 1 |
|
||||
| 熊地精 | 主力,可成群 | 普攻 6 · 蓄力 2 · 重击 2 |
|
||||
| 食人魔酋长 | 第一关 Boss,单个 | 普攻 6 · 重击 2 · 硬化 2(硬化独占) |
|
||||
|
||||
出招 = 开轮摇号(2026-09-16 敌人技能池批——固定出招剧本废除,池语义见[敌人系统](systems/战斗循环/敌人系统.md))。
|
||||
|
||||
每种敌人配一档护甲(轻甲 / 魔法护甲 / 重甲),正好构成"轻甲 → 魔法护甲 → 重甲"的教学梯度。MVP 不加新敌种,也不做同深度多敌种混搭。
|
||||
|
||||
|
||||
+59
-3
@@ -154,13 +154,21 @@
|
||||
|
||||
### 敌人系统
|
||||
|
||||
#### 单拍行为环的体验验证
|
||||
#### 单拍行为环的体验验证(改型:技能池节奏体验验证)
|
||||
|
||||
**现状**:地精恒定出手、无自然空窗的单拍环是否站得住,登记为预注册试玩验证项(playtest 证伪项),至今未执行
|
||||
**现状**:原登记对象(地精单拍行为环)已随 2026-09-16 敌人技能池批整体退役——行为环废除后本条失去原载体;验证问题改型为"技能池出招的节奏体验":普攻基底 + 随机特殊技的纹理是否成立、保底 M=4 与冷却值是否制造可背诵节奏或过旱/过涝,随下次 playtest 批采集(关联:池 EV 含闸实测读数已登记敌人系统/难度曲线调参表)
|
||||
|
||||
**归属**:难度曲线与Boss 与敌人系统共裁
|
||||
|
||||
**状态**:待办
|
||||
**状态**:待办(2026-09-16 改型)
|
||||
|
||||
#### 行为环废除与蓄力拍退役
|
||||
|
||||
**现状**:确定性出招剧本(行为环:拍枚举/环指针/同种锁步/heavy_multiplier)已整体废除,改技能池开轮摇号出招;旧"蓄力→猛击"固定配对(哥布林弹珠拷贝)随批退役,蓄力改型为纯攻击增益技、Boss 池改独占增益技"硬化"——本条即原"删行为环取消蓄力拍"登记的收编关闭(2026-09-16 用户拍板,设计权威 docs/proposal-skill-pool.md v1.0)
|
||||
|
||||
**归属**:敌人系统(主 owner,v0.5)
|
||||
|
||||
**状态**:已解决(2026-09-16)——落批见敌人系统 v0.5 / 战斗结算 v0.11 / registry 同批登记
|
||||
|
||||
#### 伏击量纲与上限的联动复核
|
||||
|
||||
@@ -218,6 +226,54 @@
|
||||
|
||||
**状态**:待办
|
||||
|
||||
#### 技能池情境条件触发器
|
||||
|
||||
**现状**:低血触发防御、玩家停手时的偷袭技等情境出招——载体 = 技能行触发条件字段(P1 字段位已预留);启用是敌人系统修订,不是调参
|
||||
|
||||
**归属**:[敌人系统](systems/战斗循环/敌人系统.md)(P1)
|
||||
|
||||
**状态**:待办
|
||||
|
||||
#### 个体化变体池
|
||||
|
||||
**现状**:A 型好斗 / B 型守势、精英专属池(技能池共识点 A 的 A2 案);现行同敌种同池模板,实例分歧只来自摇号涌现
|
||||
|
||||
**归属**:[敌人系统](systems/战斗循环/敌人系统.md)(P1)
|
||||
|
||||
**状态**:待办
|
||||
|
||||
#### 全局特殊间隔旋钮
|
||||
|
||||
**现状**:异名特殊技背靠背现行概率低(是变化不是失控);若实测仍嫌,备用闸 = 全局"特殊技后至少隔 N 拍"——登记备用,未实测不启用
|
||||
|
||||
**归属**:[敌人系统](systems/战斗循环/敌人系统.md) 与[难度曲线与Boss](systems/冒险循环/难度曲线与Boss.md)(P1)
|
||||
|
||||
**状态**:待办
|
||||
|
||||
#### 技能池新效应词汇批
|
||||
|
||||
**现状**:妨害技(对主角施减益)、固定值伤害分量、多段命中(每段一掷)——三类新效应词汇,技能行 P1 字段位已预留;启用随对应内容批
|
||||
|
||||
**归属**:[敌人系统](systems/战斗循环/敌人系统.md) 与[战斗结算](systems/战斗循环/战斗结算.md)共裁(P1)
|
||||
|
||||
**状态**:待办
|
||||
|
||||
#### 第二关技能池与投放
|
||||
|
||||
**现状**:第二关生效前提 = 深度轴行值填齐(关联条目:冒险循环「第二关深度轴行值未填充」);池内容(新技能/新敌种池)随投放批定,投放节奏归难度曲线
|
||||
|
||||
**归属**:[难度曲线与Boss](systems/冒险循环/难度曲线与Boss.md)(P1)
|
||||
|
||||
**状态**:待办
|
||||
|
||||
#### 敌方技能图鉴 / 学习呈现
|
||||
|
||||
**现状**:池与权重不公开(D4/D5)口径下的进阶信息面——玩家侧技能知识系统(见过 → 认得 → 记谱);首发三池学习成本低,后置
|
||||
|
||||
**归属**:[HUD 框架](systems/表现与支撑/HUD框架.md) 与[敌人系统](systems/战斗循环/敌人系统.md)(P2)
|
||||
|
||||
**状态**:待办
|
||||
|
||||
### 增益状态
|
||||
|
||||
#### 叠层不续命的读感
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
| 遭遇数量与攻击浮动 | 每个坐标行的敌人数量区间与攻击浮动宽度(掷定执行归[战斗结算](../战斗循环/战斗结算.md)) |
|
||||
| 生存链区间模型 | 每战"打不打得过"的三档判定与关级通关恒等式——难度验收的现行模型 |
|
||||
| 期望值带 | 通关率带、通关余量带、形态带——调参的"正确行为"基准 |
|
||||
| Boss 设计 | 关底 Boss 的血量锚、数值台阶与行为环配型;精英修饰只留预留位 |
|
||||
| Boss 设计 | 关底 Boss 的血量锚、数值台阶与专属池配型(独占技 + 权重轮廓);精英修饰只留预留位 |
|
||||
| 调参联动纪律 | 禁独立调参网络与对账重跑义务的登记与执行 |
|
||||
|
||||
不负责:
|
||||
@@ -54,8 +54,8 @@
|
||||
|
||||
| 轴 | 规则 | 说明 |
|
||||
|---|---|---|
|
||||
| 关间台阶(关卡序号) | 每关至少投放一项新内容(新敌种或既有敌种新行为环段),加基准数值跳升 | 台阶必须能归因到看得见的变化,不是纯数字膨胀;投放断档是内容生产缺口,调参修补不了 |
|
||||
| 关内坡度(节点深度) | 同敌种数值平缓上移,深度也可表达为敌人成群 | 数量是比单体质变更优先的深度表达:保持行为环读数不变、总量受控 |
|
||||
| 关间台阶(关卡序号) | 每关至少投放一项新内容(新敌种或既有池新技能),加基准数值跳升 | 台阶必须能归因到看得见的变化,不是纯数字膨胀;投放断档是内容生产缺口,调参修补不了(技能池批措辞修订 2026-09-16:行为环段 → 既有池新技能) |
|
||||
| 关内坡度(节点深度) | 同敌种数值平缓上移,深度也可表达为敌人成群 | 数量是比单体质变更优先的深度表达:保持技能池 EV 读数不变(权重即旋钮、EV 重锚随批登记)、总量受控 |
|
||||
| Boss 与精英修饰(预留第三轴) | Boss 走最深深度直填行;精英只有字段命名空间预留 | Boss 不走修饰表;修饰乘数表 MVP 为空表、零行为,首个使用场景 = 精英节点(随[关卡节点地图](关卡节点地图.md)定稿联动);数值所有权在本系统,[棋盘生成](../排雷循环/棋盘生成.md)只按表生成 |
|
||||
|
||||
**结论**:关内坡度 = 每深一档,同敌种生命按 5%–20% 线性上移;关间台阶 = 相邻关同敌种基准乘 1.3–1.6。
|
||||
@@ -71,7 +71,7 @@ base(L+1) ≈ base(L) × k_L k_L ∈ [1.3, 1.6](仅同敌
|
||||
| D | 节点深度,Boss = 本关最深深度 |
|
||||
| s_hp / k_L | 每档增幅 / 关间倍率,域内取值、provisional |
|
||||
|
||||
MVP 行值并不逐式现算,而是按此式量级直填经切片验证过的行(见调参表);敌种切换不受此式约束——台阶值直接定。新敌种登场时基准按其行为环复杂度重定,关间倍率不适用于这种场景。
|
||||
MVP 行值并不逐式现算,而是按此式量级直填经切片验证过的行(见调参表);敌种切换不受此式约束——台阶值直接定。新敌种登场时基准按其技能池复杂度重定,关间倍率不适用于这种场景。
|
||||
|
||||
### 生存链区间模型:一场战斗"打不打得过"的三档判定
|
||||
|
||||
@@ -91,7 +91,7 @@ MVP 行值并不逐式现算,而是按此式量级直填经切片验证过的
|
||||
| 变量 | 含义 |
|
||||
|---|---|
|
||||
| 进场生命 | 主角进入本战时的生命;跨战斗持久,归[冒险结构](冒险结构.md)的 HP 账本 |
|
||||
| 受伤峰值 / 谷值 | 敌方最坏 / 最好一轮的输出(攻击、拍别倍率、伏击附加、减伤、削弱的合计构成见[战斗结算](../战斗循环/战斗结算.md)战斗段) |
|
||||
| 受伤峰值 / 谷值 | 敌方最坏 / 最好一轮的输出(攻击、技能倍率、池闸长期速率、伏击附加、减伤、削弱的合计构成见[战斗结算](../战斗循环/战斗结算.md)战斗段;技能池批口径——出招构成为摇号分布,峰值/谷值构成按含闸长期速率复核而非固定剧本拍) |
|
||||
| 输出峰值 / 谷值 | 玩家最好 / 最坏一轮的总输出(分量构成同上) |
|
||||
| 一次性伤害 | 清障炸药一类当场引爆的大额伤害 |
|
||||
|
||||
@@ -120,7 +120,7 @@ MVP 行值并不逐式现算,而是按此式量级直填经切片验证过的
|
||||
|
||||
### Boss 设计:食人魔酋长与关底血量锚
|
||||
|
||||
首发关底 Boss 是食人魔酋长,摆在每关最深深度行上。Boss 约定有三条:位置 = 最深深度直填行,不走修饰表;定位 = 本关最大的单场消耗;行为环 = 专属四拍环且含蓄力拍——蓄力空拍是玩家的规划窗口(行为环语义见[敌人系统](../战斗循环/敌人系统.md))。
|
||||
首发关底 Boss 是食人魔酋长,摆在每关最深深度行上。Boss 约定有三条:位置 = 最深深度直填行,不走修饰表;定位 = 本关最大的单场消耗;技能池 = 专属池承载——独占技能 + 权重轮廓(现行:独占增益技"硬化"——敌方防御池词汇载体;2026-09-16 敌人技能池批改写,旧"专属四拍环且含蓄力拍"约定随行为环退役,增益 ≤1 纪律下旧蓄力拍不进 Boss 池;池语义见[敌人系统](../战斗循环/敌人系统.md))。
|
||||
|
||||
**结论**:Boss 生命 ≈ 全关普通战斗敌方生命期望合计 × 血量锚比率,比率域 [0.5, 1.1];Boss 攻击基线不低于本关普通战的最高行。
|
||||
|
||||
@@ -215,16 +215,25 @@ Boss 战的棋盘用本关最大板形(第一关为 12×12),板参数仍
|
||||
|
||||
敌人表行值(第一关五行 + 第二关锚行,全部 provisional):
|
||||
|
||||
| 坐标 | 敌种(数据键) | 生命 | 攻击(浮动区间) | 数量 | 行为环 | 护甲 |
|
||||
| 坐标 | 敌种(数据键) | 生命 | 攻击(浮动区间) | 数量 | 技能池(权重) | 护甲 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| 第一关 D0(教学位) | 地精 goblin | 24 | 7 [4,10] | [1,2] | 攻击 | 轻甲 |
|
||||
| 第一关 D1 | 地精 goblin | 13 | 5 [2,8] | [2,3] | 攻击 | 轻甲 |
|
||||
| 第一关 D2(首遇固定) | 熊地精 bugbear | 40 | 9 [6,12] | 1 | 攻击/蓄力/重击 | 魔法护甲 |
|
||||
| 第一关 D3 | 熊地精 bugbear | 18 | 6 [3,9] | [2,3] | 攻击/蓄力/重击 | 魔法护甲 |
|
||||
| 第一关 D4(Boss) | 食人魔酋长 ogre_chief | 150 | 9 [6,12] | 1 | 攻击/攻击/蓄力/重击 | 重甲 |
|
||||
| 第二关 D0(锚行) | 熊地精 bugbear | 30 | 7 [4,10] | 1 | 攻击/蓄力/重击 | 魔法护甲 |
|
||||
| 第一关 D0(教学位) | 地精 goblin | 24 | 7 [4,10] | [1,2] | 普攻 9 · 突刺 1 | 轻甲 |
|
||||
| 第一关 D1 | 地精 goblin | 13 | 5 [2,8] | [2,3] | 普攻 9 · 突刺 1 | 轻甲 |
|
||||
| 第一关 D2(首遇固定) | 熊地精 bugbear | 40 | 9 [6,12] | 1 | 普攻 6 · 蓄力 2 · 重击 2 | 魔法护甲 |
|
||||
| 第一关 D3 | 熊地精 bugbear | 18 | 6 [3,9] | [2,3] | 普攻 6 · 蓄力 2 · 重击 2 | 魔法护甲 |
|
||||
| 第一关 D4(Boss) | 食人魔酋长 ogre_chief | 150 | 9 [6,12] | 1 | 普攻 6 · 重击 2 · 硬化 2 | 重甲 |
|
||||
| 第二关 D0(锚行) | 熊地精 bugbear | 30 | 7 [4,10] | 1 | 普攻 6 · 蓄力 2 · 重击 2 | 魔法护甲 |
|
||||
|
||||
重击倍率全员 2(provisional);单轮伏击授予上限 4(已定稿)。攻击浮动开战时掷定一次、整战持久;数量区间同流掷定,教学位(地精 ×[1,2])与首遇位都不豁免——没有区间上界的行自然取定值,那不是豁免,是区间宽度为零。
|
||||
单轮伏击授予上限 4(已定稿)。攻击浮动开战时掷定一次、整战持久;数量区间同流掷定,教学位(地精 ×[1,2])与首遇位都不豁免——没有区间上界的行自然取定值,那不是豁免,是区间宽度为零。
|
||||
|
||||
技能池投值(池权重/冷却/保底的所有权本文,机制归[敌人系统](../战斗循环/敌人系统.md),全部 provisional;建议池行值随 2026-09-16 敌人技能池批落地):
|
||||
|
||||
| 参数 | 现行值 | 说明 |
|
||||
|---|---|---|
|
||||
| 池权重 | 三敌种见上表(地精 9/1 · 熊地精 6/2/2 · 酋长 6/2/2) | 权重即旋钮:抬特殊技权重 = 抬输出频率,EV 随之重锚 |
|
||||
| 技能冷却(拍) | 突刺 2 · 蓄力 3 · 重击 3 · 硬化 4 · 普攻恒 0 | 普攻冷却恒 0 不可配(空池不可能的结构前提——域校验锁死) |
|
||||
| 保底 M | 4(全局单旋钮,技能表 pity_threshold) | 连续 M 拍执行普攻 → 下拍必出特殊技;地精这类单特殊技低权重池受保底支配(突刺率 10% → ~22%) |
|
||||
| 池 EV 锚 | 静态份额:地精 1.05 · 熊地精 1.00 · 酋长 1.00 | 含闸长期速率实测(2026-09-16 实施批 ×5000 拍):地精 1.106 / 熊地精 1.000 / 酋长 1.024——EV 重锚与权重投值随本表修订 |
|
||||
|
||||
主角表与棋盘参数表(provisional):
|
||||
|
||||
@@ -274,3 +283,4 @@ Boss 战的棋盘用本关最大板形(第一关为 12×12),板参数仍
|
||||
| v0.3 | 2026-09-15 | 雾格残留清理:关闭「待拍板」的雾相关供给验算失义条目(原供给与对账验算含雾板分层、雾成本负担比等输入分量);第二关新内容投放缺口条目改为引用「已从设计中移除的机制」(见不做清单)。曲线规则、供给带与对账义务不变 |
|
||||
| v0.4 | 2026-09-15 | **护甲等级批(与战斗结算 / 敌人系统 / registry 同批登记)**:生存链区间模型补记护甲等级掷点带宽口径——峰值/谷值构成各含最坏/最好掷点带宽;EV 中性引入成文(期望伤害对齐现行表值、现行行值不重调,折扣档位与掷点形式定稿前区间扫描维持全额口径、带宽项随定稿批补扫,"零红档"验收与三档判定式不变);调参联动表新增"护甲等级 ↔ 攻击基线 ↔ 区间带宽"一行 |
|
||||
| v0.5 | 2026-09-16 | **护甲等级掷点批·定稿落地(与战斗结算 / 敌人系统 / registry / 切片代码同批)**:带宽口径改写为"换装点锚定"——掷点形式与档位定稿(d20 / 缺口 1-3→×0.75 · 4-7→×0.5 · 8+→×0.25 / nat20 暴击 ×2 恒全额),基准 AC10 自带约 −21% 敌方输出期望(AC11 25% / AC12 28.75%),对比退役的 defense_up 满层 −60% 减伤墙为结构性削弱 + 伤害下限使零承伤轮结构性消失,方向性偏移与加难杠杆扫描合并处理、不单独重调行值;带宽补扫义务含暴击档与折扣档(并入加难扫描批);护甲等级行值:主角 10(暂定)、敌方首关 0(暂定,正式行值归怪物设定批);调参联动表"护甲等级"行改定稿口径;调参表主角表行与状态强度行同步(减伤 −30 → 护甲强化 +1 AC ×2 层) |
|
||||
| v0.6 | 2026-09-16 | **敌人技能池批(与敌人系统 / 战斗结算 / 增益状态 / registry / 切片代码同批)**:曲线纪律两处改写(关间台阶"既有敌种新行为环段" → "既有池新技能";关内坡度"保持行为环读数不变" → "保持技能池 EV 读数不变〔权重即旋钮、EV 重锚随批登记〕");Boss 约定改专属池承载(独占技"硬化" + 权重轮廓,旧"专属四拍环且含蓄力拍"退役);调参表敌人行值表"行为环"列改"技能池(权重)"列并落建议池行值,新增"技能池投值"四行(池权重 / 技能冷却 / 保底 M / 池 EV 锚——含闸长期速率实测登记:地精 1.106〔保底闸抬升〕/ 熊地精 1.000 / 酋长 1.024);重击倍率注记随倍率归技能行删除;区间模型受伤峰值/谷值构成改按含闸长期速率复核口径;行值零改动(EV 中性锚定维持,重锚与权重投值随加难扫描批合并处理) |
|
||||
@@ -133,9 +133,9 @@
|
||||
|
||||
容器还有一条快照纪律:实例的幅度、初始次数、量纲在授予那一刻从表行拷贝。战斗中配置表即使被重载,已授予实例不受任何影响,只影响后续授予。
|
||||
|
||||
### 现在有哪些状态:MVP 六行内容
|
||||
### 现在有哪些状态:现行九行内容
|
||||
|
||||
MVP 阶段状态表恰有六行:两个主角增益(挖安全格拿)、三个敌方效果(踩雷的伏击增强、标中旗的削弱、标空旗反噬的暴走)、一个主角减益(标空旗反噬的失衡)。六行全部是一次性、全部用叠加合并;数值全部 provisional(临时值,过锚验收后才定稿)。
|
||||
现行状态表恰有九行:两个主角增益(挖安全格拿)、一个主角减益(标空旗反噬的失衡)、一个主角削弱(乏力——雷格负向的 weaken 型)、四个敌方效果(踩雷的伏击增强、标中旗的削弱、标空旗反噬的暴走、敌方技能池的蓄力/硬化增益)、一个敌方防御增益(硬化)。全部用同构实例承载;数值全部 provisional(临时值,过锚验收后才定稿)。
|
||||
|
||||
| 字段 | 取值 | 说明 |
|
||||
|---|---|---|
|
||||
@@ -148,14 +148,19 @@ MVP 阶段状态表恰有六行:两个主角增益(挖安全格拿)、三
|
||||
| stack_policy | stack / refresh / independent | 同名再授予的合并策略 |
|
||||
| max_stack | 整数 [1,16] | 叠层上限,仅叠加策略消费 |
|
||||
|
||||
| 状态 | 效果一句话 | 发给谁 | 幅度(现行值) | 叠层上限 | 来源类别 |
|
||||
| 状态 | 效果一句话 | 发给谁 | 幅度(现行值) | 时限 / 合并 | 来源类别 |
|
||||
|---|---|---|---|---|---|
|
||||
| attack_up 增伤 | 主角攻击提升 | 主角 | +50%(provisional) | 2 | 安全格 |
|
||||
| ac_up 护甲强化 | 主角护甲等级提升(掷点折扣判定阈值——AC 轴,不入池) | 主角 | +1 护甲等级/层(2026-09-16 换装,原 defense_up 减伤 −30% 退役) | 2 | 安全格 |
|
||||
| ambush 伏击 | 敌方攻击附带额外伤害 | 敌方 | +3 固定值/层(provisional) | 16 | 踩雷 / 标空旗反噬 |
|
||||
| weaken 削弱 | 敌方攻击被削弱 | 敌方 | −65%(provisional,取值域 [60,85]) | 16 | 标中旗 |
|
||||
| enrage 暴走 | 敌方攻击提升 | 敌方 | +25%(provisional) | 16 | 标空旗反噬 |
|
||||
| off_guard 失衡 | 主角承伤加深(+25 个百分点进承伤修正池) | 主角 | +25%(provisional) | 16 | 标空旗反噬 |
|
||||
| attack_up 增伤 | 主角攻击提升 | 主角 | +50%(provisional) | 1 次 / 叠加 ×2 | 安全格 |
|
||||
| ac_up 护甲强化 | 主角护甲等级提升(掷点折扣判定阈值——AC 轴,不入池) | 主角 | +1 护甲等级/层(2026-09-16 换装,原 defense_up 减伤 −30% 退役) | 1 次 / 叠加 ×2 | 安全格 |
|
||||
| ambush 伏击 | 敌方攻击附带额外伤害 | 敌方 | +3 固定值/层(provisional) | 1 次 / 叠加 ×16 | 踩雷 / 标空旗反噬 |
|
||||
| weaken 削弱 | 敌方攻击被削弱 | 敌方 | −65%(provisional,取值域 [60,85]) | 1 次 / 叠加 ×16 | 标中旗 |
|
||||
| enrage 暴走 | 敌方攻击提升 | 敌方 | +25%(provisional) | 1 次 / 叠加 ×16 | 标空旗反噬 |
|
||||
| off_guard 失衡 | 主角承伤加深(+25 个百分点进承伤修正池) | 主角 | +25%(provisional) | 1 次 / 叠加 ×16 | 标空旗反噬 |
|
||||
| sapped 乏力 | 主角输出降低(weaken 型负向,hero_offense 池) | 主角 | −25%(provisional) | 1 次 / 叠加 ×16 | 雷格负向(2026-09-15 格面资源批) |
|
||||
| empower 蓄力 | 敌方输出 ×2(enemy_output 池——蓄力技载体) | 敌方 | +100%(provisional) | 2 次 = 1 个有效增益拍 / 刷新 ×1 | 敌方技能施放(2026-09-16 敌人技能池批) |
|
||||
| fortify 硬化 | 敌方防御提升(**敌方防御池 enemy_defense**——硬化技载体,主角攻击折半) | 敌方 | +100%(provisional) | 2 次 = 1 个有效增益拍 / 刷新 ×1 | 敌方技能施放(2026-09-16 敌人技能池批) |
|
||||
|
||||
empower 与 fortify 是敌方技能池增益技在容器侧的数据落点(技能行 buff_ref 引用,施放时长由技能行覆盖——技能冷却与增益持续是两个计时器):两行 duration = 2 的口径是"先兑付后衰减含施放当轮"——施放发生在第 N 结算战斗段,存活到第 N+1 结算战斗段才兑付"下一拍",即"持续 1 个有效结算"(proposal 语义的容器落地)。敌方防御池(enemy_defense)是第四个乘区池:敌方作为防守方的百分比修正池,消费面 = [战斗结算](战斗结算.md)主角攻击的池乘区——四池对称(敌打主角 = hero_defense × enemy_output,主角打敌 = hero_offense × enemy_defense),容器语义零延伸:仍是同构实例、side-wide 加算、不封顶不保底。
|
||||
|
||||
削弱行是当量锚在容器侧的数据落点:标中旗的收益折算成统一价值后,必须严格高于最低档主角增益——"标中旗必须比随便挖一格更值",否则没人愿意插旗。这条锚的契约归[行动经济](../排雷循环/行动经济.md),对照验收归[战斗结算](战斗结算.md);伏击行的固定值量纲定义与惩罚上限锚归[敌人系统](敌人系统.md)。暴走与失衡两行是[战斗结算](战斗结算.md)标错反噬机制(标空旗的三选一确定性惩罚)在容器侧的数据落点:三池内容与载体裁决归它,本表只承载行值。
|
||||
|
||||
@@ -191,7 +196,7 @@ MVP 阶段状态表恰有六行:两个主角增益(挖安全格拿)、三
|
||||
|
||||
| 优先级 | 内容 | 后置原因 |
|
||||
|---|---|---|
|
||||
| P1 | 刷新、并存两类合并策略的首批内容行 | 语义已定义、容器已承载;MVP 六行全用叠加,这两类暂无实际内容,首批上线时随批补验收 |
|
||||
| P1 | 刷新、并存两类合并策略的后续内容行 | 语义已定义、容器已承载;刷新类已有首批内容(empower/fortify,2026-09-16 敌人技能池批),并存仍空,首个并存内容行上线时随批补验收 |
|
||||
| P1 | 清图奖励含增益的授予路径 | 来源类别已预留;内容与档位归[地图战斗资源](地图战斗资源.md)定稿 |
|
||||
| P1 | 单体寻址扩展位 | 现行对敌效果一律全体共享;首个"只作用于其中一个敌人"的效果上线时给实例加目标字段 |
|
||||
| P2 | 驱散 / 延时 / 转移接口 | 状态一旦生效,玩家没有任何手段摘掉、延后或挪给别人——省掉一整类界面复杂度是明确的设计决定;要加属于新增接口的修订,不是调参 |
|
||||
@@ -211,8 +216,11 @@ MVP 阶段状态表恰有六行:两个主角增益(挖安全格拿)、三
|
||||
| weaken 幅度 | 百分比取值域 [60,85],取负生效 | −65(provisional) | 削弱;须过"标中旗锚"对照 |
|
||||
| enrage 幅度 | 百分比 [−100,100] 且非 0 | +25(provisional) | 暴走;标错反噬三池之一,进敌方输出修正池 |
|
||||
| off_guard 幅度 | 百分比 [−100,100] 且非 0 | +25(provisional) | 失衡;标错反噬三池之一,进主角承伤修正池(承伤 ×1.25) |
|
||||
| 六行初始剩余次数 | 整数 [1,99] | 1 × 6(provisional) | 一次性语义;拉长 = 恢复跨轮延续、规划变简单 |
|
||||
| 六行叠层上限 | 整数 [1,16] | 2 / 2 / 16 / 16 / 16 / 16(provisional) | 仅叠加策略消费;调低 = 重复奖励更容易变溢出 |
|
||||
| sapped 幅度 | 百分比 [−100,100] 且非 0 | −25(provisional) | 乏力;雷格负向 weaken 型,进主角输出修正池(2026-09-15 格面资源批补登记) |
|
||||
| empower 幅度 | 百分比 [−100,100] 且非 0 | +100(provisional) | 蓄力;敌方技能池增益技载体,进敌方输出修正池(敌方输出 ×2) |
|
||||
| fortify 幅度 | 百分比 [−100,100] 且非 0 | +100(provisional) | 硬化;敌方技能池增益技载体,进**敌方防御池 enemy_defense**(主角攻击折半) |
|
||||
| 初始剩余次数 | 整数 [1,99] | 七行 1 次 · empower/fortify 2 次(provisional) | 七行一次性语义;empower/fortify 2 次 = 1 个有效增益拍(先兑付后衰减含施放当轮);拉长 = 恢复跨轮延续、规划变简单 |
|
||||
| 叠层上限 | 整数 [1,16] | 2 / 2 / 16 / 16 / 16 / 16 / 16 / 1 / 1(provisional) | 仅叠加策略消费;empower/fortify 用刷新 ×1(冷却闸下不可能自叠加) |
|
||||
|
||||
非调参的冻结项:三类合并策略语义、两种量纲语义、来源类别枚举、"先兑付后衰减"时序、拒绝原子性、零随机——改动走本文修订流程,不走调参。
|
||||
|
||||
@@ -244,3 +252,4 @@ MVP 阶段状态表恰有六行:两个主角增益(挖安全格拿)、三
|
||||
| v0.2 | 2026-09-15 | 状态表四行改六行:补暴走(enrage,敌方 +25%)与失衡(off_guard,主角承伤 +25%)两行,承载[战斗结算](战斗结算.md)标错反噬机制(2026-09-12 批已上线);来源类别四选一改五选一(新增标空旗);连带更新"MVP 四行/四类"表述与调参表 |
|
||||
| v0.3 | 2026-09-15 | 并存分支补容量语义(实例数上界 = 受理授予数,有界确定、无满层语义);P2 后置登记并存行高频授予(持续伤害类)的容量复核 |
|
||||
| v0.4 | 2026-09-16 | **护甲等级掷点批·换装(与战斗结算 / 难度曲线与Boss / registry / 切片同批)**:defense_up(减伤 −30% ×2 层)整行退役换装 ac_up(护甲强化 +1 护甲等级 ×2 层)——unit 新增 ac 量纲(护甲等级阈值轴,幅度域 [−20,20] 且非 0,不入任何池),消费面 = 战斗结算护甲等级掷点判定;例子表与调参表同步;"叠满减伤触池底"的免伤墙随换装结构性消失。注:sapped 行与极性路由措辞的文档同步归增益状态既有修订批(本批不扩 scope) |
|
||||
| v0.5 | 2026-09-16 | **敌人技能池批(与敌人系统 / 战斗结算 / 难度曲线与Boss / registry / 切片同批)**:状态表六行 → 九行——新增 empower(蓄力:敌方 +100% 入 enemy_output 池)与 fortify(硬化:敌方 +100% 入**敌方防御池 enemy_defense** 新池——硬化技载体,主角攻击乘区消费面归战斗结算)两行敌方技能施放增益,来源类别 = 敌方技能施放(技能行 buff_ref 引用、施放时长由技能行 buff_duration 覆盖——技能冷却与增益持续两个计时器);两行 duration 2 = 1 个有效增益拍的容器口径成文;**顺手清偿 v0.4 挂起的 sapped 文档同步**(2026-09-15 格面资源批入表未登记的文档漂移——状态行表与调参表补行);P1"刷新类首批内容行"核销(empower/fortify 即首批) |
|
||||
@@ -65,7 +65,7 @@
|
||||
| ④ 衰减段 | 移除到期的临时效果;每轮恰好一次,含末轮——清图奖励先兑付、效果后衰减 |
|
||||
| ⑤ 判定段 | 先判主角倒下(负),再判敌人清空(胜),都不满足则继续下一轮 |
|
||||
|
||||
结算本体是纯逻辑步骤流:零界面依赖、禁止动画等待,随机消费只走封闭随机流。触发只读行动经济的相位读数与轮末标记,这条消息有棋盘路径和停手路径两个发射源,到达先后不承载语义。这些性质共同保证结算可回放:同样的种子、同样的事件序列,跑出的步骤流逐位复现——录像回放与断言复测都建立在它上面。随机消费恰两处:战斗开始掷骰定敌方实际数量与攻击基线浮动,属于初始化随机、发生在结算步骤流之外;护甲等级掷点属于回合内随机、发生在步骤流之内——两处都消费封闭随机流,掷点消费专用的 `armor_roll` 封闭流(逐次掷逐次取号,可逐位回放)。
|
||||
结算本体是纯逻辑步骤流:零界面依赖、禁止动画等待,随机消费只走封闭随机流。触发只读行动经济的相位读数与轮末标记,这条消息有棋盘路径和停手路径两个发射源,到达先后不承载语义。这些性质共同保证结算可回放:同样的种子、同样的事件序列,跑出的步骤流逐位复现——录像回放与断言复测都建立在它上面。随机消费恰三处(2026-09-16 敌人技能池批由两处扩为三处):战斗开始掷骰定敌方实际数量与攻击基线浮动,属于初始化随机、发生在结算步骤流之外;技能摇号属于回合内随机,但时点前置到每轮开轮、同样发生在结算步骤流之外(消费专用 `behavior_roll` 封闭流,每敌按生成序派生独立子流,单敌出招轨迹可独立复放、互不穿插);护甲等级掷点属于回合内随机、发生在步骤流之内(消费专用 `armor_roll` 封闭流,逐次掷逐次取号,可逐位回放)。三处皆封闭随机流,同种子同输入逐位复现。
|
||||
|
||||
举证:五段为流程编排,无计算;段序常量存配置表,加载时校验与定稿顺序完全一致,不一致拒绝启动。
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
| 溢出未生效行 | 踩雷超出伏击上限,超出的每颗一行 |
|
||||
| 奖励未生效行 | 满层拒收、满血治疗等合法例外一行 |
|
||||
| 标旗未中行 | 旗插空的零值归因行,每颗雷只记一次;标错的负向兑付另记效果行 |
|
||||
| 蓄力行 | 敌人本拍蓄力不动手(攒下一击)时记一行 |
|
||||
| 蓄力行 | 敌人本拍蓄力不动手(攒下一击)时记一行 **(2026-09-16 敌人技能池批改型为施放行 `cast`:敌人本拍施放增益技——0 伤害动作、具名技能、不兑付伏击;蓄力语义改写为纯攻击增益技,见[敌人系统](敌人系统.md))** |
|
||||
| 衰减行 | 到期临时效果移除一行 |
|
||||
| 判定行 | 胜 / 负 / 继续各一行;终局判定行同时是胜负画面的数据锚 |
|
||||
| 高光行 | 完美排雷成立时一行,只记实际有效兑付 |
|
||||
@@ -151,7 +151,19 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
|
||||
|
||||
### 战斗段与胜负判定:谁先动手、怎么扣血、怎么定胜负
|
||||
|
||||
战斗段是兑现的最后一刀。主角的基础攻击恒存在——这是项目拍板:若基线为零,百分比增益乘上去永远是零,增益系统就空转了。攻击力域 [1, 999]、0 于加载期拒绝,现行值 6(provisional)。顺序固定:主角先手攻击顺位最前的存活敌人,随后按行序逐个存活敌人还手;每个敌人依次走"查攻击、结算伤害、推进行动环"三步且恰好推进一次,主角不在推进范围。主角中途倒下,剩余敌人全部停手,直接进判定段。
|
||||
战斗段是兑现的最后一刀。主角的基础攻击恒存在——这是项目拍板:若基线为零,百分比增益乘上去永远是零,增益系统就空转了。攻击力域 [1, 999]、0 于加载期拒绝,现行值 6(provisional)。顺序固定:主角先手攻击顺位最前的存活敌人,随后按行序逐个存活敌人按本拍摇定技能还手;每个敌人依次走"按技能行兑现、结算伤害、执行上报(技能进冷却 + 保底计数)"三步且恰行动一次,主角不在其列。主角中途倒下,剩余敌人全部停手,直接进判定段。
|
||||
|
||||
**开轮摇号与敌方技能兑现**(2026-09-16 敌人技能池批):敌人每拍做什么由开轮摇号决定——每轮轮次开始时,本系统在换算层排除冷却中技能,按行序逐敌从 `behavior_roll` 封闭流的独立子流摇定本拍动作写入实例池(首轮同样摇号;每轮恰摇一次;轮内刷新换图不重摇),随后冷却递减。摇定后、兑现前死亡 → 本拍技能作废、不动手(死亡即不动手)。结算战斗段只按技能行兑现:伤害技走三乘法链(见下),增益技记一行施放行并把状态效果按技能行持续回合挂入[增益状态](增益状态.md)容器——0 伤害动作不掷不折、不兑付伏击。池模板、技能行、冷却与保底语义归[敌人系统](敌人系统.md)(引用不转述)。
|
||||
|
||||
**三乘法链**(技能伤害的合成顺序,技能倍率乘在最前,其后既有链一字不动):
|
||||
|
||||
```
|
||||
① 攻击伤害值 A = 攻击基线 × 技能伤害倍率 (普通攻击倍率恒 1;主角侧恒 1)
|
||||
② AC 判断值:d20 vs 防守方护甲等级 → 档位折扣;nat20 → 暴击 ×2(量程上下限)
|
||||
③ 命中伤害 H = (A × a) × 甲效倍率 (克制 1.5 / 中性 1.0 / 被克 0.5;敌打主角无甲轴恒中性)
|
||||
── 以下既有链不动 ──
|
||||
增益池乘区(含敌方防御池)→ 伏击附加(后置加法、必中全额、不吃 AC)→ 向下取整 → 伤害下限 max(1,·)
|
||||
```
|
||||
|
||||
主角先手攻击由三个分量逐项取整后相加:普通分量(攻击力经增益修正,可被池封顶压到零)、穿刺分量、魔法分量。**攻击类型是伤害的属性轴**——它只决定这个分量查甲效表的哪一行,定义里不含任何棋盘来源。分量各自查表后取整相加;甲效表把攻击类型与敌方护甲类型交叉成一张 3×3 克制倍率:
|
||||
|
||||
@@ -174,19 +186,20 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
|
||||
|
||||
两条都是奖励侧现行定义(暂存结算表 `charge_grants`,正式归属见「待办」):换桶、换量、或把开格奖励换成增益与道具,都不触动攻击类型与甲效矩阵。
|
||||
|
||||
**护甲等级掷点:必中、非归零,只吃基础攻击分量**(2026-09-16 定稿落地,判定式与全部数值已拍板)。防守方由此多了一条数值轴——护甲等级(数据键 `armor_class`):攻击永远命中,没有 miss、没有零收益白回合;只有吃掷点的分量在掷点低于防守方护甲等级时按减伤档位打折,档位再重也不归零。判定式:攻击结算时掷 1d20,掷点 ≥ 防守方护甲等级 + 攻击加成 → 全额;掷点 < 护甲等级按缺口(护甲等级 − 掷点)打折——缺口 1-3 → ×0.75,缺口 4-7 → ×0.5,缺口 8+ → ×0.25,三档皆非零档。暴击:天然 20(nat20)使该次基础攻击分量 ×2,双方同规,且 nat20 恒全额(暴击与折扣互斥)。伤害下限:任何攻击落地伤害至少 1(全局 max(1, ·))——"被减伤归零 v=0"零值伤害行语义随批退役,重档折扣的攻击行在行文本记"被压制"。掷点范围:只有基础攻击分量吃掷点——主角先手攻击的普通分量,敌方攻击拍与重击拍的基线伤害(基线 × 重击倍率);穿刺与魔法两个充能分量不吃;棋盘来源一律无视护甲等级——伏击附加、爆裂、清障炸药、奖励即时伤害全部必中全额不掷,这是本机制的边界切口,与"奖励/惩罚必中"同构。护甲等级(数值轴,掷点打折)与护甲类型(属性轴,克制乘区)严格分离:护甲类型不做护甲等级映射,克制矩阵 150/100/50 消费面不变,两概念在文档、表字段与代码键中不得混用。数值载体:主角基准护甲等级 10(暂定),ac_up(护甲强化)+1/层 ×2 层在其上加算;敌方首关行值暂定 0,正式行值归怪物设定批(登记[待办清单](../../06-待办清单.md))。攻击加成(`attack_bonus`)为结构位预留字段,切片恒 0,未来归元进度 / 武器附魔投值。掷点时机在结算战斗段内、每次基础攻击伤害计算时判定,消费 `armor_roll` 封闭流(逐次掷逐次取号,可逐位回放)。
|
||||
**护甲等级掷点:必中、非归零,只吃基础攻击分量**(2026-09-16 定稿落地,判定式与全部数值已拍板;判定对象措辞随敌人技能池批改述)。防守方由此多了一条数值轴——护甲等级(数据键 `armor_class`):攻击永远命中,没有 miss、没有零收益白回合;只有吃掷点的分量在掷点低于防守方护甲等级时按减伤档位打折,档位再重也不归零。判定式:攻击结算时掷 1d20,掷点 ≥ 防守方护甲等级 + 攻击加成 → 全额;掷点 < 护甲等级按缺口(护甲等级 − 掷点)打折——缺口 1-3 → ×0.75,缺口 4-7 → ×0.5,缺口 8+ → ×0.25,三档皆非零档。暴击:天然 20(nat20)使该次基础攻击分量 ×2,双方同规,且 nat20 恒全额(暴击与折扣互斥;nat20 暴击是掷点层概念,与技能重击〔池技能〕严格区分——两层不得混述)。伤害下限:任何攻击落地伤害至少 1(全局 max(1, ·))——"被减伤归零 v=0"零值伤害行语义随批退役,重档折扣的攻击行在行文本记"被压制"。掷点范围:只有基础攻击分量吃掷点——主角先手攻击的普通分量,敌方技能的基础伤害分量(= 攻击基线 × 技能伤害倍率,普通攻击倍率 1 为特例);无伤害分量的技能(增益类)不掷不折;穿刺与魔法两个充能分量不吃;棋盘来源一律无视护甲等级——伏击附加、爆裂、清障炸药、奖励即时伤害全部必中全额不掷,这是本机制的边界切口,与"奖励/惩罚必中"同构。护甲等级(数值轴,掷点打折)与护甲类型(属性轴,克制乘区)严格分离:护甲类型不做护甲等级映射,克制矩阵 150/100/50 消费面不变,两概念在文档、表字段与代码键中不得混用。数值载体:主角基准护甲等级 10(暂定),ac_up(护甲强化)+1/层 ×2 层在其上加算;敌方首关行值暂定 0,正式行值归怪物设定批(登记[待办清单](../../06-待办清单.md))。攻击加成(`attack_bonus`)为结构位预留字段,切片恒 0,未来归元进度 / 武器附魔投值。掷点时机在结算战斗段内、每次基础攻击伤害计算时判定,消费 `armor_roll` 封闭流(逐次掷逐次取号,可逐位回放)。
|
||||
|
||||
EV 参考数(按判定式复算,作对照锚写进文档):基准 AC10 期望减免 21.25%,AC11 25%,AC12 28.75%;对比旧 defense_up 满层 −60% 的减伤墙已整体退役换装为 AC(无双轨)。微调旋钮 = 档位边界与档位值,不动护甲等级值。换装点锚定:基准 AC10 自带约 −21% 敌方输出期望,该方向性偏移与[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)已登记的加难杠杆扫描合并处理;其生存链区间模型按掷点带宽口径复核(带宽含暴击档与折扣档),"零红档"验收保留。
|
||||
|
||||
**结论**:先合成、再取整、全程非负;吃掷点分量必中非归零、低掷按档位折扣、nat20 暴击翻倍恒全额、落地伤害保底 ≥1;溢杀丢弃、治疗封顶、死亡即时判定。
|
||||
|
||||
```
|
||||
敌方一次攻击 = max(1, floor( 掷点档位基线 + 伏击附加 ) × 主角防御乘数 × 敌方输出乘数 );伏击为后置加法,不进乘区、不掷不折
|
||||
乘数 = 1 + 池合成值 ÷ 100;池内加算、每池独立封顶 ±100 百分点 → 乘数域 [0, 2]
|
||||
敌方一次技能攻击 = max(1, floor( 掷点档位技能基础分量 + 伏击附加 ) × 主角防御乘数 × 敌方输出乘数 );伏击为后置加法,不进乘区、不掷不折
|
||||
主角一次攻击 = max(1, floor( Σ三分量 × (100 + 敌方防御乘数池合成值) ÷ 100 ) )——敌方防御池(硬化载体)乘在三分量合计之后
|
||||
乘数 = 1 + 池合成值 ÷ 100;池内加算、每池独立封顶 ±100 百分点 → 乘数域 [0, 2];四池对称:敌打主角 = hero_defense × enemy_output,主角打敌 = hero_offense × enemy_defense(切片现状注记:hero_offense 现行走普通分量增益直乘、未并入合计乘区——正式化随 ADR 批收口,见待办清单)
|
||||
护甲等级掷点:掷 1d20,掷点 ≥ 护甲等级 + 攻击加成 → 全额;低掷按缺口查档——1-3 → ×0.75 · 4-7 → ×0.5 · 8+ → ×0.25(无零档)
|
||||
暴击:nat20 → 该次基础攻击分量 ×2 且恒全额(双方同规)
|
||||
暴击:nat20 → 该次基础攻击分量 ×2 且恒全额(双方同规;掷点层概念,与技能重击严格区分)
|
||||
伤害下限:任何攻击落地伤害 ≥ 1(全局 max(1, ·)——折扣与池归零都不产生 v=0 伤害行)
|
||||
吃掷点分量 = 主角普通分量 / 敌方攻击拍与重击拍基线;穿刺、魔法、伏击附加与棋盘来源伤害不掷不折
|
||||
吃掷点分量 = 主角普通分量 / 敌方技能基础伤害分量;穿刺、魔法、增益施放与棋盘来源伤害不掷不折
|
||||
治疗量 = min( 当前生命 + 表值, 生命上限 )
|
||||
```
|
||||
|
||||
@@ -194,7 +207,7 @@ EV 参考数(按判定式复算,作对照锚写进文档):基准 AC10
|
||||
|---|---|
|
||||
| 修正池封顶 | 同侧百分比修正加算后每池独立收口 ±100 百分点;乘数可为 0——输出压制触池底时落地伤害由全局下限保底 ≥1(叠满免伤归零的结构面已随护甲等级换装消失) |
|
||||
| 伤害下限 | 任何攻击落地伤害至少 1(全局 max(1, ·));"被减伤归零 v=0"零值伤害行语义退役,重档折扣行文本记"被压制"——免伤与零输出仍逐行可见 |
|
||||
| 护甲等级掷点 | 必中非归零:掷 1d20 对防守方护甲等级 + 攻击加成(恒 0),低掷按缺口三档折扣、档位不设零档;nat20 暴击 ×2 恒全额;只吃基础攻击分量(主角普通分量、敌方攻击/重击拍基线),棋盘来源伤害不掷不折 |
|
||||
| 护甲等级掷点 | 必中非归零:掷 1d20 对防守方护甲等级 + 攻击加成(恒 0),低掷按缺口三档折扣、档位不设零档;nat20 暴击 ×2 恒全额;只吃基础攻击分量(主角普通分量、敌方技能基础伤害分量),棋盘来源伤害与增益施放不掷不折 |
|
||||
| 溢杀 | 一刀超出目标剩余生命的部分丢弃:不转移给下一个敌人、不存续、无负生命中间态 |
|
||||
| 治疗 | 生命不溢出上限;满血正向治疗零兑付,记"奖励未生效"行 |
|
||||
| 死亡判定 | 生命归 0 即倒下;敌人受击即死;主角倒下战斗段立即短路;判定段先判主角、再判敌人(防御性次序) |
|
||||
@@ -218,7 +231,7 @@ EV 参考数(按判定式复算,作对照锚写进文档):基准 AC10
|
||||
|
||||
挖掘期刷新是玩家在挖掘中途主动换图,经[行动经济](../排雷循环/行动经济.md)扣费:扣费成功后按"旧板退役、生成新板、装板、资源预分配恰一次"编排,本轮不打断——没有结算段、没有轮次结束。储备不足被拒是玩家决策的合法结果,不是编排错误。刷新图不发清图奖励,完美排雷计数随装板重置。
|
||||
|
||||
战斗开始按固定序列开张:关上配置热重载的闸门、打开增益状态容器、掷骰定敌方实际数量、生成敌人、装板并预分配资源恰一次、发开轮通知。上一关的大奖励(如血上限提升)经战斗开始入参的覆盖值通道生效,内容归[冒险结构](../冒险循环/冒险结构.md)。
|
||||
战斗开始按固定序列开张:关上配置热重载的闸门、打开增益状态容器、掷骰定敌方实际数量、生成敌人、装板并预分配资源恰一次、发开轮通知并执行开轮摇号(摇定首轮各敌本拍动作)。上一关的大奖励(如血上限提升)经战斗开始入参的覆盖值通道生效,内容归[冒险结构](../冒险循环/冒险结构.md)。
|
||||
|
||||
举证:本节为编排流程,无计算。
|
||||
|
||||
@@ -232,7 +245,7 @@ EV 参考数(按判定式复算,作对照锚写进文档):基准 AC10
|
||||
| 上游 | [行动经济](../排雷循环/行动经济.md) | 轮末两字段消息的接收方;回发换图指令、结算完成与战斗结束通知;挖掘期刷新经它扣费;五条经济契约的对账责任方 |
|
||||
| 上游 | [排雷玩法](../排雷循环/排雷玩法.md) | 订阅其三事件流(挖开格、旗判定、轮次结束);换图时调用装板与退役 |
|
||||
| 上游 | [棋盘生成](../排雷循环/棋盘生成.md) | 换图时调用其生成接口 |
|
||||
| 上游 | [敌人系统](敌人系统.md) | 单位接口全调用面:生成、查询、扣血、推进、默认目标、伏击授予、清场;护甲等级(防守方掷点判定读数)随单位数据供给 |
|
||||
| 上游 | [敌人系统](敌人系统.md) | 单位接口全调用面:生成、查询、扣血、摇定写入、执行上报、默认目标、伏击授予、清场;护甲等级(防守方掷点判定读数)随单位数据供给;池模板与技能行数据归它 |
|
||||
| 上游 | [增益状态](增益状态.md) | 状态容器接口全调用面:开域、授予、读值、衰减、闭域 |
|
||||
| 上游 | [地图战斗资源](地图战斗资源.md) | 格面资源接口:预分配、身份查询、受理、清图对象、当量供给投影、映射退役 |
|
||||
| 上游 | [冒险结构](../冒险循环/冒险结构.md) | 战斗触发、遭遇上下文与主角入参覆盖值(provisional,MVP 冒烟直供) |
|
||||
@@ -246,7 +259,7 @@ EV 参考数(按判定式复算,作对照锚写进文档):基准 AC10
|
||||
|
||||
| 呈现面 | 形态 | 载荷与语义 |
|
||||
|---|---|---|
|
||||
| 呈现状态快照 `presentation_snapshot` | 只读函数,全量 | 轮次、战斗结果、相位、行动点与储备、刷新可用性、主角(生命/上限/攻击/存活)、敌人数组(顺位/显示名/生命/敌种/护甲类型/当前拍/行动环进度/伏击层数/存活)、伏击层数、主角活跃效果投影——呈现层唯一的状态读取出口 |
|
||||
| 呈现状态快照 `presentation_snapshot` | 只读函数,全量 | 轮次、战斗结果、相位、行动点与储备、刷新可用性、主角(生命/上限/攻击/存活)、敌人数组(顺位/显示名/生命/敌种/护甲类型/护甲等级/摇定动作〔pending_skill/type/name〕/敌方增益 effects/伏击层数/存活)、伏击层数、主角活跃效果投影——呈现层唯一的状态读取出口(敌人技能池批批 2 定稿:行为环当前拍/环进度字段拆除,池与权重不公开) |
|
||||
| 战斗进行中谓词 `is_battle_live` | 只读函数,布尔 | 战斗未出结果且主角在场——组合根高频相位判断的低成本面 |
|
||||
| 奖励身份查询 `query_reward_identity` | 只读函数,单格 | 已开格奖励身份解析的代理,转[地图战斗资源](地图战斗资源.md)的身份查询(就绪相位守卫归对方)——组合根注入棋盘徽章回调 |
|
||||
| 结算快照信号 `settlement_snapshot` | 信号,每次结算末 | 对象销毁前组装的全量状态快照(终局含胜负结果)——测试记录与数值分析消费 |
|
||||
@@ -256,11 +269,11 @@ EV 参考数(按判定式复算,作对照锚写进文档):基准 AC10
|
||||
|
||||
## P0 最小闭环
|
||||
|
||||
1. 战斗开始序列跑完(关闸门、开容器、掷骰定敌数、生成敌人、装板并预分配资源、发开轮通知),进入第一轮挖掘期。
|
||||
1. 战斗开始序列跑完(关闸门、开容器、掷骰定敌数、生成敌人、装板并预分配资源、发开轮通知 + 开轮摇号),进入第一轮挖掘期。
|
||||
2. 挖掘期本系统只缓冲事实流(开格、标旗、撤旗入结算队列),不做任何兑付。
|
||||
3. 轮末自动触发五段结算,触发与事件到达序无关。
|
||||
4. 授予段先做抵消过滤(标旗后被撤旗的不结算),再按极性矩阵三批兑现:开安全格 / 标中旗兑正向、开雷格 / 标错旗兑负向、清图发清图奖励对象(完美翻倍)。
|
||||
5. 增益合成、主角先手加逐敌还手、衰减恰好一次。
|
||||
5. 增益合成、主角先手加逐敌按摇定技能兑付(伤害技三乘法链 / 增益技施放行)、衰减恰好一次。
|
||||
6. 判定段先主角后敌人:继续通知同图、清图换图续轮、胜负走战斗结束清理(魔法道具背包不清)。
|
||||
7. 明细流水全程落行,供呈现、回放与导出。
|
||||
|
||||
@@ -302,13 +315,14 @@ EV 参考数(按判定式复算,作对照锚写进文档):基准 AC10
|
||||
- 极性路由正确:开安全格 / 标中旗只兑正向、开雷格 / 标错旗只兑负向;兑付效果与该格资源类型的字典行一一对应。
|
||||
- 伏击守恒:blast 负向兑付超出上限时兑付数等于上限,超出部分逐颗记"溢出未生效"行;多敌共享同一伏击池值。
|
||||
- 完美排雷:零误标且至少一面标中时第二份兑付恰一次并发高光行;出现误标或零标中则无高光;计数换图重置。
|
||||
- 战斗段次序:主角先手后逐敌"查攻击、结算伤害、推进"各恰一次;主角倒下立即短路,剩余敌人不行动。
|
||||
- 护甲等级掷点:吃掷点分量(主角普通分量、敌方攻击/重击拍基线)逐次掷 d20——掷点 ≥ 防守方护甲等级 + 攻击加成全额兑付;低掷按缺口查档(1-3 → ×0.75 · 4-7 → ×0.5 · 8+ → ×0.25),档位不设零档;nat20 暴击该分量 ×2 且恒全额;穿刺/魔法分量与棋盘来源伤害(伏击附加、爆裂、清障炸药、奖励即时)不掷不折。
|
||||
- 开轮摇号:每轮恰摇一次(首轮同样;轮内刷新换图不重摇);摇定后兑现前死亡 → 本拍技能作废(零敌方行动行)、不进冷却不进保底计数;已兑现技能进冷却、保底计数按执行结果更新。
|
||||
- 战斗段次序:主角先手后逐敌"按摇定技能行兑现、结算伤害、执行上报"各恰一次;主角倒下立即短路,剩余敌人不行动。
|
||||
- 护甲等级掷点:吃掷点分量(主角普通分量、敌方技能基础伤害分量)逐次掷 d20——掷点 ≥ 防守方护甲等级 + 攻击加成全额兑付;低掷按缺口查档(1-3 → ×0.75 · 4-7 → ×0.5 · 8+ → ×0.25),档位不设零档;nat20 暴击该分量 ×2 且恒全额;穿刺/魔法分量与棋盘来源伤害(伏击附加、爆裂、清障炸药、奖励即时)及增益施放不掷不折。
|
||||
- 伤害下限与留档:任何攻击落地伤害 ≥1,全流水零 v=0 伤害行、零"被减伤归零"行;掷点读数、护甲等级与档位随伤害行留档,nat20 行带暴击标记。
|
||||
- 数值边界:伤害下限保底后全程无零值/负值伤害;溢杀丢弃不转移;治疗封顶不溢出。
|
||||
- 出口分发:先判主角倒下(负)再判敌清空(胜);停手与耗尽轮恒同图,清图轮才允许换图。
|
||||
- 关卡收束:关卡结束清空魔法道具背包恰一次并返回清空前计数;战斗结束不清背包。
|
||||
- 可回放(封闭随机流口径):同种子同输入两遍步骤流逐位复现;随机消费仅限封闭随机流——开战掷骰(初始化随机)与护甲等级掷点(回合内随机),无未登记随机源、零界面等待。
|
||||
- 可回放(封闭随机流口径):同种子同输入两遍步骤流逐位复现;随机消费仅限三处封闭随机流——开战掷骰(初始化随机)、技能摇号 `behavior_roll`(回合内、开轮时点、步骤流之外)、护甲等级掷点 `armor_roll`(回合内、步骤流之内),无未登记随机源、零界面等待;单敌出招轨迹可独立复放、互不穿插。
|
||||
- 无来源即炸:每行明细都能指回一个来源事实(棋盘格、单位、清图或段级结论);找不到来源即断言失败,行型与来源类别两层豁免清单见明细流水一节,豁免行仍受其它契约约束。
|
||||
- 行型封闭:流水只出现本文登记的 10 类行型;新增或下线行型必须走本文修订并同步呈现层行格式化,未登记行型不得落行。
|
||||
|
||||
@@ -330,3 +344,4 @@ EV 参考数(按判定式复算,作对照锚写进文档):基准 AC10
|
||||
| v0.8 | 2026-09-15 | **护甲等级批(用户拍板登记,只改文档与 registry、不动代码)**:战斗段新增护甲等级掷点规则——必中、非归零,掷点低于防守方护甲等级按减伤档位折扣,没有 miss、没有零收益白回合;只吃基础攻击分量(主角普通分量 / 敌方攻击拍与重击拍基线),穿刺/魔法充能分量不吃;棋盘来源(伏击附加、道具、清障炸药、奖励即时)一律无视;护甲等级(数值轴,数据键 `armor_class`)与护甲类型(克制属性轴)命名区分成文。随机口径修订:结算换算层首次引入回合内随机,可回放契约从"结算路径零随机"改为"封闭随机流可回放"(同种子同输入逐位复现);开战掷骰属初始化随机维持不变。调参表新增护甲等级掷点 / 减伤档位表 / `armor_class` 三行(全部 provisional 未定值);伤害行补掷点读数与折扣档位随行留档(行型 10 类封闭不变);验收标准新增护甲等级掷点与折扣零值归路两条、可回放条改封闭随机流口径;EV 中性引入成文(期望伤害对齐现行表值,"零红档"验收保留);待拍板新增"掷点形式与数值域""掷点的随机流归属"两条 |
|
||||
| v0.9 | 2026-09-16 | 新增「呈现只读面」节(06 清单「呈现只读面契约登记缺口」闭合):把切片已实现的呈现面函数与信号登记为对外契约——呈现状态快照 `presentation_snapshot`、战斗进行中谓词 `is_battle_live`、奖励身份查询 `query_reward_identity`、结算快照信号 `settlement_snapshot`、战斗结束信号 `battle_finished` 五件成文(载荷字段、消费方、销毁前捕获语义),并登记"呈现层唯一状态读取出口、禁链式穿透"的出口纪律与诊断观测面的非契约定位;依赖与输出表 HUD 框架下游行补指路 |
|
||||
| v0.10 | 2026-09-16 | **护甲等级掷点批·定稿落地(用户拍板,数字即规范——与敌人系统 / 难度曲线与Boss / registry / 切片代码同批)**:判定式定稿——掷 1d20,掷点 ≥ 防守方护甲等级 + 攻击加成(结构位 `attack_bonus`,切片恒 0)→ 全额,低掷按缺口三档折扣(1-3 → ×0.75 · 4-7 → ×0.5 · 8+ → ×0.25,无零档);nat20 暴击该基础攻击分量 ×2 且恒全额(双方同规);伤害下限全局 max(1, ·)(`damage_floor` = 1)——"被减伤归零 v=0"零值伤害行语义退役,重档折扣行文本记"被压制";百分比减伤增益 defense_up 整体退役换装 ac_up(护甲强化 +1 AC/层 ×2 层,`unit=ac` 新量纲、不入任何池,无双轨),off_guard 与池结构零改动;护甲等级与护甲类型分离成文(数值轴 / 属性轴,不做映射)。数值载体:主角 armor_class 10(暂定)、敌方首关 0(暂定,正式行值归怪物设定批,登记待办清单);掷点流归属定稿 = `armor_roll` 封闭流(逐次掷逐次取号,可逐位回放),调参表掷点/档位/下限/加成五行由未定改拍板值;EV 参考数成文(AC10 21.25% / AC11 25% / AC12 28.75%,按判定式复算),换装点锚定(基准 AC10 自带约 −21% 敌方输出期望)与加难杠杆扫描合并处理;验收标准改写掷点条目 + 新增伤害下限与留档条目;切片同批:settlement.tres 七参数入表、战斗段掷点判定/暴击/下限/行留档(roll/ac/tier/crit 字段)、armor_roll 流接入 rng_service(黄金向量 m=42 scope0 = 4806095330042243845)、零值伤害行分支删除、冒烟护栏与掷点行为断言(nat20 种子 / AC12 档位分布 / 池触底保底 / 棋盘必中)、英雄卡与敌人卡 AC 展示、ac_up 状态槽图标、nat20 金框高亮 |
|
||||
| v0.11 | 2026-09-16 | **敌人技能池批(用户拍板,设计权威 docs/proposal-skill-pool.md v1.0——与敌人系统 / 增益状态 / 难度曲线与Boss / 战斗表现 / HUD框架 / registry / 切片代码同批)**:① 随机口径两处 → 三处——技能摇号 `behavior_roll` 封闭流(回合内、开轮时点、步骤流之外,每敌按生成序派生独立子流、单敌轨迹可独立复放)入册,可回放契约扩写为"三处皆封闭流,同种子同输入逐位复现";② 战斗段成文开轮摇号与敌方技能兑现(每轮恰摇一次、轮内刷新不重摇、摇定后兑现前死亡作废)、增益技 = 施放行 + 状态授予(0 伤害不掷不折不兑伏击);③ 三乘法链成文(技能倍率乘在最前:基线 × 倍率 → AC 掷点 → 甲效 → 既有链不动);④ AC 判定对象措辞四处改述("敌方攻击拍与重击拍基线" → "敌方技能基础伤害分量",含正文/公式行/边界表/验收标准);⑤ 敌方防御池入乘区(`enemy_defense` 新池——硬化载体):主角攻击 Σ三分量后 ×(100+enemy_defense)/100,四池对称成文(hero_offense 现行走普通分量直乘的切片现状登记待办);⑥ 行型改型:蓄力行 `charge` → 施放行 `cast`(10 类封闭不变);⑦ 呈现快照敌人数组字段定稿(当前拍/行动环进度 → 摇定动作三字段 + 敌方增益 effects);验收标准新增开轮摇号条目、战斗段次序与可回放条目改写;切片同批:`_roll_round_actions` 开轮编排、技能摇号器独立服务类、单位容器实例池/冷却/执行上报、settlement.tres effect_pool_map 增 empower/fortify、施放行格式化、摇定动画位 |
|
||||
@@ -62,7 +62,7 @@
|
||||
| 输入 | 登记处 | 将来要做的 |
|
||||
|---|---|---|
|
||||
| 受击反馈 / 死亡表现 / 顺位标记 | [敌人系统](敌人系统.md)的资产需求下限三类(终稿归样张批,呈现语义已归 battle.md) | 终稿资产与动画兑现;死亡不得瞬消 |
|
||||
| 敌种姿态资产定稿 | battle.md 意图线索映射目录(数据面已锁:首发两敌种,一态与三态) | 把已锁的姿态清单做成终稿资产 |
|
||||
| 特殊技技能动画定稿 | [敌人系统](敌人系统.md)三档可见性规格(2026-09-16 敌人技能池批改型:行为环姿态预告〔一态与三态〕退役——现行数据面 = 普通攻击零表示、特殊技攻/防系两型动画〔攻击系/增益系〕,暴击为掷点层无前置表示;battle.md 意图线索映射目录已同步改型注记) | 把摇定动画映射(两型)做成终稿资产 |
|
||||
| 溢出未生效行的呈现 | [增益状态](增益状态.md)定稿时登记(数据源是[战斗结算](战斗结算.md)的明细协议) | 让这类行在演出中可读、不被吞掉 |
|
||||
| 效果来源格的可读化 | 同上(候选形态:缩略图或格子高亮,坐标不直接呈现) | 把"效果来自哪一格"翻译成玩家可读的演出 |
|
||||
| 坍塌显形的连锁动画 | [游戏概念](../../00-游戏概念.md)的概念层拍板——坍塌显形是[连锁展开](../排雷循环/排雷玩法.md)的玩家可见名,与音频方向同批配对登记 | 连锁展开触发时的连锁演出 |
|
||||
@@ -155,3 +155,4 @@ MVP 不要求本文的闭环:不做清单把战斗动画演出列为 MVP 打
|
||||
|---|---|---|
|
||||
| v0.1 | 2026-09-15 | 自归档线索整合为范围草案(旧体系未单独成文) |
|
||||
| v0.2 | 2026-09-16 | 新增「一屏样张的验收标准」:内容清单、五项按序判定与判定回退成文,四件锁定物(角色剪影/动画方案/战斗空间/敌层插入位置)的过判口径落到已冻结口径上(06 清单「样张验收标准未成文」闭合);依赖与输出表"五区"改"四区"随 UI 收口批同步 |
|
||||
| v0.3 | 2026-09-16 | **敌人技能池批(与敌人系统 / 战斗结算 / HUD框架 / registry / 切片代码同批)**:上游呈现输入清单「敌种姿态资产定稿」行改型——行为环姿态预告(一态与三态)随行为环退役,改「特殊技技能动画定稿」(普通攻击零表示、特殊技攻/防系两型动画映射,暴击掷点层无前置表示);摇定动画位呈现语义 = 开轮摇定即可见、纯类型级提醒(池与权重不公开),样张验收联动口径不变 |
|
||||
+138
-81
@@ -1,6 +1,6 @@
|
||||
# 敌人系统
|
||||
|
||||
> 一句话:敌人数据、行为环、意图呈现
|
||||
> 一句话:敌人数据、技能池出招、意图呈现
|
||||
> 状态:已定稿(自旧体系迁移)
|
||||
> 旧版参考:../../../archive/gdd-2026-09-14/b2-enemy-system.md
|
||||
|
||||
@@ -8,19 +8,21 @@
|
||||
|
||||
敌人系统回答战斗里四个问题:对面是谁、有多强、接下来要干什么、怎么被打死。它同时管主角和敌人的数据面——双方共用同一套受伤与死亡的接口,所以它也是踩雷代价的收件人:惊动巢穴喂给怪物的每一分优势,最终都落在它管的血量上。没有它,惩罚没有落点、胜负没有主体、难度曲线没有施加对象。
|
||||
|
||||
它向玩家兑现三条承诺。威胁可推测:读怪物的姿态就知道它下一招要干什么。强弱有来处:它强是我踩雷喂的,它弱是我插旗拆的。越下越险:深层敌人更凶,是下探氛围的可见刻度。反向护栏只有一条——威胁绝不能是无源暗账,玩家说不出"它为什么变强、这一拳为什么这么重",就是本系统失职。
|
||||
它向玩家兑现三条承诺。威胁可推测:特殊技有一次开轮类型级预告、结算明细具名到技能,普攻之外的行动都读得懂来龙去脉。强弱有来处:它强是我踩雷喂的,它弱是我插旗拆的。越下越险:深层敌人更凶,是下探氛围的可见刻度。反向护栏只有一条——威胁绝不能是无源暗账,玩家说不出"它为什么变强、这一拳为什么这么重",就是本系统失职。
|
||||
|
||||
出招的质感目标是动作游戏怪物 AI:以普通攻击为基底,随机时机出特殊技——出招序列不可背诵,但每一次出手都离散、具名、可归因。
|
||||
|
||||
## 系统范围
|
||||
|
||||
边界这样划:本系统是战斗单位的"数据与语义层"——单位有哪些数值、行为怎么轮转、挨打之后状态怎么变,都归这里;什么时候结算、一笔伤害最终算多少,归战斗结算编排;增益层数存放在哪,归增益状态;画成什么样,归 HUD 框架与战斗表现。本系统编排被动:自己从不主动做事,零随机、不碰界面、不订阅事件,一切等战斗结算来调。
|
||||
边界这样划:本系统是战斗单位的"数据与语义层"——单位有哪些数值、技能池怎么构成、摇定之后状态怎么变,都归这里;什么时候结算、一笔伤害最终算多少、摇号怎么摇,归战斗结算编排;增益层数存放在哪,归增益状态;画成什么样,归 HUD 框架与战斗表现。本系统编排被动:自己从不主动做事,零随机、不碰界面、不订阅事件,一切等战斗结算来调。
|
||||
|
||||
负责:
|
||||
|
||||
| 负责 | 说明 |
|
||||
|---|---|
|
||||
| 单位数据与接口 | 主角与敌人共用的血量、存活、行为环指针;对外的"查状态"与"受动作"两组能力 |
|
||||
| 两张单位表的定义与回填 | 敌人表与主角表的字段、取值域、表值回填(表本体的承载与读取归数据配置) |
|
||||
| 行为环语义 | 拍的枚举、推进与死亡冻结规则、跨轮次跨图延续 |
|
||||
| 单位数据与接口 | 主角与敌人共用的血量、存活;对外的"查状态"与"受动作"两组能力 |
|
||||
| 两张单位表与技能表的定义与回填 | 敌人表(含池模板)、主角表、技能表的字段、取值域、表值回填(表本体的承载与读取归数据配置) |
|
||||
| 技能池语义 | 池构成纪律、技能行词汇表、实例池与冷却状态、死亡作废规则 |
|
||||
| 目标顺位规则 | 敌方打谁、玩家与道具默认打谁的固定顺位 |
|
||||
| 伏击词条量纲 | 每层伏击附加多少伤害、单轮授予上限的表值 |
|
||||
|
||||
@@ -28,19 +30,19 @@
|
||||
|
||||
| 不负责 | 归谁 |
|
||||
|---|---|
|
||||
| 结算编排与伤害消费(何时调用、伤害合成、死亡判定时机、护甲克制矩阵) | [战斗结算](战斗结算.md) |
|
||||
| 状态层数的存放与衰减(伏击层池、削弱层池) | [增益状态](增益状态.md) |
|
||||
| 摇号执行与结算编排(何时摇、伤害合成、死亡判定时机、护甲克制矩阵) | [战斗结算](战斗结算.md) |
|
||||
| 状态层数的存放与衰减(伏击层池、削弱层池、蓄力/硬化增益) | [增益状态](增益状态.md) |
|
||||
| 奖励内容与掉落 | [地图战斗资源](地图战斗资源.md) |
|
||||
| 棋盘规则(挖格、插旗、惊动巢穴等事实的发生) | [排雷玩法](../排雷循环/排雷玩法.md) |
|
||||
| 遭遇构成(何时开战、坐标与数量怎么定)与跨战斗血量保留 | [关卡节点地图](../冒险循环/关卡节点地图.md) |
|
||||
| 单位数值曲线与难度修饰 | [难度曲线与Boss](../冒险循环/难度曲线与Boss.md) |
|
||||
| 呈现(线索映射清单、顺位与血条、受击与死亡演出) | [HUD 框架](../表现与支撑/HUD框架.md) 与 [战斗表现](战斗表现.md) |
|
||||
| 单位数值曲线、池权重/冷却/保底投值与难度修饰 | [难度曲线与Boss](../冒险循环/难度曲线与Boss.md) |
|
||||
| 呈现(线索映射清单、顺位与血条、摇定动画、受击与死亡演出) | [HUD 框架](../表现与支撑/HUD框架.md) 与 [战斗表现](战斗表现.md) |
|
||||
| 配置表的 schema 与读取机制 | [数据配置](../表现与支撑/数据配置.md) |
|
||||
|
||||
## 在核心循环中的位置
|
||||
|
||||
```
|
||||
战斗开始:战斗结算按遭遇坐标调本系统生成单位 ──▶ 每轮轮末结算:读拍兑付 → 受击 → 推进 ──▶ 敌全灭 / 主角归零,回流战斗结算判胜负
|
||||
战斗开始:战斗结算按遭遇坐标调本系统生成单位(池快照成实例池)──▶ 每轮开轮摇号定拍 → 轮末结算按技能行兑现 ──▶ 敌全灭 / 主角归零,回流战斗结算判胜负
|
||||
```
|
||||
|
||||
敌人系统站在"战斗兑现"这一段的单位层。上游是战斗结算的编排调用,以及经它转化而来的棋盘事实(踩了雷、插了旗);下游回给战斗结算两样东西——胜负判定素材和带来源的伤害分量。
|
||||
@@ -56,7 +58,7 @@
|
||||
| 状态 | 怎么进入 | 此时会发生什么 |
|
||||
|---|---|---|
|
||||
| 未上场 | 单位刚创建、还没开战 | 无任何作用,唯一出口是开战时被实例化 |
|
||||
| 存活 | 开战时按表值(敌人)或血量入参(主角)生成 | 可被指定目标、按行为环出招、计入全灭判定 |
|
||||
| 存活 | 开战时按表值(敌人)或血量入参(主角)生成 | 可被指定目标、按摇定技能行动、计入全灭判定 |
|
||||
| 已死亡 | 血量归 0(判定时机归战斗结算) | 移出顺位、不再出招;不可逆(MVP 无复活);死亡记录保留只读可查 |
|
||||
| 已消亡 | 战斗结束统一清场 | 逻辑失效:查询返回空、作用接口拒绝;唯一出口是下一场重新生成 |
|
||||
|
||||
@@ -66,7 +68,7 @@
|
||||
|
||||
战斗开始时,编排方给出遭遇坐标(关卡序号 + 节点深度),本系统据此在敌人表里精确匹配一种敌种,把本战实际数量的敌人生成出来——每场战斗 1 到 3 个敌人,全部同种同属性,来自同一行表值;战斗中敌人只减不增,不做召唤、增援、分裂。主角同时以当前血量入参生成,血量越界(高于上限或不超过 0)整单拒绝、不留半实例。
|
||||
|
||||
生成拿到的是当时的表值快照:开战那一刻把数值抄一份,之后改表不影响已生成的单位。若数量或攻击基线配成了区间,由战斗结算用封闭随机流在开战时掷定一次后传入确定值——本系统自身始终零随机;掷定后整场持久,攻击基线不逐拍重掷(数字要可读)。
|
||||
生成拿到的是当时的表值快照:开战那一刻把数值和池模板各抄一份,之后改表不影响已生成的单位。池模板快照成每实例自己的实例池(各技能冷却清零),此后各自独立摇号、互不干涉。若数量或攻击基线配成了区间,由战斗结算用封闭随机流在开战时掷定一次后传入确定值——本系统自身始终零随机;掷定后整场持久,攻击基线不逐拍重掷(数字要可读)。
|
||||
|
||||
| 规则 | 含义 |
|
||||
|---|---|
|
||||
@@ -74,80 +76,120 @@
|
||||
| 每个坐标只出一种敌种 | 敌人表按(关卡序号 × 节点深度)存放,同一坐标的行集内敌种唯一,违规加载期报错止动;同关随深度换敌种合法 |
|
||||
| 主角数据行 | 主角战斗数值单独放一张全局单行表:生命上限、基础攻击力、护甲等级三字段(见调参表) |
|
||||
| 基础攻击恒存在 | 基础攻击不许配 0(配置为 0 加载期拒绝)——零基线乘任何百分比增益恒为零,"胜利路径恒有"的保障从数据层杜绝死锁 |
|
||||
| 先手攻击不是行为环拍 | 每次结算战斗段主角先手攻击顺位最前的存活敌人,这是固定动作;奖励侧的道具与增益是基础攻击之外的规划面伤害,归[地图战斗资源](地图战斗资源.md) |
|
||||
| 先手攻击不是敌方技能拍 | 每次结算战斗段主角先手攻击顺位最前的存活敌人,这是固定动作;奖励侧的道具与增益是基础攻击之外的规划面伤害,归[地图战斗资源](地图战斗资源.md) |
|
||||
|
||||
首发敌种共三种,名字是玩家可见专名:地精、熊地精、食人魔酋长(末者为首发关底 Boss)。
|
||||
|
||||
| 敌种 | 行为环 | 护甲类型 | 护甲等级 | 现行定位 |
|
||||
| 敌种 | 技能池(权重,provisional) | 护甲类型 | 护甲等级 | 现行定位 |
|
||||
|---|---|---|---|---|
|
||||
| 地精 | 攻击(单拍环) | 轻甲 | 0(暂定) | 首发杂兵;教学位节点 ×[1,2],开战掷定 |
|
||||
| 熊地精 | 攻击 / 蓄力 / 重击(三拍环) | 魔法护甲 | 0(暂定) | 首发主力;重击倍率 2 |
|
||||
| 食人魔酋长 | 攻击 / 攻击 / 蓄力 / 重击(四拍 Boss 环) | 重甲 | 0(暂定) | 首发关底 Boss;重击倍率 2 |
|
||||
| 地精 | 普通攻击 9 · 突刺 1 | 轻甲 | 0(暂定) | 首发杂兵;教学位节点 ×[1,2],开战掷定 |
|
||||
| 熊地精 | 普通攻击 6 · 蓄力 2 · 重击 2 | 魔法护甲 | 0(暂定) | 首发主力;重击倍率 2 |
|
||||
| 食人魔酋长 | 普通攻击 6 · 重击 2 · 硬化 2 | 重甲 | 0(暂定) | 首发关底 Boss;重击倍率 2、硬化独占 |
|
||||
|
||||
护甲类型(轻甲 / 魔法护甲 / 重甲)与攻击类型的克制结算矩阵归[战斗结算](战斗结算.md),本系统只提供每个敌种的护甲类型数据。护甲等级是另一条数值轴(防守方字段,基础攻击掷点的折扣判定读数——2026-09-15 护甲等级批新增,2026-09-16 定稿落地):敌人表与主角表各增 `armor_class` 一列(域 [0, 999]),掷点与折扣的结算归[战斗结算](战斗结算.md),行值投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)——三敌种首关暂定 0(第一关怪物 AC 相对较低,正式行值待怪物设定投值,登记[待办清单](../../06-待办清单.md)),主角暂定 10,两条轴的概念与字段不得混用。举证:生成与护甲为数据面规则,无计算。
|
||||
护甲类型(轻甲 / 魔法护甲 / 重甲)与攻击类型的克制结算矩阵归[战斗结算](战斗结算.md),本系统只提供每个敌种的护甲类型数据。护甲等级是另一条数值轴(防守方字段,基础攻击掷点的折扣判定读数):敌人表与主角表各增 `armor_class` 一列(域 [0, 999]),掷点与折扣的结算归[战斗结算](战斗结算.md),行值投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)——三敌种首关暂定 0(第一关怪物 AC 相对较低,正式行值待怪物设定投值,登记[待办清单](../../06-待办清单.md)),主角暂定 10,两条轴的概念与字段不得混用。举证:生成与护甲为数据面规则,无计算。
|
||||
|
||||
### 行为环:敌人按排好的剧本轮流出招,走到哪一拍零随机
|
||||
### 技能池:每敌种一张带权技能池,每拍开轮摇号出招
|
||||
|
||||
每种敌人有一条行为环——一份排好的出招剧本,"拍"就是环里的一格行动。战斗开始时指针指向环首,之后每轮轮末结算恰推进一拍:先把当前拍的招打出去,再走一格(先作用后推进);环尾回环首;跨轮次、跨雷图延续,除战斗结束清场外没有任何重置入口。全程零随机,走到哪一拍由结算次数唯一决定——这正是"读怪"可以学会的原因。
|
||||
每种敌人有一张技能池——一组带出招权重的技能行。敌人每拍做什么由一次摇号决定:把它实例池里冷却中的技能排除,剩下的按权重份额归一摇一个。**中签率 = 该技能权重 ÷ 当前可摇技能权重合计**——权重是份额不是固定百分比,排除谁,谁的份额按比例摊给其余技能。出招序列不可背诵,但摇号只决定"做什么";伤害多少由三乘法链在结算段算(见[战斗结算](战斗结算.md))。
|
||||
|
||||
死亡即从环上摘除:轮到它之前被打死,本拍不出手、指针就地冻结(MVP 无复活,永久冻结);行动完成后才死,则这一拍已打出、也已推进。其余存活敌人照常轮转。同种敌人永远同拍——它们都从环首出发、每场结算各推进一次。主角没有行为环,对主角调用环接口一律拒绝。
|
||||
三层对象,模板与实例分离:
|
||||
|
||||
每次结算内"读当前拍 → 兑付 → 受击 → 推进"的调用次序由战斗结算钉死:推进必须放在受击之后,次序颠倒就会读到下一拍。
|
||||
| 层 | 对象 | 载体 | 职责 |
|
||||
|---|---|---|---|
|
||||
| 定义层 | 技能行 | 独立技能表(数据配置承载、本系统回填) | 技能是什么:类型、倍率、冷却、效果引用——多敌种共享 |
|
||||
| 定义层 | 池模板 | 内嵌敌行 pool 数组:{skill_id, weight} | 敌种用什么、多常用——难度曲线的调参单点 |
|
||||
| 实例层 | 实例池 | 单位实例(开战把模板快照一份) | 这一只在什么状态:各技能冷却剩余、摇定动作、保底计数 |
|
||||
|
||||
| 拍 | 状态 | 语义 |
|
||||
技能行字段词汇表:
|
||||
|
||||
| 字段 | 适用类型 | 说明 |
|
||||
|---|---|---|
|
||||
| 攻击 | 启用 | 对主角造成基线攻击点伤害 |
|
||||
| 蓄力 | 启用 | 空拍不兑付——威胁的"预备动作",也是玩家的规划窗口;不兑付伏击 |
|
||||
| 重击 | 启用 | 基线攻击 × 重击倍率 |
|
||||
| 自防 / 强化 / 妨害 / 召唤 | 预留 | 配进表会被校验拒绝(加载期报错);启用走本文修订,不是调参 |
|
||||
| skill_id | 全部 | 主键,池条目引用键 |
|
||||
| display_name | 全部 | 玩家可见名(明细行与动画共用) |
|
||||
| type | 全部 | 封闭枚举 {普通攻击, 伤害, 增益};新类型走本文修订 |
|
||||
| damage_mult | 仅伤害 | 伤害倍率;域 [1.1, 16] provisional。普通攻击恒 1、不可配 |
|
||||
| cooldown_beats | 全部 | 施放后连续 N 拍不可摇中;普通攻击恒 0、不可配 |
|
||||
| buff_ref / buff_duration | 仅增益 | 效果引用(指向状态效果行)与增益持续回合数 |
|
||||
| P1 字段位 | — | 触发条件、命中段数、目标数、固定值分量——随对应后置批加列 |
|
||||
|
||||
举证:**当前拍 = 环序列按步数取模,行动完成后步数加一。**
|
||||
普通攻击也是一行技能行,两条域校验锁死它的特殊性:倍率恒 1、冷却恒 0——想配倍率或冷却的就不是普攻,是伤害技。技能伤害存倍率、不存固定值:伤害 = 施放者攻击基线 × 技能倍率——同一行"重击",熊地精用是 9×2=18,深层强化行自动缩放,这是共享技能表成立的前提;固定值分量若将来需要,是加字段的事(P1)。增益技带效果引用与持续回合,百分比天然按施放者同池生效,无缩放问题。
|
||||
|
||||
池构成纪律(加载校验,违规拒绝入表):**每池恰一行普通攻击**(普攻冷却恒 0 → 可摇集合恒非空,"空池不可能"由结构保证,最坏情况怪物平砍等待——那是玩家的反打窗口而非死拍);**每池增益类技能 ≤1**(非 RPG,怪物连出不同增益显得呆);池条目 skill_id 悬空致命;权重 > 0、冷却 ≥ 0。
|
||||
|
||||
两道闸(建议值 provisional,投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)):
|
||||
|
||||
| 闸 | 语义 | 现行值 |
|
||||
|---|---|---|
|
||||
| 技能冷却 | 每技能行带冷却拍数;施放后连续 N 拍不可摇中 | 普攻 0 · 突刺 2 · 蓄力 3 · 重击 3 · 硬化 4 |
|
||||
| 保底 | 连续 M 拍执行的都是普通攻击 → 下一拍必出特殊技(特殊技内按权重,不受冷却限制) | M = 4 |
|
||||
|
||||
结构红利:增益存续期内下一拍必是伤害技(池里其余全是伤害技、增益自身还在冷却)——**增益不可能白白过期**,"连出不同增益"被池构成纪律结构性消除。同一技能连发不可能(自身冷却杜绝);异名特殊技背靠背概率低(是变化不是失控,全局特殊间隔闸登记 P1 备用旋钮)。
|
||||
|
||||
开轮摇号时序(随机消费全部在[战斗结算](战斗结算.md)换算层):
|
||||
|
||||
```
|
||||
当前拍 = 环[步数 mod 环长] 开战时步数 = 0(指向环首)
|
||||
行动完成后步数 + 1 轮到前被杀 → 步数冻结(死亡即不动手)
|
||||
开轮(轮次开始):排除冷却中技能 → 按行序逐敌摇定本拍行动(behavior_roll 封闭流,每敌独立子流)→ 冷却递减
|
||||
挖掘期:按摇定结果播类型级动画(特殊技)/ 零表示(普通攻击)
|
||||
结算段:按技能行兑现——掷点、乘区、增益挂接、明细落行
|
||||
判定段之后进入下一轮开轮……
|
||||
```
|
||||
|
||||
首轮同样摇号;每轮恰摇一次,轮内刷新换图不重摇。摇号随机走封闭随机流、每敌按生成序派生独立子流——单敌出招轨迹可独立复放、互不穿插;本系统自身语义零随机不变,单位容器收到的是确定结果(armor_roll 先例同构)。
|
||||
|
||||
死亡即不动手(保留):摇定后、兑现前死亡(主角先手 / 授予段直伤),本拍技能作废——不动手、不进冷却、不进保底计数;其余存活敌人照常。拍结构保留:**每结算每存活敌恰行动一次、按行序、先作用后推进**——变的只是"轮到什么",由固定剧本改为摇号。同种敌人不再锁步:各自实例池独立摇号、独立冷却,怪物 1 的重击在冷却里不影响怪物 2,轨迹分歧是涌现,不设开战分配机制。
|
||||
|
||||
蓄力语义(2026-09-16 纠偏定稿):蓄力不是重击前奏——它是一行增益技:0 伤害动作,施加"攻击×2"状态,持续 1 个有效结算(provisional)。旧环"蓄力→猛击"的固定配对是哥布林弹珠的拷贝(给玩家输出窗口用的),随行为环一并退役;蓄力与重击之间**没有任何组合语义**——增益与技能倍率恰好同拍只是两层乘法共存(×2 遇 ×2 = ×4),蓄力后摇中普通攻击则是基线×2 的加成平砍,两者同为平常事,不是设计的连招。技能冷却(几拍内不能再摇中,技能行属性)与增益持续(状态挂几回合,状态行属性)是两个计时器,互不相干。旧蓄力拍"零兑付、不读伏击"的语义由施放行继承:0 伤害技能不兑付伏击——"本轮喂的伏击若逢施放拍不兑现"的读怪奖励保留。
|
||||
|
||||
Boss 专属身份 = 专属池承载:独占技能 + 权重轮廓(现行:酋长池含独占增益技"硬化"——敌方防御池词汇载体;旧"专属四拍环且含蓄力拍"约定随批退役,增益 ≤1 纪律下旧蓄力拍不进 Boss 池)。
|
||||
|
||||
举证:**摇定结果 = 可摇集合按权重份额归一的一次抽签;当前可摇集合 = 实例池排除冷却中技能(保底命中时 = 全部特殊技)。**连带可判别:把权重当固定百分比、把冷却当只锁高伤技、把蓄力当重击前奏,都是与本规约相悖的旧口径。
|
||||
|
||||
### 伏击:每踩一颗雷,敌方全体多叠一层附加伤害
|
||||
|
||||
玩家挖开惩罚格(雷格在玩家侧的叫法,首发类型是怪物巢穴)就是惊动巢穴:敌方全体获得一层"伏击"——敌方侧的增益词条。一层伏击 = 敌人每次攻击类行为(攻击或重击)额外附加 3 点固定伤害,按主角血量点数计。伏击只活一轮:轮末结算清零,没有跨轮存量。单轮授予有上限(现行 4 层):上限内逐颗叠加,达到上限后多踩的雷不生效,但逐颗记一行"溢出未生效"结算明细——惩罚不静默蒸发。
|
||||
玩家挖开惩罚格(雷格在玩家侧的叫法,首发类型是怪物巢穴)就是惊动巢穴:敌方全体获得一层"伏击"——敌方侧的增益词条。一层伏击 = 敌人每次伤害类技能(普通攻击或伤害技)额外附加 3 点固定伤害,按主角血量点数计。伏击只活一轮:轮末结算清零,没有跨轮存量。单轮授予有上限(现行 4 层):上限内逐颗叠加,达到上限后多踩的雷不生效,但逐颗记一行"溢出未生效"结算明细——惩罚不静默蒸发。
|
||||
|
||||
上限 4 是对"单轮连踩 5–8 颗雷"灾难轮的反灾难护栏;单轮踩雷数天然受每轮行动点预算约束(现行 8 点),这是上限默认值的结构背景。上限配 0 表示该敌种免疫伏击:每颗雷都记明细、都可见、都无效。
|
||||
上限 4 是对"单轮连踩 5–8 颗雷"灾难轮的反灾难护栏;单轮踩雷数天然受每轮行动点预算约束(现行 6 点),这是上限默认值的结构背景。上限配 0 表示该敌种免疫伏击:每颗雷都记明细、都可见、都无效。
|
||||
|
||||
| 细则 | 含义 |
|
||||
|---|---|
|
||||
| 附加是后置加法 | 伏击不进重击倍乘,倍率只乘基线伤害 |
|
||||
| 蓄力拍零兑付 | 蓄力不出手、不读伏击层——本轮喂的伏击若逢敌人全是蓄力拍,一点不兑现(读怪的奖励) |
|
||||
| 附加是后置加法 | 伏击不进技能倍率乘区,倍率只乘基线伤害 |
|
||||
| 施放行零兑付 | 增益技不出手、不读伏击层——本轮喂的伏击若逢敌人全是施放拍,一点不兑现(读怪的奖励) |
|
||||
| 层池共享不消耗 | 同一次结算多个敌人读同一层数,不均分、不先到先得 |
|
||||
| 当轮授予当轮兑付 | 授予发生在兑付之前:本轮踩的雷,若该轮有攻击拍,当轮就生效 |
|
||||
| 当轮授予当轮兑付 | 授予发生在兑付之前:本轮踩的雷,若该轮有伤害拍,当轮就生效 |
|
||||
| 溢出可见 | 生效层数 = min(当轮新踩雷数, 上限),其余逐颗记"溢出未生效"明细 |
|
||||
|
||||
举证:**攻击拍伤害 = 基线 + 层数 × 3;重击拍伤害 = 基线 × 倍率 + 层数 × 3;蓄力拍恒为 0。**
|
||||
举证:**伤害拍伤害 = 攻击基线 × 技能倍率 + 层数 × 3;施放拍恒为 0。**
|
||||
|
||||
```
|
||||
攻击拍:伤害 = atk + 3 × L L = 当轮伏击层数(表值 3 provisional,量纲已定稿)
|
||||
重击拍:伤害 = atk × 倍率 + 3 × L
|
||||
蓄力拍:伤害 = 0 不读伏击层
|
||||
伤害拍:伤害 = atk × 倍率 + 3 × L L = 当轮伏击层数(表值 3 provisional,量纲已定稿)
|
||||
普攻拍:伤害 = atk + 3 × L 倍率恒 1 的特例
|
||||
施放拍:伤害 = 0 不读伏击层
|
||||
生效层数 L = min(当轮新踩雷数, 单轮上限) 溢出 = 雷数 − L,逐颗记明细
|
||||
```
|
||||
|
||||
验算(表值 provisional,读数见调参表):熊地精基线 9、倍率 2、4 层伏击的重击拍 = 9 × 2 + 12 = 30;若把伏击塞进倍乘会算出 (9 + 12) × 2 = 42——后置加法由此判别。
|
||||
验算(表值 provisional,读数见调参表):熊地精基线 9、重击倍率 2、4 层伏击的重击拍 = 9 × 2 + 12 = 30;若把伏击塞进倍乘会算出 (9 + 12) × 2 = 42——后置加法由此判别。
|
||||
|
||||
### 目标顺位与意图线索:打谁不用选,下一招靠看图推测
|
||||
### 目标顺位与意图线索:打谁不用选,特殊技开轮有一次类型级预告
|
||||
|
||||
敌方一侧没有选择可言:所有存活敌人各自按当前拍作用于主角,主角是敌方唯一目标。玩家与道具一侧用固定顺位:单体效果默认打生成序最前的存活敌人,它死了顺延到下一个;范围效果打全体存活敌人,同样无需选择。场上只有一个敌人时,顺位与范围自然重合,是合法退化不是错误。顺位必须对玩家可读——"下一个被打的是谁"要能推测出来。
|
||||
敌方一侧没有选择可言:所有存活敌人各自按摇定技能作用于主角,主角是敌方唯一目标。玩家与道具一侧用固定顺位:单体效果默认打生成序最前的存活敌人,它死了顺延到下一个;范围效果打全体存活敌人,同样无需选择。场上只有一个敌人时,顺位与范围自然重合,是合法退化不是错误。顺位必须对玩家可读——"下一个被打的是谁"要能推测出来。
|
||||
|
||||
意图呈现走"视觉推测":界面不直接预告敌人下一拍的行为与数值——威胁靠看图读出来,它弓起背,下一拍就是重击。即将执行的一拍在挖掘期(玩家花行动点挖格的阶段)全程亮出;精确数字只在轮末结算明细里兑现。线索映射以敌种为键、每一局恒定、禁止重掷——一旦重掷,"读怪"就退化成"猜怪"。首发敌种最长三拍环,学习成本刻意压低。
|
||||
意图呈现走"摇定动画 + 具名明细"的组合,池与权重不公开、不做技能池界面。摇定结果的信息面分三档:
|
||||
|
||||
本系统只锁下面这张数据面规格;线索映射清单与视觉规格归[HUD 框架](../表现与支撑/HUD框架.md),姿态与受击死亡演出归[战斗表现](战斗表现.md)。
|
||||
| 摇中 | 挖掘期呈现 | 结算揭示 |
|
||||
|---|---|---|
|
||||
| 普通攻击 | 零表示——完全不可预测 | 明细行"普通攻击(暴击/被压制)" |
|
||||
| 特殊技 | 技能动画占位(攻击系 / 增益系不同)——纯类型级提醒,不预告技能名与数值 | 明细行具名技能 + 数值 |
|
||||
| nat20 暴击 | 无前置表示(掷点层,与技能重击严格区分) | 明细行"(暴击)"标注 |
|
||||
|
||||
即:普攻完全不可预测;特殊技有一次类型级预告,不可撤销,但给"继续挖还是停手"的决策依据。旧环"下一拍全程亮出(意图徽标 + 环点)"的预告粒度随行为环退役。技能动画的攻/防系映射归[战斗表现](战斗表现.md),敌人卡摇定动画位归[HUD 框架](../表现与支撑/HUD框架.md),本系统只锁上面这张三档规格。
|
||||
|
||||
| 规格 | 含义 |
|
||||
|---|---|
|
||||
| 图像与行为一一对应 | 同一敌种的同一行为恒同一视觉状态(如熊地精蓄力拍 = 弓背蓄力姿态) |
|
||||
| 形态暗示强度 | 敌种长相承载强度档位与环长的直觉编码("大个子多半有重击"式) |
|
||||
| 映射每局恒定 | 以敌种为键,跨局不重掷 |
|
||||
| 数字只在明细 | 预告面是图像,数字面是结算明细 |
|
||||
| 预告时序锁定 | 呈现的是即将执行的一拍,挖掘期全程可见;结算时不另播意图动画 |
|
||||
| 池与权重不公开 | 无技能池界面、无权重数值露出;实例池的可见面 = 摇定结果本身 |
|
||||
| 类型级预告 | 特殊技只预告攻/防系类型,不预告技能名与数值 |
|
||||
| 映射每局恒定 | 动画映射以技能类型为键,跨局不重掷 |
|
||||
| 数字只在明细 | 预告面是类型级动画,数字面是结算明细(具名技能 + 数值) |
|
||||
| 预告时序锁定 | 开轮摇定即可见,挖掘期全程;轮内刷新换图不重摇 |
|
||||
|
||||
举证:本节为顺位与呈现数据面规则,无计算。
|
||||
|
||||
@@ -157,42 +199,45 @@
|
||||
|
||||
| 方向 | 系统 | 接口要点 |
|
||||
|---|---|---|
|
||||
| 上游 | [战斗结算](战斗结算.md) | 唯一编排调用方:开战生成、结算内查询/受击/推进的次序由它钉死;踩雷到伏击施加的转化(每颗雷恰一次)也由它编排 |
|
||||
| 上游 | [数据配置](../表现与支撑/数据配置.md) | 敌人表与主角表的 schema 承载与类型化读取;本系统是两表的回填责任方 |
|
||||
| 上游 | [战斗结算](战斗结算.md) | 唯一编排调用方:开战生成、开轮摇号(随机消费)、结算内兑现/受击/执行上报的次序由它钉死;踩雷到伏击施加的转化(每颗雷恰一次)也由它编排 |
|
||||
| 上游 | [数据配置](../表现与支撑/数据配置.md) | 敌人表、主角表、技能表的 schema 承载与类型化读取;本系统是三表的回填责任方 |
|
||||
| 相邻 | [增益状态](增益状态.md) | 伏击词条的量纲与作用域由本系统定稿并登记;层数容器与轮末衰减归它,层数由战斗结算读出后作参数传入——运行时零直接调用 |
|
||||
| 下游 | [战斗结算](战斗结算.md) | 胜负判定素材(敌全灭 / 主角归零)与伤害分量(基线 + 伏击)的供给方;护甲克制矩阵归它 |
|
||||
| 下游 | [战斗结算](战斗结算.md) | 胜负判定素材(敌全灭 / 主角归零)与伤害分量(基线 × 技能倍率 + 伏击附加)的供给方;护甲克制矩阵归它 |
|
||||
| 下游 | [地图战斗资源](地图战斗资源.md) | 固定顺位是道具伤害的默认目标规则;基础攻击恒在,奖励侧是基础攻击之外的规划面伤害 |
|
||||
| 下游 | [关卡节点地图](../冒险循环/关卡节点地图.md) | 遭遇构成(何时开战、坐标与数量怎么定)归它;跨战斗血量是否保留归冒险循环裁决 |
|
||||
| 下游 | [难度曲线与Boss](../冒险循环/难度曲线与Boss.md) | 两表曲线数值与遭遇分布的调参所有权归它;难度修饰施加点在行值快照之前(MVP 零修饰) |
|
||||
| 下游 | [HUD 框架](../表现与支撑/HUD框架.md) | 线索映射清单、单位顺位与血条、敌方增益层数的呈现归它(引用不转述) |
|
||||
| 下游 | [战斗表现](战斗表现.md) | 行为环视觉状态(蓄力姿态等)、受击与死亡表现的呈现归它(引用不转述) |
|
||||
| 下游 | [难度曲线与Boss](../冒险循环/难度曲线与Boss.md) | 曲线数值与池权重/冷却/保底投值的调参所有权归它;难度修饰施加点在行值快照之前(MVP 零修饰) |
|
||||
| 下游 | [HUD 框架](../表现与支撑/HUD框架.md) | 线索映射清单、单位顺位与血条、摇定动画位、敌方增益显示的呈现归它(引用不转述) |
|
||||
| 下游 | [战斗表现](战斗表现.md) | 技能动画(攻/防系映射)、受击与死亡表现的呈现归它(引用不转述) |
|
||||
|
||||
对外接口只有两组能力:查状态(血量 / 当前拍 / 顺位 / 存活)与受动作(受击 / 推进 / 消亡)。什么时候调、按什么顺序调,全归战斗结算。
|
||||
对外接口只有两组能力:查状态(血量 / 摇定动作 / 顺位 / 存活)与受动作(受击 / 摇定写入 / 执行上报 / 消亡)。什么时候调、按什么顺序调,全归战斗结算。
|
||||
|
||||
## P0 最小闭环
|
||||
|
||||
1. 战斗开始:战斗结算按遭遇坐标调本系统生成单位——读表快照实例化本战数量的敌人(指针指向环首),主角以血量入参生成。
|
||||
2. 挖掘期踩雷:事实经战斗结算转化为伏击施加——每颗雷恰一次、上限截流、溢出逐颗记账。
|
||||
3. 每轮结算:主角先手攻击顺位最前的存活敌人;每个存活敌人读当前拍兑付(攻击 / 重击附加伏击,蓄力空拍)。
|
||||
4. 受击上报、血量递减;归 0 即移出顺位、指针冻结(死亡即不动手)。
|
||||
5. 存活敌人各推进一拍(先作用后推进,环尾回环首)。
|
||||
6. 敌全灭或主角归零,回流战斗结算作胜负判定素材。
|
||||
7. 战斗结束:全部单位消亡、不跨战斗,下一场重新生成。
|
||||
1. 战斗开始:战斗结算按遭遇坐标调本系统生成单位——读表快照实例化本战数量的敌人(池模板快照成实例池、冷却全零),主角以血量入参生成。
|
||||
2. 开轮摇号:战斗结算换算层排除冷却中技能、按行序逐敌摇定本拍动作写入实例池,随后冷却递减(首轮同样摇;轮内刷新换图不重摇)。
|
||||
3. 挖掘期踩雷:事实经战斗结算转化为伏击施加——每颗雷恰一次、上限截流、溢出逐颗记账。
|
||||
4. 每轮结算:主角先手攻击顺位最前的存活敌人;每个存活敌人按摇定技能行兑付(伤害技 = 基线 × 倍率 + 伏击附加,增益技 = 施放行 + 状态授予)。
|
||||
5. 受击上报、血量递减;归 0 即移出顺位(摇定后兑现前死亡 → 本拍作废不进账)。
|
||||
6. 执行上报:已兑现的技能进冷却、保底计数更新(普攻 +1 / 特殊技归零)。
|
||||
7. 敌全灭或主角归零,回流战斗结算作胜负判定素材。
|
||||
8. 战斗结束:全部单位消亡、不跨战斗,下一场重新生成。
|
||||
|
||||
## P1 / P2 后置
|
||||
|
||||
| 优先级 | 内容 | 后置原因 |
|
||||
|---|---|---|
|
||||
| P1 | 预留行为拍(自防 / 强化 / 妨害 / 召唤)启用 | 拍枚举封闭——启用是本文修订,不是调参;排垂直切片 / Alpha |
|
||||
| P1 | 敌种名录扩容与投放节奏 | 投放节奏是关卡命脉,归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md);排垂直切片 / Alpha |
|
||||
| P1 | 情境条件触发器(低血触发防御、玩家停手时偷袭技等) | 载体 = 技能行触发条件字段加列;登记[待办清单](../../06-待办清单.md) |
|
||||
| P1 | 个体化变体池(A 型好斗 / B 型守势、精英专属池) | 共识点 A 的 A2 案;登记[待办清单](../../06-待办清单.md) |
|
||||
| P1 | 全局特殊间隔旋钮 | 特殊技背靠背实测仍嫌时的备用闸;登记[待办清单](../../06-待办清单.md) |
|
||||
| P1 | 新效应词汇批(妨害技:对主角施减益;固定值分量;多段命中每段一掷) | 技能行字段位已预留;登记[待办清单](../../06-待办清单.md) |
|
||||
| P1 | 敌种名录扩容与投放节奏(含第二关池与投放) | 投放节奏是关卡命脉,归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md) |
|
||||
| P1 | 单体寻址("只打某一个敌人"的目标指定) | 首个单体效果上线时随批裁决归集语义与呈现 |
|
||||
| P1 | 蓄力拍的音频前摇 | 读招的第二通道,垂直切片可选项 |
|
||||
| P2 | 敌人图鉴 / 列表界面 | 首发名录学习成本低,名录扩容时再议 |
|
||||
| P2 | 敌方技能图鉴 / 学习呈现(玩家侧技能知识系统) | 池不公开口径下的进阶信息面;登记[待办清单](../../06-待办清单.md) |
|
||||
| P2 | 精英 / Boss 遭遇编码位 | 现表键结构没有编码位,改键随[关卡节点地图](../冒险循环/关卡节点地图.md)定稿强制核对(见待办) |
|
||||
|
||||
## 调参表
|
||||
|
||||
配置表共两张,参数域如下;首发行值全部 provisional、曲线调参所有权归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md),已锁数值以 [registry 的 enemy 与 hero 条目](../../../registry/entities.yaml) 为准。
|
||||
配置表共三张,参数域如下;首发行值全部 provisional、曲线调参所有权归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md),已锁数值以 [registry 的 enemy / hero / skill 条目](../../../registry/entities.yaml) 为准。
|
||||
|
||||
敌人表(按关卡坐标存放,每坐标行集恰一敌种):
|
||||
|
||||
@@ -205,10 +250,19 @@
|
||||
| armor_class(护甲等级) | int [0, 999],缺省 0 | 0(首关暂定——正式行值归怪物设定批) | 防守方护甲等级——基础攻击掷点的折扣判定读数,掷点结算归[战斗结算](战斗结算.md);与 armor_type(克制属性轴)两概念不得混用 |
|
||||
| hp | [1, 999] | provisional | 单位生命基线(难度修饰前) |
|
||||
| atk | [0, 999] | provisional | 攻击基线;0 合法 = 纯伏击伤敌种 |
|
||||
| heavy_multiplier | [1, 16] | 2(provisional) | 无重击拍的敌种不消费,非校验项 |
|
||||
| pattern | 环长 [1, 8] | 三敌种见核心规则 | 校验域 = 攻击 / 蓄力 / 重击;预留值拒绝 |
|
||||
| pool(池模板) | {skill_id, weight} 数组,weight ∈ (0, 9999] | 三敌种见核心规则(全部 provisional) | 技能行引用在技能表;池构成纪律与悬空引用加载期拒绝(校验在数据配置跨表通道) |
|
||||
| advantage_per_round_cap | [0, 16] | 4(定稿) | 单轮伏击授予上限;0 = 免疫伏击;也是扫雷经济侧对账的惩罚上限供给值 |
|
||||
|
||||
技能表(全局单表,技能行主键 skill_id):
|
||||
|
||||
| 参数 | 取值域 | 现行值 | 说明 |
|
||||
|---|---|---|---|
|
||||
| type | {普通攻击, 伤害, 增益} | 五行:普攻 / 突刺 / 蓄力 / 重击 / 硬化 | 封闭枚举;新类型走本文修订 |
|
||||
| damage_mult | [1.1, 16] | 突刺 1.5 · 重击 2(provisional) | 仅伤害技;普通攻击恒 1 不可配(域校验锁死) |
|
||||
| cooldown_beats | [0, 99] | 普攻 0 · 突刺 2 · 蓄力 3 · 重击 3 · 硬化 4(provisional) | 普通攻击恒 0 不可配(域校验锁死——空池不可能的结构前提) |
|
||||
| buff_ref / buff_duration | 效果引用 / [1, 99] | 蓄力 → empower · 硬化 → fortify(持续 2 结算 = 1 个有效增益拍) | 仅增益技;悬空引用加载期拒绝 |
|
||||
| pity_threshold(保底 M) | [1, 99] | 4(provisional) | 全局单旋钮:连续 M 拍执行普攻 → 下拍必出特殊技 |
|
||||
|
||||
主角表(单行全局):
|
||||
|
||||
| 参数 | 取值域 | 现行值 | 说明 |
|
||||
@@ -217,22 +271,24 @@
|
||||
| atk | [1, 999] | 6(原型锚 provisional) | 基础攻击;配 0 加载期拒绝——基础攻击恒在 |
|
||||
| armor_class(护甲等级) | int [0, 999] | 10(暂定,2026-09-16 拍板) | 主角作为防守方的护甲等级基准,ac_up(护甲强化 +1/层 ×2 层)在其上加算;掷点结算归[战斗结算](战斗结算.md) |
|
||||
|
||||
三敌种现行行值(全部 provisional,出处 registry):地精教学位 24 生命 / 7 攻击 ×[1,2](开战掷定)、群行 13/5 ×[2,3];熊地精 40/9 ×1、群行 18/6 ×[2,3]、深层锚行 30/7;食人魔酋长 150/9 ×1。护甲等级行值首关暂定 0(正式行值归怪物设定批,登记[待办清单](../../06-待办清单.md))。
|
||||
三敌种现行行值(全部 provisional,出处 registry):地精教学位 24 生命 / 7 攻击 ×[1,2](开战掷定)、群行 13/5 ×[2,3];熊地精 40/9 ×1、群行 18/6 ×[2,3]、深层锚行 30/7;食人魔酋长 150/9 ×1。护甲等级行值首关暂定 0(正式行值归怪物设定批,登记[待办清单](../../06-待办清单.md))。池 EV 锚(静态份额口径,provisional):地精 1.05(突刺倍率 >1 必然抬 EV,+5% 偏移显式登记不硬凑)、熊地精 1.00、酋长 1.00;**含闸长期速率实测(2026-09-16 实施批,×5000 拍):地精 1.106(保底闸把突刺率从自然 10% 抬到 ~22%——唯一特殊技低权重的池受保底支配)、熊地精 1.000(普攻+重击与蓄力零乘加权守恒,结构性恒 1)、酋长 1.024**——EV 重锚与权重投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)。
|
||||
|
||||
结构冻结(非调参项,修订走本文流程):行为拍枚举封闭、死亡即不动手、先作用后推进、伏击层池共享读法、附加后置加法、伏击按主角血量点计量纲、固定顺位、每坐标恰一敌种、零随机(口径修订 2026-09-15:本系统自身语义零随机不变——行为环与顺位由结算次数唯一决定;随机消费一律在[战斗结算](战斗结算.md)结算换算层按封闭随机流掷定,可回放契约 = 同种子同输入逐位复现)。联动纪律:单轮上限 × 攻击基线(支配边界联动)、数量 × 上限(单结算上界双线性)、倍率 × 攻击(重击拍支配)禁止独立调参,联调须重跑方向性预检并同步 registry(见待办)。
|
||||
结构冻结(非调参项,修订走本文流程):技能类型枚举封闭、每池恰一普攻、每池增益 ≤1、死亡即不动手(摇定后兑现前死亡作废不进账)、每结算每存活敌恰行动一次、行序、先作用后推进、伏击层池共享读法、附加后置加法、伏击按主角血量点计量纲、固定顺位、每坐标恰一敌种、零随机(本系统自身语义零随机不变——摇号与掷点随机一律在[战斗结算](战斗结算.md)结算换算层按封闭随机流掷定,可回放契约 = 同种子同输入逐位复现,单敌出招轨迹可独立复放)。联动纪律:单轮上限 × 攻击基线(支配边界联动)、数量 × 上限(单结算上界双线性)、技能倍率 × 攻击(伤害拍支配)、权重 × 冷却 × 保底(池节奏三联动)禁止独立调参,联调须重跑方向性预检并同步 registry(见待办)。
|
||||
|
||||
## 验收标准
|
||||
|
||||
- 开战生成:按遭遇坐标精确匹配一行,实例化数量与数值投影同行值快照;主角以血量入参,越界(高于上限或不超过 0)拒绝且不留半实例。
|
||||
- 行为环确定性:初拍恒为环首;任意推进序列后当前拍 = 环[步数 mod 环长];环长 1 恒同一拍;同种多敌全程同拍;除战斗结束清场外无任何重置入口。
|
||||
- 死亡即不动手:轮到前被杀——本拍不出手、指针冻结;行动完成后才死——已出招已推进;对已死亡单位上报受击被拒绝且状态不变。
|
||||
- 伏击读值:攻击拍读值 = 基线 + 层数 × 3;重击拍 = 基线 × 倍率 + 层数 × 3(与"伏击进倍乘"的错算可判别);蓄力拍恒为 0;同层数多敌读值一致、读值前后单位状态零变化。
|
||||
- 开战生成:按遭遇坐标精确匹配一行,实例化数量与数值投影同行值快照;池模板快照成实例池且冷却全零;主角以血量入参,越界(高于上限或不超过 0)拒绝且不留半实例。
|
||||
- 摇号确定性:同种子回放逐位复现(步骤流与各实例摇定动作序列逐位相同);单敌轨迹独立复放——只喂该敌子流(scope = 生成序 × 派生向量 + 摇号序)即可逐位重建其出招序列、互不穿插。
|
||||
- 池节奏:中签率 = 权重 ÷ 可摇权重合计(排除冷却中技能后归一);施放后连续 N 拍不可摇中;连续 M 拍执行普攻 → 下拍必出特殊技(特殊技内按权重、不受冷却限制);同技能连发不可能;首轮摇号、每轮恰摇一次、轮内刷新不重摇。
|
||||
- 死亡即不动手:摇定后、兑现前被杀——本拍技能作废(零行动明细行),不进冷却、不进保底计数;行动完成后才死——已兑付已进账;对已死亡单位上报受击被拒绝且状态不变。
|
||||
- 空池不可能:每池恰一行普通攻击(域校验),普攻冷却恒 0 → 任意实例任意拍可摇集合恒非空。
|
||||
- 伏击读值:伤害拍读值 = 基线 × 倍率 + 层数 × 3(与"伏击进倍乘"的错算可判别);普攻 = 倍率 1 特例;施放拍恒为 0;同层数多敌读值一致、读值前后单位状态零变化。
|
||||
- 伏击授予与溢出:生效层数 = min(雷数, 上限),且生效 + 溢出 = 雷数(零静默蒸发);上限 4 时踩 6 颗雷生效 4、溢出 2;上限配 0 时全部记溢出且全部无效。
|
||||
- 目标顺位:多敌时单体目标恒为生成序最前存活者,杀最前后顺延;杀至空返回空;单敌时顺位与范围效果重合。
|
||||
- 快照抗改表:实例化后修改敌人表,已生成单位的数值投影与行为环逐字不变;新实例才用新表值。
|
||||
- 表校验:越域值、预留拍、同坐标第二敌种均在加载期报错止动;域内合法极端(攻击基线 0、上限 0)不拒;主角表恰一行、攻击配 0 拒绝。
|
||||
- 零随机回放:同一动作与受击序列驱动两个独立实例,存活投影、逐单位拍轨迹、顺位返回序列逐项相同。
|
||||
- 表实一致:两张配置表字段与 registry 的 enemy / hero 条目逐字段一致。
|
||||
- 快照抗改表:实例化后修改敌人表,已生成单位的数值投影与实例池逐字不变;新实例才用新表值。
|
||||
- 表校验:越域值、池权重 ≤ 0、空池、普攻配倍率/冷却、池增益 > 1、skill_id 悬空、同坐标第二敌种均在加载期报错止动;域内合法极端(攻击基线 0、上限 0)不拒;主角表恰一行、攻击配 0 拒绝。
|
||||
- 零随机回放:同一动作与受击序列驱动两个独立实例,存活投影、逐实例摇定轨迹、顺位返回序列逐项相同。
|
||||
- 表实一致:三张配置表字段与 registry 的 enemy / hero / skill 条目逐字段一致。
|
||||
|
||||
## 待办
|
||||
|
||||
@@ -246,3 +302,4 @@
|
||||
| v0.2 | 2026-09-15 | 教学位掷骰口径自洽(随[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)同批修订):unit_count 字段说明、地精敌种定位与现行行值句中"教学位固定 1 只/固定不掷"改为 ×[1,2] 开战掷定 |
|
||||
| v0.3 | 2026-09-15 | **护甲等级批(用户拍板登记,与战斗结算 / 难度曲线与Boss / registry 同批,不动代码)**:敌人表与主角表 schema 各增 armor_class(护甲等级)字段(取值域随掷点形式定稿,provisional);三敌种表补护甲等级列(行值未定);护甲等级(数值轴)与护甲类型(克制属性轴)命名区分成文;结构冻结清单"零随机"措辞按新口径修订——本系统自身语义零随机不变,掷点随机在战斗结算换算层按封闭随机流消费、可回放契约 = 同种子同输入逐位复现;待拍板新增"护甲等级行值未定"条目 |
|
||||
| v0.4 | 2026-09-16 | **护甲等级掷点批·定稿落地(与战斗结算 / 难度曲线与Boss / registry / 切片代码同批)**:armor_class 域定稿 [0, 999](缺省 0 向后兼容);主角行值 10(暂定)、三敌种首关行值 0(暂定)——"行值未定"改"暂定值 + 待办",敌方正式行值归怪物设定批(第一关怪物 AC 相对较低,值待怪物设定投值,登记待办清单);敌种表护甲等级列同步落值;调参表两行改域与现行值 |
|
||||
| v0.5 | 2026-09-16 | **敌人技能池批(用户拍板,设计权威 docs/proposal-skill-pool.md v1.0;与战斗结算 / 增益状态 / 难度曲线与Boss / 战斗表现 / HUD框架 / registry / 切片代码同批)**:行为环章节整体退役——固定出招剧本、拍枚举(攻击/蓄力/重击)、环指针、同种锁步、heavy_multiplier 字段全部废除;技能池语义成文(三层对象〔技能行/池模板/实例池〕、技能行词汇表、池构成纪律、两道闸〔全技能各自冷却 + 保底〕、开轮摇号时序、死亡作废、独立子流);蓄力语义改写(纯攻击增益技、与重击无组合语义——纠偏二;施放行继承零兑付伏击);Boss 专属身份改专属池承载;意图呈现改三档可见性(普攻零表示 / 特殊技类型级预告 / 暴击掷点层);敌人表 schema pattern → pool;调参表增技能表与池 EV 锚(含闸长期速率实测登记);验收标准按摇号口径重写 |
|
||||
@@ -154,7 +154,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
|
||||
| 上游 | [排雷玩法](../排雷循环/排雷玩法.md) | 棋盘只读投影(格态、数字、旗、小人)与移动路径查询;玩家意图批次经组合根提交 |
|
||||
| 上游 | [行动经济](../排雷循环/行动经济.md) | 行动点 / 储备 / 相位只读值;刷新入口可用性预判加返回值兜底 |
|
||||
| 上游 | [战斗结算](../战斗循环/战斗结算.md) | 明细流水是结算明细带的统一数据源(现行 10 类行封闭协议);段序编排信号经组合根接线 |
|
||||
| 上游 | [敌人系统](../战斗循环/敌人系统.md) | 英雄与敌人的只读投影(血量、顺位、当前拍、存活) |
|
||||
| 上游 | [敌人系统](../战斗循环/敌人系统.md) | 英雄与敌人的只读投影(血量、顺位、摇定动作〔pending_skill/type/name〕、敌方增益 effects、存活——经战斗结算呈现快照;敌人技能池批批 2 定稿:当前拍/行动环进度字段拆除,池与权重不公开) |
|
||||
| 上游 | [增益状态](../战斗循环/增益状态.md) | 状态投影经战斗结算呈现面取得,零直读 |
|
||||
| 上游 | [地图战斗资源](../战斗循环/地图战斗资源.md) | 已开格奖励身份投影(`query_identity` 只读回调,组合根注入)零直读 |
|
||||
| 上游 | [关卡节点地图](../冒险循环/关卡节点地图.md) | 节点链、当前节点、跨战斗生命携带的读数;胜利后推进 |
|
||||
@@ -227,7 +227,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
|
||||
- 结算逐行实时滚出且每行带来源标注;未生效类行聚合计数并带形状冗余;零值行不被吞;效果行的单次贡献与池合成值分示、禁相加误读。
|
||||
- 高光三档:标中旗行金框、清图奖励行金框、完美排雷全屏喝彩级——庆祝不打在空兑现上(首份即零兑付则不发高光)。
|
||||
- 状态槽显示图标加层数加剩余结算次数,悬停见来源;极性按键级表呈现(金满框 / 红缺框),空态整排隐藏、数据框上移补位;战斗结束全清有微文案。
|
||||
- 敌人卡:意图徽标是下一拍预告且挖掘期全程可见、映射跨局恒定、顺位可读、血量数字可读、敌方共享层数各卡同值;死亡灰化加碎裂退场(禁止瞬间消失)且就地更新不丢灰化态。
|
||||
- 敌人卡:意图徽标 = 本拍摇定结果的动画占位(敌人技能池批三档可见性——普通攻击零表示、特殊技类型级提示〔攻/防系两型〕,不预告技能名与数值、池与权重不公开)且挖掘期全程可见、映射跨局恒定、顺位可读、血量数字可读、敌方共享层数各卡同值;死亡灰化加碎裂退场(禁止瞬间消失)且就地更新不丢灰化态。
|
||||
- 终局:胜利金蜡封、失败暮蓝氛围层(明度不变);储备清零与状态全清两反馈不合并、时序不倒挂(关卡末清库反馈义务载体 = 魔法道具背包,随魔法道具 P0 落地补验收)。
|
||||
- 任一模态层打开时遮挡物隐藏或输入锁定、关闭逐层恢复;tooltip 与明细行等动态区固定槽高、换行裁剪不推挤布局。
|
||||
- 终局呈现只消费流水与快照:核心对象销毁后呈现层对生命周期状态零回读;终局后重放渲染与实时渲染一致。
|
||||
@@ -245,4 +245,5 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
|
||||
|---|---|---|
|
||||
| v0.1 | 2026-09-15 | 自归档 GDD 压缩改写 |
|
||||
| v0.2 | 2026-09-15 | 雾格残留清理:关闭「待拍板」五条雾失义登记(雾图例条目、雾首遇一次性提示、四格态中的两个雾态、雾纹带与已开雾格 tint 残留、雾区全开合并域完成信号)。现行口径 = 格态两态一眼可辨(已开 / 未开)、图例面板只载现行格态与变异语义;通用变异框架的纹带形状通道保留为未来变异类型的呈现位 |
|
||||
| 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 落地。魔法道具预留义务行与「待拍板」登记保持 |
|
||||
@@ -60,7 +60,8 @@
|
||||
| 行动经济表 `ActionEconomyTable` | 每轮行动点、动作价目、停手与刷新门槛 | [行动经济](../排雷循环/行动经济.md) |
|
||||
| 棋盘生成参数表 `BoardGenTable` | 板尺寸、雷密度、可推理率目标等(进度键表) | [棋盘生成](../排雷循环/棋盘生成.md) |
|
||||
| 变异表 `VariationTable` | 变异类型清单(现行空清单,合法态) | [地形变异](../排雷循环/地形变异.md) |
|
||||
| 敌人表 `EnemyTable` | 敌种基线数值、遭遇数量区间、护甲类型、行为环(进度键表) | [敌人系统](../战斗循环/敌人系统.md) |
|
||||
| 敌人表 `EnemyTable` | 敌种基线数值、遭遇数量区间、护甲类型、技能池模板(进度键表) | [敌人系统](../战斗循环/敌人系统.md) |
|
||||
| 技能表 `SkillTable` | 技能行定义(类型/倍率/冷却/增益引用)与保底阈值 | [敌人系统](../战斗循环/敌人系统.md) |
|
||||
| 主角表 `HeroTable` | 主角生命上限与基础攻击 | [敌人系统](../战斗循环/敌人系统.md) |
|
||||
| 状态效果表 `StatusEffectTable` | 增益/减益效果定义行 | [增益状态](../战斗循环/增益状态.md) |
|
||||
| 奖励表 `RewardTable` | 奖励条目、类别、权重与档位 | [地图战斗资源](../战斗循环/地图战斗资源.md) |
|
||||
|
||||
Reference in new issue
Block a user