用户工具

站点工具


数据库:world数据库:spell_proc

这是本文档旧的修订版!


spell_proc 表


<-返回:World 数据库

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.

表结构

FieldTypeAttributesKeyNullDefaultExtraComment
SpellIdINTSIGNEDPRINO0Unique
SchoolMaskTINYINTUNSIGNED NO0
SpellFamilyNameSMALLINTUNSIGNED NO0
SpellFamilyMask0INTUNSIGNED NO0
SpellFamilyMask1INTUNSIGNED NO0
SpellFamilyMask2INTUNSIGNED NO0
ProcFlagsINTUNSIGNED NO0
SpellTypeMaskINTUNSIGNED NO0
SpellPhaseMaskINTUNSIGNED NO0
HitMaskINTUNSIGNED NO0
AttributesMaskINTUNSIGNED NO0
ProcsPerMinuteFLOAT NO0
ChanceFLOAT NO0
CooldownINTUNSIGNED NO0
ChargesTINYINTUNSIGNED NO0

字段说明


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 IDBitName
01Physical
12Holy
24Fire
38Nature
416Frost
532Shadow
664Arcane

SpellFamilyName

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

IDFamily Name
0Generic
3Mage
4Warrior
5Warlock
6Priest
7Druid
8Rogue
9Hunter
10Paladin
11Shaman
13Potion
15Death Knight
53Monk
107Demon Hunter

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)

EventFlagBit valueComment
PROC_FLAG_NONE00x00000000
PROC_FLAG_KILLED10x00000001Killed by agressor
PROC_FLAG_KILL_AND_GET_XP20x00000002Kill that yields experience or honor
PROC_FLAG_SUCCESSFUL_MELEE_HIT40x00000004Melee attack hit successful
PROC_FLAG_TAKEN_MELEE_HIT80x00000008Damage taken from melee hit
PROC_FLAG_SUCCESSFUL_MELEE_SPELL_HIT160x00000010Successful attack by spells that use a melee weapon
PROC_FLAG_TAKEN_MELEE_SPELL_HIT320x00000020Damage taken from spells that use a melee weapon
PROC_FLAG_SUCCESSFUL_RANGED_HIT640x00000040Ranged attack hit successful
PROC_FLAG_TAKEN_RANGED_HIT1280x00000080Damage taken from ranged attack hit
PROC_FLAG_SUCCESSFUL_RANGED_SPELL_HIT2560x00000100Successful Ranged attack by spells that use a ranged weapon
PROC_FLAG_TAKEN_RANGED_SPELL_HIT5120x00000200Damage taken from spells that use a ranged weapon
PROC_FLAG_SUCCESSFUL_POSITIVE_AOE_HIT10240x00000400AoE spell hit successful (not 100% sure if unused)
PROC_FLAG_TAKEN_POSITIVE_AOE20480x00000800Positive AoE spell hit taken (not 100% sure if unused)
PROC_FLAG_SUCCESSFUL_AOE_SPELL_HIT40960x00001000AoE damage spell hit successful (not 100% sure if unused)
PROC_FLAG_TAKEN_AOE_SPELL_HIT81920x00002000AoE damage spell hit taken (not 100% sure if unused)
PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL163840x00004000Positive spell cast successful (by default only on healing)
PROC_FLAG_TAKEN_POSITIVE_SPELL327680x00008000Positive spell hit taken (by default only on healing)
PROC_FLAG_SUCCESSFUL_NEGATIVE_SPELL_HIT655360x00010000Negative spell cast successful (by default only on damage)
PROC_FLAG_TAKEN_NEGATIVE_SPELL_HIT1310720x00020000Negative spell hit taken (by default only on damage)
PROC_FLAG_DONE_PERIODIC2621440x00040000Periodic damage / healing done, determined from flags 14-17
PROC_FLAG_TAKEN_PERIODIC5242880x00080000Periodic damage / healing taken, determined from flags 14-17
PROC_FLAG_TAKEN_ANY_DAMAGE10485760x00100000Any damage taken
PROC_FLAG_ON_TRAP_ACTIVATION20971520x00200000On trap activation
PROC_FLAG_TAKEN_OFFHAND_HIT41943040x00400000Off-hand melee attacks taken (not used)
PROC_FLAG_SUCCESSFUL_OFFHAND_HIT83886080x00800000Successful off-hand melee attacks
PROC_FLAG_DEATH167772160x01000000Died in any way

