Quest poi
Таблица quest_poi
Таблица quest_poi из базы данных world управляет **POI-маркерами квестов** на карте: “области” (blob) и их привязка к целям/условиям, карте и навигации. Координаты точек обычно лежат в связанной таблице quest_poi_points.
| Field | Type | Attributes | Key | Null | Default | Extra |
|---|---|---|---|---|---|---|
| QuestID | int | PRIMARY | NO | 0 | ||
| BlobIndex | int | PRIMARY | NO | 0 | ||
| Idx1 | int | PRIMARY | NO | 0 | ||
| ObjectiveIndex | int | NO | 0 | |||
| QuestObjectiveID | int | NO | 0 | |||
| QuestObjectID | int | NO | 0 | |||
| MapID | int | NO | 0 | |||
| UiMapID | int | NO | 0 | |||
| Priority | int | NO | 0 | |||
| Flags | int | NO | 0 | |||
| WorldEffectID | int | NO | 0 | |||
| PlayerConditionID | int | NO | 0 | |||
| NavigationPlayerConditionID | int | NO | 0 | |||
| SpawnTrackingID | int | NO | 0 | |||
| AlwaysAllowMergingBlobs | tinyint | UNSIGNED | NO | 0 | ||
| VerifiedBuild | int | NO | 0 |
QuestID
ID квеста (ссылка на quest_template.ID).
Пример: 38819
BlobIndex
Индекс “области” (blob) POI для квеста QuestID — используется для группировки связанных точек в quest_poi_points.
Пример: 0
Idx1
Под-индекс записи внутри пары (QuestID, BlobIndex). Нужен, чтобы для одной области хранить несколько строк POI (например, разные привязки к целям/условиям).
Пример: 0
ObjectiveIndex
Индекс цели квеста, к которой относится POI (логика зависит от ядра/клиента).
Из практики: значение -1 может означать позицию NPC, у которого квест завершается (turn-in).
Пример: 1
QuestObjectiveID
ID цели/объектива, к которому относится POI. В разных реализациях может соответствовать:
- quest_objectives.ID;
- или клиентскому QuestObjective ID (DB2).
Если не используется — обычно 0.
Пример: 900001
QuestObjectID
ID “объекта” для POI (что именно подсвечивать/к чему привязать) — зависит от клиента и типа цели. Часто коррелирует с тем, что используется в целях квеста (например, creature/gameobject entry), но точная трактовка зависит от реализации.
Пример: 12345
MapID
MapID карты, на которой показывать POI.
Пример: 0
UiMapID
UiMapID (карта интерфейса, куда привязывается отображение POI). Обычно это ID из клиентских данных UI Map (DB2). Если не используется — 0.
Пример: 84
Priority
Приоритет/важность POI. Часто “просто отправляется клиенту”, конкретная семантика зависит от версии.
Пример: 0
Flags
Флаги POI (битовая маска). Точные значения зависят от клиента/версии; если вы не используете специфичные флаги — обычно ставят 0.
| Value | Описание |
|---|---|
| 0 | Без флагов / значение по умолчанию |
Пример: 0
WorldEffectID
ID world effect (визуальный/мировой эффект), связанный с POI. Обычно это ID из клиентских данных (WorldEffect). Если не используется — 0.
Пример: 0
PlayerConditionID
Условие видимости POI для игрока (PlayerCondition).
0— показывать без условия (если так реализовано в ядре);> 0— показывать только при выполнении условия.
Пример: 0
NavigationPlayerConditionID
Отдельное PlayerCondition для навигации (например, для “стрелки/маршрута”), если ядро/клиент это различает.
Если не используется — 0.
Пример: 0
SpawnTrackingID
ID системы трекинга спавнов (обычно ссылка на таблицу spawn_tracking, если она используется в вашей базе/ветке).
Если не используется — 0.
Пример: 0
AlwaysAllowMergingBlobs
Флаг, разрешающий “мерджить” (объединять) области POI даже при условиях, когда объединение обычно запрещено.
| Value | Описание |
|---|---|
| 0 | По умолчанию (как решит клиент/ядро) |
| 1 | Всегда разрешать объединение blobs |
Пример: 0
VerifiedBuild
Служебное поле верификации (номер билда).
0— не заполнено/не верифицировано;> 0— подтверждено конкретным билдом;-1— плейсхолдер;-ClientBuild— подтверждено билдом и затем правилось вручную.
Пример: 0