`spell_custom_attr` 表
此表用于存储自定义的法术属性。
表结构
| Field | Type | Attributes | Key | Null | Default | Extra | Comment |
|---|---|---|---|---|---|---|---|
| spell_id | MEDIUMINT | UNSIGNED | PRI | NO | 0 | 法术 id | |
| attributes | INT | UNSIGNED | NO | 0 | SpellCustomAttributes |
字段说明
法术 ID。参见 Spell.dbc。
来自 SpellInfo.h 中枚举 SpellCustomAttributes 的法术自定义属性。
| Attributes | Flag | Bit value | Comment |
|---|---|---|---|
| SPELL_ATTR0_CU_ENCHANT_PROC | 1 | 0x00000001 | |
| SPELL_ATTR0_CU_CONE_BACK | 2 | 0x00000002 | |
| SPELL_ATTR0_CU_CONE_LINE | 4 | 0x00000004 | |
| SPELL_ATTR0_CU_SHARE_DAMAGE | 8 | 0x00000008 | 流星类法术(在所有目标之间分摊伤害) |
| SPELL_ATTR0_CU_NO_INITIAL_THREAT | 16 | 0x00000010 | |
| SPELL_ATTR0_CU_AURA_CC | 32 | 0x00000020 | |
| SPELL_ATTR0_CU_DONT_BREAK_STEALTH | 64 | 0x00000040 | |
| SPELL_ATTR0_CU_NO_PVP_FLAG | 128 | 0x00000080 | 不设置 PvP 标记 |
| SPELL_ATTR0_CU_DIRECT_DAMAGE | 256 | 0x00000100 | |
| SPELL_ATTR0_CU_CHARGE | 512 | 0x00000200 | |
| SPELL_ATTR0_CU_PICKPOCKET | 1024 | 0x00000400 | |
| SPELL_ATTR0_CU_IGNORE_EVADE | 2048 | 0x00000800 | 闪避(evade)时不移除指定的光环 |
| SPELL_ATTR0_CU_NEGATIVE_EFF0 | 4096 | 0x00001000 | |
| SPELL_ATTR0_CU_NEGATIVE_EFF1 | 8192 | 0x00002000 | |
| SPELL_ATTR0_CU_NEGATIVE_EFF2 | 16384 | 0x00004000 | |
| SPELL_ATTR0_CU_IGNORE_ARMOR | 32768 | 0x00008000 | |
| SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER | 65536 | 0x00010000 | |
| SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET | 131072 | 0x00020000 | |
| SPELL_ATTR0_CU_ALLOW_INFLIGHT_TARGET | 262144 | 0x00040000 | |
| SPELL_ATTR0_CU_NEEDS_AMMO_DATA | 524288 | 0x00080000 | |
| SPELL_ATTR0_CU_BINARY_SPELL | 1048576 | 0x00100000 | |
| SPELL_ATTR0_CU_NO_POSITIVE_TAKEN_BONUS | 2097152 | 0x00200000 | |
| SPELL_ATTR0_CU_SINGLE_AURA_STACK | 4194304 | 0x00400000 | 所有来源都为同一光环叠加层数 |
| SPELL_ATTR0_CU_SCHOOLMASK_NORMAL_WITH_MAGIC | 8388608 | 0x00800000 | |
| SPELL_ATTR0_CU_AURA_CANNOT_BE_SAVED | 16777216 | 0x01000000 | |
| SPELL_ATTR0_CU_POSITIVE_EFF0 | 33554432 | 0x02000000 | |
| SPELL_ATTR0_CU_POSITIVE_EFF1 | 67108864 | 0x04000000 | |
| SPELL_ATTR0_CU_POSITIVE_EFF2 | 134217728 | 0x08000000 | |
| SPELL_ATTR0_CU_FORCE_SEND_CATEGORY_COOLDOWNS | 268435456 | 0x10000000 | |
| SPELL_ATTR0_CU_FORCE_AURA_SAVING | 536872960 | 0x20000800 | |
| SPELL_ATTR0_CU_ONLY_ONE_AREA_AURA | 536870912 | 0x20000000 | 只能同时存在 1 个持续性区域光环(例如玛洛加尔的冷焰) |
| SPELL_ATTR0_CU_ENCOUNTER_REWARD | 1073741824 | 0x40000000 | |
| SPELL_ATTR0_CU_BYPASS_MECHANIC_IMMUNITY | 2147483648 | 0x80000000 |
-- (@SPELL_ATTR0_CU_NEGATIVE = @SPELL_ATTR0_CU_NEGATIVE_EFF0 | @SPELL_ATTR0_CU_NEGATIVE_EFF1 | @SPELL_ATTR0_CU_NEGATIVE_EFF2)
-- (@SPELL_ATTR0_CU_POSITIVE = @SPELL_ATTR0_CU_POSITIVE_EFF0 | @SPELL_ATTR0_CU_POSITIVE_EFF1 | @SPELL_ATTR0_CU_POSITIVE_EFF2)
DELETE FROM `spell_custom_attr` WHERE `spell_id`=123;
INSERT INTO `spell_custom_attr` (`spell_id`, `attributes`) VALUES
(123, @SPELL_ATTR0_CU_FLAG1 | @SPELL_ATTR0_CU_FLAG2);