- 新增 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>
135 lines
4.7 KiB
Markdown
135 lines
4.7 KiB
Markdown
# 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 | 由程序开发文档与动作需求表合并为综合文档 | — |
|