aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorStalker_Riddick <nenad_kuza@hotmail.com>2011-11-25 13:11:53 +0000
committerNay <dnpd.dd@gmail.com>2011-11-25 13:11:53 +0000
commitd8ffeed4767a42071ca075b23e3989069f91e4ab (patch)
treeec3f0c4b39ba5957ebb2014dfd7b42cc5ec225c0 /sql
parentd2b4f331128e10748ad31d3dbc83b36eba5904ca (diff)
Core/Quests: Add new field RequiredClasses for quest_template Credits to
NoFantasy. * SkillOrClass is converted to RequiredSkill (and then field can contain skill id only) * Field ZoneOrSort has no longer a function in quest requirement, and RequiredClasses must be used instead where class limits are expected. To restrict a quest to one class or more, use bitmask of class in RequiredClasses. RequiredSkill works like before. Signed-off-by: NoFantasy <nofantasy@nf.no> Signed-off-by: Stalker_Riddick <nenad_kuza@hotmail.com>
Diffstat (limited to 'sql')
-rw-r--r--sql/updates/world/2011_11_24_01_world_quest_template.sql38
1 files changed, 38 insertions, 0 deletions
diff --git a/sql/updates/world/2011_11_24_01_world_quest_template.sql b/sql/updates/world/2011_11_24_01_world_quest_template.sql
new file mode 100644
index 00000000000..eee92a3761b
--- /dev/null
+++ b/sql/updates/world/2011_11_24_01_world_quest_template.sql
@@ -0,0 +1,38 @@
+ALTER TABLE `quest_template` ADD COLUMN `RequiredClasses` smallint(5) unsigned NOT NULL default '0' AFTER `Type`;
+
+UPDATE `quest_template`
+ SET `RequiredClasses` = `RequiredClasses`|
+ CASE `SkillOrClassMask`
+ WHEN -1 THEN 1 -- warrior
+ WHEN -2 THEN 2 -- paladin
+ WHEN -3 THEN 4 -- hunter
+ WHEN -4 THEN 8 -- rogue
+ WHEN -5 THEN 16 -- priest
+ WHEN -6 THEN 32 -- dk
+ WHEN -7 THEN 64 -- shaman
+ WHEN -8 THEN 128 -- mage
+ WHEN -9 THEN 256 -- warlock
+ WHEN -11 THEN 1024 -- druid
+ ELSE 0
+ END
+ WHERE `SkillOrClassMask` < 0;
+
+UPDATE `quest_template`
+ SET `RequiredClasses` = `RequiredClasses`|
+ CASE `ZoneOrSort`
+ WHEN -81 THEN 1 -- warrior
+ WHEN -141 THEN 2 -- paladin
+ WHEN -261 THEN 4 -- hunter
+ WHEN -162 THEN 8 -- rogue
+ WHEN -262 THEN 16 -- priest
+ WHEN -372 THEN 32 -- dk
+ WHEN -82 THEN 64 -- shaman
+ WHEN -161 THEN 128 -- mage
+ WHEN -61 THEN 256 -- warlock
+ WHEN -263 THEN 1024 -- druid
+ ELSE 0
+ END
+ WHERE `ZoneOrSort` < 0;
+
+UPDATE `quest_template` SET `SkillOrClassMask`=0 WHERE `SkillOrClassMask`<0;
+ALTER TABLE `quest_template` CHANGE COLUMN `SkillOrClassMask` `RequiredSkill` smallint(5) unsigned NOT NULL default '0' AFTER `RequiredRaces`;