summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKitzunu <24550914+Kitzunu@users.noreply.github.com>2020-12-22 16:13:47 +0100
committerGitHub <noreply@github.com>2020-12-22 16:13:47 +0100
commit5eb8a16667cb31d814679f863129f1b9ecf8afe8 (patch)
treed3427fc1243451062c0e261cf3b800d1005ec6b1
parentf0ee68be976740a612b07c2c1805e07da4fd7192 (diff)
downloadwiki-5eb8a16667cb31d814679f863129f1b9ecf8afe8.tar.gz
wiki-5eb8a16667cb31d814679f863129f1b9ecf8afe8.tar.bz2
wiki-5eb8a16667cb31d814679f863129f1b9ecf8afe8.zip
chore(spell_proc_event): Add definitions (#311)
* wip * Update spell_proc_event.md
-rw-r--r--docs/spell_proc_event.md155
1 files changed, 142 insertions, 13 deletions
diff --git a/docs/spell_proc_event.md b/docs/spell_proc_event.md
index 1c6a077..804cab5 100644
--- a/docs/spell_proc_event.md
+++ b/docs/spell_proc_event.md
@@ -2,16 +2,145 @@
[<-Back-to:World](database-world.md)
-Column | Type | Description
---- | --- | ---
-Entry | mediumint(8) |
-SchoolMask | tinyint(4) |
-SpellFamilyName | smallint(5) unsigned |
-SpellFamilyMask0 | int(10) unsigned |
-SpellFamilyMask1 | int(10) unsigned |
-SpellFamilyMask2 | int(10) unsigned |
-ProcFlags | int(10) unsigned |
-ProcEx | int(10) unsigned |
-PpmRate | float |
-CustomChance | float |
-Cooldown | int(10) unsigned |
+**The \`spell_proc_event\` table**
+
+**Structure**
+
+| Field | Type | Attribute | Key | Null | Default | Extra | Comment
+:--- | :--- | :--- | :--- | :--- | :--- | :--- | :---
+[Entry][1] | mediumint(8) | signed | PRI | | 0
+[SchoolMask][2] | tinyint(4) | signed | | | 0
+[SpellFamilyName][3] | smallint(5) | unsigned | | | 0
+[SpellFamilyMask0][4] | int(10) | unsigned | | | 0
+[SpellFamilyMask1][5] | int(10) | unsigned | | | 0
+[SpellFamilyMask2][6] | int(10) | unsigned | | | 0
+[procFlags][7] | int(10) | unsigned | | | 0
+[procEx][8] | int(10) | unsigned | | | 0
+[ppmRate][9] | float | signed | | | 0
+[CustomChance][10] | float | signed | | | 0
+[Cooldown][11] | int(10) | unsigned | | | 0
+
+[1]: #Entry
+[2]: #SchoolMask
+[3]: #SpellFamilyName
+[4]: #SpellFamilyMask0
+[5]: #SpellFamilyMask1
+[6]: #SpellFamilyMask2
+[7]: #procFlags
+[8]: #procEx
+[9]: #ppmRate
+[10]: #CustomChance
+[11]: #Cooldown
+
+**Description of the fields**
+
+### Entry
+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.
+
+Name | Bit | Hex | Comment
+:--- | :--- | :--- | :---
+SPELL_SCHOOL_NORMAL | 1 | 0x01 | Physical Damage
+SPELL_SCHOOL_HOLY | 2 | 0x02 | Holy Damage
+SPELL_FIRE | 4 | 0x04 | Fire Damage
+SPEL_SCHOOL_NATURE | 8 | 0x08 | Nature Damage
+SPELL_SCHOOL_FROST | 16 | 0x10 | Frost Damage
+SPELL_SCHOOL_SHADOW | 32 | 0x20 | Shadow Damage
+SPELL_SCHOOL_ARCANE | 64 | 0x40 | Arcane Damage
+
+### SpellFamilyName
+This fireld 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
+15 | Death Knight
+
+### SpellFamilyMask0
+This field controls what spells' family flags can proc the triggered spell (you can find SpellFamilyFlags of some spell, using SpellWork).
+
+### SpellFamilyMask1
+This field controls what spells' family flags can proc the triggered spell (you can find SpellFamilyFlags of some spell, using SpellWork).
+
+### SpellFamilyMask2
+This field controls what spells' family flags can proc the triggered spell (you can find SpellFamilyFlags of some spell, using SpellWork).
+
+### 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.
+
+Event | Bit | Hex | Comment
+:--- | :--- | :--- | :---
+PROC_FLAG_NONE | 0 | 0x00000000 |
+PROC_FLAG_KILLED | 1 | 0x00000001 | Killed by aggressor
+PROC_FLAG_KILL | 2 | 0x00000002 | Kill that yields experience or honor
+PROC_FLAG_DONE_MELEE_AUTO_ATTACK | 4 | 0x00000004 | Successful melee attack hit
+PROC_FLAG_TAKEN_MELEE_AUTO_ATTACK | 8 | 0x00000008 | Damage taken from melee hit
+PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS | 16 | 0x00000010 | Successful attack by a spell that use a melee weapon
+PROC_FLAG_TAKEN_SPELL_MELEE_DMG_CLASS | 32 | 0x00000020 | Damage taken from a spell that use a melee weapon
+PROC_FLAG_DONE_RANGED_AUTO_ATTACK | 64 | 0x00000040 | Successful ranged attack hit
+PROC_FLAG_TAKEN_RANGED_AUTO_ATTACK | 128 | 0x00000080 | Damage taken from ranged attack hit
+PROC_FLAG_DONE_SPELL_RANGED_DMG_CLASS | 256 | 0x00000100 | Successful ranged attack by spells that use a ranged weapon
+PROC_FLAG_TAKEN_SPELL_RANGED_DMG_CLASS | 512 | 0x00000200 | Damage taken from spells that use a ranged weapon
+PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_POS | 1024 | 0x00000400 | Done positive spell that has dmg class none
+PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_POS | 2048 | 0x00000800 | Taken positive spell that has dmg class none
+PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG | 4096 | 0x00001000 | Done negative spell that has dmg class none
+PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_NEG | 8192 | 0x00002000 | Taken negative spell that has dmg class none
+PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS | 16384 | 0x00004000 | Done positive spell that has dmg class magic
+PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS | 32768 | 0x00008000 | Taken positive spell that has dmg class magic
+PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG | 65536 | 0x00010000 | Done negative spell that has dmg class magic
+PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG | 131072 | 0x00020000 | Taken negative spell that has dmg class magic
+PROC_FLAG_DONE_PERIODIC | 262144 | 0x00040000 | Successful done periodic (default: Negative ; For positive add PROC_EX_PERIODIC_POSITIVE(Not Implemented))
+PROC_FLAG_TAKEN_PERIODIC | 524288 | 0x00080000 | Successful done periodic (default: Negative ; For positive add PROC_EX_PERIODIC_POSITIVE(Not Implemented))
+PROC_FLAG_TAKEN_DAMAGE | 1048576 | 0x00100000 | Taken any damage
+PROC_FLAG_DONE_TRAP_ACTIVATION | 2097152 | 0x00200000 | On trap activation
+PROC_FLAG_DONE_MAINHAND_ATTACK | 4194304 | 0x00400000 | Done main-hand melee attacks (spell and autoattack)
+PROC_FLAG_DONE_OFFHAND_ATTACK | 8388608 | 0x00800000 | Done off-hand melee attacks (spell and autoattack)
+PROC_FLAG_DEATH | 16777216 | 0x01000000 | Died in any way
+
+### procEx
+procEx | Bit | Hex | Comment
+:--- | :--- | :--- | :---
+PROC_EX_NONE | 0 | 0x0000000 | If none can tigger on Hit/Crit only (passive spells MUST defined by SpellFamily flag)
+PROC_EX_NORMAL_HIT | 1 | 0x0000001 |
+PROC_EX_CRITICAL_HIT | 2 | 0x0000002 |
+PROC_EX_MISS | 4 | 0x0000004 |
+PROC_EX_RESIST | 8 | 0x0000008 |
+PROC_EX_DODGE | 16 | 0x0000010 |
+PROC_EX_PARRY | 32 | 0x0000020 |
+PROC_EX_BLOCK | 64 | 0x0000040 |
+PROC_EX_EVADE | 128 | 0x0000080 |
+PROC_EX_IMMUNE | 256 | 0x0000100 |
+PROC_EX_DEFLECT | 512 | 0x0000200 |
+PROC_EX_ABSORB | 1024 | 0x0000400 |
+PROC_EX_REFLECT | 2048 | 0x0000800 |
+PROC_EX_INTERRUPT | 4096 | 0x0001000 | Melee hit result can be Interrupt (not used)
+PROC_EX_FULL_BLOCK | 8192 | 0x0002000 | Block all attack damage
+PROC_EX_RESERVED2 | 16384 | 0x0004000 |
+PROC_EX_NOT_ACTIVE_SPELL | 32768 | 0x0008000 | Spell mustn't do damage/heal to proc
+PROC_EX_EX_TRIGGER_ALWAYS | 65536 | 0x0010000 | If set trigger always no matter of hit result
+PROC_EX_EX_ONE_TIME_TRIGGER | 131072 | 0x0020000 | If set trigger always but only one time (not implemented yet)
+PROC_EX_ONLY_ACTIVE_SPELL | 262144 | 0x0040000 | Spell has to do damage/heal to proc
+PROC_EX_NO_OVERHEAL | 524288 | 0x0080000 | Proc if heal did some work
+PROC_EX_NO_AURA_REFRESH | 1048576 | 0x0100000 | Proc if aura was not refreshed
+
+### ppmRate
+Proc per minute. If 0 the value will be taken from DBC.
+
+### CustomChance
+If non-zero, chance for spell to trigger.
+
+### Cooldown
+Internal Cooldown (ICD) in milliseconds.