Spell proc event SF

From Project Skyfire
Revision as of 16:23, 7 July 2012 by Cheapgamer (talk | contribs) (Created page with "{| align="right" | __TOC__ |} {{Back-to:World}} <big>'''The `spell_proc_event` table'''</big> This table holds information on what events (or procs) certain spells are acti...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Back to world database list of tables.


The `spell_proc_event` 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
entry mediumint(8) unsigned PRI NO 0 Unique
SchoolMask tinyint(4) signed 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
procEx int(10) unsigned NO 0
ppmRate float signed NO 0
CustomChance float signed NO 0
Cooldown int(10) unsigned NO 0


Description of the fields

entry

The spell ID that is capable to proc on an event.

SchoolMask

This field contains a bitmask that controls on what types of spell damages 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
15 Death Knight

SpellFamilyMask0

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

SpellFamilyMask1

This field has no description. You can help wiki by clicking here to describe this field, if you have permissions.

SpellFamilyMask2

This field has no description. You can help wiki by clicking here to describe this field, if you have permissions.

procFlags

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

Event Bit 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_MILEE_HIT 0x00000004 Successful melee attack
PROC_FLAG_TAKEN_MELEE_HIT 0x00000008 Taken damage from melee strike hit
PROC_FLAG_SUCCESSFUL_MELEE_SPELL_HIT 0x00000010 Successful attack by Spell that use melee weapon
PROC_FLAG_TAKEN_MELEE_SPELL_HIT 0x00000020 Taken damage by Spell that use melee weapon
PROC_FLAG_SUCCESSFUL_RANGED_HIT 0x00000040 Successful Ranged attack (all ranged attack deal as spell so newer set :( )
PROC_FLAG_TAKEN_RANGED_HIT 0x00000080 Taken damage from ranged attack (all ranged attack deal as spell so newer set :( )
PROC_FLAG_SUCCESSFUL_RANGED_SPELL_HIT 0x00000100 Successful Ranged attack by Spell that use ranged weapon
PROC_FLAG_TAKEN_RANGED_SPELL_HIT 0x00000200 Taken damage by Spell that use ranged weapon
PROC_FLAG_SUCCESSFUL_POSITIVE_AOE_HIT 0x00000400 Successful AoE (not 100% sure unused)
PROC_FLAG_TAKEN_POSITIVE_AOE 0x00000800 Taken AoE (not 100% sure unused)
PROC_FLAG_SUCCESSFUL_AOE_SPELL_HIT 0x00001000 Successful AoE damage spell hit (not 100% sure unused)
PROC_FLAG_TAKEN_AOE_SPELL_HIT 0x00002000 Taken AoE damage spell hit (not 100% sure unused)
PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL 0x00004000 Successful cast positive spell (by default only on healing)
PROC_FLAG_TAKEN_POSITIVE_SPELL 0x00008000 Taken positive spell hit (by default only on healing)
PROC_FLAG_SUCCESSFUL_NEGATIVE_SPELL_HIT 0x00010000 Successful negative spell cast (by default only on damage)
PROC_FLAG_TAKEN_NEGATIVE_SPELL_HIT 0x00020000 Taken negative spell (by default only on damage)
PROC_FLAG_ON_DO_PERIODIC 0x00040000 Successful do periodic (damage / healing determined from 14-17 flags)
PROC_FLAG_ON_TAKE_PERIODIC 0x00080000 Taken spell periodic (damage / healing determined from 14-17 flags)
PROC_FLAG_TAKEN_ANY_DAMAGE 0x00100000 Taken any damage
PROC_FLAG_ON_TRAP_ACTIVATION 0x00200000 On trap activation
PROC_FLAG_TAKEN_OFFHAND_HIT 0x00400000 Taken off-hand melee attacks(not used)
PROC_FLAG_SUCCESSFUL_OFFHAND_HIT 0x00800000 Successful off-hand melee attacks
PROC_FLAG_DEATH 0x01000000 Died in any way

procEx

Name Bit Comment
PROC_EX_NONE 0x0000000 If none can tigger on Hit/Crit only (passive spells MUST defined by SpellFamily flag)
PROC_EX_NORMAL_HIT 0x0000001 If set only from normal hit (only damage spells)
PROC_EX_CRITICAL_HIT 0x0000002
PROC_EX_MISS 0x0000004
PROC_EX_RESIST 0x0000008
PROC_EX_DODGE 0x0000010
PROC_EX_PARRY 0x0000020
PROC_EX_BLOCK 0x0000040
PROC_EX_EVADE 0x0000080
PROC_EX_IMMUNE 0x0000100
PROC_EX_DEFLECT 0x0000200
PROC_EX_ABSORB 0x0000400
PROC_EX_REFLECT 0x0000800
PROC_EX_INTERRUPT 0x0001000 Melee hit result can be Interrupt (not used)
PROC_EX_FULL_BLOCK 0x0002000 Block all attack damage
PROC_EX_RESERVED2 0x0004000
PROC_EX_NOT_ACTIVE_SPELL 0x0008000
PROC_EX_EX_TRIGGER_ALWAYS 0x0010000 If set trigger always ( no matter another flags) used for drop charges
PROC_EX_EX_ONE_TIME_TRIGGER 0x0020000 If set trigger always but only one time
PROC_EX_ONLY_ACTIVE_SPELL 0x0040000 Spell has to do damage/heal to proc

ppmRate

This field controls the times per minute that the spell should proc. If zero, then the value is taken from the DBC entry.

CustomChance

Custom chance for triggering, given in percentage.

Cooldown

Define hidden cooldowns on the spell, given in seconds. Also known as the proc's internal cooldown, or ICD.