SpellTypeMask

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

EventFlagBitComment
PROC_SPELL_TYPE_NONE00x00000000
PROC_SPELL_TYPE_DAMAGE10x00000001only damaging spells
PROC_SPELL_TYPE_HEAL20x00000002only healing spells
PROC_SPELL_TYPE_NO_DMG_HEAL40x00000004all other spells
PROC_SPELL_TYPE_MASK_ALL70x00000007All 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.

EventFlagBitComment
PROC_SPELL_PHASE_NONE00x00000000
PROC_SPELL_PHASE_CAST10x00000001trigger when spell has just finished casting
PROC_SPELL_PHASE_HIT20x00000002trigger when the spell hits its target
PROC_SPELL_PHASE_FINISH40x00000004trigger after spell has done all its effects on all targets
PROC_SPELL_PHASE_MASK_ALL70x00000007All masks combined

HitMask

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

EventFlagBitComment
PROC_HIT_NONE00x00000000(special see footnote)
PROC_HIT_NORMAL10x00000001only non-critical hits
PROC_HIT_CRITICAL20x00000002only critical hits
PROC_HIT_MISS40x00000004self-explanatory
PROC_HIT_FULL_RESIST80x00000008only on full resist (no partial)
PROC_HIT_DODGE160x00000010self-explanatory
PROC_HIT_PARRY320x00000020self-explanatory
PROC_HIT_BLOCK640x00000040partial or full block
PROC_HIT_EVADE1280x00000080self-explanatory
PROC_HIT_IMMUNE2560x00000100self-explanatory
PROC_HIT_DEFLECT5120x00000200self-explanatory
PROC_HIT_ABSORB10240x00000400partial or full absorb
PROC_HIT_REFLECT20480x00000800self-explanatory
PROC_HIT_INTERRUPT40960x00001000(not used atm)
PROC_HIT_FULL_BLOCK81920x00002000only on full block
PROC_HIT_MASK_ALL122870x00002FFFAll 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 Flag Bit Comment PROC_ATTR_REQ_EXP_OR_HONOR 1 0x0000001 requires proc target to give exp or honor PROC_ATTR_TRIGGERED_CAN_PROC 2 0x0000002 aura can proc even when spell is triggered by another PROC_ATTR_REQ_MANA_COST 4 0x0000004 requires triggering spell to have a mana cost PROC_ATTR_REQ_SPELLMOD 8 0x0000008 requires triggering spell to be affected by aura SpellId (only for mod drops) PROC_ATTR_DISABLE_EFF_0 16 0x0000010 explicitly disables aura proc effect 0 PROC_ATTR_DISABLE_EFF_1 32 0x0000020 explicitly disables aura proc effect 1 PROC_ATTR_DISABLE_EFF_2 64 0x0000040 explicitly disables aura proc effect 2 PROC_ATTR_REDUCE_PROC_60 128 0x0000080 aura has a reduced chance to proc if level of proc actor > 60

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.

Chance

If non-zero, chance for spell to trigger. If both ProcsPerMinute and Chance are left in zero, takes ProcChance from DBC.

Cooldown

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

Value must be >=0. If the value does not meet the condition the SQL will fail on spell_proc_chk_1.

Charges

If non-zero, overrides amount of aura charges available to proc. Else this value is taken from DBC.

数据库/world数据库/spell_proc.1696346251.txt.gz · 最后更改: 2023/10/03 23:17 由 admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki