AzerothCore
Pages :

spell_proc

<-Volver a: World

Tabla `spell_proc`

Esta tabla contiene informaci贸n sobre en qu茅 eventos (o procs) se activan ciertos hechizos. Todos los hechizos de esta tabla deben aplicar un aura SPELL_AURA_PROC_TRIGGER_SPELL (42). Cualquier entrada de esta tabla sobrescribir谩 la configuraci贸n de proc existente en la entrada DBC del hechizo.

Estructura

Field Type Attributes Key Null Default Extra Comment
SpellId INT SIGNED PRI NO 0 Unique
SchoolMask TINYINT UNSIGNED NO 0
SpellFamilyName SMALLINT UNSIGNED NO 0
SpellFamilyMask0 INT UNSIGNED NO 0
SpellFamilyMask1 INT UNSIGNED NO 0
SpellFamilyMask2 INT UNSIGNED NO 0
ProcFlags INT UNSIGNED NO 0
SpellTypeMask INT UNSIGNED NO 0
SpellPhaseMask INT UNSIGNED NO 0
HitMask INT UNSIGNED NO 0
AttributesMask INT UNSIGNED NO 0
DisableEffectsMask INT UNSIGNED NO 0
ProcsPerMinute FLOAT NO 0
Chance FLOAT NO 0
Cooldown INT UNSIGNED NO 0
Charges TINYINT UNSIGNED NO 0

Descripci贸n de los campos

SpellId

El ID del hechizo que es capaz de procear en un evento. (Puede usarse un spellId negativo para hechizos con rango)

SchoolMask

Este campo contiene un bitmask que controla sobre qu茅 tipos de hechizos puede activarse el proc. Por ejemplo, si un aura procea solo cuando la unidad sobre la que se lanza es impactada por hechizos de sombra (hechizo 34914). Para combinar escuelas de hechizo, simplemente suma los valores de bit.

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

Este campo controla qu茅 hechizos de un family name pueden procear el hechizo activado.

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
53 Monk
107 Demon Hunter

SpellFamilyMask0

Este campo controla qu茅 family flags de hechizos pueden procear el hechizo activado.

SpellFamilyMask1

campo-sin-descripci贸n|5

SpellFamilyMask2

campo-sin-descripci贸n|6

ProcFlags

Si es distinto de cero, se usa para sobrescribir los ProcFlags originales del hechizo en el DBC.

Un bitmask que controla qu茅 eventos activan el hechizo. Para combinar los eventos posibles, suma los bits de proc.

Ejemplo: 32+64=96 (PROC_FLAG_TAKEN_MELEE_SPELL_HIT + PROC_FLAG_SUCCESSFUL_RANGED_HIT)

