aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/base/characters_database.sql9
-rw-r--r--sql/updates/characters/2011_11_25_00_characters_character_stats.sql5
-rw-r--r--sql/updates/characters/2011_11_25_01_characters_characters.sql5
-rw-r--r--sql/updates/characters/2011_11_25_02_characters_character_pet.sql1
-rw-r--r--sql/updates/characters/2011_11_25_03_characters_character_stats.sql7
-rw-r--r--sql/updates/characters/2011_11_25_03_characters_characters.sql9
-rw-r--r--sql/updates/characters/2011_11_25_03_characters_corpse.sql1
-rw-r--r--sql/updates/characters/2011_11_26_00_characters_characters.sql5
-rw-r--r--sql/updates/world/2011_11_25_00_world_quest_template.sql38
-rw-r--r--sql/updates/world/2011_11_25_01_world_quest_template.sql1
-rw-r--r--sql/updates/world/2011_11_25_02_world_creature.sql4
-rw-r--r--sql/updates/world/2011_11_26_00_world_quest_template.sql177
-rw-r--r--sql/updates/world/2011_11_26_01_world_quest_template.sql1
-rw-r--r--sql/updates/world/4.x/2011_11_24_01_world_command.sql (renamed from sql/updates/world/2011_11_24_01_world_command.sql)0
-rw-r--r--sql/updates/world/4.x/2011_11_24_02_world_player_xp_for_level.sql (renamed from sql/updates/world/2011_11_24_02_world_player_xp_for_level.sql)0
-rw-r--r--sql/updates/world/4.x/2011_11_25_02_world_item_script_names.sql17
-rw-r--r--sql/updates/world/4.x/2011_11_25_02_world_item_template.sql48
-rw-r--r--sql/updates/world/4.x/2011_11_25_02_world_item_template_addon.sql38
-rw-r--r--sql/updates/world/4.x/2011_11_26_02_world_quest_template.sql31
-rw-r--r--sql/updates/world/4.x/2011_11_26_03_world_disenchant_loot_template.sql225
20 files changed, 621 insertions, 1 deletions
diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql
index 6296351f52f..1410a5b0008 100644
--- a/sql/base/characters_database.sql
+++ b/sql/base/characters_database.sql
@@ -737,7 +737,6 @@ CREATE TABLE `character_pet` (
`slot` tinyint(3) unsigned NOT NULL DEFAULT '0',
`curhealth` int(10) unsigned NOT NULL DEFAULT '1',
`curmana` int(10) unsigned NOT NULL DEFAULT '0',
- `curhappiness` int(10) unsigned NOT NULL DEFAULT '0',
`savetime` int(10) unsigned NOT NULL DEFAULT '0',
`abdata` text,
PRIMARY KEY (`id`),
@@ -1034,6 +1033,10 @@ CREATE TABLE `character_stats` (
`maxpower5` int(10) unsigned NOT NULL DEFAULT '0',
`maxpower6` int(10) unsigned NOT NULL DEFAULT '0',
`maxpower7` int(10) unsigned NOT NULL DEFAULT '0',
+ `maxpower8` int(10) unsigned NOT NULL DEFAULT '0',
+ `maxpower9` int(10) unsigned NOT NULL DEFAULT '0',
+ `maxpower10` int(10) unsigned NOT NULL DEFAULT '0',
+ `maxpower11` int(10) unsigned NOT NULL DEFAULT '0',
`strength` int(10) unsigned NOT NULL DEFAULT '0',
`agility` int(10) unsigned NOT NULL DEFAULT '0',
`stamina` int(10) unsigned NOT NULL DEFAULT '0',
@@ -1160,6 +1163,10 @@ CREATE TABLE `characters` (
`power5` int(10) unsigned NOT NULL DEFAULT '0',
`power6` int(10) unsigned NOT NULL DEFAULT '0',
`power7` int(10) unsigned NOT NULL DEFAULT '0',
+ `power8` int(10) unsigned NOT NULL DEFAULT '0',
+ `power9` int(10) unsigned NOT NULL DEFAULT '0',
+ `power10` int(10) unsigned NOT NULL DEFAULT '0',
+ `power11` int(10) unsigned NOT NULL DEFAULT '0',
`latency` mediumint(8) unsigned NOT NULL DEFAULT '0',
`speccount` tinyint(3) unsigned NOT NULL DEFAULT '1',
`activespec` tinyint(3) unsigned NOT NULL DEFAULT '0',
diff --git a/sql/updates/characters/2011_11_25_00_characters_character_stats.sql b/sql/updates/characters/2011_11_25_00_characters_character_stats.sql
new file mode 100644
index 00000000000..60506a491e3
--- /dev/null
+++ b/sql/updates/characters/2011_11_25_00_characters_character_stats.sql
@@ -0,0 +1,5 @@
+ALTER TABLE `character_stats`
+ADD COLUMN `maxpower8` int(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `maxpower7`,
+ADD COLUMN `maxpower9` int(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `maxpower8`,
+ADD COLUMN `maxpower10` int(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `maxpower9`,
+ADD COLUMN `maxpower11` int(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `maxpower10`;
diff --git a/sql/updates/characters/2011_11_25_01_characters_characters.sql b/sql/updates/characters/2011_11_25_01_characters_characters.sql
new file mode 100644
index 00000000000..6e56aaf9aea
--- /dev/null
+++ b/sql/updates/characters/2011_11_25_01_characters_characters.sql
@@ -0,0 +1,5 @@
+ALTER TABLE `characters`
+ADD COLUMN `power8` int(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `power7`,
+ADD COLUMN `power9` int(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `power8`,
+ADD COLUMN `power10` int(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `power9`,
+ADD COLUMN `power11` int(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `power10`;
diff --git a/sql/updates/characters/2011_11_25_02_characters_character_pet.sql b/sql/updates/characters/2011_11_25_02_characters_character_pet.sql
new file mode 100644
index 00000000000..61a1490b219
--- /dev/null
+++ b/sql/updates/characters/2011_11_25_02_characters_character_pet.sql
@@ -0,0 +1 @@
+ALTER TABLE `character_pet` DROP COLUMN `curhappiness`;
diff --git a/sql/updates/characters/2011_11_25_03_characters_character_stats.sql b/sql/updates/characters/2011_11_25_03_characters_character_stats.sql
new file mode 100644
index 00000000000..5f41b6e40db
--- /dev/null
+++ b/sql/updates/characters/2011_11_25_03_characters_character_stats.sql
@@ -0,0 +1,7 @@
+ALTER TABLE `character_stats`
+DROP COLUMN `maxpower6`,
+DROP COLUMN `maxpower7`,
+DROP COLUMN `maxpower8`,
+DROP COLUMN `maxpower9`,
+DROP COLUMN `maxpower10`,
+DROP COLUMN `maxpower11`;
diff --git a/sql/updates/characters/2011_11_25_03_characters_characters.sql b/sql/updates/characters/2011_11_25_03_characters_characters.sql
new file mode 100644
index 00000000000..cede344b6bf
--- /dev/null
+++ b/sql/updates/characters/2011_11_25_03_characters_characters.sql
@@ -0,0 +1,9 @@
+ALTER TABLE `characters`
+DROP COLUMN `power6`,
+DROP COLUMN `power7`,
+DROP COLUMN `power8`,
+DROP COLUMN `power9`,
+DROP COLUMN `power10`,
+DROP COLUMN `power11`,
+DROP COLUMN `ammoId`,
+ADD COLUMN `guildId` int(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `grantableLevels`;
diff --git a/sql/updates/characters/2011_11_25_03_characters_corpse.sql b/sql/updates/characters/2011_11_25_03_characters_corpse.sql
new file mode 100644
index 00000000000..e1823602b65
--- /dev/null
+++ b/sql/updates/characters/2011_11_25_03_characters_corpse.sql
@@ -0,0 +1 @@
+ALTER TABLE `corpse` DROP COLUMN `guildId`;
diff --git a/sql/updates/characters/2011_11_26_00_characters_characters.sql b/sql/updates/characters/2011_11_26_00_characters_characters.sql
new file mode 100644
index 00000000000..9fe2b4c804e
--- /dev/null
+++ b/sql/updates/characters/2011_11_26_00_characters_characters.sql
@@ -0,0 +1,5 @@
+ALTER TABLE `characters`
+DROP COLUMN `todayHonorPoints`,
+DROP COLUMN `yesterdayHonorPoints`,
+DROP COLUMN `knownCurrencies`,
+CHANGE COLUMN `arenaPoints` `conquestPoints` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `taxi_path`;
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
diff --git a/sql/updates/world/2011_11_25_02_world_creature.sql b/sql/updates/world/2011_11_25_02_world_creature.sql
new file mode 100644
index 00000000000..0b26187f196
--- /dev/null
+++ b/sql/updates/world/2011_11_25_02_world_creature.sql
@@ -0,0 +1,4 @@
+-- re-guid
+DELETE FROM `creature` WHERE `guid`=1022681 OR (`guid`=48191 AND `id`=18069);
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES
+(48191, 18069, 530, 1, 1, 0, 0, -714.823, 7931.65, 58.8672, 4.3693, 300, 0, 0, 60720, 29330, 0, 0, 0, 0);
diff --git a/sql/updates/world/2011_11_26_00_world_quest_template.sql b/sql/updates/world/2011_11_26_00_world_quest_template.sql
new file mode 100644
index 00000000000..6a7834e0a76
--- /dev/null
+++ b/sql/updates/world/2011_11_26_00_world_quest_template.sql
@@ -0,0 +1,177 @@
+-- Naming
+ALTER TABLE `quest_template`
+ CHANGE `entry` `Id` mediumint(8) UNSIGNED NOT NULL default '0',
+ CHANGE `QuestLevel` `Level` smallint(3) NOT NULL DEFAULT '1',
+ CHANGE `RequiredSkill` `RequiredSkillId` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
+ CHANGE `RequiredSkillValue` `RequiredSkillPoints` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
+ CHANGE `RepObjectiveFaction` `RequiredFactionId1` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
+ CHANGE `RepObjectiveFaction2` `RequiredFactionId2` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
+ CHANGE `RepObjectiveValue` `RequiredFactionValue1` mediumint(9) default '0' NOT NULL,
+ CHANGE `RepObjectiveValue2` `RequiredFactionValue2` mediumint(9) default '0' NOT NULL,
+ CHANGE `QuestFlags` `Flags` int(10) UNSIGNED default '0' NOT NULL,
+ CHANGE `SpecialFlags` `SpecialFlags` tinyint(3) UNSIGNED default '0' NOT NULL,
+ CHANGE `CharTitleId` `RewardTitleId` tinyint(3) UNSIGNED default '0' NOT NULL,
+ CHANGE `PlayersSlain` `RequiredPlayerKills` tinyint(3) UNSIGNED default '0' NOT NULL,
+ CHANGE `BonusTalents` `RewardTalents` tinyint(3) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewardArenaPoints` `RewardArenaPoints` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `NextQuestInChain` `NextQuestIdChain` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewXPId` `RewardXPId` tinyint(2) UNSIGNED default '0' NOT NULL,
+ CHANGE `SrcItemId` `SourceItemId` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `SrcItemCount` `SourceItemCount` tinyint(3) UNSIGNED default '0' NOT NULL,
+ CHANGE `SrcSpell` `SourceSpellId` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemId1` `RequiredItemId1` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemId2` `RequiredItemId2` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemId3` `RequiredItemId3` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemId4` `RequiredItemId4` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemId5` `RequiredItemId5` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemId6` `RequiredItemId6` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemCount1` `RequiredItemCount1` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemCount2` `RequiredItemCount2` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemCount3` `RequiredItemCount3` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemCount4` `RequiredItemCount4` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemCount5` `RequiredItemCount5` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqItemCount6` `RequiredItemCount6` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSourceId1` `RequiredSourceItemId1` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSourceId2` `RequiredSourceItemId2` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSourceId3` `RequiredSourceItemId3` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSourceId4` `RequiredSourceItemId4` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSourceCount1` `RequiredSourceItemCount1` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSourceCount2` `RequiredSourceItemCount2` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSourceCount3` `RequiredSourceItemCount3` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSourceCount4` `RequiredSourceItemCount4` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqCreatureOrGOId1` `RequiredNpcOrGo1` mediumint(9) default '0' NOT NULL,
+ CHANGE `ReqCreatureOrGOId2` `RequiredNpcOrGo2` mediumint(9) default '0' NOT NULL,
+ CHANGE `ReqCreatureOrGOId3` `RequiredNpcOrGo3` mediumint(9) default '0' NOT NULL,
+ CHANGE `ReqCreatureOrGOId4` `RequiredNpcOrGo4` mediumint(9) default '0' NOT NULL,
+ CHANGE `ReqCreatureOrGOCount1` `RequiredNpcOrGoCount1` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqCreatureOrGOCount2` `RequiredNpcOrGoCount2` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqCreatureOrGOCount3` `RequiredNpcOrGoCount3` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqCreatureOrGOCount4` `RequiredNpcOrGoCount4` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSpellCast1` `RequiredSpellCast1` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSpellCast2` `RequiredSpellCast2` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSpellCast3` `RequiredSpellCast3` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `ReqSpellCast4` `RequiredSpellCast4` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemId1` `RewardChoiceItemId1` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemId2` `RewardChoiceItemId2` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemId3` `RewardChoiceItemId3` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemId4` `RewardChoiceItemId4` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemId5` `RewardChoiceItemId5` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemId6` `RewardChoiceItemId6` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemCount1` `RewardChoiceItemCount1` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemCount2` `RewardChoiceItemCount2` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemCount3` `RewardChoiceItemCount3` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemCount4` `RewardChoiceItemCount4` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemCount5` `RewardChoiceItemCount5` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewChoiceItemCount6` `RewardChoiceItemCount6` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewItemId1` `RewardItemId1` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewItemId2` `RewardItemId2` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewItemId3` `RewardItemId3` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewItemId4` `RewardItemId4` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewItemCount1` `RewardItemCount1` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewItemCount2` `RewardItemCount2` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewItemCount3` `RewardItemCount3` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewItemCount4` `RewardItemCount4` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewRepFaction1` `RewardFactionId1` smallint(5) UNSIGNED default '0' NOT NULL comment 'faction id from Faction.dbc in this case',
+ CHANGE `RewRepFaction2` `RewardFactionId2` smallint(5) UNSIGNED default '0' NOT NULL comment 'faction id from Faction.dbc in this case',
+ CHANGE `RewRepFaction3` `RewardFactionId3` smallint(5) UNSIGNED default '0' NOT NULL comment 'faction id from Faction.dbc in this case',
+ CHANGE `RewRepFaction4` `RewardFactionId4` smallint(5) UNSIGNED default '0' NOT NULL comment 'faction id from Faction.dbc in this case',
+ CHANGE `RewRepFaction5` `RewardFactionId5` smallint(5) UNSIGNED default '0' NOT NULL comment 'faction id from Faction.dbc in this case',
+ CHANGE `RewRepValueId1` `RewardFactionValueId1` mediumint(6) default '0' NOT NULL,
+ CHANGE `RewRepValueId2` `RewardFactionValueId2` mediumint(6) default '0' NOT NULL,
+ CHANGE `RewRepValueId3` `RewardFactionValueId3` mediumint(6) default '0' NOT NULL,
+ CHANGE `RewRepValueId4` `RewardFactionValueId4` mediumint(6) default '0' NOT NULL,
+ CHANGE `RewRepValueId5` `RewardFactionValueId5` mediumint(6) default '0' NOT NULL,
+ CHANGE `RewRepValue1` `RewardFactionValueIdOverride1` mediumint(9) default '0' NOT NULL,
+ CHANGE `RewRepValue2` `RewardFactionValueIdOverride2` mediumint(9) default '0' NOT NULL,
+ CHANGE `RewRepValue3` `RewardFactionValueIdOverride3` mediumint(9) default '0' NOT NULL,
+ CHANGE `RewRepValue4` `RewardFactionValueIdOverride4` mediumint(9) default '0' NOT NULL,
+ CHANGE `RewRepValue5` `RewardFactionValueIdOverride5` mediumint(9) default '0' NOT NULL,
+ CHANGE `RewHonorAddition` `RewardHonor` int(10) default '0' NOT NULL,
+ CHANGE `RewHonorMultiplier` `RewardHonorMultiplier` float default '1' NOT NULL,
+ CHANGE `RewOrReqMoney` `RewardOrRequiredMoney` int(11) default '0' NOT NULL,
+ CHANGE `RewMoneyMaxLevel` `RewardMoneyMaxLevel` int(10) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewSpell` `RewardSpell` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewSpellCast` `RewardSpellCast` int(11) default '0' NOT NULL,
+ CHANGE `RewMailTemplateId` `RewardMailTemplateId` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `RewMailDelaySecs` `RewardMailDelay` int(11) UNSIGNED default '0' NOT NULL,
+ CHANGE `PointOpt` `PointOption` mediumint(8) UNSIGNED default '0' NOT NULL,
+ CHANGE `DetailsEmote1` `DetailsEmote1` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `IncompleteEmote` `EmoteOnIncomplete` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `CompleteEmote` `EmoteOnComplete` smallint(5) UNSIGNED default '0' NOT NULL,
+ CHANGE `unk0` `Unknown0` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0';
+
+-- Order
+ALTER TABLE `quest_template` CHANGE COLUMN `Level` `Level` SMALLINT(3) NOT NULL DEFAULT '1' AFTER `Method`,
+ CHANGE COLUMN `ZoneOrSort` `ZoneOrSort` SMALLINT(6) NOT NULL DEFAULT '0' AFTER `MaxLevel`,
+ CHANGE COLUMN `SuggestedPlayers` `SuggestedPlayers` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `Type`,
+ CHANGE COLUMN `LimitTime` `LimitTime` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `SuggestedPlayers`,
+ CHANGE COLUMN `RequiredFactionId2` `RequiredFactionId2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredFactionId1`,
+ CHANGE COLUMN `RequiredMaxRepFaction` `RequiredMaxRepFaction` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredMinRepFaction`,
+ CHANGE COLUMN `RewardOrRequiredMoney` `RewardOrRequiredMoney` INT(11) NOT NULL DEFAULT '0' AFTER `RewardXPId`,
+ CHANGE COLUMN `RewardMoneyMaxLevel` `RewardMoneyMaxLevel` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardOrRequiredMoney`,
+ CHANGE COLUMN `RewardSpell` `RewardSpell` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardMoneyMaxLevel`,
+ CHANGE COLUMN `RewardSpellCast` `RewardSpellCast` INT(11) NOT NULL DEFAULT '0' AFTER `RewardSpell`,
+ CHANGE COLUMN `RewardHonor` `RewardHonor` INT(10) NOT NULL DEFAULT '0' AFTER `RewardSpellCast`,
+ CHANGE COLUMN `RewardHonorMultiplier` `RewardHonorMultiplier` FLOAT NOT NULL DEFAULT '1' AFTER `RewardHonor`,
+ CHANGE COLUMN `RewardMailTemplateId` `RewardMailTemplateId` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardHonorMultiplier`,
+ CHANGE COLUMN `RewardMailDelay` `RewardMailDelay` INT(11) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardMailTemplateId`,
+ CHANGE COLUMN `Flags` `Flags` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `SourceSpellId`,
+ CHANGE COLUMN `SpecialFlags` `SpecialFlags` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `Flags`,
+ CHANGE COLUMN `RewardTitleId` `RewardTitleId` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `SpecialFlags`,
+ CHANGE COLUMN `RequiredPlayerKills` `RequiredPlayerKills` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardTitleId`,
+ CHANGE COLUMN `RewardTalents` `RewardTalents` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredPlayerKills`,
+ CHANGE COLUMN `RewardArenaPoints` `RewardArenaPoints` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardTalents`,
+ CHANGE COLUMN `RewardItemId1` `RewardItemId1` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardArenaPoints`,
+ CHANGE COLUMN `RewardItemId2` `RewardItemId2` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardItemId1`,
+ CHANGE COLUMN `RewardItemId3` `RewardItemId3` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardItemId2`,
+ CHANGE COLUMN `RewardItemId4` `RewardItemId4` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardItemId3`,
+ CHANGE COLUMN `RewardItemCount1` `RewardItemCount1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardItemId4`,
+ CHANGE COLUMN `RewardItemCount2` `RewardItemCount2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardItemCount1`,
+ CHANGE COLUMN `RewardItemCount3` `RewardItemCount3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardItemCount2`,
+ CHANGE COLUMN `RewardItemCount4` `RewardItemCount4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardItemCount3`,
+ CHANGE COLUMN `Title` `Title` TEXT NULL DEFAULT NULL AFTER `PointOption`,
+ CHANGE COLUMN `Objectives` `Objectives` TEXT NULL DEFAULT NULL AFTER `Title`,
+ CHANGE COLUMN `Details` `Details` TEXT NULL DEFAULT NULL AFTER `Objectives`,
+ CHANGE COLUMN `EndText` `EndText` TEXT NULL DEFAULT NULL AFTER `Details`,
+ CHANGE COLUMN `OfferRewardText` `OfferRewardText` TEXT NULL DEFAULT NULL AFTER `EndText`,
+ CHANGE COLUMN `RequestItemsText` `RequestItemsText` TEXT NULL DEFAULT NULL AFTER `OfferRewardText`,
+ CHANGE COLUMN `CompletedText` `CompletedText` TEXT NULL DEFAULT NULL AFTER `RequestItemsText`,
+ CHANGE COLUMN `RequiredNpcOrGo1` `RequiredNpcOrGo1` MEDIUMINT(9) NOT NULL DEFAULT '0' AFTER `CompletedText`,
+ CHANGE COLUMN `RequiredNpcOrGo2` `RequiredNpcOrGo2` MEDIUMINT(9) NOT NULL DEFAULT '0' AFTER `RequiredNpcOrGo1`,
+ CHANGE COLUMN `RequiredNpcOrGo3` `RequiredNpcOrGo3` MEDIUMINT(9) NOT NULL DEFAULT '0' AFTER `RequiredNpcOrGo2`,
+ CHANGE COLUMN `RequiredNpcOrGo4` `RequiredNpcOrGo4` MEDIUMINT(9) NOT NULL DEFAULT '0' AFTER `RequiredNpcOrGo3`,
+ CHANGE COLUMN `RequiredNpcOrGoCount1` `RequiredNpcOrGoCount1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredNpcOrGo4`,
+ CHANGE COLUMN `RequiredNpcOrGoCount2` `RequiredNpcOrGoCount2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredNpcOrGoCount1`,
+ CHANGE COLUMN `RequiredNpcOrGoCount3` `RequiredNpcOrGoCount3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredNpcOrGoCount2`,
+ CHANGE COLUMN `RequiredNpcOrGoCount4` `RequiredNpcOrGoCount4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredNpcOrGoCount3`,
+ CHANGE COLUMN `RequiredSourceItemId1` `RequiredSourceItemId1` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredNpcOrGoCount4`,
+ CHANGE COLUMN `RequiredSourceItemId2` `RequiredSourceItemId2` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSourceItemId1`,
+ CHANGE COLUMN `RequiredSourceItemId3` `RequiredSourceItemId3` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSourceItemId2`,
+ CHANGE COLUMN `RequiredSourceItemId4` `RequiredSourceItemId4` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSourceItemId3`,
+ CHANGE COLUMN `RequiredSourceItemCount1` `RequiredSourceItemCount1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSourceItemId4`,
+ CHANGE COLUMN `RequiredSourceItemCount2` `RequiredSourceItemCount2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSourceItemCount1`,
+ CHANGE COLUMN `RequiredSourceItemCount3` `RequiredSourceItemCount3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSourceItemCount2`,
+ CHANGE COLUMN `RequiredSourceItemCount4` `RequiredSourceItemCount4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSourceItemCount3`,
+ CHANGE COLUMN `RequiredItemId1` `RequiredItemId1` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSourceItemCount4`,
+ CHANGE COLUMN `RequiredItemId2` `RequiredItemId2` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemId1`,
+ CHANGE COLUMN `RequiredItemId3` `RequiredItemId3` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemId2`,
+ CHANGE COLUMN `RequiredItemId4` `RequiredItemId4` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemId3`,
+ CHANGE COLUMN `RequiredItemId5` `RequiredItemId5` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemId4`,
+ CHANGE COLUMN `RequiredItemId6` `RequiredItemId6` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemId5`,
+ CHANGE COLUMN `RequiredItemCount1` `RequiredItemCount1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemId6`,
+ CHANGE COLUMN `RequiredItemCount2` `RequiredItemCount2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemCount1`,
+ CHANGE COLUMN `RequiredItemCount3` `RequiredItemCount3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemCount2`,
+ CHANGE COLUMN `RequiredItemCount4` `RequiredItemCount4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemCount3`,
+ CHANGE COLUMN `RequiredItemCount5` `RequiredItemCount5` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemCount4`,
+ CHANGE COLUMN `RequiredItemCount6` `RequiredItemCount6` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemCount5`,
+ CHANGE COLUMN `RequiredSpellCast1` `RequiredSpellCast1` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemCount6`,
+ CHANGE COLUMN `RequiredSpellCast2` `RequiredSpellCast2` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSpellCast1`,
+ CHANGE COLUMN `RequiredSpellCast3` `RequiredSpellCast3` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSpellCast2`,
+ CHANGE COLUMN `RequiredSpellCast4` `RequiredSpellCast4` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSpellCast3`,
+ CHANGE COLUMN `Unknown0` `Unknown0` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredSpellCast4`,
+ CHANGE COLUMN `ObjectiveText1` `ObjectiveText1` TEXT NULL DEFAULT NULL AFTER `Unknown0`,
+ CHANGE COLUMN `ObjectiveText2` `ObjectiveText2` TEXT NULL DEFAULT NULL AFTER `ObjectiveText1`,
+ CHANGE COLUMN `ObjectiveText3` `ObjectiveText3` TEXT NULL DEFAULT NULL AFTER `ObjectiveText2`,
+ CHANGE COLUMN `ObjectiveText4` `ObjectiveText4` TEXT NULL DEFAULT NULL AFTER `ObjectiveText3`;
+
+-- Note: These two ALTER could have been merged into one
diff --git a/sql/updates/world/2011_11_26_01_world_quest_template.sql b/sql/updates/world/2011_11_26_01_world_quest_template.sql
new file mode 100644
index 00000000000..44548ec9981
--- /dev/null
+++ b/sql/updates/world/2011_11_26_01_world_quest_template.sql
@@ -0,0 +1 @@
+UPDATE `quest_template` SET `RequiredRaces`=0 WHERE `entry`=14171;
diff --git a/sql/updates/world/2011_11_24_01_world_command.sql b/sql/updates/world/4.x/2011_11_24_01_world_command.sql
index 849a7538621..849a7538621 100644
--- a/sql/updates/world/2011_11_24_01_world_command.sql
+++ b/sql/updates/world/4.x/2011_11_24_01_world_command.sql
diff --git a/sql/updates/world/2011_11_24_02_world_player_xp_for_level.sql b/sql/updates/world/4.x/2011_11_24_02_world_player_xp_for_level.sql
index d108b01824d..d108b01824d 100644
--- a/sql/updates/world/2011_11_24_02_world_player_xp_for_level.sql
+++ b/sql/updates/world/4.x/2011_11_24_02_world_player_xp_for_level.sql
diff --git a/sql/updates/world/4.x/2011_11_25_02_world_item_script_names.sql b/sql/updates/world/4.x/2011_11_25_02_world_item_script_names.sql
new file mode 100644
index 00000000000..aaf843b91ae
--- /dev/null
+++ b/sql/updates/world/4.x/2011_11_25_02_world_item_script_names.sql
@@ -0,0 +1,17 @@
+DROP TABLE IF EXISTS `item_script_names`;
+CREATE TABLE `item_script_names` (
+`Id` int(10) unsigned not null,
+`ScriptName` varchar(64) not null,
+PRIMARY KEY(`Id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
+
+INSERT INTO `item_script_names`
+SELECT
+`item_template`.`entry` AS `Id`,
+`item_template`.`ScriptName` AS `ScriptName`
+FROM
+`item_template`
+WHERE
+length(`item_template`.`ScriptName`)>0;
+
+ALTER TABLE `item_template` DROP `ScriptName`;
diff --git a/sql/updates/world/4.x/2011_11_25_02_world_item_template.sql b/sql/updates/world/4.x/2011_11_25_02_world_item_template.sql
new file mode 100644
index 00000000000..8a047ed9d11
--- /dev/null
+++ b/sql/updates/world/4.x/2011_11_25_02_world_item_template.sql
@@ -0,0 +1,48 @@
+ALTER TABLE `item_template`
+ ADD `stat_unk1_1` int(11) not null default 0 AFTER `stat_value1`,
+ ADD `stat_unk2_1` int(11) not null default 0 AFTER `stat_unk1_1`,
+ ADD `stat_unk1_2` int(11) not null default 0 AFTER `stat_value2`,
+ ADD `stat_unk2_2` int(11) not null default 0 AFTER `stat_unk1_2`,
+ ADD `stat_unk1_3` int(11) not null default 0 AFTER `stat_value3`,
+ ADD `stat_unk2_3` int(11) not null default 0 AFTER `stat_unk1_3`,
+ ADD `stat_unk1_4` int(11) not null default 0 AFTER `stat_value4`,
+ ADD `stat_unk2_4` int(11) not null default 0 AFTER `stat_unk1_4`,
+ ADD `stat_unk1_5` int(11) not null default 0 AFTER `stat_value5`,
+ ADD `stat_unk2_5` int(11) not null default 0 AFTER `stat_unk1_5`,
+ ADD `stat_unk1_6` int(11) not null default 0 AFTER `stat_value6`,
+ ADD `stat_unk2_6` int(11) not null default 0 AFTER `stat_unk1_6`,
+ ADD `stat_unk1_7` int(11) not null default 0 AFTER `stat_value7`,
+ ADD `stat_unk2_7` int(11) not null default 0 AFTER `stat_unk1_7`,
+ ADD `stat_unk1_8` int(11) not null default 0 AFTER `stat_value8`,
+ ADD `stat_unk2_8` int(11) not null default 0 AFTER `stat_unk1_8`,
+ ADD `stat_unk1_9` int(11) not null default 0 AFTER `stat_value9`,
+ ADD `stat_unk2_9` int(11) not null default 0 AFTER `stat_unk1_9`,
+ ADD `stat_unk1_10` int(11) not null default 0 AFTER `stat_value10`,
+ ADD `stat_unk2_10` int(11) not null default 0 AFTER `stat_unk1_10`,
+ DROP `StatsCount`,
+ DROP `ScalingStatValue`,
+ CHANGE `dmg_type1` `DamageType` tinyint(3) unsigned not null default 0 AFTER `ScalingStatDistribution`,
+ DROP `dmg_min1`,
+ DROP `dmg_max1`,
+ DROP `dmg_min2`,
+ DROP `dmg_max2`,
+ DROP `dmg_type2`,
+ DROP `armor`,
+ DROP `holy_res`,
+ DROP `fire_res`,
+ DROP `nature_res`,
+ DROP `frost_res`,
+ DROP `shadow_res`,
+ DROP `arcane_res`,
+ DROP `ammo_type`,
+ DROP `spellppmRate_1`,
+ DROP `spellppmRate_2`,
+ DROP `spellppmRate_3`,
+ DROP `spellppmRate_4`,
+ DROP `spellppmRate_5`,
+ DROP `block`,
+ DROP `RequiredDisenchantSkill`,
+ DROP `DisenchantId`,
+ ADD `StatScalingFactor` float not null default 0 AFTER `HolidayId`,
+ ADD `Field130` int(11) not null default 0 AFTER `StatScalingFactor`,
+ ADD `Field131` int(11) not null default 0 AFTER `Field130`;
diff --git a/sql/updates/world/4.x/2011_11_25_02_world_item_template_addon.sql b/sql/updates/world/4.x/2011_11_25_02_world_item_template_addon.sql
new file mode 100644
index 00000000000..2d99d9fc610
--- /dev/null
+++ b/sql/updates/world/4.x/2011_11_25_02_world_item_template_addon.sql
@@ -0,0 +1,38 @@
+DROP TABLE IF EXISTS `item_template_addon`;
+CREATE TABLE `item_template_addon` (
+`Id` int(10) unsigned not null,
+`BuyCount` tinyint(3) unsigned not null default 1,
+`FoodType` tinyint(3) unsigned not null default 0,
+`MinMoneyLoot` int(10) unsigned not null default 0,
+`MaxMoneyLoot` int(10) unsigned not null default 0,
+`SpellPPMChance` float unsigned not null default 0,
+PRIMARY KEY(`Id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
+
+INSERT INTO `item_template_addon`
+SELECT
+`item_template`.`entry` AS `Id`,
+`item_template`.`BuyCount` AS `BuyCount`,
+`item_template`.`FoodType` AS `FoodType`,
+`item_template`.`minMoneyLoot` AS `MinMoneyLoot`,
+`item_template`.`maxMoneyLoot` AS `MaxMoneyLoot`,
+ABS(IF(`item_template`.`spelltrigger_1`=2, `item_template`.`spellppmRate_1`,
+ IF (`item_template`.`spelltrigger_2`=2, `item_template`.`spellppmRate_2`,
+ IF (`item_template`.`spelltrigger_3`=2, `item_template`.`spellppmRate_3`,
+ IF (`item_template`.`spelltrigger_4`=2, `item_template`.`spellppmRate_4`,
+ IF (`item_template`.`spelltrigger_5`=2, `item_template`.`spellppmRate_5`, 0))))))
+ AS `SpellPPMChance`
+FROM
+`item_template`
+HAVING -- need to use having due to `SpellPPMChance` usage which is not an actual field in table
+`item_template`.`BuyCount`!=1 OR
+`item_template`.`FoodType`!=0 OR
+(`item_template`.`minMoneyLoot`!=0 AND
+`item_template`.`maxMoneyLoot`!=0) OR
+`SpellPPMChance`!=0;
+
+ALTER TABLE `item_template`
+ DROP `BuyCount`,
+ DROP `FoodType`,
+ DROP `minMoneyLoot`,
+ DROP `maxMoneyLoot`;
diff --git a/sql/updates/world/4.x/2011_11_26_02_world_quest_template.sql b/sql/updates/world/4.x/2011_11_26_02_world_quest_template.sql
new file mode 100644
index 00000000000..b43abd6f85d
--- /dev/null
+++ b/sql/updates/world/4.x/2011_11_26_02_world_quest_template.sql
@@ -0,0 +1,31 @@
+ALTER TABLE `quest_template` ADD COLUMN `MinimapTargetMark` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `SpecialFlags`,
+ ADD COLUMN `RewardSkillId` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardArenaPoints`,
+ ADD COLUMN `RewardSkillPoints` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardSkillId`,
+ ADD COLUMN `RewardReputationMask` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardSkillPoints`,
+ ADD COLUMN `QuestGiverPortrait` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardReputationMask`,
+ ADD COLUMN `QuestTurnInPortrait` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `QuestGiverPortrait`,
+ ADD COLUMN `RequiredSpell` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredItemCount6`,
+ ADD COLUMN `RewardCurrencyId1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `ObjectiveText4`,
+ ADD COLUMN `RewardCurrencyId2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardCurrencyId1`,
+ ADD COLUMN `RewardCurrencyId3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardCurrencyId2`,
+ ADD COLUMN `RewardCurrencyId4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardCurrencyId3`,
+ ADD COLUMN `RewardCurrencyCount1` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardCurrencyId4`,
+ ADD COLUMN `RewardCurrencyCount2` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardCurrencyCount1`,
+ ADD COLUMN `RewardCurrencyCount3` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardCurrencyCount2`,
+ ADD COLUMN `RewardCurrencyCount4` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardCurrencyCount3`,
+ ADD COLUMN `RequiredCurrencyId1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardCurrencyCount4`,
+ ADD COLUMN `RequiredCurrencyId2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredCurrencyId1`,
+ ADD COLUMN `RequiredCurrencyId3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredCurrencyId2`,
+ ADD COLUMN `RequiredCurrencyId4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredCurrencyId3`,
+ ADD COLUMN `RequiredCurrencyCount1` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredCurrencyId4`,
+ ADD COLUMN `RequiredCurrencyCount2` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredCurrencyCount1`,
+ ADD COLUMN `RequiredCurrencyCount3` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredCurrencyCount2`,
+ ADD COLUMN `RequiredCurrencyCount4` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredCurrencyCount3`,
+ ADD COLUMN `QuestGiverTextWindow` TEXT NULL DEFAULT NULL AFTER `RequiredCurrencyCount4`,
+ ADD COLUMN `QuestGiverTargetName` TEXT NULL DEFAULT NULL AFTER `QuestGiverTextWindow`,
+ ADD COLUMN `QuestTurnTextWindow` TEXT NULL DEFAULT NULL AFTER `QuestGiverTargetName`,
+ ADD COLUMN `QuestTurnTargetName` TEXT NULL DEFAULT NULL AFTER `QuestTurnTextWindow`,
+ ADD COLUMN `SoundAccept` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '890' AFTER `QuestTurnTargetName`,
+ ADD COLUMN `SoundTurnIn` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '878' AFTER `SoundAccept`;
+
+ALTER TABLE `quest_template` DROP COLUMN `Unknown0`; -- Not found on 422
diff --git a/sql/updates/world/4.x/2011_11_26_03_world_disenchant_loot_template.sql b/sql/updates/world/4.x/2011_11_26_03_world_disenchant_loot_template.sql
new file mode 100644
index 00000000000..48f5d712533
--- /dev/null
+++ b/sql/updates/world/4.x/2011_11_26_03_world_disenchant_loot_template.sql
@@ -0,0 +1,225 @@
+SET @LESSER_MAGIC = 10938;
+SET @GREATER_MAGIC = 10939;
+SET @STRANGE_DUST = 10940;
+SET @SMALL_GLIMMERING = 10978;
+SET @LESSER_ASTRAL = 10998;
+SET @GREATER_ASTRAL = 11082;
+SET @SOUL_DUST = 11083;
+SET @LARGE_GLIMMERING = 11084;
+SET @LESSER_MYSTIC = 11134;
+SET @GREATER_MYSTIC = 11135;
+SET @VISION_DUST = 11137;
+SET @SMALL_GLOWING = 11138;
+SET @LARGE_GLOWING = 11139;
+SET @LESSER_NETHER = 11174;
+SET @GREATER_NETHER = 11175;
+SET @DREAM_DUST = 11176;
+SET @SMALL_RADIANT = 11177;
+SET @LARGE_RADIANT = 11178;
+SET @SMALL_BRILLIANT = 14343;
+SET @LARGE_BRILLIANT = 14344;
+SET @LESSER_ETERNAL = 16202;
+SET @GREATER_ETERNAL = 16203;
+SET @ILLUSION_DUST = 16204;
+SET @NEXUS_CRYSTAL = 20725;
+SET @ARCANE_DUST = 22445;
+SET @GREATER_PLANAR = 22446;
+SET @LESSER_PLANAR = 22447;
+SET @SMALL_PRISMATIC = 22448;
+SET @LARGE_PRISMATIC = 22449;
+SET @VOID_CRYSTAL = 22450;
+SET @DREAM_SHARD = 34052;
+SET @SMALL_DREAM = 34053;
+SET @INFINITE_DUST = 34054;
+SET @GREATER_COSMIC = 34055;
+SET @LESSER_COSMIC = 34056;
+SET @ABYSS_CRYSTAL = 34057;
+SET @HEAVENLY_SHARD = 52721;
+SET @SMALL_HEAVENLY = 52720;
+SET @HYPN_DUST = 52555;
+SET @GREATER_CEL = 52719;
+SET @LESSER_CEL = 52718;
+SET @MAELSTROM_CRYSTAL = 52722;
+
+TRUNCATE `disenchant_loot_template`;
+INSERT INTO `disenchant_loot_template` (`entry`,`item`,`ChanceOrQuestChance`,`lootmode`,`groupid`,`mincountOrRef`,`maxcount`) VALUES
+(3,@STRANGE_DUST,20,1,1,1,2),
+(4,@STRANGE_DUST,80,1,1,1,2),
+(5,@STRANGE_DUST,75,1,1,2,3),
+(6,@STRANGE_DUST,20,1,1,2,3),
+(7,@STRANGE_DUST,15,1,1,4,6),
+(8,@STRANGE_DUST,75,1,1,4,6),
+(13,@SOUL_DUST,75,1,1,1,2),
+(14,@SOUL_DUST,20,1,1,1,2),
+(17,@SOUL_DUST,75,1,1,2,5),
+(18,@SOUL_DUST,20,1,1,2,5),
+(21,@VISION_DUST,75,1,1,1,2),
+(22,@VISION_DUST,20,1,1,1,2),
+(25,@VISION_DUST,75,1,1,2,5),
+(26,@VISION_DUST,20,1,1,2,5),
+(29,@DREAM_DUST,75,1,1,1,2),
+(30,@DREAM_DUST,20,1,1,1,2),
+(31,@DREAM_DUST,22,1,1,2,5),
+(32,@DREAM_DUST,75,1,1,2,5),
+(46,@ILLUSION_DUST,75,1,1,1,2),
+(47,@ILLUSION_DUST,22,1,1,1,2),
+(52,@ILLUSION_DUST,75,1,1,2,5),
+(53,@ILLUSION_DUST,22,1,1,2,5),
+(56,@ARCANE_DUST,75,1,1,1,3),
+(57,@ARCANE_DUST,22,1,1,1,2),
+(62,@ARCANE_DUST,22,1,1,2,5),
+(63,@ARCANE_DUST,75,1,1,2,5),
+(70,@ARCANE_DUST,75,1,1,2,3),
+(71,@ARCANE_DUST,22,1,1,2,3),
+(82,@INFINITE_DUST,75,1,1,1,3),
+(83,@INFINITE_DUST,22,1,1,1,3),
+(88,@INFINITE_DUST,75,1,1,4,7),
+(89,@INFINITE_DUST,22,1,1,4,7),
+(94,@HYPN_DUST,75,1,1,1,2),
+(95,@HYPN_DUST,75,1,1,1,3),
+(96,@HYPN_DUST,60,1,1,1,4),
+(97,@HYPN_DUST,80,1,1,2,4),
+(98,@HYPN_DUST,50,1,1,2,5),
+(99,@HYPN_DUST,25,1,1,1,2),
+(100,@HYPN_DUST,25,1,1,1,3),
+(101,@HYPN_DUST,35,1,1,1,4),
+(102,@HYPN_DUST,30,1,1,2,4),
+(103,@HYPN_DUST,30,1,1,2,5),
+(3,@LESSER_MAGIC,80,1,1,1,2),
+(4,@LESSER_MAGIC,20,1,1,1,2),
+(5,@GREATER_MAGIC,20,1,1,1,2),
+(6,@GREATER_MAGIC,75,1,1,1,2),
+(7,@LESSER_ASTRAL,75,1,1,1,2),
+(8,@LESSER_ASTRAL,15,1,1,1,2),
+(13,@GREATER_ASTRAL,20,1,1,1,2),
+(14,@GREATER_ASTRAL,75,1,1,1,2),
+(17,@LESSER_MYSTIC,20,1,1,1,2),
+(18,@LESSER_MYSTIC,75,1,1,1,2),
+(21,@GREATER_MYSTIC,20,1,1,1,2),
+(22,@GREATER_MYSTIC,75,1,1,1,2),
+(25,@LESSER_NETHER,20,1,1,1,2),
+(26,@LESSER_NETHER,75,1,1,1,2),
+(29,@GREATER_NETHER,20,1,1,1,2),
+(30,@GREATER_NETHER,75,1,1,1,2),
+(31,@LESSER_ETERNAL,75,1,1,1,2),
+(32,@LESSER_ETERNAL,20,1,1,1,2),
+(46,@GREATER_ETERNAL,20,1,1,1,2),
+(47,@GREATER_ETERNAL,75,1,1,1,2),
+(52,@GREATER_ETERNAL,20,1,1,2,3),
+(53,@GREATER_ETERNAL,75,1,1,2,3),
+(56,@LESSER_PLANAR,22,1,1,1,3),
+(57,@LESSER_PLANAR,75,1,1,1,2),
+(62,@GREATER_PLANAR,75,1,1,1,2),
+(63,@GREATER_PLANAR,22,1,1,1,2),
+(70,@LESSER_PLANAR,22,1,1,2,3),
+(71,@LESSER_PLANAR,75,1,1,2,3),
+(82,@LESSER_COSMIC,22,1,1,1,2),
+(83,@LESSER_COSMIC,75,1,1,1,2),
+(88,@GREATER_COSMIC,22,1,1,1,2),
+(89,@GREATER_COSMIC,75,1,1,1,2),
+(94,@LESSER_CEL,25,1,1,1,2),
+(95,@LESSER_CEL,25,1,1,1,3),
+(96,@LESSER_CEL,40,1,1,2,4),
+(97,@GREATER_CEL,20,1,1,1,2),
+(98,@GREATER_CEL,50,1,1,2,3),
+(99,@LESSER_CEL,75,1,1,1,2),
+(100,@LESSER_CEL,75,1,1,1,3),
+(101,@LESSER_CEL,65,1,1,2,4),
+(102,@GREATER_CEL,70,1,1,1,2),
+(103,@GREATER_CEL,70,1,1,2,3),
+(5,@SMALL_GLIMMERING,5,1,1,1,1),
+(6,@SMALL_GLIMMERING,5,1,1,1,1),
+(7,@SMALL_GLIMMERING,10,1,1,1,1),
+(8,@SMALL_GLIMMERING,10,1,1,1,1),
+(9,@SMALL_GLIMMERING,100,1,1,1,1),
+(10,@SMALL_GLIMMERING,100,1,1,1,1),
+(11,@LARGE_GLIMMERING,100,1,1,1,1),
+(12,@LARGE_GLIMMERING,100,1,1,1,1),
+(13,@LARGE_GLIMMERING,5,1,1,1,1),
+(14,@LARGE_GLIMMERING,5,1,1,1,1),
+(15,@SMALL_GLOWING,100,1,1,1,1),
+(16,@SMALL_GLOWING,100,1,1,1,1),
+(17,@SMALL_GLOWING,5,1,1,1,1),
+(18,@SMALL_GLOWING,5,1,1,1,1),
+(19,@LARGE_GLOWING,100,1,1,1,1),
+(20,@LARGE_GLOWING,100,1,1,1,1),
+(21,@LARGE_GLOWING,5,1,1,1,1),
+(22,@LARGE_GLOWING,5,1,1,1,1),
+(23,@SMALL_RADIANT,100,1,1,1,1),
+(24,@SMALL_RADIANT,100,1,1,1,1),
+(25,@SMALL_RADIANT,5,1,1,1,1),
+(26,@SMALL_RADIANT,5,1,1,1,1),
+(27,@LARGE_RADIANT,100,1,1,1,1),
+(28,@LARGE_RADIANT,100,1,1,1,1),
+(29,@LARGE_RADIANT,5,1,1,1,1),
+(30,@LARGE_RADIANT,5,1,1,1,1),
+(31,@SMALL_BRILLIANT,3,1,1,1,1),
+(32,@SMALL_BRILLIANT,5,1,1,1,1),
+(34,@SMALL_BRILLIANT,100,1,1,1,1),
+(35,@SMALL_BRILLIANT,100,1,1,1,1),
+(38,@SMALL_RADIANT,100,1,1,2,4),
+(39,@SMALL_RADIANT,100,1,1,2,4),
+(40,@LARGE_RADIANT,100,1,1,2,4),
+(41,@LARGE_RADIANT,100,1,1,2,4),
+(42,@SMALL_BRILLIANT,100,1,1,2,4),
+(43,@SMALL_BRILLIANT,100,1,1,2,4),
+(44,@LARGE_BRILLIANT,99.5,1,1,1,1),
+(45,@LARGE_BRILLIANT,99.5,1,1,1,1),
+(46,@LARGE_BRILLIANT,5,1,1,1,1),
+(47,@LARGE_BRILLIANT,3,1,1,1,1),
+(50,@SMALL_PRISMATIC,99.5,1,1,1,1),
+(51,@SMALL_PRISMATIC,99.5,1,1,1,1),
+(52,@LARGE_BRILLIANT,5,1,1,1,1),
+(53,@LARGE_BRILLIANT,3,1,1,1,1),
+(56,@SMALL_PRISMATIC,3,1,1,1,1),
+(57,@SMALL_PRISMATIC,3,1,1,1,1),
+(58,@SMALL_PRISMATIC,100,1,1,1,1),
+(59,@SMALL_PRISMATIC,100,1,1,1,1),
+(62,@LARGE_PRISMATIC,3,1,1,1,1),
+(63,@LARGE_PRISMATIC,3,1,1,1,1),
+(64,@LARGE_PRISMATIC,99.5,1,1,1,1),
+(65,@LARGE_PRISMATIC,99.5,1,1,1,1),
+(68,@SMALL_PRISMATIC,100,1,1,1,2),
+(69,@SMALL_PRISMATIC,100,1,1,1,2),
+(70,@SMALL_PRISMATIC,3,1,1,1,1),
+(71,@SMALL_PRISMATIC,3,1,1,1,1),
+(72,@SMALL_GLIMMERING,100,1,1,2,4),
+(73,@SMALL_GLIMMERING,100,1,1,2,4),
+(74,@LARGE_GLIMMERING,100,1,1,2,4),
+(75,@LARGE_GLIMMERING,100,1,1,2,4),
+(76,@SMALL_GLOWING,100,1,1,2,4),
+(77,@SMALL_GLOWING,100,1,1,2,4),
+(78,@LARGE_GLOWING,100,1,1,2,4),
+(79,@LARGE_GLOWING,100,1,1,2,4),
+(82,@SMALL_DREAM,3,1,1,1,1),
+(83,@SMALL_DREAM,3,1,1,1,1),
+(84,@SMALL_DREAM,100,1,1,1,1),
+(85,@SMALL_DREAM,100,1,1,1,1),
+(86,@DREAM_SHARD,99.5,1,1,1,1),
+(87,@DREAM_SHARD,99.5,1,1,1,1),
+(88,@DREAM_SHARD,3,1,1,1,1),
+(89,@DREAM_SHARD,3,1,1,1,1),
+(104,@SMALL_HEAVENLY,100,1,1,1,1),
+(105,@SMALL_HEAVENLY,100,1,1,1,2),
+(106,@HEAVENLY_SHARD,100,1,1,1,1),
+(107,@HEAVENLY_SHARD,100,1,1,1,1),
+(44,@NEXUS_CRYSTAL,0.5,1,1,1,1),
+(45,@NEXUS_CRYSTAL,0.5,1,1,1,1),
+(48,@NEXUS_CRYSTAL,100,1,1,1,1),
+(49,@NEXUS_CRYSTAL,100,1,1,1,1),
+(50,@NEXUS_CRYSTAL,0.5,1,1,1,1),
+(51,@NEXUS_CRYSTAL,0.5,1,1,1,1),
+(54,@NEXUS_CRYSTAL,100,1,1,1,2),
+(55,@NEXUS_CRYSTAL,100,1,1,1,2),
+(60,@NEXUS_CRYSTAL,100,1,1,1,2),
+(61,@NEXUS_CRYSTAL,100,1,1,1,2),
+(64,@VOID_CRYSTAL,0.5,1,1,1,1),
+(65,@VOID_CRYSTAL,0.5,1,1,1,1),
+(66,@VOID_CRYSTAL,100,1,1,1,2),
+(67,@VOID_CRYSTAL,100,1,1,1,2),
+(80,@ABYSS_CRYSTAL,100,1,1,1,1),
+(81,@ABYSS_CRYSTAL,100,1,1,1,1),
+(86,@ABYSS_CRYSTAL,0.5,1,1,1,1),
+(87,@ABYSS_CRYSTAL,0.5,1,1,1,1),
+(108,@MAELSTROM_CRYSTAL,100,1,1,1,1),
+(109,@MAELSTROM_CRYSTAL,100,1,1,1,1);