player_class_stats 表
player_class_stats表定义各职业从1级到最高级每级的基础属性值,包括生命值、法力值和五大基础属性。
表概述
player_class_stats表是角色属性系统的核心数据表,定义了每个职业在每个等级的基础生命值、基础法力值和五大基础属性(力量、敏捷、耐力、智力、精神)。
主键为 (Class, Level),每条记录对应一个职业在一个特定等级下的属性配置。当角色升级时,系统查询此表获取该职业该等级的基础属性。
表结构
| 字段名 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|
| Class | TINYINT UNSIGNED | NOT NULL | 职业ID:1=战士,2=圣骑士,3=猎人,4=盗贼,5=牧师,6=死骑,7=萨满,8=法师,9=术士,11=德鲁伊 |
| Level | TINYINT UNSIGNED | NOT NULL | 等级(1-80) |
| BaseHP | INT UNSIGNED | 1 | 基础生命值 |
| BaseMana | INT UNSIGNED | 1 | 基础法力值(物理职业为0) |
| Strength | INT UNSIGNED | 0 | 基础力量值 |
| Agility | INT UNSIGNED | 0 | 基础敏捷值 |
| Stamina | INT UNSIGNED | 0 | 基础耐力值 |
| Intellect | INT UNSIGNED | 0 | 基础智力值 |
| Spirit | INT UNSIGNED | 0 | 基础精神值 |
重要字段详解
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: 角色升级后属性不正确,如何排查?
检查以下几点:
- player_class_stats表中是否有该职业该等级的记录
- player_race_stats表中种族基础属性是否匹配
- 是否受天赋、装备、buff等加成影响
Q: 如何查看职业在各等级的生命值成长?
SELECT Level, BaseHP FROM player_class_stats WHERE Class = [职业ID] ORDER BY Level;