Event Flag Bit value Comment
PROC_FLAG_NONE 0 0x00000000
PROC_FLAG_KILLED 1 0x00000001 Matado por el agresor
PROC_FLAG_KILL_AND_GET_XP 2 0x00000002 Muerte que otorga experiencia u honor
PROC_FLAG_SUCCESSFUL_MELEE_HIT 4 0x00000004 Ataque cuerpo a cuerpo impactado con 茅xito
PROC_FLAG_TAKEN_MELEE_HIT 8 0x00000008 Da帽o recibido de un impacto cuerpo a cuerpo
PROC_FLAG_SUCCESSFUL_MELEE_SPELL_HIT 16 0x00000010 Ataque exitoso de hechizos que usan un arma cuerpo a cuerpo
PROC_FLAG_TAKEN_MELEE_SPELL_HIT 32 0x00000020 Da帽o recibido de hechizos que usan un arma cuerpo a cuerpo
PROC_FLAG_SUCCESSFUL_RANGED_HIT 64 0x00000040 Ataque a distancia impactado con 茅xito
PROC_FLAG_TAKEN_RANGED_HIT 128 0x00000080 Da帽o recibido de un impacto de ataque a distancia
PROC_FLAG_SUCCESSFUL_RANGED_SPELL_HIT 256 0x00000100 Ataque a distancia exitoso de hechizos que usan un arma a distancia
PROC_FLAG_TAKEN_RANGED_SPELL_HIT 512 0x00000200 Da帽o recibido de hechizos que usan un arma a distancia
PROC_FLAG_SUCCESSFUL_POSITIVE_AOE_HIT 1024 0x00000400 Hechizo de 谩rea impactado con 茅xito (no 100% seguro de si no se usa)
PROC_FLAG_TAKEN_POSITIVE_AOE 2048 0x00000800 Hechizo de 谩rea positivo recibido (no 100% seguro de si no se usa)
PROC_FLAG_SUCCESSFUL_AOE_SPELL_HIT 4096 0x00001000 Hechizo de da帽o en 谩rea impactado con 茅xito (no 100% seguro de si no se usa)
PROC_FLAG_TAKEN_AOE_SPELL_HIT 8192 0x00002000 Hechizo de da帽o en 谩rea recibido (no 100% seguro de si no se usa)
PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL 16384 0x00004000 Hechizo positivo lanzado con 茅xito (por defecto solo en curaci贸n)
PROC_FLAG_TAKEN_POSITIVE_SPELL 32768 0x00008000 Hechizo positivo recibido (por defecto solo en curaci贸n)
PROC_FLAG_SUCCESSFUL_NEGATIVE_SPELL_HIT 65536 0x00010000 Hechizo negativo lanzado con 茅xito (por defecto solo en da帽o)
PROC_FLAG_TAKEN_NEGATIVE_SPELL_HIT 131072 0x00020000 Hechizo negativo recibido (por defecto solo en da帽o)
PROC_FLAG_DONE_PERIODIC 262144 0x00040000 Da帽o / curaci贸n peri贸dica hecha, determinado por los flags 14-17
PROC_FLAG_TAKEN_PERIODIC 524288 0x00080000 Da帽o / curaci贸n peri贸dica recibida, determinado por los flags 14-17
PROC_FLAG_TAKEN_ANY_DAMAGE 1048576 0x00100000 Cualquier da帽o recibido
PROC_FLAG_ON_TRAP_ACTIVATION 2097152 0x00200000 Al activar una trampa
PROC_FLAG_TAKEN_OFFHAND_HIT 4194304 0x00400000 Ataques cuerpo a cuerpo de mano secundaria recibidos (sin usar)
PROC_FLAG_SUCCESSFUL_OFFHAND_HIT 8388608 0x00800000 Ataques cuerpo a cuerpo de mano secundaria exitosos
PROC_FLAG_DEATH 16777216 0x01000000 Muerto de cualquier forma

SpellTypeMask

Se usa para elegir qu茅 tipos de hechizos pueden activar el proc; para combinar, simplemente suma los valores de bit.

Event Flag Bit Comment
PROC_SPELL_TYPE_NONE 0 0x00000000
PROC_SPELL_TYPE_DAMAGE 1 0x00000001 solo hechizos de da帽o
PROC_SPELL_TYPE_HEAL 2 0x00000002 solo hechizos de curaci贸n
PROC_SPELL_TYPE_NO_DMG_HEAL 4 0x00000004 todos los dem谩s hechizos
PROC_SPELL_TYPE_MASK_ALL 7 0x00000007 Todas las m谩scaras combinadas

SpellPhaseMask

En qu茅 fase puede el hechizo activar el proc. Normalmente se usa una de ellas a la vez, pero tambi茅n pueden combinarse.

Event Flag Bit Comment
PROC_SPELL_PHASE_NONE 0 0x00000000
PROC_SPELL_PHASE_CAST 1 0x00000001 se activa cuando el hechizo acaba de terminar de lanzarse
PROC_SPELL_PHASE_HIT 2 0x00000002 se activa cuando el hechizo impacta a su objetivo
PROC_SPELL_PHASE_FINISH 4 0x00000004 se activa despu茅s de que el hechizo ha hecho todos sus efectos sobre todos los objetivos
PROC_SPELL_PHASE_MASK_ALL 7 0x00000007 Todas las m谩scaras combinadas

HitMask

Se usa para a帽adir condiciones especiales a los hechizos; algunos hechizos podr铆an activarse solo en golpes cr铆ticos, por ejemplo.

