Creature.dbc存储了游戏中所有生物(NPC和怪物)的基本信息。这个文件定义了生物的名称、模型、等级、生命值等基础属性。
注意: 在AzerothCore中,通常不需要直接修改Creature.dbc,而是通过修改world.creature_template表来自定义生物属性。
以下是Creature.dbc中的主要字段:
字段名 | 类型 | 描述 |
---|---|---|
ID | 整数 | 生物唯一标识符 |
ModelID | 整数 | 模型ID |
Faction | 整数 | 阵营ID |
Scale | 浮点数 | 缩放比例 |
Name | 字符串 | 生物名称(本地化字符串) |
SubName | 字符串 | 生物子名称(本地化字符串) |
字段名 | 类型 | 描述 |
---|---|---|
MinLevel | 整数 | 最小等级 |
MaxLevel | 整数 | 最大等级 |
Health | 整数 | 基础生命值 |
Power | 整数 | 基础能量值 |
Damage | 浮点数 | 基础伤害 |
AttackTime | 整数 | 攻击速度(毫秒) |
RangedAttackTime | 整数 | 远程攻击速度(毫秒) |
生物类型字段定义了生物的基本分类:
值 | 名称 | 描述 |
---|---|---|
0 | CREATURE_TYPE_BEAST | 野兽 |
1 | CREATURE_TYPE_DRAGONKIN | 龙类 |
2 | CREATURE_TYPE_DEMON | 恶魔 |
3 | CREATURE_TYPE_ELEMENTAL | 元素生物 |
4 | CREATURE_TYPE_GIANT | 巨人 |
5 | CREATURE_TYPE_UNDEAD | 亡灵 |
6 | CREATURE_TYPE_HUMANOID | 人型生物 |
7 | CREATURE_TYPE_CRITTER | 小动物 |
8 | CREATURE_TYPE_MECHANICAL | 机械 |
9 | CREATURE_TYPE_NOT_SPECIFIED | 未指定 |
在AzerothCore中,生物数据分布在多个地方:
以下SQL语句将查询"暴风城卫兵"的生物信息:
SELECT * FROM creature_template WHERE name LIKE '%暴风城卫兵%';
以下SQL语句将创建一个新的生物"精英守卫":
INSERT INTO creature_template (entry, modelid1, name, subname, minlevel, maxlevel, faction, scale, rank, unit_class, unit_flags, type, type_flags, HealthModifier, ManaModifier, ArmorModifier, DamageModifier, ExperienceModifier, RegenHealth, movementId, RacialLeader, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, spell1, spell2, spell3, spell4, spell5, spell6, spell7, spell8, PetSpellDataId, VehicleId, mingold, maxgold, AIName, MovementType, InhabitType, HoverHeight, HealthModifierExtra, ManaModifierExtra, ArmorModifierExtra, DamageModifierExtra, ScriptName)
VALUES (
100000, -- 自定义生物ID,避免与官方生物冲突
19746, '精英守卫', '自定义NPC', 60, 60, 11, 1.2, 1, 1, 0, 6, 0, 5, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 1, 1, 1, 1, 1, ''
);