Spell.dbc/procFlags
Jump to navigation
Jump to search
This information is located in the source file of "..src\server\game\Spell\SpellMgr.h".
Version - 3.3.5.12340 - ProcFlags ()
Flag | Attribute String | Bitmask | Comments |
---|---|---|---|
0 | PROC_FLAG_NONE | 0x00000000 | - N/A |
1 | PROC_FLAG_HEARTBEAT | 0x00000001 | - 01 Occurs when a spell "heartbeat" checks to see if the aura breaks, used in spells with that attribute at 25/50/75% duration to see if the spell breaks based on resistances. |
2 | PROC_FLAG_KILL | 0x00000002 | - 02 Kill target (in most cases need XP/Honor reward). |
4 | PROC_FLAG_DONE_MELEE_AUTO_ATTACK | 0x00000004 | - 03 Done melee auto attack. |
8 | PROC_FLAG_TAKEN_MELEE_AUTO_ATTACK | 0x00000008 | - 04 Taken melee auto attack. |
16 | PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS | 0x00000010 | - 05 Done attack by Spell that has dmg class melee. |
32 | PROC_FLAG_TAKEN_SPELL_MELEE_DMG_CLASS | 0x00000020 | - 06 Taken attack by Spell that has dmg class melee. |
64 | PROC_FLAG_DONE_RANGED_AUTO_ATTACK | 0x00000040 | - 07 Done ranged auto attack. |
128 | PROC_FLAG_TAKEN_RANGED_AUTO_ATTACK | 0x00000080 | - 08 Taken ranged auto attack. |
256 | PROC_FLAG_DONE_SPELL_RANGED_DMG_CLASS | 0x00000100 | - 09 Done attack by Spell that has dmg class ranged. |
512 | PROC_FLAG_TAKEN_SPELL_RANGED_DMG_CLASS | 0x00000200 | - 10 Taken attack by Spell that has dmg class ranged. |
1,024 | PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_POS | 0x00000400 | - 11 Done positive spell that has dmg class none. |
2,048 | PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_POS | 0x00000800 | - 12 Taken positive spell that has dmg class none. |
4,096 | PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG | 0x00001000 | - 13 Done negative spell that has dmg class none. |
8,192 | PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_NEG | 0x00002000 | - 14 Taken negative spell that has dmg class none. |
16,384 | PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS | 0x00004000 | - 15 Done positive spell that has dmg class magic. |
32,768 | PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS | 0x00008000 | - 16 Taken positive spell that has dmg class magic. |
65,536 | PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG | 0x00010000 | - 17 Done negative spell that has dmg class magic. |
131,072 | PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG | 0x00020000 | - 18 Taken negative spell that has dmg class magic. |
262,144 | PROC_FLAG_DONE_PERIODIC | 0x00040000 | - 19 Successful do periodic (damage / healing). (Only applies to DoTs/HoTs done by the caster including taking their own spells). |
524,288 | PROC_FLAG_TAKEN_PERIODIC | 0x00080000 | - 20 Taken spell periodic (damage / healing). (Only applies to DoTs/HoTs taken by anyone except the caster). |
1,048,576 | PROC_FLAG_TAKEN_DAMAGE | 0x00100000 | - 21 Taken any damage. |
2,097,152 | PROC_FLAG_DONE_TRAP_ACTIVATION | 0x00200000 | - 22 On trap activation (possibly needs name change to ON_GAMEOBJECT_CAST or USE). |
4,194,304 | PROC_FLAG_DONE_MAINHAND_ATTACK | 0x00400000 | - 23 Done main-hand melee attacks (spell and autoattack). |
8,388,608 | PROC_FLAG_DONE_OFFHAND_ATTACK | 0x00800000 | - 24 Done off-hand melee attacks (spell and autoattack). |
16,777,216 | PROC_FLAG_DEATH | 0x01000000 | - 25 Died in any way. |
The following ProcFlagsExLegacy was sourced from 5.4.8 code. I am not sure if this dates back before 3.0 or not but it is the same in current master branch. Possibly fork dependent for later than 3.3.5a in some instances.
No comment means the title is self descriptive or not enough information.
Version - 3.0 and Higher - ProcFlagsExLegacy - ProcFlagsEx ( … )
Flag | String Name | Bitmask | Comments |
---|---|---|---|
0 | PROC_EX_NONE | 0x00000000 | PROC_HIT_CRITICAL for TAKEN proc type, PROC_HIT_NORMAL | PROC_HIT_CRITICAL | PROC_HIT_ABSORB for DONE. |
1 | PROC_EX_NORMAL_HIT | 0x00000001 | 1 - Triggers from a normal hit (only damage spells, non-critical hits). |
2 | PROC_EX_CRITICAL_HIT | 0x00000002 | 2 - |
4 | PROC_EX_MISS | 0x00000004 | 3 - |
8 | PROC_EX_RESIST | 0x00000008 | 4 - |
16 | PROC_EX_DODGE | 0x00000010 | 5 - |
32 | PROC_EX_PARRY | 0x00000020 | 6 - |
64 | PROC_EX_BLOCK | 0x00000040 | 7 - Partial or full block. |
128 | PROC_EX_EVADE | 0x00000080 | 8 - |
256 | PROC_EX_IMMUNE | 0x00000100 | 9 - |
512 | PROC_EX_DEFLECT | 0x00000200 | 10 - |
1,024 | PROC_EX_ABSORB | 0x00000400 | 11 - Partial or full absorb |
2,048 | PROC_EX_REFLECT | 0x00000800 | 12 - Similarly like the above might not require a full spell reflect. |
4,096 | PROC_EX_INTERRUPT | 0x00001000 | 13 - Melee hit result can be Interrupt (not used). |
8,192 | PROC_EX_FULL_BLOCK | 0x00002000 | 14 - Blocks all attack damage. |
16,384 | PROC_EX_RESERVED2 | 0x00004000 | 15 - Personal loot method is enforced. |
32,768 | PROC_EX_NOT_ACTIVE_SPELL | 0x00008000 | 16 - Spell must not do damage/heal to proc. |
65,536 | PROC_EX_EX_TRIGGER_ALWAYS | 0x00010000 | 17 - If this is set it will always trigger no matter the hit outcome. |
131,072 | PROC_EX_EX_ONE_TIME_TRIGGER | 0x00020000 | 18 - If set this will trigger always but only one time. (This might have never been implemented in this method.) |
262,144 | PROC_EX_ONLY_ACTIVE_SPELL | 0x00040000 | 19 - The spell has to do damage or healing to proc. |
524,288 | PROC_EX_INTERNAL_CANT_PROC | 0x00080000 | 20 - Flag for internal use - do not use these in DB. |
1,048,576 | PROC_EX_INTERNAL_DOT | 0x00100000 | 21 - Flag for internal use - do not use these in DB. |
2,097,152 | PROC_EX_INTERNAL_HOT | 0x00200000 | 22 - Flag for internal use - do not use these in DB. |
4,194,304 | PROC_EX_INTERNAL_TRIGGERED | 0x00400000 | 23 - Flag for internal use - do not use these in DB. |
8,388,608 | PROC_EX_INTERNAL_REQ_FAMILY | 0x00800000 | 24 - Flag for internal use - do not use these in DB. |
Extra ProcEx Mask Information - AURA_SPELL_PROC_EX_MASK =
(PROC_EX_NORMAL_HIT | PROC_EX_CRITICAL_HIT | PROC_EX_MISS | \ PROC_EX_RESIST | PROC_EX_DODGE | PROC_EX_PARRY | PROC_EX_BLOCK | \ PROC_EX_EVADE | PROC_EX_IMMUNE | PROC_EX_DEFLECT | \ PROC_EX_ABSORB | PROC_EX_REFLECT | PROC_EX_INTERRUPT)
Version - 10.1.0+ (Master Branch 5/9/23) - ProcFlags ()
Flag | Attribute String | Bitmask | Comments |
---|---|---|---|
0 | PROC_FLAG_NONE | 0x00000000 | - N/A |
1 | PROC_FLAG_HEARTBEAT | 0x00000001 | - 00 Occurs when a spell "heartbeat" checks to see if the aura breaks, used in spells with that attribute at 25/50/75% duration to see if the spell breaks based on resistances. |
2 | PROC_FLAG_KILL | 0x00000002 | - 01 Kill target (in most cases need XP/Honor reward). |
4 | PROC_FLAG_DEAL_MELEE_SWING | 0x00000004 | - 02 Done melee auto attack. |
8 | PROC_FLAG_TAKE_MELEE_SWING | 0x00000008 | - 03 Taken melee auto attack. |
16 | PROC_FLAG_DEAL_MELEE_ABILITY | 0x00000010 | - 04 Done attack by Spell that has dmg class melee. |
32 | PROC_FLAG_TAKE_MELEE_ABILITY | 0x00000020 | - 05 Taken attack by Spell that has dmg class melee. |
64 | PROC_FLAG_DEAL_RANGED_ATTACK | 0x00000040 | - 06 Done ranged auto attack. |
128 | PROC_FLAG_TAKE_RANGED_ATTACK | 0x00000080 | - 07 Taken ranged auto attack. |
256 | PROC_FLAG_DEAL_RANGED_ABILITY | 0x00000100 | - 08 Done attack by Spell that has dmg class ranged. |
512 | PROC_FLAG_TAKE_RANGED_ABILITY | 0x00000200 | - 09 Taken attack by Spell that has dmg class ranged. |
1,024 | PROC_FLAG_DEAL_HELPFUL_ABILITY | 0x00000400 | - 10 Done positive spell that has dmg class none. |
2,048 | PROC_FLAG_TAKE_HELPFUL_ABILITY | 0x00000800 | - 11 Taken positive spell that has dmg class none. |
4,096 | PROC_FLAG_DEAL_HARMFUL_ABILITY | 0x00001000 | - 12 Done negative spell that has dmg class none. |
8,192 | PROC_FLAG_TAKE_HARMFUL_ABILITY | 0x00002000 | - 13 Taken negative spell that has dmg class none. |
16,384 | PROC_FLAG_DEAL_HELPFUL_SPELL | 0x00004000 | - 14 Done positive spell that has dmg class magic. |
32,768 | PROC_FLAG_TAKE_HELPFUL_SPELL | 0x00008000 | - 15 Taken positive spell that has dmg class magic. |
65,536 | PROC_FLAG_DEAL_HARMFUL_SPELL | 0x00010000 | - 16 Done negative spell that has dmg class magic. |
131,072 | PROC_FLAG_TAKE_HARMFUL_SPELL | 0x00020000 | - 17 Taken negative spell that has dmg class magic. |
262,144 | PROC_FLAG_DEAL_HARMFUL_PERIODIC | 0x00040000 | - 18 Successful do periodic damage. |
524,288 | PROC_FLAG_TAKE_HARMFUL_PERIODIC | 0x00080000 | - 19 Taken spell periodic (damage / healing). |
1,048,576 | PROC_FLAG_TAKE_ANY_DAMAGE | 0x00100000 | - 20 Taken any damage. |
2,097,152 | PROC_FLAG_DEAL_HELPFUL_PERIODIC | 0x00200000 | - 21 Successful do periodic healing. |
4,194,304 | PROC_FLAG_MAIN_HAND_WEAPON_SWING | 0x00400000 | - 22 Done main-hand melee attacks (spell and autoattack). |
8,388,608 | PROC_FLAG_OFF_HAND_WEAPON_SWING | 0x00800000 | - 23 Done off-hand melee attacks (spell and autoattack). |
16,777,216 | PROC_FLAG_DEATH | 0x01000000 | - 24 Died in any way. |
33,554,432 | PROC_FLAG_JUMP | 0x02000000 | - 25 Jumped. |
67,108,864 | PROC_FLAG_PROC_CLONE_SPELL | 0x04000000 | - 26 Proc Clone Spell. |
134,217,728 | PROC_FLAG_ENTER_COMBAT | 0x08000000 | - 27 Entered combat. |
268,435,456 | PROC_FLAG_ENCOUNTER_START | 0x10000000 | - 28 Encounter started. |
536,870,912 | PROC_FLAG_CAST_ENDED | 0x20000000 | - 29 Cast Ended. |
1,073,741,824 | PROC_FLAG_LOOTED | 0x40000000 | - 30 Looted (took from loot, not opened loot window). |
2,147,483,648 | PROC_FLAG_TAKE_HELPFUL_PERIODIC | 0x80000000 | - 31 Take Helpful Periodic. |
Version - 10.1.0+ (Master Branch 5/9/23) - ProcFlags2 ()
Flag | Attribute String | Bitmask | Comments |
---|---|---|---|
0 | PROC_FLAG_2_NONE | 0x00000000 | - N/A |
1 | PROC_FLAG_2_TARGET_DIES | 0x00000001 | - 00 Occurs when player tapped target dies. |
2 | PROC_FLAG_2_KNOCKBACK | 0x00000002 | - 01 Triggers on knockback. (Not tested if this is player or target.) |
4 | PROC_FLAG_2_CAST_SUCCESSFUL | 0x00000004 | - 02 This flag procs on a spell that completed its cast and was not interrupted in any way. |
Version - 10.1.0+ (Master Branch 5/9/23) - ProcFlagMasks (Flag Mask Combinations) ()
AUTO_ATTACK_PROC_FLAG_MASK = PROC_FLAG_DEAL_MELEE_SWING | PROC_FLAG_TAKE_MELEE_SWING | PROC_FLAG_DEAL_RANGED_ATTACK | PROC_FLAG_TAKE_RANGED_ATTACK,
MELEE_PROC_FLAG_MASK = PROC_FLAG_DEAL_MELEE_SWING | PROC_FLAG_TAKE_MELEE_SWING | PROC_FLAG_DEAL_MELEE_ABILITY | PROC_FLAG_TAKE_MELEE_ABILITY | PROC_FLAG_MAIN_HAND_WEAPON_SWING | PROC_FLAG_OFF_HAND_WEAPON_SWING,
RANGED_PROC_FLAG_MASK = PROC_FLAG_DEAL_RANGED_ATTACK | PROC_FLAG_TAKE_RANGED_ATTACK | PROC_FLAG_DEAL_RANGED_ABILITY | PROC_FLAG_TAKE_RANGED_ABILITY,
SPELL_PROC_FLAG_MASK = PROC_FLAG_DEAL_MELEE_ABILITY | PROC_FLAG_TAKE_MELEE_ABILITY | PROC_FLAG_DEAL_RANGED_ATTACK | PROC_FLAG_TAKE_RANGED_ATTACK | PROC_FLAG_DEAL_RANGED_ABILITY | PROC_FLAG_TAKE_RANGED_ABILITY | PROC_FLAG_DEAL_HELPFUL_ABILITY | PROC_FLAG_TAKE_HELPFUL_ABILITY | PROC_FLAG_DEAL_HARMFUL_ABILITY | PROC_FLAG_TAKE_HARMFUL_ABILITY | PROC_FLAG_DEAL_HELPFUL_SPELL | PROC_FLAG_TAKE_HELPFUL_SPELL | PROC_FLAG_DEAL_HARMFUL_SPELL | PROC_FLAG_TAKE_HARMFUL_SPELL | PROC_FLAG_DEAL_HARMFUL_PERIODIC | PROC_FLAG_TAKE_HARMFUL_PERIODIC | PROC_FLAG_DEAL_HELPFUL_PERIODIC | PROC_FLAG_TAKE_HELPFUL_PERIODIC,
DONE_HIT_PROC_FLAG_MASK = PROC_FLAG_DEAL_MELEE_SWING | PROC_FLAG_DEAL_RANGED_ATTACK | PROC_FLAG_DEAL_MELEE_ABILITY | PROC_FLAG_DEAL_RANGED_ABILITY | PROC_FLAG_DEAL_HELPFUL_ABILITY | PROC_FLAG_DEAL_HARMFUL_ABILITY | PROC_FLAG_DEAL_HELPFUL_SPELL | PROC_FLAG_DEAL_HARMFUL_SPELL | PROC_FLAG_DEAL_HARMFUL_PERIODIC | PROC_FLAG_DEAL_HELPFUL_PERIODIC | PROC_FLAG_MAIN_HAND_WEAPON_SWING | PROC_FLAG_OFF_HAND_WEAPON_SWING,
TAKEN_HIT_PROC_FLAG_MASK = PROC_FLAG_TAKE_MELEE_SWING | PROC_FLAG_TAKE_RANGED_ATTACK | PROC_FLAG_TAKE_MELEE_ABILITY | PROC_FLAG_TAKE_RANGED_ABILITY | PROC_FLAG_TAKE_HELPFUL_ABILITY | PROC_FLAG_TAKE_HARMFUL_ABILITY | PROC_FLAG_TAKE_HELPFUL_SPELL | PROC_FLAG_TAKE_HARMFUL_SPELL | PROC_FLAG_TAKE_HARMFUL_PERIODIC | PROC_FLAG_TAKE_HELPFUL_PERIODIC | PROC_FLAG_TAKE_ANY_DAMAGE,
REQ_SPELL_PHASE_PROC_FLAG_MASK = SPELL_PROC_FLAG_MASK & DONE_HIT_PROC_FLAG_MASK
Version - 10.1.0+ (Master Branch 5/9/23) - ProcFlagsSpellType ()
PROC_SPELL_TYPE_NONE = 0x0000000, PROC_SPELL_TYPE_DAMAGE = 0x0000001, // damage type of spell PROC_SPELL_TYPE_HEAL = 0x0000002, // heal type of spell PROC_SPELL_TYPE_NO_DMG_HEAL = 0x0000004, // other spells PROC_SPELL_TYPE_MASK_ALL = PROC_SPELL_TYPE_DAMAGE | PROC_SPELL_TYPE_HEAL | PROC_SPELL_TYPE_NO_DMG_HEAL
Version - 10.1.0+ (Master Branch 5/9/23) - ProcFlagsSpellPhase ()
PROC_SPELL_PHASE_NONE = 0x0000000, PROC_SPELL_PHASE_CAST = 0x0000001, PROC_SPELL_PHASE_HIT = 0x0000002, PROC_SPELL_PHASE_FINISH = 0x0000004, PROC_SPELL_PHASE_MASK_ALL = PROC_SPELL_PHASE_CAST | PROC_SPELL_PHASE_HIT | PROC_SPELL_PHASE_FINISH
Version - 10.1.0+ (Master Branch 5/9/23) - ProcFlagsHit ()
PROC_HIT_NONE = 0x0000000, // no value - PROC_HIT_NORMAL | PROC_HIT_CRITICAL for TAKEN proc type, PROC_HIT_NORMAL | PROC_HIT_CRITICAL | PROC_HIT_ABSORB for DONE PROC_HIT_NORMAL = 0x0000001, // non-critical hits PROC_HIT_CRITICAL = 0x0000002, PROC_HIT_MISS = 0x0000004, PROC_HIT_FULL_RESIST = 0x0000008, PROC_HIT_DODGE = 0x0000010, PROC_HIT_PARRY = 0x0000020, PROC_HIT_BLOCK = 0x0000040, // partial or full block PROC_HIT_EVADE = 0x0000080, PROC_HIT_IMMUNE = 0x0000100, PROC_HIT_DEFLECT = 0x0000200, PROC_HIT_ABSORB = 0x0000400, // partial or full absorb PROC_HIT_REFLECT = 0x0000800, PROC_HIT_INTERRUPT = 0x0001000, PROC_HIT_FULL_BLOCK = 0x0002000, PROC_HIT_MASK_ALL = 0x0003FFF
Version - 10.1.0+ (Master Branch 5/9/23) - ProcAttributes ()
PROC_ATTR_NONE = 0x0000000, PROC_ATTR_REQ_EXP_OR_HONOR = 0x0000001, // requires proc target to give exp or honor for aura proc PROC_ATTR_TRIGGERED_CAN_PROC = 0x0000002, // aura can proc even with triggered spells PROC_ATTR_REQ_POWER_COST = 0x0000004, // requires triggering spell to have a power cost for aura proc PROC_ATTR_REQ_SPELLMOD = 0x0000008, // requires triggering spell to be affected by proccing aura to drop charges PROC_ATTR_USE_STACKS_FOR_CHARGES = 0x0000010, // consuming proc drops a stack from proccing aura instead of charge PROC_ATTR_REDUCE_PROC_60 = 0x0000080, // aura should have a reduced chance to proc if level of proc Player >60 PROC_ATTR_CANT_PROC_FROM_ITEM_CAST = 0x0000100, // do not allow aura proc if proc is caused by a spell casted by item