Creature classlevelstats
Таблица creature_classlevelstats
Таблица creature_classlevelstats из базы данных world хранит базовые значения характеристик существ по уровню и «классу юнита» (unit_class). Эти значения используются ядром как базовые и далее масштабируются модификаторами из creature_template (например, mana_mod), чтобы получить итоговые параметры конкретного NPC.
Первичный ключ составной: (level, class).
| Field | Type | Attributes | Key | Null | Default | Extra |
|---|---|---|---|---|---|---|
| level | tinyint | PRIMARY | NO | |||
| class | tinyint | PRIMARY | NO | |||
| basemana | int | UNSIGNED | NO | 1 | ||
| attackpower | smallint | NO | 0 | |||
| rangedattackpower | smallint | NO | 0 | |||
| comment | mediumtext | utf8mb4_unicode_ci | YES | NULL |
level
Уровень существа. Используется вместе с class для выбора базовых значений.
| Value | Описание |
|---|---|
| 1..255 | Уровень NPC |
Пример: 60
class
«Класс юнита» (unit_class) существа. Ссылка на creature_template → unit_class. Это не «игровой класс игрока», а упрощённое деление, влияющее на распределение базовых параметров (здоровье/мана и т.п.).
| Value | Name | Отображаемая «мощность» |
|---|---|---|
| 1 | CLASS_WARRIOR | Только здоровье (аналогично Rogue) |
| 2 | CLASS_PALADIN | Здоровье + мана (здоровья больше, чем у Mage, но маны меньше) |
| 4 | CLASS_ROGUE | Только здоровье (аналогично Warrior) |
| 8 | CLASS_MAGE | Здоровье + мана (здоровья меньше, чем у Paladin, но маны больше) |
Пример: 8
basemana
Базовая мана существа для указанной пары (level, class). Итоговая мана NPC вычисляется с учётом модификатора из creature_template (mana_mod):
FinalMana = basemana * creature_template.mana_mod
| Value | Описание |
|---|---|
| 1..N | Базовая мана (до применения mana_mod) |
Пример: 1200
attackpower
Базовая сила атаки ближнего боя (Attack Power), добавляющая вклад в урон ближнего боя. Типично используется формула вида:
BonusDamage ~= (attackpower / 14) * (BaseAttackTime / 1000)
| Value | Описание |
|---|---|
| 0 | Бонус отсутствует |
| >0 | Положительный вклад в урон ближнего боя |
Пример: 450
rangedattackpower
Базовая сила атаки дальнего боя (Ranged Attack Power), добавляющая вклад в урон дальнего боя. Типично используется формула вида:
BonusDamage ~= (rangedattackpower / 14) * (RangedAttackTime / 1000)
| Value | Описание |
|---|---|
| 0 | Бонус отсутствует |
| >0 | Положительный вклад в урон дальнего боя |
Пример: 300
comment
Комментарий/пояснение к записи (служебное поле). На логику напрямую не влияет.
Пример: "Base stats for lvl 60 mage-class creatures"