summaryrefslogtreecommitdiff
path: root/docs/spell_custom_attr.md
blob: 9ded164f0f686a40dd3eda08ee42242982429017 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# spell\_custom\_attr

[<-Back-to:World](database-world.md)

**The \`spell\_custom\_attr\` table**

Table used for storing custom spell attributes.

**Structure**

| Field           | Type          | Attributes | Key | Null | Default | Extra | Comment               |
|-----------------|---------------|------------|-----|------|---------|-------|-----------------------|
| [spell_id][1]      | MEDIUMINT     | UNSIGNED   | PRI | NO   | 0       |       | spell id              |
| [attributes][2] | INT           | UNSIGNED   |     | NO   | 0       |       | SpellCustomAttributes |

[1]: #spell_id
[2]: #attributes

**Description of the fields**

### spell_id

Spell ID. SeeĀ [Spell.dbc](spell_dbc) .

### attributes

Spell custom attributes from the enumerationĀ SpellCustomAttributes in SpellInfo.h

| 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 | Meteor like spells (divided damage among all targets)        |
| 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 | Does not PvP flag                                            |
| 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 |                                                              |
| 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 | All sources add stacks the same aura                         |
| 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_ENCOUNTER_REWARD              | 1073741824 | 0x40000000 |                                                              |

```sql
-- (@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);
```