diff options
| author | Stalker_Riddick <nenad_kuza@hotmail.com> | 2011-11-25 13:11:53 +0000 |
|---|---|---|
| committer | Nay <dnpd.dd@gmail.com> | 2011-11-25 13:11:53 +0000 |
| commit | d8ffeed4767a42071ca075b23e3989069f91e4ab (patch) | |
| tree | ec3f0c4b39ba5957ebb2014dfd7b42cc5ec225c0 /sql | |
| parent | d2b4f331128e10748ad31d3dbc83b36eba5904ca (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.sql | 38 |
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`; |
