Disables

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

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