Spell proc event
DataBase
Таблица `spell_proc_event`
Определяет требования для каста спелл при событиях. Переопределяет установки Spell.dbc, если предусмотрено.
Поле | Тип | Атрибуты | Пусто | Дефолт | Экстра
|
entry | smallint(6) | unsigned | NO | 0 |
|
SchoolMask | tinyint(4) | | NO | 0 |
|
Category | smallint(6) | | NO | 0 |
|
SkillID | smallint(6) | | NO | 0 |
|
SpellFamilyName | smallint(6) | unsigned | NO | 0 |
|
SpellFamilyMask | bigint(40) | unsigned | NO | 0 |
|
procFlags | int(11) | unsigned | NO | 0 |
|
ppmRate | float | | NO | 0 |
|
cooldown | int(10) | unsigned | NO | 0 |
|
Описание полей таблицы
Entry
ID заклинания, которое будет срабатывать по событию, указанному в поле procFlags.
SchoolMask
Если не 0, то битовая маска для проверки соответствия условия на основе школы проверяемого спелла: Fire=2, Mask=1<<(2-1)=2.
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
|
Category
Если не 0, то условие для проверки соответствия на основе категории проверяемого спелла.
SkillID
Номер скилла (См. SkillLine.dbc).
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
|
SpellFamilyMask
This field controls what spells' family flags can proc the triggered spell.
procFlags
Флаг события принимающее значение:
Название | HEX значение | Значение | Коментарий
|
PROC_FLAG_NONE | 0x00000000 | 0 | Нет
|
PROC_FLAG_HIT_MELEE | 0x00000001 | 1 | При Melee ударе
|
PROC_FLAG_STRUCK_MELEE | 0x00000002 | 2 | При получении Melee удара
|
PROC_FLAG_KILL_XP_GIVER | 0x00000004 | 4 | При убийстве цели, дающем XP или хонор
|
PROC_FLAG_SPECIAL_DROP | 0x00000008 | 8 |
|
PROC_FLAG_DODGE | 0x00000010 | 16 | При увертывании от Melee атаки
|
PROC_FLAG_PARRY | 0x00000020 | 32 | При парировании Melee атаки
|
PROC_FLAG_BLOCK | 0x00000040 | 64 | При блокировании атаки
|
PROC_FLAG_TOUCH | 0x00000080 | 128 | При прикосновении (для бомб, наверное?)
|
PROC_FLAG_TARGET_LOW_HEALTH | 0x00000100 | 256 | При нанесении повреждения цели с 20% или менее здоровья
|
PROC_FLAG_LOW_HEALTH | 0x00000200 | 512 | При падении здоровья ниже 20%
|
PROC_FLAG_STRUCK_RANGED | 0x00000400 | 1024 | При получении Ranged удара
|
PROC_FLAG_HIT_SPECIAL | 0x00000800 | 2048 | (!)Удалено, возможно будет переназначено в будущем
|
PROC_FLAG_CRIT_MELEE | 0x00001000 | 4096 | При критическом Melee ударе
|
PROC_FLAG_STRUCK_CRIT_MELEE | 0x00002000 | 8192 | При получении критического Melee удара
|
PROC_FLAG_CAST_SPELL | 0x00004000 | 16384 | При касте спелла (??? and broken Aspect of Hawk)
|
PROC_FLAG_TAKE_DAMAGE | 0x00008000 | 32768 | При получении повреждения
|
PROC_FLAG_CRIT_SPELL | 0x00010000 | 65536 | При критическом ударе спелла
|
PROC_FLAG_HIT_SPELL | 0x00020000 | 131072 | При ударе спелла
|
PROC_FLAG_STRUCK_CRIT_SPELL | 0x00040000 | 262144 | При получении критического удара спеллом
|
PROC_FLAG_HIT_RANGED | 0x00080000 | 524288 | При Ranged ударе
|
PROC_FLAG_STRUCK_SPELL | 0x00100000 | 1048576 | При получении удара спеллом
|
PROC_FLAG_TRAP | 0x00200000 | 2097152 | При активации ловушки (?)
|
PROC_FLAG_CRIT_RANGED | 0x00400000 | 4194304 | При критическом Ranged ударе
|
PROC_FLAG_STRUCK_CRIT_RANGED | 0x00800000 | 8388608 | При получении критического Ranged удара
|
PROC_FLAG_RESIST_SPELL | 0x01000000 | 16777216 | При сопротивлении вражескому спеллу
|
PROC_FLAG_TARGET_RESISTS | 0x02000000 | 33554432 | При сопротивлении врага спеллу
|
PROC_FLAG_TARGET_AVOID_ATTACK | 0x04000000 | 67108864 | При блоке(Block)/уклонении(Dodge)/парировании(Parry) врагом
|
PROC_FLAG_HEAL | 0x08000000 | 134217728 | При лечении кого-то
|
PROC_FLAG_CRIT_HEAL | 0x10000000 | 268435456 | При критическом лечащем эффекте
|
PROC_FLAG_HEALED | 0x20000000 | 536870912 | При лечении кем-то
|
PROC_FLAG_TARGET_BLOCK | | 1073741824 | При блоке врага
|
PROC_FLAG_HEALED | | 2147483648 | On miss melee attack
|
В поле procFlags нужно подставлять значения взятые из таблицы приведенной выше в десятичном виде.
Например:
Для события PROC_FLAG_TOUCH в шестнадцатеричном формате будет 0x00000080. С помощью инженерного
калькулятора переводим это число в десятичный формат и получаем 128. Это значение и подставляем в
поле.
ppmRate
Proc Per Minuts
Максимальное количество проков в минуту.
cooldown
Минимальное время между проками
|