Disables
Таблица disables
Таблица disables из базы данных world предназначена для **точечного отключения контента/механик** на стороне сервера (заклинания, квесты, карты/инстансы, BG, критерии достижений, OutdoorPvP, vmap/mmap, LFG-карты, фазовые зоны).
PRIMARY KEY составной: (sourceType, entry).
| Field | Type | Attributes | Key | Null | Default | Extra |
|---|---|---|---|---|---|---|
| sourceType | int | UNSIGNED | PRIMARY | NO | ||
| entry | int | UNSIGNED | PRIMARY | NO | ||
| flags | smallint | NO | ||||
| params_0 | varchar(255) | utf8mb4_unicode_ci | NO | |||
| params_1 | varchar(255) | utf8mb4_unicode_ci | NO | |||
| comment | varchar(255) | utf8mb4_unicode_ci | NO |
sourceType
Тип отключаемого источника/системы. Именно он определяет, как трактуются entry, flags и параметры.
| Value | Name | Описание |
|---|---|---|
| 0 | DISABLE_TYPE_SPELL | Отключение заклинаний (Spell ID) |
| 1 | DISABLE_TYPE_QUEST | Отключение квестов (Quest ID) |
| 2 | DISABLE_TYPE_MAP | Отключение карт/инстансов по MapID (с учётом режимов сложности через flags) |
| 3 | DISABLE_TYPE_BATTLEGROUND | Отключение BG (Battleground/MapID в зависимости от реализации) |
| 4 | DISABLE_TYPE_ACHIEVEMENT_CRITERIA | Отключение критериев достижений (Criteria ID) |
| 5 | DISABLE_TYPE_OUTDOORPVP | Отключение OutdoorPvP (ID зоны/системы) |
| 6 | DISABLE_TYPE_VMAP | Отключение/настройка части vmap-функций по MapID |
| 7 | DISABLE_TYPE_MMAP | Отключение mmaps по MapID |
| 8 | DISABLE_TYPE_LFG_MAP | Отключение LFG-карты/инстанса (LFG Map) |
| 9 | DISABLE_TYPE_PHASE_AREA | Отключение/блокировка фазовой зоны (Phase Area) |
Пример: 0
entry
Идентификатор отключаемой сущности, тип зависит от sourceType:
| sourceType | entry — что хранится |
|---|---|
| DISABLE_TYPE_SPELL | Spell ID |
| DISABLE_TYPE_QUEST | Quest ID |
| DISABLE_TYPE_MAP | MapID |
| DISABLE_TYPE_BATTLEGROUND | ID BG/карты (в рамках используемой схемы) |
| DISABLE_TYPE_ACHIEVEMENT_CRITERIA | Criteria ID |
| DISABLE_TYPE_OUTDOORPVP | ID OutdoorPvP |
| DISABLE_TYPE_VMAP | MapID |
| DISABLE_TYPE_MMAP | MapID |
| DISABLE_TYPE_LFG_MAP | LFG Map/инстанс ID |
| DISABLE_TYPE_PHASE_AREA | Phase Area ID |
Пример: 8921
flags
Битовая маска/параметр, смысл **строго зависит** от sourceType.
flags при sourceType = DISABLE_TYPE_SPELL (0)
Определяет, **для кого и/или где** отключено заклинание:
| Value | Описание |
|---|---|
| 0 | Spell enabled (не отключено) |
| 1 | Spell disabled for players |
| 2 | Spell disabled for creatures |
| 4 | Spell disabled for pets |
| 8 | Spell completely disabled (используется для заклинаний, отсутствующих в клиентских данных) |
| 16 | Spell disabled for MapId (используется params_0) |
| 32 | Spell disabled for AreaId (используется params_1) |
| 64 | Line of Sight (LOS) отключён для этого спела (замена конфиг-опции vmap.ignoreSpellIds) |
| 128 | Spell disabled for game objects |
| 256 | Spell disabled in arena |
| 512 | Spell disabled in battlegrounds |
Примечание по использованию: значения суммируются как битовая маска (например, 1 + 16 + 32).
flags при sourceType = DISABLE_TYPE_MAP (2)
Определяет, **какие режимы сложности** у карты/инстанса отключены (битовая маска допустимых режимов для конкретной карты):
| Value | Type |
|---|---|
| 1 | DUNGEON_STATUSFLAG_NORMAL OR RAID_STATUSFLAG_10MAN_NORMAL |
| 2 | DUNGEON_STATUSFLAG_HEROIC OR RAID_STATUSFLAG_25MAN_NORMAL |
| 4 | RAID_STATUSFLAG_10MAN_HEROIC |
| 8 | RAID_STATUSFLAG_25MAN_HEROIC |
flags при sourceType = DISABLE_TYPE_VMAP (6)
Определяет, **какие компоненты vmap** отключить на карте:
| Value | Type |
|---|---|
| 1 | VMAP_DISABLE_AREAFLAG |
| 2 | VMAP_DISABLE_HEIGHT |
| 4 | VMAP_DISABLE_LOS |
| 8 | VMAP_LIQUIDSTATUS |
flags для прочих sourceType
Для типов, отличных от SPELL/MAP/VMAP, обычно flags не требуется — ставят 0.
Пример: 49
params_0
Дополнительный параметр. Используется прежде всего при sourceType = DISABLE_TYPE_SPELL и флагах, завязанных на карты:
- список MapID (через запятую), если используется флаг
16(Spell disabled for MapId); 0— для всех карт.
Пример: "571,1"
params_1
Дополнительный параметр. Используется прежде всего при sourceType = DISABLE_TYPE_SPELL и флагах, завязанных на area:
- AreaID (или список, если так принято у вас), если используется флаг
32(Spell disabled for AreaId); 0— для всех area.
Пример: "1519"
comment
Комментарий — причина отключения/пояснение.
Пример: "Moonfire disabled in Stormwind"