CreatureFamily.dbc
生物家族分类表(生物家族分类),定义了猎人可驯服宠物的所有家族类型。包含编号、尺寸范围(最小/最大尺寸及等级)、技能线、宠物食物分类、宠物天赋类型、分类枚举、多语言名称以及图标文件(客户端mpq文件中Interface\Icons\Ability_打头的文件)。
文件概述
CreatureFamily.dbc 是猎人宠物系统的核心文件之一。每个猎人可以驯服多种类型的宠物,每种宠物属于一个家族(如狼、猫、蜘蛛、熊等)。宠物家族决定了该类型宠物的基础属性范围(含最小/最大尺寸及对应等级)、可学习的技能(通过技能线关联)、喜欢的食物(宠物食物分类)以及天赋类型。根据 CHM 中文详解,第2-5列为尺寸范围控制,第6-7列为技能线,第8列为宠物食物分类,第9列为宠物天赋类型,第28列为图标文件。
数据库对应表:world.creaturefamily_dbc。宠物家族 ID 在 creature_template 的 family 字段中被引用。
列结构
| 序号 | 字段名 | 类型 | 说明 |
|---|---|---|---|
| 1 | ID | int | 宠物家族编号(主键)。1=狼 2=猫 3=蜘蛛 4=熊 5=野猪 6=鳄鱼 7=风蛇 等 |
| 2 | MinScale | float | 最小尺寸(CHM:最小尺寸)。宠物最小缩放比例 |
| 3 | MinScaleLevel | int | 最小尺寸等级(CHM:最小尺寸等级)。最小缩放的等级阈值 |
| 4 | MaxScale | float | 最大尺寸(CHM:最大尺寸)。宠物最大缩放比例 |
| 5 | MaxScaleLevel | int | 最大尺寸等级(CHM:最大尺寸等级)。宠物从 MinScale 增长到 MaxScale |
| 6-7 | SkillLine_1, SkillLine_2 | int | 技能线(CHM:技能线,共2列)。关联 SkillLine.dbc,定义该家族宠物可自动学习的技能 |
| 8 | PetFoodMask | int | 宠物食物分类(CHM:宠物食物分类)。位标志定义宠物可以吃什么类型的食物 |
| 9 | PetTalentType | int | 宠物天赋类型(CHM:宠物天赋类型)。0=狡诈 1=狂野 2=坚韧 |
| 10 | CategoryEnumID | int | 分类枚举(CHM:分类枚举)。用于宠物手册中的分类 |
| 11-26 | Name_Lang_* | varchar(100) | 家族名称(CHM:各国语言版本名称)。多语言文本(16种语言) |
| 27 | Name_Lang_Mask | int | 标识(CHM:标识)。固定值标记 |
| 28 | IconFile | varchar(100) | 图标文件(CHM:图标文件,客户端mpq文件中Interface\Icons\Ability_打头的文件)。如 "Ability_Hunter_Pet_Wolf" |
重要字段详解
宠物尺寸控制系统(MinScale/MaxScale)
CHM 详解明确指出第2-5列为尺寸范围控制:
CHM 详解明确指出第2-5列为尺寸范围控制:
- 最小尺寸(MinScale,第2列):宠物在最小尺寸等级时的缩放比例
- 最小尺寸等级(MinScaleLevel,第3列):达到最小尺寸所需的宠物等级
- 最大尺寸(MaxScale,第4列):宠物在最大尺寸等级时的缩放比例
- 最大尺寸等级(MaxScaleLevel,第5列):达到最大尺寸所需的宠物等级
宠物天赋类型 (PetTalentType)
CHM 明确标识第9列为"宠物天赋类型"。每个宠物家族属于三种天赋类型之一:
CHM 明确标识第9列为"宠物天赋类型"。每个宠物家族属于三种天赋类型之一:
| 类型 | 值 | 特点 | 代表家族 |
|---|---|---|---|
| 狡诈 (Cunning) | 0 | 高伤害输出,控制技能多 | 蜘蛛、蝙蝠、风蛇 |
| 狂野 (Ferocity) | 1 | 最高DPS,适合副本输出 | 狼、猫、迅猛龙 |
| 坚韧 (Tenacity) | 2 | 高生命和护甲,适合坦克 | 熊、乌龟、鳄鱼 |
常见宠物家族ID对照
| ID | 名称 | 天赋类型 | 常见食物 |
|---|---|---|---|
| 1 | 狼 (Wolf) | 狂野 | 肉类 |
| 2 | 猫 (Cat) | 狂野 | 肉类/鱼 |
| 3 | 蜘蛛 (Spider) | 狡诈 | 肉类 |
| 4 | 熊 (Bear) | 坚韧 | 肉类/鱼/水果/面包/蘑菇 |
| 5 | 野猪 (Boar) | 坚韧 | 肉类/鱼/面包/蘑菇 |
| 6 | 鳄鱼 (Crocolisk) | 坚韧 | 肉类/鱼 |
| 7 | 风蛇 (Wind Serpent) | 狡诈 | 肉类/鱼/面包 |
| 11 | 乌龟 (Turtle) | 坚韧 | 肉类/鱼/水果/面包/蘑菇 |
| 20 | 猩猩 (Gorilla) | 坚韧 | 肉类/鱼/水果/面包/蘑菇 |
| 21 | 迅猛龙 (Raptor) | 狂野 | 肉类 |
IconFile(图标文件)
CHM 详解说明图标文件位于"客户端mpq文件中Interface\Icons\Ability_打头的文件"。例如狼的图标为 "Ability_Hunter_Pet_Wolf",猫为 "Ability_Hunter_Pet_Cat"。
CHM 详解说明图标文件位于"客户端mpq文件中Interface\Icons\Ability_打头的文件"。例如狼的图标为 "Ability_Hunter_Pet_Wolf",猫为 "Ability_Hunter_Pet_Cat"。
使用技巧
查询所有宠物家族的中文名称和天赋类型:
SELECT ID, Name_Lang_zhCN AS 家族名称,
CASE PetTalentType WHEN 0 THEN '狡诈' WHEN 1 THEN '狂野' WHEN 2 THEN '坚韧' END AS 天赋类型,
IconFile
FROM creaturefamily_dbc
ORDER BY ID;
查找可驯服某家族宠物的生物:
SELECT ct.entry, ct.name, cf.Name_Lang_zhCN AS 宠物家族
FROM creature_template ct
JOIN creaturefamily_dbc cf ON ct.family = cf.ID
WHERE ct.type = 1; -- 1=野兽
- 自定义宠物家族:在 creaturefamily_dbc 新增行,设置 PetTalentType、SkillLine 和 IconFile
- 修改宠物食物:PetFoodMask(宠物食物分类)使用位掩码控制食物类型,可组合多种食物类型
- 宠物技能:SkillLine_1/2(技能线)关联 SkillLine.dbc,控制该家族宠物在升级时自动学习的技能
- 注意:修改宠物家族数据后需重启服务器或重载 creaturefamily_dbc 表