Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.
Comentarios: Updated ProcFlags names and description

Back-to:World

The `spell_proc` table

This table holds information on what events (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

...

.

Structure

Field

Type

Attributes

Key

Null

Default

Extra

Comment

74263881

int(11)

signed

PRI

NO

0

Unique


74263881

tinyint(3)

unsigned


NO

0



74263881

smallint(5)

unsigned


NO

0



74263881

int(10)

unsigned


NO

0



74263881

int(10)

unsigned


NO

0



74263881

int(10)

unsigned


NO

0



74263881

int(10)

unsigned


NO

0



74263881

int(10)

unsigned


NO

0



SpellFamilyName74263881

smallintint(510)

unsigned


NO

0



SpellFamilyMask074263881

int(10)

unsigned


NO

0



SpellFamilyMask174263881

int(10)

unsigned


NO

0SpellFamilyMask2



74263881int(10)unsigned
NO0

ProcsPerMinute

float



NO

0



74263881

float



NO

0



ProcFlags74263881

int(10)

unsigned


NO

0



SpellTypeMask74263881

inttinyint(103)

unsigned


NO

0



Description of the fields

...

SpellPhaseMask

...

int(10)

...

unsigned

...

NO

...

0

...

HitMask

...

int(10)

...

unsigned

...

NO

...

0

...

AttributesMask

...

int(10)

...

unsigned

...

NO

...

0

...

ProcsPerMinute

...

float

...

NO

...

0

...

Chance

...

float

...

NO

...

0

...

Cooldown

...

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

...

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

...

0

...

Generic

...

3

...

Mage

...

4

...

Warrior

...

5

...

Warlock

...

6

...

Priest

...

7

...

Druid

...

8

...

Rogue

...

9

...

Hunter

...

10

...

Paladin

...

11

...

Shaman

...

13

...

Potion

...

SpellFamilyMask0

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

SpellFamilyMask1

field-no-description|5

SpellFamilyMask2

field-no-description|6

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

...

Bit value

...

Comment

...

PROC_FLAG_NONE

...

0x00000000

...

PROC_FLAG_KILLED

...

0x00000001

...

Killed by agressor

...

PROC_FLAG_KILL_AND_GET_XP

...

0x00000002

...

Kill that yields experience or honor

...

PROC_FLAG_SUCCESSFUL_MELEE_HIT

...

0x00000004

...

Melee attack hit successful

...

PROC_FLAG_TAKEN_MELEE_HIT

...

0x00000008

...

Damage taken from melee hit

...

PROC_FLAG_SUCCESSFUL_MELEE_SPELL_HIT

...

0x00000010

...

Successful attack by spells that use a melee weapon

...

PROC_FLAG_TAKEN_MELEE_SPELL_HIT

...

0x00000020

...

Damage taken from spells that use a melee weapon

...

PROC_FLAG_SUCCESSFUL_RANGED_HIT

...

0x00000040

...

Ranged attack hit successful

...

PROC_FLAG_TAKEN_RANGED_HIT

...

0x00000080

...

Damage taken from ranged attack hit

...

PROC_FLAG_SUCCESSFUL_RANGED_SPELL_HIT

...

0x00000100

...

Successful Ranged attack by spells that use a ranged weapon

...

PROC_FLAG_TAKEN_RANGED_SPELL_HIT

...

0x00000200

...

Damage taken from spells that use a ranged weapon

...

PROC_FLAG_SUCCESSFUL_POSITIVE_AOE_HIT

...

0x00000400

...

AoE spell hit successful (not 100% sure if unused)

...

PROC_FLAG_TAKEN_POSITIVE_AOE

...

0x00000800

...

Positive AoE spell hit taken (not 100% sure if unused)

...

PROC_FLAG_SUCCESSFUL_AOE_SPELL_HIT

...

0x00001000

...

AoE damage spell hit successful (not 100% sure if unused)

...

PROC_FLAG_TAKEN_AOE_SPELL_HIT

...

0x00002000

...

AoE damage spell hit taken (not 100% sure if unused)

...

PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL

...

0x00004000

...

Positive spell cast successful (by default only on healing)

...

PROC_FLAG_TAKEN_POSITIVE_SPELL

...

0x00008000

...

Positive spell hit taken (by default only on healing)

...

PROC_FLAG_SUCCESSFUL_NEGATIVE_SPELL_HIT

...

0x00010000

...

Negative spell cast successful (by default only on damage)

...

PROC_FLAG_TAKEN_NEGATIVE_SPELL_HIT

...

0x00020000

...

Negative spell hit taken (by default only on damage)

...

PROC_FLAG_DONE_PERIODIC

...

0x00040000

...

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

...

PROC_FLAG_TAKEN_PERIODIC

...

0x00080000

...

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

...

PROC_FLAG_TAKEN_ANY_DAMAGE

...

0x00100000

...

Any damage taken

...

PROC_FLAG_ON_TRAP_ACTIVATION

...

0x00200000

...

On trap activation

...

PROC_FLAG_TAKEN_OFFHAND_HIT

...

0x00400000

...

Off-hand melee attacks taken (not used)

...

PROC_FLAG_SUCCESSFUL_OFFHAND_HIT

...

0x00800000

...

Successful off-hand melee attacks

...

PROC_FLAG_DEATH

...

0x01000000

...

Died in any way

SpellTypeMask

...

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

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

0

Generic

3

Mage

4

Warrior

5

Warlock

6

Priest

7

Druid

8

Rogue

9

Hunter

10

Paladin

11

Shaman

13

Potion

15Death Knight
53Monk
107Demon 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

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)

