Spell custom attr

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

Таблица spell_custom_attr

Таблица spell_custom_attr из базы данных world хранит кастомные атрибуты заклинаний (битовая маска SpellCustomAttributes), которые дополняют/переопределяют поведение SpellInfo на стороне сервера.

Field Type Attributes Key Null Default Extra
entry int UNSIGNED PRIMARY NO 0
attributes int UNSIGNED NO 0

entry

Spell ID.

Пример: 8129

attributes

Битовая маска SpellCustomAttributes.

Value (hex) Name Описание
0x00000001 SPELL_ATTR0_CU_ENCHANT_PROC Обрабатывать как прок энчанта
0x00000002 SPELL_ATTR0_CU_CONE_BACK Особая логика конусного выбора целей (вариант «назад»)
0x00000004 SPELL_ATTR0_CU_CONE_LINE Особая логика конусного выбора целей (вариант «линией»)
0x00000008 SPELL_ATTR0_CU_SHARE_DAMAGE Урон распределяется/делится (share damage)
0x00000010 SPELL_ATTR0_CU_NO_INITIAL_THREAT Не создавать стартовую угрозу (initial threat)
0x00000020 SPELL_ATTR0_CU_IS_TALENT Считать спелл талантом
0x00000040 SPELL_ATTR0_CU_AURA_CC Аура относится к CC (используется в логике контроля/категоризации)
0x00000100 SPELL_ATTR0_CU_DIRECT_DAMAGE Пометить как direct damage
0x00000200 SPELL_ATTR0_CU_CHARGE Пометить как charge-подобный спелл
0x00000400 SPELL_ATTR0_CU_PICKPOCKET Пометить как pickpocket
0x00001000 SPELL_ATTR0_CU_NEGATIVE_EFF0 Эффект #0 считать негативным
0x00002000 SPELL_ATTR0_CU_NEGATIVE_EFF1 Эффект #1 считать негативным
0x00004000 SPELL_ATTR0_CU_NEGATIVE_EFF2 Эффект #2 считать негативным
0x00007000 SPELL_ATTR0_CU_NEGATIVE Суммарно: NEGATIVE_EFF0 + NEGATIVE_EFF1 + NEGATIVE_EFF2
0x00008000 SPELL_ATTR0_CU_IGNORE_ARMOR Игнорировать броню (ignore armor)
0x00010000 SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER Требовать, чтобы цель была лицом к кастеру
0x00020000 SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET Требовать, чтобы кастер был позади цели
0x00040000 SPELL_ATTR0_CU_ALLOW_INFLIGHT_TARGET Разрешить цель «в полёте» (inflight)

Примечание: значения суммируются как битовая маска (например, 0x00001000 + 0x00008000 = 0x00009000).

Пример: 4096