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 | - 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_DONE_MELEE_AUTO_ATTACK | 0x00000004 | - 02 Done melee auto attack. |
8 | PROC_FLAG_TAKEN_MELEE_AUTO_ATTACK | 0x00000008 | - 03 Taken melee auto attack. |
16 | PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS | 0x00000010 | - 04 Done attack by Spell that has dmg class melee. |
32 | PROC_FLAG_TAKEN_SPELL_MELEE_DMG_CLASS | 0x00000020 | - 05 Taken attack by Spell that has dmg class melee. |
64 | PROC_FLAG_DONE_RANGED_AUTO_ATTACK | 0x00000040 | - 06 Done ranged auto attack. |
128 | PROC_FLAG_TAKEN_RANGED_AUTO_ATTACK | 0x00000080 | - 07 Taken ranged auto attack. |
256 | PROC_FLAG_DONE_SPELL_RANGED_DMG_CLASS | 0x00000100 | - 08 Done attack by Spell that has dmg class ranged. |
512 | PROC_FLAG_TAKEN_SPELL_RANGED_DMG_CLASS | 0x00000200 | - 09 Taken attack by Spell that has dmg class ranged. |
1,024 | PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_POS | 0x00000400 | - 10 Done positive spell that has dmg class none. |
2,048 | PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_POS | 0x00000800 | - 11 Taken positive spell that has dmg class none. |
4,096 | PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG | 0x00001000 | - 12 Done negative spell that has dmg class none. |
8,192 | PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_NEG | 0x00002000 | - 13 Taken negative spell that has dmg class none. |
16,384 | PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS | 0x00004000 | - 14 Done positive spell that has dmg class magic. |
32,768 | PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS | 0x00008000 | - 15 Taken positive spell that has dmg class magic. |
65,536 | PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG | 0x00010000 | - 16 Done negative spell that has dmg class magic. |
131,072 | PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG | 0x00020000 | - 17 Taken negative spell that has dmg class magic. |
262,144 | PROC_FLAG_DONE_PERIODIC | 0x00040000 | - 18 Successful do periodic (damage / healing). |
524,288 | PROC_FLAG_TAKEN_PERIODIC | 0x00080000 | - 19 Taken spell periodic (damage / healing). |
1,048,576 | PROC_FLAG_TAKEN_DAMAGE | 0x00100000 | - 20 Taken any damage. |
2,097,152 | PROC_FLAG_DONE_TRAP_ACTIVATION | 0x00200000 | - 21 On trap activation (possibly needs name change to ON_GAMEOBJECT_CAST or USE). |
4,194,304 | PROC_FLAG_DONE_MAINHAND_ATTACK | 0x00400000 | - 22 Done main-hand melee attacks (spell and autoattack). |
8,388,608 | PROC_FLAG_DONE_OFFHAND_ATTACK | 0x00800000 | - 23 Done off-hand melee attacks (spell and autoattack). |
16,777,216 | PROC_FLAG_DEATH | 0x01000000 | - 24 Died in any way. |
I will properly format/page the following information in the near future but want to go ahead and make it readily available for the time being.
Some of this information may also very well deserve its own page with another title that more accurately reflects the data.
Xiberion (talk) 11:09, 9 May 2023 (CEST)
Version - 10.1.0+ (Master Branch 5/9/23) - ProcFlags + ProcFlags2 ()
PROC_FLAG_NONE = 0x00000000,
PROC_FLAG_HEARTBEAT = 0x00000001, // 00 Killed by aggressor - not sure about this flag PROC_FLAG_KILL = 0x00000002, // 01 Kill target (in most cases need XP/Honor reward)
PROC_FLAG_DEAL_MELEE_SWING = 0x00000004, // 02 Done melee auto attack PROC_FLAG_TAKE_MELEE_SWING = 0x00000008, // 03 Taken melee auto attack
PROC_FLAG_DEAL_MELEE_ABILITY = 0x00000010, // 04 Done attack by Spell that has dmg class melee PROC_FLAG_TAKE_MELEE_ABILITY = 0x00000020, // 05 Taken attack by Spell that has dmg class melee
PROC_FLAG_DEAL_RANGED_ATTACK = 0x00000040, // 06 Done ranged auto attack PROC_FLAG_TAKE_RANGED_ATTACK = 0x00000080, // 07 Taken ranged auto attack
PROC_FLAG_DEAL_RANGED_ABILITY = 0x00000100, // 08 Done attack by Spell that has dmg class ranged PROC_FLAG_TAKE_RANGED_ABILITY = 0x00000200, // 09 Taken attack by Spell that has dmg class ranged
PROC_FLAG_DEAL_HELPFUL_ABILITY = 0x00000400, // 10 Done positive spell that has dmg class none PROC_FLAG_TAKE_HELPFUL_ABILITY = 0x00000800, // 11 Taken positive spell that has dmg class none
PROC_FLAG_DEAL_HARMFUL_ABILITY = 0x00001000, // 12 Done negative spell that has dmg class none PROC_FLAG_TAKE_HARMFUL_ABILITY = 0x00002000, // 13 Taken negative spell that has dmg class none
PROC_FLAG_DEAL_HELPFUL_SPELL = 0x00004000, // 14 Done positive spell that has dmg class magic PROC_FLAG_TAKE_HELPFUL_SPELL = 0x00008000, // 15 Taken positive spell that has dmg class magic
PROC_FLAG_DEAL_HARMFUL_SPELL = 0x00010000, // 16 Done negative spell that has dmg class magic PROC_FLAG_TAKE_HARMFUL_SPELL = 0x00020000, // 17 Taken negative spell that has dmg class magic
PROC_FLAG_DEAL_HARMFUL_PERIODIC = 0x00040000, // 18 Successful do periodic (damage) PROC_FLAG_TAKE_HARMFUL_PERIODIC = 0x00080000, // 19 Taken spell periodic (damage)
PROC_FLAG_TAKE_ANY_DAMAGE = 0x00100000, // 20 Taken any damage
PROC_FLAG_DEAL_HELPFUL_PERIODIC = 0x00200000, // 21 Successful do periodic (healing)
PROC_FLAG_MAIN_HAND_WEAPON_SWING = 0x00400000, // 22 Done main-hand melee attacks (spell and autoattack) PROC_FLAG_OFF_HAND_WEAPON_SWING = 0x00800000, // 23 Done off-hand melee attacks (spell and autoattack)
PROC_FLAG_DEATH = 0x01000000, // 24 Died in any way
PROC_FLAG_JUMP = 0x02000000, // 25 Jumped
PROC_FLAG_PROC_CLONE_SPELL = 0x04000000, // 26 Proc Clone Spell
PROC_FLAG_ENTER_COMBAT = 0x08000000, // 27 Entered combat
PROC_FLAG_ENCOUNTER_START = 0x10000000, // 28 Encounter started
PROC_FLAG_CAST_ENDED = 0x20000000, // 29 Cast Ended
PROC_FLAG_LOOTED = 0x40000000, // 30 Looted (took from loot, not opened loot window)
PROC_FLAG_TAKE_HELPFUL_PERIODIC = 0x80000000, // 31 Take Helpful Periodic
Begin Proc Flag 2 --
PROC_FLAG_2_NONE = 0x00000000, PROC_FLAG_2_TARGET_DIES = 0x00000001, PROC_FLAG_2_KNOCKBACK = 0x00000002, PROC_FLAG_2_CAST_SUCCESSFUL = 0x00000004
-- End Proc Flag 2
Version - 10.1.0+ (Master Branch 5/9/23) - ProcFlagMasks ()
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 Actor > 60 PROC_ATTR_CANT_PROC_FROM_ITEM_CAST = 0x0000100, // do not allow aura proc if proc is caused by a spell casted by item