Spell area
Таблица spell_area
Таблица spell_area из базы данных world используется для применения/снятия ауры (заклинания) у игрока в определённой зоне/area при выполнении условий (квесты/статусы квестов, раса, пол, наличие/отсутствие другой ауры).
| Field | Type | Attributes | Key | Null | Default | Extra |
|---|---|---|---|---|---|---|
| spell | int | UNSIGNED | PRIMARY | NO | ||
| area | int | UNSIGNED | PRIMARY | NO | ||
| quest_start | int | UNSIGNED | PRIMARY | NO | ||
| quest_end | int | UNSIGNED | NO | 0 | ||
| aura_spell | int | PRIMARY | NO | |||
| racemask | int | UNSIGNED | PRIMARY | NO | ||
| gender | tinyint | UNSIGNED | PRIMARY | NO | 2 | |
| flags | tinyint | UNSIGNED | NO | 3 | ||
| quest_start_status | int | UNSIGNED | NO | 64 | ||
| quest_end_status | int | UNSIGNED | NO | 11 |
spell
Spell ID ауры, которая должна применяться/контролироваться в заданных условиях.
Пример: 92237
area
AreaTable ID (AreaID/ZoneID). Если 0 — ограничение по зоне/area не применяется.
Пример: 1519
quest_start
Quest ID, который должен быть у игрока в состоянии, подходящем под quest_start_status. Если 0 — условие по стартовому квесту не применяется.
Пример: 28725
quest_end
Quest ID, который используется как «ограничитель» по состоянию, заданному quest_end_status (типичный кейс — убрать/не давать ауру после завершения/награды квеста). Если 0 — условие по конечному квесту не применяется.
Пример: 28727
aura_spell
Дополнительное условие по ауре:
0— условие игнорируется;> 0— у игрока должна быть аура с указанным Spell ID;< 0— у игрока НЕ должно быть ауры с Spell ID равным-aura_spell.
Пример: -500
racemask
Маска рас, для которых действует запись.
0— для всех рас;- иначе — битовая маска рас (как правило, бит =
1 << (RaceId - 1)).
Пример: 1
gender
Ограничение по полу:
| Value | Name | Описание |
|---|---|---|
| 0 | GENDER_MALE | Только мужской |
| 1 | GENDER_FEMALE | Только женский |
| 2 | GENDER_NONE | Любой (без ограничения) |
Пример: 2
flags
Битовая маска поведения применения/снятия ауры:
| Value | Name | Описание |
|---|---|---|
| 0 | (нет) | Не автокастится при входе; не автоснимается по апдейтам квеста (но снимается при выходе из зоны) |
| 1 | SPELL_AREA_FLAG_AUTOCAST | Автоматически применить при входе в зону (и не давать снять вручную) |
| 2 | SPELL_AREA_FLAG_AUTOREMOVE | Автоматически снять при обновлении квестовых условий (работает в связке с квестами) |
| 3 | AUTOCAST + AUTOREMOVE | Оба флага одновременно (значение по умолчанию) |
Примечание: значения суммируются как битовая маска (например, 1 + 2 = 3).
Пример: 3
quest_start_status
Маска состояний квеста quest_start, при которых запись считается подходящей.
| Value | Name | Описание |
|---|---|---|
| 1 | QUEST_STATUS_NONE | Квест отсутствует у игрока |
| 2 | QUEST_STATUS_COMPLETE | Квест выполнен (Complete) |
| 8 | QUEST_STATUS_INCOMPLETE | Квест активен/в процессе (Incomplete) |
| 32 | QUEST_STATUS_FAILED | Квест провален (Failed) |
| 64 | QUEST_STATUS_REWARDED | Квест сдан/получена награда (Rewarded) |
Примечание: маска собирается суммой значений (например, 8 — только активный квест; 2 + 64 — выполнен или сдан).
Пример: 8
quest_end_status
Маска состояний квеста quest_end, при которых запись считается подходящей (типично исключают REWARDED, чтобы аура не действовала после сдачи).
| Value | Name | Описание |
|---|---|---|
| 1 | QUEST_STATUS_NONE | Квест отсутствует у игрока |
| 2 | QUEST_STATUS_COMPLETE | Квест выполнен (Complete) |
| 8 | QUEST_STATUS_INCOMPLETE | Квест активен/в процессе (Incomplete) |
| 32 | QUEST_STATUS_FAILED | Квест провален (Failed) |
| 64 | QUEST_STATUS_REWARDED | Квест сдан/получена награда (Rewarded) |
Пример: 11