From d8ffeed4767a42071ca075b23e3989069f91e4ab Mon Sep 17 00:00:00 2001 From: Stalker_Riddick Date: Fri, 25 Nov 2011 13:11:53 +0000 Subject: 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 Signed-off-by: Stalker_Riddick --- .../world/2011_11_24_01_world_quest_template.sql | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sql/updates/world/2011_11_24_01_world_quest_template.sql (limited to 'sql') 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`; -- cgit v1.2.3 From 4f738fe75a894d08d69c2d106025b13af74f1f19 Mon Sep 17 00:00:00 2001 From: Nay Date: Fri, 25 Nov 2011 13:17:57 +0000 Subject: DB/Quests: Fix Junkboxes Needed class requirements Closes #509 --- .../world/2011_11_24_01_world_quest_template.sql | 38 ---------------------- .../world/2011_11_25_00_world_quest_template.sql | 38 ++++++++++++++++++++++ .../world/2011_11_25_01_world_quest_template.sql | 1 + 3 files changed, 39 insertions(+), 38 deletions(-) delete mode 100644 sql/updates/world/2011_11_24_01_world_quest_template.sql create mode 100644 sql/updates/world/2011_11_25_00_world_quest_template.sql create mode 100644 sql/updates/world/2011_11_25_01_world_quest_template.sql (limited to 'sql') 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 deleted file mode 100644 index eee92a3761b..00000000000 --- a/sql/updates/world/2011_11_24_01_world_quest_template.sql +++ /dev/null @@ -1,38 +0,0 @@ -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`; diff --git a/sql/updates/world/2011_11_25_00_world_quest_template.sql b/sql/updates/world/2011_11_25_00_world_quest_template.sql new file mode 100644 index 00000000000..eee92a3761b --- /dev/null +++ b/sql/updates/world/2011_11_25_00_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`; diff --git a/sql/updates/world/2011_11_25_01_world_quest_template.sql b/sql/updates/world/2011_11_25_01_world_quest_template.sql new file mode 100644 index 00000000000..f7e4555f093 --- /dev/null +++ b/sql/updates/world/2011_11_25_01_world_quest_template.sql @@ -0,0 +1 @@ +UPDATE `quest_template` SET `RequiredClasses`=0 WHERE `entry`=8249; -- Junkboxes Needed -- cgit v1.2.3