From 6e12d64f0728ddcec447ee65d7a4ac81e9d3cba7 Mon Sep 17 00:00:00 2001 From: Walter Pagani Date: Wed, 6 Jan 2021 14:35:07 -0300 Subject: docs: Converting from HTML to Markdown part #3 (#331) --- docs/spell_proc.md | 593 ++++++++++------------------------------------------- 1 file changed, 103 insertions(+), 490 deletions(-) (limited to 'docs/spell_proc.md') diff --git a/docs/spell_proc.md b/docs/spell_proc.md index 625bb69..5126181 100644 --- a/docs/spell_proc.md +++ b/docs/spell_proc.md @@ -8,215 +8,39 @@ This table holds information on what events (or procs) certain spells are activa **Structure** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Field

Type

Attributes

Key

Null

Default

Extra

Comment

SpellId

int(11)

signed

PRI

NO

0

Unique


-

SchoolMask

tinyint(3)

unsigned


-

NO

0


-


-

SpellFamilyName

smallint(5)

unsigned


-

NO

0


-


-

SpellFamilyMask0

int(10)

unsigned


-

NO

0


-


-

SpellFamilyMask1

int(10)

unsigned


-

NO

0


-


-

SpellFamilyMask2

int(10)

unsigned


-

NO

0


-


-

ProcFlags

int(10)

unsigned


-

NO

0


-


-

SpellTypeMask

int(10)

unsigned


-

NO

0


-


-

SpellPhaseMask

int(10)

unsigned


-

NO

0


-


-

HitMask

int(10)

unsigned


-

NO

0


-


-

AttributesMask

int(10)

unsigned


-

NO

0


-


-

ProcsPerMinute

float


-


-

NO

0


-


-

Chance

float


-


-

NO

0


-


-

Cooldown

int(10)

unsigned


-

NO

0


-


-

Charges

tinyint(3)

unsigned


-

NO

0


-


-

+| Field | Type | Attributes | Key | Null | Default | Extra | Comment | +|-----------------------|-------------|------------|-----|------|---------|--------|---------| +| [SpellId][1] | int(11) | signed | PRI | NO | 0 | Unique | | +| [SchoolMask][2] | tinyint(3) | unsigned | | NO | 0 | | | +| [SpellFamilyName][3] | smallint(5) | unsigned | | NO | 0 | | | +| [SpellFamilyMask0][4] | int(10) | unsigned | | NO | 0 | | | +| [SpellFamilyMask1][5] | int(10) | unsigned | | NO | 0 | | | +| [SpellFamilyMask2][6] | int(10) | unsigned | | NO | 0 | | | +| [ProcFlags][7] | int(10) | unsigned | | NO | 0 | | | +| [SpellTypeMask][8] | int(10) | unsigned | | NO | 0 | | | +| [SpellPhaseMask][9] | int(10) | unsigned | | NO | 0 | | | +| [HitMask][10] | int(10) | unsigned | | NO | 0 | | | +| [AttributesMask][11] | int(10) | unsigned | | NO | 0 | | | +| [ProcsPerMinute][12] | float | | | NO | 0 | | | +| [Chance][13] | float | | | NO | 0 | | | +| [Cooldown][14] | int(10) | unsigned | | NO | 0 | | | +| [Charges][15] | tinyint(3) | unsigned | | NO | 0 | | | + +[1]: #spellid +[2]: #schoolmask +[3]: #spellfamilyname +[4]: #spellfamilymask0 +[5]: #spellfamilymask1 +[6]: #spellfamilymask2 +[7]: #procflags +[8]: #spelltypemask +[9]: #spellphasemask +[10]: #hitmask +[11]: #attributesmask +[12]: #procsperminute +[13]: #chance +[14]: #cooldown +[15]: #charges **Description of the fields** @@ -279,291 +103,81 @@ A bitmask controlling what events trigger the spell. To combine possible events, **Example:** 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

Killed by agressor

PROC_FLAG_KILL_AND_GET_XP

2

0x00000002

Kill that yields experience or honor

PROC_FLAG_SUCCESSFUL_MELEE_HIT

4

0x00000004

Melee attack hit successful

