Files
zeling_v2/Docs/Game/敌人/小怪/E005_肥蛭.md
T
joywayerandClaude Opus 4.8 b4379db5de docs(game): 建立游戏设计文档规范并迁移重写 Docs/Game 设计文档
- 新增 Docs/Standards/GameDesignDocSpec.md:目录结构/通用文档头/六类分节/命名编号/交叉引用/禁参考游戏字样
- Docs/Game 按类别重组:总览/主角/敌人(小怪+Boss)/NPC/系统/剧情 + _Templates 模板
- 小怪 E001-E006、嘲风:程序文档+动作需求表合并为单份综合文档
- 其余 7 Boss 迁移设计层内容,程序/动画/数值节标注待补充
- 主角能力设定清除全部外部游戏参考字样并修正 OCR 乱码
- 删除 参考/ 原始文档(已忠实重写,原件保留于 git 历史)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 15:42:33 +08:00

135 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# E005 肥蛭
| 项 | 值 |
|------|------|
| 文档类型 | 精英怪 |
| 版本 | v1.0 |
| 更新日期 | 2026-07-21 |
| 状态 | 进行中 |
| 负责模块 | `BaseGames.Enemies.AI` / `ENM_` 资产 |
| 关联文档 | [敌人总览](../敌人总览.md) · [E003_幼蛭](E003_幼蛭.md) |
---
## 概述
| 字段 | 内容 |
|------|------|
| 编号 | E005_FeiZhi |
| 类别 | 精英怪 |
| 行动方式 | 地面移动(移动缓慢,体型大) |
| 核心机制 | 死亡时在原位生成若干 E003 幼蛭;具备近程撕咬和远程酸液两种技能 |
| 形象设定 | 体型肥硕的蛭妖,死亡后尸体会爆出若干幼蛭 |
---
## 状态机
```
[Idle] ──AI决策──┬──▶ [Move] ──到达位置──▶ [Idle]
├──▶ [Skill01_Bite](撕咬)──▶ [Idle]
└──▶ [Skill02_Acid](酸液)──▶ [Idle]
[任意战斗状态] ──HP归零──▶ [Death_Pre] ──播放完毕──▶ [Death](生成幼蛭 + 爆体)
```
| AI 状态标识符 | 动画 Clip 名 | 类型 | 说明 |
|--------------|-------------|------|------|
| Idle | Idle | 循环 | 呼吸待机 |
| Move | Move | 循环 | 肥硕扭动,移动速度较低 |
| Skill01_Bite | Skill01 | 单次 | 近程前伸啃咬;攻击结束后有趴地硬直,再起身回 Idle |
| Skill02_Acid | Skill02 | 单次 | 连续两次吐出酸液团(逻辑上循环两次单次动画,或直接做循环动画) |
| Death_Pre | Death_Pre | 循环 | HP 归零后触发,肚子膨胀蠕动,表现有东西即将钻出 |
| Death | Death | 单次 | 肚子爆开,溅出酸液,同时 Spawn 幼蛭 |
---
## AI 行为
```
战斗循环:
检测玩家距离
├── 远距离 → Skill02(酸液远程攻击)或 Move 靠近;CD[skill02CD] 秒
└── 近距离 → Skill01(撕咬);CD[skill01CD] 秒
死亡触发(特殊):
HP ≤ 0 → Death_Pre → Death
Death 动画关键帧事件(AnimationEvent)触发:
SpawnEnemies(E003_YouZhi, count=策划配置, position=自身位置)
```
---
## 技能规格
### Skill01 — 撕咬
| 字段 | 值 |
|------|------|
| 攻击范围 | 头部前方碰撞盒 |
| 伤害帧 | 最前伸位置单帧判定 |
| 后摇 | 趴地硬直后自动起身(硬直时长可配置,期间可受击,逻辑同 E004 Skill02_End |
### Skill02 — 酸液喷吐
| 字段 | 值 |
|------|------|
| 弹数 | 2 次(每次一团) |
| 弹道 | 抛物线,落点为玩家方向前方(建议有随机偏移) |
| 落地效果 | 酸液溅射粒子(策划决定是否留持续伤害区) |
### 死亡生成幼蛭
| 字段 | 值 |
|------|------|
| 触发时机 | Death 动画指定帧(AnimationEvent |
| 生成数量 | 可配置(建议 2–4 只) |
| 生成位置 | 自身位置 ± 随机小偏移 |
---
## 动画需求
| 动作类别 | 命名 | 动画类型 | 描述 | 帧数 | 图片参考 |
|----------|------|----------|------|------|----------|
| 待机 | Idle | 循环 | 静止时的呼吸待机 | — | — |
| 移动 | Move | 循环 | 扭动肥硕的身躯移动,表现行动艰难 | — | — |
| 撕咬(Skill01 | Skill01 | 单次 | 蓄力后前伸啃咬目标,因身躯肥大有较大趴地僵直,之后起身回待机 | — | — |
| 酸液(Skill02 | Skill02 | 单次 | 连续两次吐出一团酸液成抛物线攻击(只需画单次动作) | — | — |
| 死亡前挣扎 | Death_Pre | 循环 | 死亡时挣扎僵直,肚子里即将有东西钻出的感觉 | — | — |
| 死亡 | Death | 单次 | 肚子爆开、酸液溅出,同时掉落若干幼蛭(由程序实现) | — | — |
---
## 数值参数表
| 参数名 | 说明 | 参考值 |
|--------|------|--------|
| `maxHP` | 最大生命值 | — |
| `moveSpeed` | 移动速度 | — |
| `detectRange` | 感知距离 | — |
| `skill01Damage` | 撕咬伤害 | — |
| `skill01CD` | 撕咬冷却(秒) | — |
| `skill01StaggerDuration` | 撕咬后趴地硬直时长(秒) | — |
| `skill02Count` | 酸液弹数(2 次) | 2 |
| `skill02Damage` | 每次酸液伤害 | — |
| `skill02CD` | 酸液冷却(秒) | — |
| `spawnCount` | 死亡时生成幼蛭数量 | — |
---
## 技术备注
- Skill01 后摇(趴地)阶段建议关闭攻击碰撞盒、开放受击碰撞盒。
- Death_Pre 到 Death 必须完整播放,不可被打断(无敌帧)。
- 幼蛭生成逻辑建议用 AnimationEvent 调用,避免时序问题。
- ⚠️ **待策划确认**:肥蛭是否有专用 Flip(转身)动画?需求表未标注,程序暂按"无 Flip,使用 Sprite 直接翻转"处理。
---
## 修订记录
| 版本 | 日期 | 修改内容 | 修改人 |
|------|------|----------|--------|
| 1.0 | 2026-07-21 | 由程序开发文档与动作需求表合并为综合文档 | — |