# Combat ## 职责 战斗模块负责攻击、命中、受击、伤害、击退和状态互斥。当前只做了最小预留,还未进入正式玩法实现。 主要源码: - `game/src/combat/hitbox.h` - `game/src/actor/player_actor.*` ## 当前状态 已有: - 玩家攻击输入。 - punch 动画状态。 - 攻击音效 cue。 - `hitbox.h` 预留。 未完成: - 攻击 hitbox。 - hurtbox。 - 命中检测。 - 伤害数值。 - 受击硬直。 - 击退。 - 血量。 - 怪物受击和死亡。 ## 后续拆分建议 优先保持轻量,不急着做复杂战斗框架: - `HitboxComponent`:攻击框、受击框。 - `CombatStats`:血量、伤害、防御等固定数值。 - `CombatResolver`:命中判定和伤害结算。 - `HitReaction`:硬直、击退、受伤状态。 ## 接入顺序 1. 从玩家 punch 状态产生一帧或多帧 hitbox。 2. DebugOverlay 显示 hitbox/hurtbox。 3. 新增一个最小 `EnemyActor`。 4. 完成玩家攻击命中敌人的闭环。 5. 再接 battle zone 清场。