The `spell_area` table
...
- An area could pacify all players (spell 39331)
- Another area could full heal every 1 second (spell 48591)
- Teleport player out of an area (spell 53141)
- Factions-specific buffs, e.g. in Icecrown Citadel:
- "Hellscream's Warsong" (spell 73822) for horde
- "Strength of Wrynn" (spell 73828) for alliance
- Even region-based buffs, such as area 440 - Tanaris.
Structure
Field | Type | Attributes | Key | Null | Default | Extra | Comment |
mediumint(8) | unsigned | PRI | NO | 0 |
mediumint(8) | unsigned | PRI | NO | 0 |
mediumint(8) | unsigned | PRI | NO | 0 |
mediumint(8) | unsigned |
NO | 0 |
mediumint(8) | signed | PRI | NO | 0 |
mediumint(8) | unsigned | PRI | NO | 0 |
tinyint( |
3) | unsigned | PRI | NO | 2 |
tinyint( |
3) | unsigned |
NO |
0
3 | ||
int(11) | unsigned |
NO | 64 |
int(11) | unsigned |
NO | 11 |
Description of the fields
...
This ID is automatically called from ChrRaces.dbc. The bitmask is entered here.
MASTER:
0, 50331648 52430847 = All Races
16777216 33555378 (2 + 16 + 32 + 128 + 256 + 512 + 33554432) = Horde Only
33554432 18875469 (1 + 4 + 8 + 64 + 1024 + 2097152 + 16777216) = Alliance Only
3.3.5:
0, 1791 = All Races
690 (2 + 16 + 32 + 128 + 512) = Horde Only
1101 (1 + 4 + 8 + 64 + 1024 ) = Alliance Only
gender
The gender type this entry applies to. 0 = Male, 1 = Female, 2 = Any.
...
flags
Flag | Name | Comment | |
---|---|---|---|
1 | 0x01 | SPELL_AREA_FLAG_AUTOCAST | If the spell should be automatically applied when the character enters the area. Also prevents the user from removing it. |
2 | 0x02 | SPELL_AREA_FLAG_AUTOREMOVE | If the spell should be automatically removed when the character is inside the area (only works with quest updates) |
Note: Spell is allways removed on leaving area, SPELL_AREA_FLAG_AUTOREMOVE does not effect this.
Example:
flags = 0 : Spell not added on enter (must be added manually), not automatically removed on quest update, but removed on leave.
flags = 1 : Spell is not autocasted, 1 = is autocastedautomatically applied on enter, not automatically removed on quest update, but removed on leave.
flags = 2 : Spell not added on enter (must be added manually), automatically removed on quest update and removed on leave.
flags = 3 : (Default) Spell is automatically applied on enter, automatically removed on quest update and removed on leave.
quest_start_status, quest_end_status
...
INSERT INTO spell_area (spell, area, quest_start, quest_end, autocast, quest_start_status, quest_end_status) VALUES (92237, 257, 28725, 28727, 1, 74, 11);
Quest Status | Flag | Explanation |
---|---|---|
QUEST_STATUS_NONE = 0 | 1 | Player does not have or had quest at all. He could accept it, but he did not (yet). |
QUEST_STATUS_COMPLETE = 1 | 2 | Player fulfilled objectives, but did not hand it in yet. |
| 4 (NOT USED) | (Not used) |
QUEST_STATUS_INCOMPLETE = 3 | 8 | Player did not fulfill objectives yet |
| 16 (NOT USED) | (Not used) |
QUEST_STATUS_FAILED = 5 | 32 | Player failed to fulfill objectives for any reason, e.g. time limit |
QUEST_STATUS_REWARDED = 6 | 64 | Player handed quest in and this is sort of a post-quest interaction |
Info | |||||
---|---|---|---|---|---|
| |||||
For a `quest_end_status` that should contain QUEST_STATUS_NONE (1), QUEST_STATUS_COMPLETE (2) and QUEST_STATUS_INCOMPLETE (8):
|
...