fix: 修正 effect 642-646 实现逻辑
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed

This commit is contained in:
xinian
2026-03-29 21:44:27 +08:00
committed by cnb
parent 0580cb0fef
commit a7171e9ef4
4 changed files with 193 additions and 38 deletions

View File

@@ -296,3 +296,28 @@ JSON 中存在但代码未注册(示例前 60 项):
### 9.5 本轮验证
- `cd /workspace/logic && go test ./service/fight/effect`
- `cd /workspace/logic && go build ./...`
---
## 10. 2026-03-29 增量记录
### 10.1 本轮补齐的 effect
- `642` `{0}回合内若对手攻击技能命中则己方在场精灵{1}%做出{2}`
- `643` `{0}%概率使对手{1}回合内{2}能力每回合变化{3}`
- `644` 当回合未击败对手则减少对手当前体力`1/{0}`
- `645` 体力低于`1/{0}`时威力`{1}`
- `646` 体力高于对手时此技能命中后 100% 使对手能力下降
### 10.2 实现口径
- `642` `moves.json` `1000642` 的说明实现反击档位映射`0-5` 分别对应 `50/100/150/200/250/300` 点固定伤害挂在 defender `Skill_Use_ex()`仅对命中的攻击技能生效
- `643` 按真实技能实参 `55 2 1 -1` 这类布局处理为命中后按概率给对手挂回合子效果子效果在 `TurnEnd()` 对指定能力执行一次 `SetProp`
- `644` 复用 `579` 未击败对手判定时机落在 `Action_end()`按对手当前体力结算 `1/n` 的百分比伤害
- `645` 复用 `37` 的低血线威力倍率模式 `SkillHit()` 中按当前体力是否低于最大体力 `1/n` 改写技能威力
- `646` 未按任务文档里的占位 `param` 硬编码改按实际技能配置的 6 段能力变化参数通用处理仅在自身体力高于对手且本次技能命中后生效
### 10.3 本轮新增文件
- `logic/service/fight/effect/642_646.go`
### 10.4 本轮同步更新
- `logic/service/fight/effect/effect_info_map.go`
- `docs/effect-unimplemented-tasks/task-009-effects-642-646.md` 已完成可从任务目录移除