PROC_FLAG_TAKEN_MELEE_HIT

8

0x00000008

Damage taken from melee hit

PROC_FLAG_SUCCESSFUL_MELEE_SPELL_HIT

16

0x00000010

Successful attack by spells that use a melee weapon

PROC_FLAG_TAKEN_MELEE_SPELL_HIT

32

0x00000020

Damage taken from spells that use a melee weapon

PROC_FLAG_SUCCESSFUL_RANGED_HIT

64

0x00000040

Ranged attack hit successful

PROC_FLAG_TAKEN_RANGED_HIT

128

0x00000080

Damage taken from ranged attack hit

PROC_FLAG_SUCCESSFUL_RANGED_SPELL_HIT

256

0x00000100

Successful Ranged attack by spells that use a ranged weapon

PROC_FLAG_TAKEN_RANGED_SPELL_HIT

512

0x00000200

Damage taken from spells that use a ranged weapon

PROC_FLAG_SUCCESSFUL_POSITIVE_AOE_HIT

1024

0x00000400

AoE spell hit successful (not 100% sure if unused)

PROC_FLAG_TAKEN_POSITIVE_AOE

2048

0x00000800

Positive AoE spell hit taken (not 100% sure if unused)

PROC_FLAG_SUCCESSFUL_AOE_SPELL_HIT

4096

0x00001000

AoE damage spell hit successful (not 100% sure if unused)

PROC_FLAG_TAKEN_AOE_SPELL_HIT

8192

0x00002000

AoE damage spell hit taken (not 100% sure if unused)

PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL

16384

0x00004000

Positive spell cast successful (by default only on healing)

PROC_FLAG_TAKEN_POSITIVE_SPELL

32768

0x00008000

Positive spell hit taken (by default only on healing)

PROC_FLAG_SUCCESSFUL_NEGATIVE_SPELL_HIT

65536

0x00010000

Negative spell cast successful (by default only on damage)

PROC_FLAG_TAKEN_NEGATIVE_SPELL_HIT

131072

0x00020000

Negative spell hit taken (by default only on damage)

PROC_FLAG_DONE_PERIODIC

262144

0x00040000

Periodic damage / healing done, determined from flags 14-17

PROC_FLAG_TAKEN_PERIODIC

524288

0x00080000

Periodic damage / healing taken, determined from flags 14-17

PROC_FLAG_TAKEN_ANY_DAMAGE

1048576

0x00100000

Any damage taken

PROC_FLAG_ON_TRAP_ACTIVATION

2097152

0x00200000

On trap activation

PROC_FLAG_TAKEN_OFFHAND_HIT

4194304

0x00400000

Off-hand melee attacks taken (not used)

PROC_FLAG_SUCCESSFUL_OFFHAND_HIT

8388608

0x00800000

Successful off-hand melee attacks

PROC_FLAG_DEATH

16777216

0x01000000

Died in any way

