diff options
| author | Subv <s.v.h21@hotmail.com> | 2012-10-16 21:43:23 -0500 |
|---|---|---|
| committer | Subv <s.v.h21@hotmail.com> | 2012-10-16 21:44:28 -0500 |
| commit | 27f091806a6f52f406837d188dd4171019bfa59b (patch) | |
| tree | 33f7913af2133fd0b73dab6fbd44fa2649fb50f1 /sql | |
| parent | 6abc6253a63b366b3d0259278889a83a756e9745 (diff) | |
Core/SpellAreas: Changed the way quest_start and quest_end works.
They now follow this rule:
The player's quest status of quest_start must have the mask defined in quest_start_status in order for the spell to be applied/kept.
The player's quest status of quest_end must _NOT_ have the mask defined in quest_end_status in order for the spell to be removed
To generate the mask:
Take the QuestStatus enum in QuestDef.h, use (1 << theValueYouWant) to obtain a mask and you can use | to combine masks.
This expands the usage of the spell_area table, making possible to give a player an aura while he has a quest, but remove it as soon as the quest is completed (not rewarded).
Feature request by @Svannon
Diffstat (limited to 'sql')
| -rw-r--r-- | sql/updates/world/2012_10_16_00_world_spell_area.sql | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/updates/world/2012_10_16_00_world_spell_area.sql b/sql/updates/world/2012_10_16_00_world_spell_area.sql new file mode 100644 index 00000000000..3dbc29d077f --- /dev/null +++ b/sql/updates/world/2012_10_16_00_world_spell_area.sql @@ -0,0 +1,4 @@ +ALTER TABLE `spell_area` ADD COLUMN `quest_start_status` INT(11) NOT NULL DEFAULT 64; -- default is QUEST_STATUS_REWARDED +ALTER TABLE `spell_area` ADD COLUMN `quest_end_status` INT(11) NOT NULL DEFAULT 11; -- default is QUEST_STATUS_COMPLETE | QUEST_STATUS_NONE | QUEST_STATUS_INCOMPLETE +UPDATE spell_area SET `quest_start_status` = (1 << 6) | (1 << 3) | (1 << 1) WHERE `quest_start_active` = 1; +ALTER TABLE spell_area DROP COLUMN `quest_start_active`;
\ No newline at end of file |