PROC_FLAG_DEATH

16777216

0x01000000

Died in any way


SpellTypeMask

Used to choose what types of spells may trigger the proc, to combine, just add the bit values.

Event

Flag

Bit

Comment

PROC_SPELL_TYPE_NONE

0

0x00000000


PROC_SPELL_TYPE_DAMAGE

1

0x00000001

only damaging spells

PROC_SPELL_TYPE_HEAL

2

0x00000002

only healing spells

PROC_SPELL_TYPE_NO_DMG_HEAL

4

0x00000004

all other spells

PROC_SPELL_TYPE_MASK_ALL

7

0x00000007

All masks combined

SpellPhaseMask

At which phase may the spell trigger the proc, Normally one of them is used at the same time, but they might be combined too.

Event

Flag

Bit

Comment

PROC_SPELL_TYPEPHASE_NONE

0

0x00000000


PROC_SPELL_TYPEPHASE_DAMAGECAST

1

0x00000001

only damaging spells
trigger when spell has just finished casting

PROC_SPELL_TYPEPHASE_HEALHIT

2

0x00000002only healing spells

trigger when the spell hits its target

PROC_SPELL_TYPE_NO_DMG_HEALPHASE_FINISH

4

0x00000004all other spells

trigger after spell has done all its effects on all targets

PROC_SPELL_TYPEPHASE_MASK_ALL

7

0x00000007

All masks combined

SpellPhaseMask

...

HitMask

Used to add special conditions to spells, some spells might trigger only on critical strikes, for example.


Event

Flag

Bit

Comment

PROC_

SPELL_PHASE

HIT_NONE

0

0x00000000

(special see footnote)

PROC_

SPELL

HIT_

PHASE_CAST

NORMAL

1

0x00000001

trigger when spell has just finished casting

only non-critical hits

PROC_

SPELL

HIT_

PHASE_HIT

CRITICAL

2

0x00000002

trigger when the spell hits its target
only critical hits

PROC_

SPELL

HIT_

PHASE_FINISH

MISS

4

0x00000004

trigger after spell has done all its effects on all targets
self-explanatory

PROC_HIT_FULL_RESIST

8

0x00000008

only on full resist (no partial)

PROC_

SPELL_PHASE_MASK_ALL7

0x00000007

All masks combined

HitMask

Used to add special conditions to spells, some spells might trigger only on critical strikes, for example.

Event

Flag

Bit

Comment

HIT_DODGE

16

0x00000010

self-explanatory

PROC_HIT_PARRY

32

0x00000020

self-explanatory

PROC_HIT_NONEBLOCK

064

0x00000000

