Creature classlevelstats

Материал из World of WarCraft Developers Wiki
Перейти к навигации Перейти к поиску

Таблица 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"