+| Event | Flag | Bit value | Comment | +|-----------------------------------------|----------|------------|--------------------------------------------------------------| +| PROC_FLAG_NONE | 0 | 0x00000000 | | +| PROC_FLAG_KILLED | 1 | 0x00000001 | Killed by agressor | +| PROC_FLAG_KILL_AND_GET_XP | 2 | 0x00000002 | Kill that yields experience or honor | +| PROC_FLAG_SUCCESSFUL_MELEE_HIT | 4 | 0x00000004 | Melee attack hit successful | +| PROC_FLAG_TAKEN_MELEE_HIT | 8 | 0x00000008 | Damage taken from melee hit | +| PROC_FLAG_SUCCESSFUL_MELEE_SPELL_HIT | 16 | 0x00000010 | Successful attack by spells that use a melee weapon | +| PROC_FLAG_TAKEN_MELEE_SPELL_HIT | 32 | 0x00000020 | Damage taken from spells that use a melee weapon | +| PROC_FLAG_SUCCESSFUL_RANGED_HIT | 64 | 0x00000040 | Ranged attack hit successful | +| PROC_FLAG_TAKEN_RANGED_HIT | 128 | 0x00000080 | Damage taken from ranged attack hit | +| PROC_FLAG_SUCCESSFUL_RANGED_SPELL_HIT | 256 | 0x00000100 | Successful Ranged attack by spells that use a ranged weapon | +| PROC_FLAG_TAKEN_RANGED_SPELL_HIT | 512 | 0x00000200 | Damage taken from spells that use a ranged weapon | +| PROC_FLAG_SUCCESSFUL_POSITIVE_AOE_HIT | 1024 | 0x00000400 | AoE spell hit successful (not 100% sure if unused) | +| PROC_FLAG_TAKEN_POSITIVE_AOE | 2048 | 0x00000800 | Positive AoE spell hit taken (not 100% sure if unused) | +| PROC_FLAG_SUCCESSFUL_AOE_SPELL_HIT | 4096 | 0x00001000 | AoE damage spell hit successful (not 100% sure if unused) | +| PROC_FLAG_TAKEN_AOE_SPELL_HIT | 8192 | 0x00002000 | AoE damage spell hit taken (not 100% sure if unused) | +| PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL | 16384 | 0x00004000 | Positive spell cast successful (by default only on healing) | +| PROC_FLAG_TAKEN_POSITIVE_SPELL | 32768 | 0x00008000 | Positive spell hit taken (by default only on healing) | +| PROC_FLAG_SUCCESSFUL_NEGATIVE_SPELL_HIT | 65536 | 0x00010000 | Negative spell cast successful (by default only on damage) | +| PROC_FLAG_TAKEN_NEGATIVE_SPELL_HIT | 131072 | 0x00020000 | Negative spell hit taken (by default only on damage) | +| PROC_FLAG_DONE_PERIODIC | 262144 | 0x00040000 | Periodic damage / healing done, determined from flags 14-17 | +| PROC_FLAG_TAKEN_PERIODIC | 524288 | 0x00080000 | Periodic damage / healing taken, determined from flags 14-17 | +| PROC_FLAG_TAKEN_ANY_DAMAGE | 1048576 | 0x00100000 | Any damage taken | +| PROC_FLAG_ON_TRAP_ACTIVATION | 2097152 | 0x00200000 | On trap activation | +| PROC_FLAG_TAKEN_OFFHAND_HIT | 4194304 | 0x00400000 | Off-hand melee attacks taken (not used) | +| PROC_FLAG_SUCCESSFUL_OFFHAND_HIT | 8388608 | 0x00800000 | Successful off-hand melee attacks | +| PROC_FLAG_DEATH | 16777216 | 0x01000000 | Died in any way | ### SpellTypeMask Used to choose what types of spells may trigger the proc, to combine, just add the bit values. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Event

Flag

Bit

Comment

PROC_SPELL_TYPE_NONE

0

0x00000000


-

PROC_SPELL_TYPE_DAMAGE

1

0x00000001

only damaging spells

PROC_SPELL_TYPE_HEAL

2

0x00000002

only healing spells

PROC_SPELL_TYPE_NO_DMG_HEAL

4

0x00000004

all other spells

PROC_SPELL_TYPE_MASK_ALL

7

0x00000007

All masks combined

+| Event | Flag | Bit | Comment | +|-----------------------------|------|------------|----------------------| +| PROC_SPELL_TYPE_NONE | 0 | 0x00000000 | | +| PROC_SPELL_TYPE_DAMAGE | 1 | 0x00000001 | only damaging spells | +| PROC_SPELL_TYPE_HEAL | 2 | 0x00000002 | only healing spells | +| PROC_SPELL_TYPE_NO_DMG_HEAL | 4 | 0x00000004 | all other spells | +| PROC_SPELL_TYPE_MASK_ALL | 7 | 0x00000007 | All 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Event

Flag

Bit

Comment

PROC_SPELL_PHASE_NONE

0

0x00000000


-

PROC_SPELL_PHASE_CAST

1

0x00000001

trigger when spell has just finished casting

PROC_SPELL_PHASE_HIT

2

0x00000002

trigger when the spell hits its target

PROC_SPELL_PHASE_FINISH

4

0x00000004

trigger after spell has done all its effects on all targets

PROC_SPELL_PHASE_MASK_ALL

7

0x00000007

All masks combined

