Achievement dbc
Перейти к навигации
Перейти к поиску
Таблица achievement_dbc
Таблица achievement_dbc из базы данных world хранит дополнительные серверные данные достижений, которых недостаточно в клиентском Achievement.db2.
Ключ таблицы — поле ID (Achievement ID).
| Field | Type | Attributes | Key | Null | Default | Extra |
|---|---|---|---|---|---|---|
| ID | int | UNSIGNED | PRIMARY | NO | ||
| requiredFaction | int | NO | -1 | |||
| mapID | int | NO | -1 | |||
| points | int | UNSIGNED | NO | 0 | ||
| flags | int | UNSIGNED | NO | 0 | ||
| count | int | UNSIGNED | NO | 0 | ||
| refAchievement | int | UNSIGNED | NO | 0 |
ID
ID достижения (Achievement ID).
Пример: 2144
requiredFaction
Фракционное ограничение достижения.
| Value | Описание |
|---|---|
| -1 | Достижение доступно обеим фракциям |
| 0 | Достижение только для Орды |
| 1 | Достижение только для Альянса |
Пример: -1
mapID
Ограничение по карте: критерии/обновления достижений разрешены только если игрок находится на указанной карте.
| Value | Описание |
|---|---|
| -1 | Ограничение не задано |
| >=0 | MapID, на котором разрешены обновления критериев |
Пример: 571
points
Количество achievement points за достижение.
| Value | Описание |
|---|---|
| 0 | Очки не начисляются |
| >0 | Количество очков |
Пример: 10
flags
Флаги достижения (битовая маска). Используются для серверной логики и отображения.
| Flag (hex) | Имя | Описание |
|---|---|---|
| 0x00000001 | ACHIEVEMENT_FLAG_COUNTER | Статистика-счётчик: только считает, не «завершается» |
| 0x00000002 | ACHIEVEMENT_FLAG_HIDDEN | Скрытое достижение (не отправляется клиенту) |
| 0x00000004 | ACHIEVEMENT_FLAG_STORE_MAX_VALUE | Хранить только максимальное значение (например, «достичь уровня») |
| 0x00000008 | ACHIEVEMENT_FLAG_SUMM | Суммировать значения нескольких требований |
| 0x00000010 | ACHIEVEMENT_FLAG_MAX_USED | Показывать максимум/использовать максимум для расчётов |
| 0x00000020 | ACHIEVEMENT_FLAG_REQ_COUNT | Использовать требуемое количество (req count), если оно не ноль |
| 0x00000040 | ACHIEVEMENT_FLAG_AVERAGE | Показ как среднее значение (value / time_in_days) при соответствующей логике |
| 0x00000080 | ACHIEVEMENT_FLAG_BAR | Показ как progress bar (value / max value) |
| 0x00000100 | ACHIEVEMENT_FLAG_REALM_FIRST_REACH | «Realm First» (достижение типа reach) |
| 0x00000200 | ACHIEVEMENT_FLAG_REALM_FIRST_KILL | «Realm First» (достижение типа kill) |
Пример: 0x00000080
count
Служебное поле; для достижений должно быть равно 1.
| Value | Описание |
|---|---|
| 1 | Нормальное значение |
Пример: 1
refAchievement
Служебное поле; для достижений должно быть равно 0.
| Value | Описание |
|---|---|
| 0 | Нормальное значение |
Пример: 0