(special see footnote)0x00000040

partial or full block

PROC_HIT_NORMALEVADE

1128

0x000000010x00000080only non

self-critical hitsexplanatory

PROC_HIT_CRITICALIMMUNE

2256

0x00000002

only critical hits

0x00000100

self-explanatory

PROC_HIT_MISSDEFLECT

4512

0x000000040x00000200

self-explanatory

PROC_HIT_FULL_RESISTABSORB

81024

0x000000080x00000400

only on full resist (no partial)

partial or full absorb

PROC_HIT_DODGEREFLECT

162048

0x000000100x00000800

self-explanatory

PROC_HIT_PARRYINTERRUPT

324096

0x00000020

self-explanatory

0x00001000

(not used atm)

PROC_HIT_FULL_BLOCK

648192

0x000000400x00002000partial or

only on full block

PROC_HIT_MASK_EVADEALL

12812287

0x00000080

self-explanatory

0x00002FFF

All masks combined

PROC_HIT_

...

0x00000100

...

NONE will trigger on:

  • PROC_HIT_NORMAL+PROC_HIT_CRITICAL, when trigger is TAKEN
  • PROC_HIT_

...

0x00000200

...

self-explanatory

  • NORMAL+PROC_HIT_

...

0x00000400

...

partial or full absorb

  • CRITICAL+PROC_HIT_

...

0x00000800

...

self-explanatory

...

PROC_HIT_INTERRUPT

...

0x00001000

...

(not used atm)

...

PROC_HIT_FULL_BLOCK

...

0x00002000

...

PROC_HIT_MASK_ALL

...

0x00002FFF

...

All masks combined

PROC_HIT_NONE will trigger on:

  • PROC_HIT_NORMAL+PROC_HIT_CRITICAL, when trigger is TAKEN
  • PROC_HIT_NORMAL+PROC_HIT_CRITICAL+PROC_HIT_ABSORB, when trigger is DONE

AttributesMask

Adds special behaviour to the proc, spell might trigger proc only if these conditions are fullfilled

...

Event

...

Bit

...

Comment

...

PROC_ATTR_REQ_EXP_OR_HONOR

...

0x0000001

...

requires proc target to give exp or honor

...

  • ABSORB, when trigger is DONE

AttributesMask

Adds special behaviour to the proc, spell might trigger proc only if these conditions are fullfilled


Event

Flag

Bit

Comment

PROC_ATTR_REQ_EXP_OR_HONOR

1

0x0000001

requires proc target to give exp or honor

PROC_ATTR_TRIGGERED_CAN_PROC20x0000002aura can proc even when spell is triggered by another
PROC_ATTR_REQ_MANA_COST40x0000004requires triggering spell to have a mana cost
PROC_ATTR_REQ_SPELLMOD80x0000008requires triggering spell to be affected by aura SpellId (only for mod drops)
PROC_ATTR_DISABLE_EFF_0160x0000010explicitly disables aura proc effect 0
PROC_ATTR_DISABLE_EFF_1320x0000020explicitly disables aura proc effect 1
PROC_ATTR_DISABLE_EFF_2640x0000040explicitly disables aura proc effect 2
PROC_ATTR_REDUCE_PROC_601280x0000080aura has a reduced chance to proc if level of proc actor > 60
PROC_ATTR_CANT_PROC_FROM_ITEM_CAST2560x0000100do not allow aura proc if proc is caused by a spell casted by item

DisableEffectsMask

Disable proc of a effect (bitmask)


0x0000020PROC_ATTR_DISABLE_EFF640x0000040aura has a reduced chance to proc if level of proc actor > 60
DisableEffectFlagBitComment
EFFECT_010x0000001explicitly disables aura proc effect 0PROC_ATTR_DISABLE_EFF_!32
EFFECT_120x0000002explicitly disables aura proc effect 1
EFFECT_240x0000004explicitly disables aura proc effect 2PROC_ATTR_REDUCE_PROC_601280x0000080


ProcsPerMinute

If non-zero, this field controls the times per minute that the spell should proc. You might not set both ProcsPerMinute and Chance. in that case ProcsPerMinute takes precedence.

...