Files
bl/docs/effect-unimplemented-tasks/task-048-effects-851-855.md
xinian 03a28c968b
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
feat: 实现失明状态并新增技能效果描述
2026-03-29 01:17:18 +08:00

2.7 KiB
Raw Blame History

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 实际通过其他模块或运行时路径实现,需要先复核后再落代码。
  • 201445 这类占位 effect优先补核心逻辑或补充明确的不可实现说明。

实现记录

  • 已实现:851852853854855
  • 主要实现文件:/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 ./...