# Task 048: Effects 851-855 ## 目标 - 补齐以下 5 个(或最后一组不足 5 个)当前判定未实现的 skill effect。 - 实现位置优先放在 `logic/service/fight/effect/`。 - 如 effect 需要展示说明,同步更新 `logic/service/fight/effect/effect_info_map.go`。 - 完成后至少执行:`cd /workspace/logic && go test ./service/fight/effect`。 ## Effect 列表 ### Effect 851 - `argsNum`: `1` - `info`: `使对手随机进入害怕、失明、烧伤、冻伤、中毒其中{0}种异常状态` ### Effect 852 - `argsNum`: `2` - `info`: `附加自身最大体力{0}%的百分比伤害并恢复等量体力,恢复体力时若自身体力低于最大体力的1/{1}则恢复效果和百分比伤害翻倍` ### Effect 853 - `argsNum`: `3` - `info`: `附加自身最大体力值与速度值总和{0}%的百分比伤害,每次使用增加{1}%,最高{2}%` ### Effect 854 - `argsNum`: `1` - `info`: `令对手下1次使用的威力高于{0}的攻击技能无效` ### Effect 855 - `argsNum`: `1` - `info`: `将下次受到的伤害{0}%反馈给对手 ` ## 备注 - 该清单按当前仓库静态注册结果生成;如果某个 effect 实际通过其他模块或运行时路径实现,需要先复核后再落代码。 - 对 `201`、`445` 这类占位 effect,优先补核心逻辑或补充明确的不可实现说明。 ## 实现记录 - 已实现:`851`、`852`、`853`、`854`、`855` - 主要实现文件:`/workspace/logic/service/fight/effect/851_855.go` - 说明映射已更新:`/workspace/logic/service/fight/effect/effect_info_map.go` - 为支持 `851` 的“失明”状态,补充了状态枚举与最小战斗逻辑: - `logic/service/fight/info/info.go` - `logic/service/fight/effect/effect_status.go` ## 实现说明 - `851`:按文案从 `害怕/失明/烧伤/冻伤/中毒` 中不重复随机附加 `{0}` 种状态。 - `852`:在 `Skill_Use` 节点追加基于自身最大体力的百分比伤害并等量回血;若当前体力低于最大体力的 `1/{1}`,则伤害与回血翻倍。 - `853`:复用连续使用增幅基类,按“自身最大体力值 + 当前速度实际值”计算百分比附伤。 - `854`:命中后给对手挂一次性子效果;当对手下次使用威力高于阈值的攻击技能时,直接令该技能 `MISS`。 - `855`:命中后给自身挂一次性子效果;下次受到伤害时,按最终伤害值的 `{0}%` 反馈给对手。 - `失明`:仓库原先仅保留预留注释、未有实际状态枚举与行为;本次按现有配置编号 `20` 补齐,并实现为出手前将技能命中率降为 `50%` 的最小可靠版本。 ## 验证 - `cd /workspace/logic && go test ./service/fight/effect` - `cd /workspace/logic && go build ./...`