文件概述

CreatureType.dbc 定义了魔兽世界中的生物类型分类。每个生物在 creature_template 中都有一个 unit_class(CreatureType)字段,决定它属于哪种类型。生物类型影响许多游戏机制,包括:控制类法术的生效条件、猎人可驯服对象、特定技能的伤害加成等。根据 CHM 中文详解,该文件结构简洁:第1列为编号,第2-17列为各国语言的名称,第18列为标识(一般都为 16712190),第19列为无经验标识。

列结构

列号字段名类型描述
1IDint编号(CHM:编号)。类型唯一标识符。1=野兽 2=龙类 3=恶魔 4=元素 5=巨人 6=亡灵 7=人形 8=小动物 9=机械 10=未指定 11=图腾 12=非战斗宠物 13=气体云雾
2-17Name_Lang_*varchar(100)名称(CHM:名称,共16列)。16种语言的生物类型名称(enUS, enGB, koKR, frFR, deDE, enCN, zhCN, enTW, zhTW, esES, esMX, ruRU, ptPT, ptBR, itIT, Unk)
18Flagsint标识(CHM:标识,一般都为 16712190)。固定标识值,具体用途待研究
19NoExperienceint无经验(CHM:无经验,1=小动物、非战斗宠物和气体云雾,0=其他)。击杀是否无经验

生物类型速查

ID名称说明NoExperience可驯服
1Beast(野兽)野生动物、普通怪物0
2Dragonkin(龙类)龙、龙人、幼龙等0
3Demon(恶魔)恶魔生物0是(术士)
4Elemental(元素)元素生物0
5Giant(巨人)巨人类生物0
6Undead(亡灵)亡灵/不死族0是(特定)
7Humanoid(人形)人形生物0
8Critter(小动物)环境小动物1
9Mechanical(机械)机械/构造体0
10Not specified未指定类型0
11Totem(图腾)萨满图腾类0
12Non-Combat Pet非战斗宠物1
13Gas Cloud(气体云)气体形态生物1

重要字段详解

类型对游戏机制的影响
  • 控制法术:牧师的控制亡灵只对 Undead(6) 类型生效;术士的放逐只对 Demon(3) 和 Elemental(4) 生效
  • 驯服:猎人的驯服野兽只对 Beast(1) 类型生效
  • 追踪:小地图追踪技能按类型分类(追踪人形、追踪亡灵等)
  • 武器/技能加成:某些武器和技能对特定类型有额外伤害(如屠魔对恶魔)
  • 剥皮:剥皮技能只适用于部分 Beast(1) 和 Dragonkin(2) 类型
NoExperience(无经验)

CHM 详解明确说明:1=小动物、非战斗宠物和气体云雾,0=其他。控制击杀该类型生物是否获得经验值:

  • 0 正常获得经验值(野兽、龙类、恶魔、元素等常规战斗生物)
  • 1 不获得经验值(小动物、非战斗宠物、气体云雾——环境非战斗实体)

标识字段(Flags,第18列)

CHM 详解指出该字段"一般都为 16712190",是一个固定值标识。该值在大多数版本的 CreatureType.dbc 中保持不变,可能用于客户端校验或版本标记。

多语言名称结构(第2-17列)

CHM 详解显示第2-17列为16种语言的名称字段,覆盖了魔兽世界支持的全部语言区域。16种语言顺序为:enUS(英语-美国)、enGB(英语-英国)、koKR(韩语)、frFR(法语)、deDE(德语)、enCN(英语-简体中文)、zhCN(简体中文)、enTW(英语-繁体中文)、zhTW(繁体中文)、esES(西班牙语)、esMX(西班牙语-墨西哥)、ruRU(俄语)、ptPT(葡萄牙语)、ptBR(葡萄牙语-巴西)、itIT(意大利语)、Unk(未知/保留)。

使用技巧

统计某地图中各类型生物数量:
SELECT ct.Name_Lang_zhCN AS 生物类型, COUNT(*) AS 数量
FROM creature_template t 
JOIN creaturetype_dbc ct ON t.unit_class = ct.ID 
WHERE t.map = 0 
GROUP BY ct.Name_Lang_zhCN;
查询所有无经验的生物类型(CHM定义):
SELECT ID, Name_Lang_zhCN AS 类型名称, NoExperience AS 无经验
FROM creaturetype_dbc
WHERE NoExperience = 1;  -- 1=小动物、非战斗宠物、气体云雾