表概述

pet_levelstats表为每种宠物类型定义了从1级到最高等级各等级的基础属性值。当宠物升级时,系统查询此表获取对应等级的基础生命值、法力值、护甲、力量、敏捷、耐力、智力、精神伤害范围

主键为 (creature_entry, level),每条记录对应一种宠物类型在特定等级下的完整属性配置。

表结构

字段名数据类型默认值说明
creature_entryINT UNSIGNEDNOT NULL宠物生物entry ID,对应creature_template.entry
levelTINYINT UNSIGNEDNOT NULL宠物等级
hpINT UNSIGNED0基础生命值
manaINT UNSIGNED0基础法力值
armorINT UNSIGNED0基础护甲值
strINT UNSIGNED0力量属性
agiINT UNSIGNED0敏捷属性
staINT UNSIGNED0耐力属性
inteINT UNSIGNED0智力属性
spiINT UNSIGNED0精神属性
min_dmgINT UNSIGNED0最小物理伤害
max_dmgINT UNSIGNED0最大物理伤害

重要字段详解

creature_entry (宠物类型)

定义宠物所属的生物类型。常见宠物类型:

  • 1 - 通用宠物(默认猎人宠物基值)
  • 等具体生物entry
  • 术士恶魔 - 小鬼、虚空行者、魅魔、地狱猎犬等
基础属性 (hp, mana, armor, str, agi, sta, inte, spi)

每个等级的基础属性值,实际宠物属性会在此基础上根据宠物类型和主人属性进行加成计算。

宠物实际生命值 = 基础hp + 耐力加成 + 天赋加成

min_dmg / max_dmg (伤害范围)

定义宠物在对应等级的基础物理伤害范围。这是计算宠物自动攻击伤害的基准值。

实战案例

查询通用宠物(entry=1)所有等级的属性:
SELECT level, hp, mana, armor, str, agi, sta, inte, spi, min_dmg, max_dmg
FROM pet_levelstats
WHERE creature_entry = 1
ORDER BY level;
对比两种宠物在等级60时的属性:
SELECT creature_entry, hp, armor, str, agi, sta, min_dmg, max_dmg
FROM pet_levelstats
WHERE level = 60 AND creature_entry IN (1, 416)
ORDER BY creature_entry;
为自定义宠物添加等级属性:
INSERT INTO pet_levelstats (creature_entry, level, hp, mana, armor, str, agi, sta, inte, spi, min_dmg, max_dmg)
VALUES (99999, 1, 40, 60, 20, 10, 10, 10, 10, 10, 1, 2);

常见问题

Q: 宠物升级后属性没有变化,如何排查?

检查pet_levelstats表中是否有该creature_entry的所有等级记录。如果缺少特定等级的数据,宠物升级时属性不会正常更新。

Q: 如何调整所有宠物的属性倍率?

可以在worldserver.conf中通过宠物属性倍率配置项调整,或在pet_levelstats表中修改具体数值。