spell_group
The `spell_group` table
Table used to group spells for varius checks in the core. One spell may be added to many groups, but can occur in one group only once.
Field | Type | Attributes | Key | Null | Default | Extra | Comment |
---|---|---|---|---|---|---|---|
id | INT | UNSIGNED | PRI | NO | 0 | ||
spell_id | INT | UNSIGNED | PRI | NO | 0 | ||
special_flag | INT | UNSIGNED | NO | 0 |
Description of the fields
id
Group identifier Rules of assigning id:
- if group is going to be used in core code, use first avalible entry below 1000 and add enum value to SpellGroup enum in SpellMgr.h
- if group is not going to be used in core code, use lowest avalible entry higher than 1000
spell_id
SpellId from Spell.dbc or spell_group id prefixed with “-”. If spell is added to spell_ranks, spell_id has to be first rank of that spell.
special_flag
Enum SpellGroupSpecialFlags in core:
Flag | Hex | Name | Comment |
---|---|---|---|
0 | 0x000 | SPELL_GROUP_SPECIAL_FLAG_NONE | |
1 | 0x001 | SPELL_GROUP_SPECIAL_FLAG_ELIXIR_BATTLE | |
2 | 0x002 | SPELL_GROUP_SPECIAL_FLAG_ELIXIR_GUARDIAN | |
3 | 0x003 | SPELL_GROUP_SPECIAL_FLAG_FLASK | SPELL_GROUP_SPECIAL_FLAG_ELIXIR_BATTLE |
4 | 0x004 | SPELL_GROUP_SPECIAL_FLAG_ELIXIR_UNSTABLE | |
8 | 0x008 | SPELL_GROUP_SPECIAL_FLAG_ELIXIR_SHATTRATH | |
15 | 0x00F | SPELL_GROUP_SPECIAL_FLAG_STACK_EXCLUSIVE_MAX | |
16 | 0x010 | SPELL_GROUP_SPECIAL_FLAG_FORCED_STRONGEST | Helpful flag if some spells have different auras, but only one should be present |
32 | 0x020 | SPELL_GROUP_SPECIAL_FLAG_SKIP_STRONGER_CHECK | |
64 | 0x040 | SPELL_GROUP_SPECIAL_FLAG_BASE_AMOUNT_CHECK | |
256 | 0x100 | SPELL_GROUP_SPECIAL_FLAG_PRIORITY1 | |
512 | 0x200 | SPELL_GROUP_SPECIAL_FLAG_PRIORITY2 | |
1024 | 0x400 | SPELL_GROUP_SPECIAL_FLAG_PRIORITY3 | |
2048 | 0x800 | SPELL_GROUP_SPECIAL_FLAG_PRIORITY4 | |
4096 | 0x1000 | SPELL_GROUP_SPECIAL_FLAG_SAME_SPELL_CHECK | |
8192 | 0x2000 | SPELL_GROUP_SPECIAL_FLAG_SKIP_STRONGER_SAME_SPELL |