summaryrefslogtreecommitdiff
path: root/docs/spell_linked_spell.md
blob: ba97644600232d254ea0d122461f91cf3e67a5df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# spell\_linked\_spell

[<-Back-to:World](database-world.md)

**The \`spell\_linked\_spell\` table**

This table provides data for spell linking system, telling it which spells trigger what, and under which conditions.

| Field              | Type         | Attributes | Key | Null | Default | Extra | Comment |
|--------------------|--------------|------------|-----|------|---------|-------|---------|
| [spell_trigger][1] | MEDIUMINT | SIGNED     |     | NO   |         |       |         |
| [spell_effect][2]  | MEDIUMINT | SIGNED     |     | NO   |         |       |         |
| [type][3]          | SMALLINT  | UNSIGNED   |     | NO   |         |       |         |
| [comment][4]       | text         |            |     | NO   |         |       |         |

[1]: #spell_trigger
[2]: #spell_effect
[3]: #type
[4]: #comment

**Description of the fields**

### spell\_trigger

The spell, which when cast, will trigger the spell listed in [spell\_effect](#spell_linked_spell-spell_effect)

### spell\_ effect

The spell that you want to be triggered. How this spell acts is determined by the [type](#spell_linked_spell-type) field.

### type

Three values are possible (0,1,2). See below.

### comment

Optional comment to explain the link.

# **Description of the linking effects**

### type h1. 0 (CAST)

**Trigger mode**

\***spell\_trigger > 0:** "When *spell\_trigger* is cast..."
\***spell\_trigger < 0:** "When the aura due to *spell\_trigger* is removed..."

**Effect**

\***spell\_effect > 0:** *spell\_effect* is also cast (with triggered flag) on the same targets, on the caster if spell\_trigger has no target.
\***spell\_effect < 0:** Auras due to *spell\_effect* are removed.

### type 1 (HIT)

**Trigger mode**

For this mode *spell\_trigger* must be positive. Effect is executed when *spell\_trigger* hits a target. I suppose that if the *spell\_trigger* hits more than one target, the effect is executed for each target hit.

**Effect**

\***spell\_effect > 0:** *spell\_effect* is cast (with triggered flag) on the same target.
\***spell\_effect < 0:** Auras due to *spell\_effect* are removed.

### type == 2 (AURA)

**Trigger mode**

For this mode *spell\_trigger* must be positive. Effect is executed when the aura *spell\_trigger* is applied **AND** when it is removed from a target.

**Effect**

\***spell\_effect > 0 (ADD/REMOVE AURA)**

-   ON APPLY: Adds aura *spell\_effect* on the same target.
-   ON REMOVE: Removes aura *spell\_effect*on the same target.

\***spell\_effect < 0 (IMMUNITY)**

-   ON APPLY: Makes the target immune to *spell\_effect*.
-   ON REMOVE: Clears target immunity to *spell\_effect*.