表概述

player_class_stats表是角色属性系统的核心数据表,定义了每个职业在每个等级基础生命值基础法力值五大基础属性(力量、敏捷、耐力、智力、精神)。

主键为 (Class, Level),每条记录对应一个职业在一个特定等级下的属性配置。当角色升级时,系统查询此表获取该职业该等级的基础属性。

表结构

字段名数据类型默认值说明
ClassTINYINT UNSIGNEDNOT NULL职业ID:1=战士,2=圣骑士,3=猎人,4=盗贼,5=牧师,6=死骑,7=萨满,8=法师,9=术士,11=德鲁伊
LevelTINYINT UNSIGNEDNOT NULL等级(1-80)
BaseHPINT UNSIGNED1基础生命值
BaseManaINT UNSIGNED1基础法力值(物理职业为0)
StrengthINT UNSIGNED0基础力量值
AgilityINT UNSIGNED0基础敏捷值
StaminaINT UNSIGNED0基础耐力值
IntellectINT UNSIGNED0基础智力值
SpiritINT UNSIGNED0基础精神值

重要字段详解

Class (职业ID)

职业编号对照表:

  • 1 - 战士 (Warrior)
  • 2 - 圣骑士 (Paladin)
  • 3 - 猎人 (Hunter)
  • 4 - 盗贼 (Rogue)
  • 5 - 牧师 (Priest)
  • 6 - 死亡骑士 (Death Knight)
  • 7 - 萨满 (Shaman)
  • 8 - 法师 (Mage)
  • 9 - 术士 (Warlock)
  • 11 - 德鲁伊 (Druid)
BaseHP / BaseMana (基础生命/法力)

BaseHP:该职业在此等级的基础生命值。实际生命值 = BaseHP + (耐力 * 10) + 天赋/装备加成。

BaseMana:该职业在此等级的基础法力值。纯物理职业(战士、盗贼)的BaseMana为0或1。

属性成长 (Strength~Spirit)

每个职业在不同等级的基础属性值,决定了职业的属性成长方向:

  • 战士 - 高力量、高耐力
  • 法师/牧师 - 高智力、高精神
  • 盗贼/猎人 - 高敏捷

实战案例

查询战士(Class=1)20级的基础属性:
SELECT * FROM player_class_stats WHERE Class = 1 AND Level = 20;
对比所有职业在60级的基础生命值:
SELECT Class, BaseHP, BaseMana, Strength, Agility, Stamina, Intellect, Spirit
FROM player_class_stats
WHERE Level = 60
ORDER BY Class;
调整战士的生命值成长(所有等级生命值提高10%):
UPDATE player_class_stats
SET BaseHP = ROUND(BaseHP * 1.1)
WHERE Class = 1;

常见问题

Q: 角色升级后属性不正确,如何排查?

检查以下几点:

  1. player_class_stats表中是否有该职业该等级的记录
  2. player_race_stats表中种族基础属性是否匹配
  3. 是否受天赋、装备、buff等加成影响

Q: 如何查看职业在各等级的生命值成长?

SELECT Level, BaseHP FROM player_class_stats WHERE Class = [职业ID] ORDER BY Level;