spell_proc

spell_proc

Back-to:World

The `spell_proc` table


This table holds information on what events (or procs) certain spells are activated. All spells in this table must have apply a SPELL_AURA_PROC_TRIGGER_SPELL (42) aura. Any entries in this table will overwrite the existing proc settings in the spell's DBC entry.

Structure

Field

Type

Attributes

Key

Null

Default

Extra

Comment

SpellId

int(11)

signed

PRI

NO

0

Unique



SchoolMask

tinyint(3)

unsigned



NO

0





SpellFamilyName

smallint(5)

unsigned



NO

0





SpellFamilyMask0

int(10)

unsigned



NO

0





SpellFamilyMask1

int(10)

unsigned



NO

0





SpellFamilyMask2

int(10)

unsigned



NO

0





ProcFlags

int(10)

unsigned



NO

0





SpellTypeMask

int(10)

unsigned



NO

0





SpellPhaseMask

int(10)

unsigned



NO

0





HitMask

int(10)

unsigned



NO

0





AttributesMask

int(10)

unsigned



NO

0





DisableEffectsMask

int(10)

unsigned



NO

0





ProcsPerMinute

float





NO

0





Chance

float





NO

0





Cooldown

int(10)

unsigned



NO

0





Charges

tinyint(3)

unsigned



NO

0





Description of the fields

SpellId

The Spell ID that is capable to proc on an event. (Can use negative spellId for ranked spells)

SchoolMask

This field contains a bitmask that controls on what types of spells the proc can be triggered. For example if an aura procs only when the unit it is casted upon is hit by shadow spells (spell 34914). To combine spell schools, just add the bit values.

School ID

Bit

Name

School ID

Bit

Name

0

1

Physical

1

2

Holy

2

4

Fire

3

8

Nature

4

16

Frost

5

32

Shadow

6

64

Arcane

SpellFamilyName

This field controls what family name spells can proc the triggered spell.

ID

Family Name

ID

Family Name

0

Generic

3

Mage

4

Warrior

5

Warlock

6

Priest

7

Druid

8

Rogue

9

Hunter

10

Paladin

11

Shaman

13

Potion

15

Death Knight

53

Monk

107

Demon Hunter

SpellFamilyMask0

This field controls what spells' family flags can proc the triggered spell (you can find SpellFamilyFlags of some spell, using SpellWork).

SpellFamilyMask1

This field controls what spells' family flags can proc the triggered spell (you can find SpellFamilyFlags of some spell, using SpellWork).

SpellFamilyMask2

This field controls what spells' family flags can proc the triggered spell (you can find SpellFamilyFlags of some spell, using SpellWork).

ProcFlags

If non-zero, used to override the original spell ProcFlags in DBC.

A bitmask controlling what events trigger the spell. To combine possible events, add the proc bits together.

Example: 32+64=96 (PROC_FLAG_TAKEN_MELEE_SPELL_HIT + PROC_FLAG_SUCCESSFUL_RANGED_HIT)

Event

Flag

Bit value

Comment

Event

Flag

Bit value

Comment

PROC_FLAG_NONE

0

0x00000000



PROC_FLAG_KILLED

1

0x00000001

Killed by agressor

PROC_FLAG_KILL

2

0x00000002

Kill target (in most cases need XP/Honor reward)

PROC_FLAG_DONE_MELEE_AUTO_ATTACK

4

0x00000004

Done melee auto attack

PROC_FLAG_TAKEN_MELEE_AUTO_ATTACK

8

0x00000008

Taken melee auto attack

PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS

16

0x00000010

Done attack by Spell that has dmg class melee

PROC_FLAG_TAKEN_SPELL_MELEE_DMG_CLASS

32

0x00000020

Taken attack by Spell that has dmg class melee

PROC_FLAG_DONE_RANGED_AUTO_ATTACK

64

0x00000040

Done ranged auto attack

PROC_FLAG_TAKEN_RANGED_AUTO_ATTACK

128

0x00000080

Taken ranged auto attack

PROC_FLAG_DONE_SPELL_RANGED_DMG_CLASS

256

0x00000100

Done attack by Spell that has dmg class ranged

PROC_FLAG_TAKEN_SPELL_RANGED_DMG_CLASS

512

0x00000200

Taken attack by Spell that has dmg class ranged

PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_POS

1024

0x00000400

Done positive spell that has dmg class none

PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_POS

2048

0x00000800

Taken positive spell that has dmg class none

PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG

4096

0x00001000

Done negative spell that has dmg class none

PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_NEG

8192

0x00002000

Taken negative spell that has dmg class none

PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS

16384

0x00004000

Done positive spell that has dmg class magic

PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS

32768

0x00008000

Taken positive spell that has dmg class magic

PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG

65536

0x00010000

Done negative spell that has dmg class magic

PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG

131072

0x00020000

Taken negative spell that has dmg class magic

PROC_FLAG_DONE_PERIODIC

262144

0x00040000

Periodic damage / healing done, determined from flags 14-17

PROC_FLAG_TAKEN_PERIODIC

524288

0x00080000

Periodic damage / healing taken, determined from flags 14-17

PROC_FLAG_TAKEN_DAMAGE

1048576

0x00100000

Any damage taken

PROC_FLAG_DONE_TRAP_ACTIVATION

2097152

0x00200000

On trap activation

PROC_FLAG_DONE_MAINHAND_ATTACK

4194304

0x00400000

Done main-hand melee attacks (spell and autoattack)

PROC_FLAG_DONE_OFFHAND_ATTACK

8388608

0x00800000

Done off-hand melee attacks (spell and autoattack)