+| Event | Flag | Bit | Comment | +|---------------------------|------|------------|-------------------------------------------------------------| +| PROC_SPELL_PHASE_NONE | 0 | 0x00000000 | | +| PROC_SPELL_PHASE_CAST | 1 | 0x00000001 | trigger when spell has just finished casting | +| PROC_SPELL_PHASE_HIT | 2 | 0x00000002 | trigger when the spell hits its target | +| PROC_SPELL_PHASE_FINISH | 4 | 0x00000004 | trigger after spell has done all its effects on all targets | +| PROC_SPELL_PHASE_MASK_ALL | 7 | 0x00000007 | All masks combined | ### HitMask Used to add special conditions to spells, some spells might trigger only on critical strikes, for example. -| | | | | -|-------------------------|----------|------------|----------------------------------| -| **Event** | **Flag** | **Bit** | **Comment** | -| PROC\_HIT\_NONE | 0 | 0x00000000 | (special see footnote) | -| PROC\_HIT\_NORMAL | 1 | 0x00000001 | only non-critical hits | -| PROC\_HIT\_CRITICAL | 2 | 0x00000002 | only critical hits | -| PROC\_HIT\_MISS | 4 | 0x00000004 | self-explanatory | -| PROC\_HIT\_FULL\_RESIST | 8 | 0x00000008 | only on full resist (no partial) | -| PROC\_HIT\_DODGE | 16 | 0x00000010 | self-explanatory | -| PROC\_HIT\_PARRY | 32 | 0x00000020 | self-explanatory | -| PROC\_HIT\_BLOCK | 64 | 0x00000040 | partial or full block | -| PROC\_HIT\_EVADE | 128 | 0x00000080 | self-explanatory | -| PROC\_HIT\_IMMUNE | 256 | 0x00000100 | self-explanatory | -| PROC\_HIT\_DEFLECT | 512 | 0x00000200 | self-explanatory | -| PROC\_HIT\_ABSORB | 1024 | 0x00000400 | partial or full absorb | -| PROC\_HIT\_REFLECT | 2048 | 0x00000800 | self-explanatory | -| PROC\_HIT\_INTERRUPT | 4096 | 0x00001000 | (not used atm) | -| PROC\_HIT\_FULL\_BLOCK | 8192 | 0x00002000 | only on full block | -| PROC\_HIT\_MASK\_ALL | 12287 | 0x00002FFF | All masks combined | +| Event | Flag | Bit | Comment | +|-------------------------|-------|------------|----------------------------------| +| PROC\_HIT\_NONE | 0 | 0x00000000 | (special see footnote) | +| PROC\_HIT\_NORMAL | 1 | 0x00000001 | only non-critical hits | +| PROC\_HIT\_CRITICAL | 2 | 0x00000002 | only critical hits | +| PROC\_HIT\_MISS | 4 | 0x00000004 | self-explanatory | +| PROC\_HIT\_FULL\_RESIST | 8 | 0x00000008 | only on full resist (no partial) | +| PROC\_HIT\_DODGE | 16 | 0x00000010 | self-explanatory | +| PROC\_HIT\_PARRY | 32 | 0x00000020 | self-explanatory | +| PROC\_HIT\_BLOCK | 64 | 0x00000040 | partial or full block | +| PROC\_HIT\_EVADE | 128 | 0x00000080 | self-explanatory | +| PROC\_HIT\_IMMUNE | 256 | 0x00000100 | self-explanatory | +| PROC\_HIT\_DEFLECT | 512 | 0x00000200 | self-explanatory | +| PROC\_HIT\_ABSORB | 1024 | 0x00000400 | partial or full absorb | +| PROC\_HIT\_REFLECT | 2048 | 0x00000800 | self-explanatory | +| PROC\_HIT\_INTERRUPT | 4096 | 0x00001000 | (not used atm) | +| PROC\_HIT\_FULL\_BLOCK | 8192 | 0x00002000 | only on full block | +| PROC\_HIT\_MASK\_ALL | 12287 | 0x00002FFF | All masks combined | PROC\_HIT\_NONE will trigger on: @@ -574,17 +188,16 @@ PROC\_HIT\_NONE will trigger on: 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 | +| 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 -- cgit