Event Flag Bit Comment
PROC_HIT_NONE 0 0x00000000 (especial, ver nota al pie)
PROC_HIT_NORMAL 1 0x00000001 solo golpes no cr铆ticos
PROC_HIT_CRITICAL 2 0x00000002 solo golpes cr铆ticos
PROC_HIT_MISS 4 0x00000004 autoexplicativo
PROC_HIT_FULL_RESIST 8 0x00000008 solo en resistencia total (sin parcial)
PROC_HIT_DODGE 16 0x00000010 autoexplicativo
PROC_HIT_PARRY 32 0x00000020 autoexplicativo
PROC_HIT_BLOCK 64 0x00000040 bloqueo parcial o total
PROC_HIT_EVADE 128 0x00000080 autoexplicativo
PROC_HIT_IMMUNE 256 0x00000100 autoexplicativo
PROC_HIT_DEFLECT 512 0x00000200 autoexplicativo
PROC_HIT_ABSORB 1024 0x00000400 absorci贸n parcial o total
PROC_HIT_REFLECT 2048 0x00000800 autoexplicativo
PROC_HIT_INTERRUPT 4096 0x00001000 (sin usar por ahora)
PROC_HIT_FULL_BLOCK 8192 0x00002000 solo en bloqueo total
PROC_HIT_MASK_ALL 12287 0x00002FFF Todas las m谩scaras combinadas

PROC_HIT_NONE se activar谩 en:

  • PROC_HIT_NORMAL+PROC_HIT_CRITICAL, cuando el trigger es TAKEN
  • PROC_HIT_NORMAL+PROC_HIT_CRITICAL+PROC_HIT_ABSORB, cuando el trigger es DONE

AttributesMask

A帽ade comportamiento especial al proc; el hechizo podr铆a activar el proc solo si se cumplen estas condiciones.

Event Flag Bit Comment
PROC_ATTR_REQ_EXP_OR_HONOR 1 0x0000001 requiere que el objetivo del proc d茅 exp u honor para que el aura procee
PROC_ATTR_TRIGGERED_CAN_PROC 2 0x0000002 el aura puede procear incluso con hechizos activados (triggered)
PROC_ATTR_REQ_MANA_COST 4 0x0000004 requiere que el hechizo activador tenga un coste de man谩 para que el aura procee
PROC_ATTR_REQ_SPELLMOD 8 0x0000008 requiere que el hechizo activador est茅 afectado por el aura que procea para gastar cargas
PROC_ATTR_USE_STACKS_FOR_CHARGES 16 0x0000010 el proc consumido quita una acumulaci贸n (stack) del aura que procea en lugar de una carga
PROC_ATTR_REDUCE_PROC_60 128 0x0000080 el aura deber铆a tener una probabilidad reducida de procear si el nivel del actor del proc > 60
PROC_ATTR_CANT_PROC_FROM_ITEM_CAST 256 0x0000100 no permite que el aura procee si el proc lo causa un hechizo lanzado por un objeto

DisableEffectsMask

Bitmask para deshabilitar expl铆citamente que efectos de aura espec铆ficos activen el proc. Esto permite un control preciso sobre qu茅 efectos de un aura multi-efecto pueden procear.

Effect Flag Comment
0 1 Deshabilita el efecto de proc de aura 0
1 2 Deshabilita el efecto de proc de aura 1
2 4 Deshabilita el efecto de proc de aura 2

ProcsPerMinute

Si es distinto de cero, este campo controla las veces por minuto que el hechizo deber铆a procear. No deber铆as establecer a la vez ProcsPerMinute y Chance; en ese caso ProcsPerMinute tiene prioridad.

Chance

Si es distinto de cero, probabilidad de que el hechizo se active. Si tanto ProcsPerMinute como Chance se dejan en cero, se toma ProcChance del DBC.

Cooldown

Define cooldowns ocultos en el hechizo, en milisegundos. Tambi茅n conocido como el cooldown interno del proc, o ICD.

El valor debe ser >=0. Si el valor no cumple la condici贸n, el SQL fallar谩 en spell_proc_chk_1.

Charges

Si es distinto de cero, sobrescribe la cantidad de cargas de aura disponibles para procear. Si no, este valor se toma del DBC.