# 敌人总览 | 项 | 值 | |------|------| | 文档类型 | 敌人(总览) | | 版本 | v1.0 | | 更新日期 | 2026-07-21 | | 状态 | 进行中 | | 负责模块 | `BaseGames.Enemies.AI` / `ENM_` 资产 | | 关联文档 | [游戏总览](../00_总览/游戏总览.md) · [Boss总览](Boss/Boss总览.md) | --- ## 分类体系 | 类别 | 说明 | 文档位置 | |------|------|----------| | 小怪 | 普通杂兵,单一或少量行为 | [小怪/](小怪/) | | 精英怪 | 强化杂兵,多技能、更高数值 | [小怪/](小怪/)(编号并入小怪序列,类别标「精英怪」) | | 小 BOSS | 区域内的强敌,有出场演出、多技能、多段死亡 | [小怪/](小怪/)(类别标「小BOSS」) | | BOSS | 主线龙子 Boss,多阶段、专属机制 | [Boss/](Boss/) | > 精英怪、小 BOSS 与小怪共用一套 `E0NN` 编号序列与文档模板,仅在「类别」字段区分;主线龙子 BOSS 单列于 `Boss/` 目录。 --- ## 编号规则 - 小怪 / 精英 / 小 BOSS:`E0NN_拼音`(如 `E001_CaoZhi`),文档名 `E0NN_中文名.md`。 - 编号一经分配不复用、不回填空缺。 - 与 `AssetFolderSpec.md` 的 `ENM_` 资产前缀对应。 ### 现有小怪序列 | 编号 | 名称 | 类别 | 文档 | |------|------|------|------| | E001 | 草蛭 | 小怪 | [E001_草蛭](小怪/E001_草蛭.md) | | E002 | 簧蛭 | 小怪(陷阱型) | [E002_簧蛭](小怪/E002_簧蛭.md) | | E003 | 幼蛭 | 小怪(一击即死) | [E003_幼蛭](小怪/E003_幼蛭.md) | | E004 | 蛭母 | 小 BOSS | [E004_蛭母](小怪/E004_蛭母.md) | | E005 | 肥蛭 | 精英怪 | [E005_肥蛭](小怪/E005_肥蛭.md) | | E006 | 讙 | 小怪 | [E006_讙](小怪/E006_讙.md) | --- ## 通用开发规范 1. **状态机实现**:使用 `BaseGames` 框架中现有的状态机组件(参考 `BaseGames.Enemies.AI`)。 2. **伤害判定**:所有技能攻击碰撞盒统一通过 `HitboxComponent` 管理,开关由动画事件(`AnimationEvent`)驱动。 3. **AI 参数配置**:感知范围、速度、技能 CD、伤害值均放入对应 `EnemyData ScriptableObject`,禁止硬编码。 4. **死亡流程**:HP ≤ 0 后禁用 AI 与移动,播放 Death 动画,动画结束后由对象池回收(或销毁)。 5. **特效时机**:粒子特效(溅液、酸液落点等)统一通过 `AnimationEvent` 调用 `VFXManager.Play(key)`。 6. **受击处理**:本批小怪均**无专用受击动画**。受击反馈统一使用: - 程序层:短暂无敌帧 + 闪烁(Hit Flash) - 音效层:通用受击音效(AudioManager 播放) - 不打断当前动画;如需特定怪专用受击动作,请策划单独补充。 7. **AI 状态命名 vs 动画 Clip 命名**:部分敌人的 AI 逻辑状态标识符与 Animator Clip 名称不同(如 E001 草蛭的 `Idle_Disguise` 状态对应 Clip 名 `Idle`)。各角色文档「状态机」表格分列「AI 状态标识符」和「动画 Clip 名」两列,以该表格为准实现。 --- ## 修订记录 | 版本 | 日期 | 修改内容 | 修改人 | |------|------|----------|--------| | 1.0 | 2026-07-21 | 从原《小怪设计-程序开发文档-01》通用规范章节抽出,新增分类体系与编号规则 | — |