From cd5f4d5892e03dc9f23af9cd2b91bfa7ea41c85d Mon Sep 17 00:00:00 2001 From: Joywayer Date: Fri, 24 Jul 2026 12:12:32 +0800 Subject: [PATCH] =?UTF-8?q?docs(roadmap):=20E1-=E2=91=A0=20=E5=85=83?= =?UTF-8?q?=E7=B4=A0=E6=8A=97=E6=80=A7=E5=AE=8C=E6=88=90=EF=BC=8C=E5=8B=BE?= =?UTF-8?q?=E9=99=A4=E7=8E=B0=E7=8A=B6=E9=A1=B9=EF=BC=88=E5=90=AB=20DOT=20?= =?UTF-8?q?=E6=8A=97=E6=80=A7=E5=B7=B2=E7=9F=A5=E9=99=90=E5=88=B6=E2=86=92?= =?UTF-8?q?E2=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- docs_dev/plans/2026-07-23-missing-features-roadmap.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs_dev/plans/2026-07-23-missing-features-roadmap.md b/docs_dev/plans/2026-07-23-missing-features-roadmap.md index 68d28d3..88d8e26 100644 --- a/docs_dev/plans/2026-07-23-missing-features-roadmap.md +++ b/docs_dev/plans/2026-07-23-missing-features-roadmap.md @@ -40,7 +40,7 @@ E6-a 玩家无敌帧(i-frames) ← 先行小项:Boss 弹幕公平性前置, **目标**:让子弹的 pierce 以外的深度维度真正生效,使元素、抗性、轨迹类词条与核心特性产生行为差异。 **现状(代码复核 2026-07-23)**: -- 元素抗性:`damage_context.gd:26` `calc_damage(armor, resistance)` 公式含 `(1−resistance)`,但 `enemy_manager.apply_damage_from_context` 调 `ctx.calc_damage()` 不传参 → resistance 恒 0;`player_stats.gd:23 resistance` 亦为占位。抗性维度是**死代码**。 +- ~~元素抗性~~ ✅ **完成**(2026-07-24,`feat/element-resistance`):`apply_damage_from_context` 按 `ctx.damage_type` 查 `_RESIST` 表传入 `calc_damage(0, res)`;`enemies.json` 每型可选 `resistances{元素名:-0.9~0.9}`(支持负=弱点加伤);设计器敌人页加 6×5 抗性网格。MCP 实测:抗火0.5→半伤、弱冰-0.5→1.5×、抗性+护甲叠加45。⚠️ **已知限制**:DOT 伤害(`status_manager.gd:116` 直调 `apply_damage`)暂不享元素抗性(架构上 DOT 不走 context,见 E2)。(`player_stats.gd:23 resistance` 玩家侧抗性仍占位。) - 连锁/弹跳:`bullet_manager.gd` 仅消费 `pierce_remaining`(:98-101),**无** `bounce_remaining` 消费、无 `visited_targets`、无 `pow(0.9,bounce)` 衰减。 - 归航:`bullet_manager.gd:21` 每帧建 `_enemy_pos_snapshot`(预分配满足 P6-N25)但 `_gd_integrate` 无 homing 转向计算,**快照无人消费**。 - 轨迹修正(加速/曲线):`_data +11 acceleration` 已积分,但无"转向/曲线"类修饰器写入。 @@ -50,7 +50,7 @@ E6-a 玩家无敌帧(i-frames) ← 先行小项:Boss 弹幕公平性前置, **依赖**:无硬依赖;元素 tag 体系已在(`SpellNode.element_tags`)。敌人需有 per-type/per-status 抗性数据源(新增 `enemies.json` 抗性字段或状态减抗)。 **切分(建议 4 个子计划)**: -1. **元素抗性 (1-Res)**:enemies.json 增 `resistances:{element:0..1}`;EnemyManager 命中时按子弹 `damage_type`/element 查抗性,传入 `calc_damage(armor, res)`;设计器敌人页加抗性栏。S。 +1. ~~**元素抗性 (1-Res)**~~ ✅ **完成**(2026-07-24,`feat/element-resistance`;spec/plan `docs_dev/{specs,plans}/2026-07-24-element-resistance*`):enemies.json `resistances{元素名:-0.9~0.9}`;EnemyManager `_RESIST` 查表传入 `calc_damage(0,res)`;设计器 6×5 抗性网格。 2. **连锁/弹跳 chain/bounce**:子弹冷数据加 `bounce_remaining` + `visited_targets`;命中后若 bounce>0 且有未命中目标 → 重定向速度朝最近未访问敌人,衰减 `×0.9`;到 0 回收。修饰器 `modifier_bounce`。S~M。 3. **归航 homing**:子弹冷数据 `homing_strength`;`_gd_integrate` 消费 `_enemy_pos_snapshot` 求最近敌人,按 strength 插值转向速度向量。修饰器 `modifier_homing`。S。 4. **轨迹修正**:曲线/环绕类(angular velocity 字段)+ 对应修饰器。S(可选,最低价值,YAGNI 可延后)。