aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2011_12_14_01_world_gameobject_template.sql (renamed from sql/updates/world/2011_12_14_01_gameobject_template.sql)0
-rw-r--r--sql/updates/world/2011_12_18_04_world_misc.sql87
-rw-r--r--sql/updates/world/2011_12_18_05_world_misc.sql94
-rw-r--r--sql/updates/world/2011_12_18_06_world_sai.sql14
-rw-r--r--sql/updates/world/2011_12_18_07_world_conditions.sql17
-rwxr-xr-xsrc/server/game/Spells/SpellMgr.cpp4
-rwxr-xr-xsrc/server/shared/Database/DatabaseWorkerPool.h7
-rwxr-xr-xsrc/server/shared/Database/Implementation/CharacterDatabase.cpp2
8 files changed, 223 insertions, 2 deletions
diff --git a/sql/updates/world/2011_12_14_01_gameobject_template.sql b/sql/updates/world/2011_12_14_01_world_gameobject_template.sql
index 12729afd6b8..12729afd6b8 100644
--- a/sql/updates/world/2011_12_14_01_gameobject_template.sql
+++ b/sql/updates/world/2011_12_14_01_world_gameobject_template.sql
diff --git a/sql/updates/world/2011_12_18_04_world_misc.sql b/sql/updates/world/2011_12_18_04_world_misc.sql
new file mode 100644
index 00000000000..3404e4f285f
--- /dev/null
+++ b/sql/updates/world/2011_12_18_04_world_misc.sql
@@ -0,0 +1,87 @@
+-- Remove empty EAI Script call from the following entries
+UPDATE `creature_template` SET `AIName` = '' WHERE `entry` IN (30243,30632);
+
+-- Crimson Hammersmith summon from Blacksmithing Plans fix
+-- Black Guard Swordsmith summon from Blacksmithing Plans fix
+UPDATE `gameobject_template` SET `AIName` = 'SmartGameObjectAI' WHERE `entry` IN (176325, 176327);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (176325, 176327) AND `source_type`=1;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(176325, 1, 0, 0, 64, 0, 100, 1, 0, 0, 0, 0, 12, 11120, 6, 60000, 0, 0, 0, 8, 0, 0, 0, 3585.5, -3000.15, 125, 2.19912, 'Blacksmithing Plans - summon Crimson Hammersmith'),
+(176327, 1, 0, 0, 64, 0, 100, 1, 0, 0, 0, 0, 12, 11121, 6, 60000, 0, 0, 0, 8, 0, 0, 0, 3818.4, -3693.32, 144.242, 0.261799, 'Blacksmithing Plans - summon Black Guard Swordsmith');
+
+-- Sleeping Giants fix
+UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24669;
+DELETE FROM `smart_scripts` WHERE (`entryorguid`=24669 AND `source_type`=0);
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(24669, 0, 0, 1, 8, 0, 100, 0, 44261, 1, 0, 0, 33, 24669, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Dormant Vrykul - Sleeping Giants quest credit'),
+(24669, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Dormant Vrykul - Sleeping Giants despawn');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND `SourceEntry`=34083;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(18, 0, 34083, 0, 24, 1, 24669, 0, 63, '', 'Awakening Rod target limit to Dormant Vrykul'); -- changed to item script by Nay, not tested.
+
+-- Culling of Stratholme Hemotoxin SAI spell fix version
+SET @ENTRY := 28199;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE (`creature_id`=@ENTRY);
+DELETE FROM `smart_scripts` WHERE (`entryorguid`=@ENTRY);
+INSERT INTO `smart_scripts` VALUES
+(@ENTRY, 0, 0, 0, 9, 0, 25, 2, 0, 20, 5000, 8000, 11, 52522, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Tomb Stalker - Cast Hemotoxin Normal'),
+(@ENTRY, 0, 1, 0, 9, 0, 40, 4, 0, 20, 5000, 8000, 11, 58782, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Tomb Stalker - Cast Hemotoxin Heroic');
+
+DELETE FROM `creature` WHERE `id` IN (28318, 29346);
+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
+(40153, 28318, 530, 1, 1, 0, 0, -1775.148438, 5548.291992, -12.428190, 4.146070, 300, 0, 0, 1, 0, 0, 0, 0, 0), -- Grand Apothecary Putress
+(40251, 29346, 530, 1, 1, 0, 0, 1925, -4123.1899, 43.1780, 4.79965, 300, 0, 0, 1, 0, 0, 0, 0, 0); -- Apothecary Karlov
+
+-- Fix NPCs falling underground when killed by nelegalno
+UPDATE `creature_template` SET `InhabitType` = 3 WHERE `entry` IN (5936, 24899); -- Orca and Scoodles
+
+-- Removes wrong restriction from G.N.E.R.D. rage
+DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=3882 AND `type`=16;
+
+-- Kalu'ak Fishing Derby start time fix
+UPDATE `game_event` SET `start_time` = '2011-01-01 13:00:00' WHERE `eventEntry`=63;
+UPDATE `game_event` SET `start_time` = '2011-01-01 14:00:00' WHERE `eventEntry`=64;
+
+-- Stranglethorn Fishing Extravaganza start time fix ( http://old.wowhead.com/event=301 )
+UPDATE `game_event` SET `start_time` = '2011-01-01 14:00:00' WHERE `eventEntry` IN (14, 15, 62);
+UPDATE `game_event` SET `description` = 'Stranglethorn Fishing Extravaganza Announce' WHERE `eventEntry`=14;
+UPDATE `game_event` SET `description` = 'Stranglethorn Fishing Extravaganza Fishing Pools' WHERE `eventEntry`=15;
+UPDATE `game_event` SET `description` = 'Stranglethorn Fishing Extravaganza Turn-ins' WHERE `eventEntry`=62;
+
+-- Eitrigg's Wisdom fix
+SET @GOSSIP = 21312;
+SET @NPC = 3144;
+SET @QUEST = 4941;
+-- Add gossip options for each menu id
+DELETE FROM `gossip_menu_option` WHERE `menu_id` BETWEEN @GOSSIP AND @GOSSIP+7;
+INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`) VALUES
+(@GOSSIP, 0, 0, 'Hello, Eitrigg. I bring news from Blackrock Spire.', 1, 1, @GOSSIP+1, 0, 0, 0, ''),
+(@GOSSIP+1, 0, 0, 'There is only one Warchief, Eitrigg!', 1, 1, @GOSSIP+2, 0, 0, 0, ''),
+(@GOSSIP+2, 0, 0, 'What do you mean?', 1, 1, @GOSSIP+3, 0, 0, 0, ''),
+(@GOSSIP+3, 0, 0, 'Hearthglen? But...', 1, 1, @GOSSIP+4, 0, 0, 0, ''),
+(@GOSSIP+4, 0, 0, 'I will take you up on that offer, Eitrigg.', 1, 1, @GOSSIP+5, 0, 0, 0, ''),
+(@GOSSIP+5, 0, 0, 'Ah, so that is how they pushed the Dark Iron to the lower parts of the Spire.', 1, 1, @GOSSIP+6, 0, 0, 0, ''),
+(@GOSSIP+6, 0, 0, 'Perhaps there exists a way?', 1, 1, @GOSSIP+7, 0, 0, 0, ''),
+(@GOSSIP+7, 0, 0, 'As you wish, Eitrigg.', 1, 1, 0, 0, 0, 0, '');
+-- Add gossip menus (text values already in db)
+DELETE FROM `gossip_menu` WHERE `entry`BETWEEN @GOSSIP+1 AND @GOSSIP+7;
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
+(@GOSSIP+1, 3574),
+(@GOSSIP+2, 3575),
+(@GOSSIP+3, 3576),
+(@GOSSIP+4, 3577),
+(@GOSSIP+5, 3578),
+(@GOSSIP+6, 3579),
+(@GOSSIP+7, 3580);
+-- Add Condtion so gossip only shows when on quest
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@GOSSIP;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(15, @GOSSIP, 0, 0, 9, 4941, 0, 0, 0, '', NULL);
+-- Add SAI for quest complete and close of gossip when last option selected
+UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@NPC;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@NPC,0,0,1,62,0,100,0,@GOSSIP+7,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,'Eitrigg - Select As you wish, Eitrigg. - Close gossip'),
+(@NPC,0,1,0,61,0,100,0,0,0,0,0,15,@QUEST,0,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,'Eitrigg - On link - Give credit quest (4941)');
diff --git a/sql/updates/world/2011_12_18_05_world_misc.sql b/sql/updates/world/2011_12_18_05_world_misc.sql
new file mode 100644
index 00000000000..b8435c4211e
--- /dev/null
+++ b/sql/updates/world/2011_12_18_05_world_misc.sql
@@ -0,0 +1,94 @@
+-- Quest: The Black Knight's Orders (13663) SQL fix
+-- Black Knights Camp Spawns
+SET @OGUID=100489; -- Need 10
+SET @CGUID=152277; -- Need 3
+DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+9;
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES
+(@OGUID+0,194357,571,1,1,9070.324,2050.733,67.21755,0,0,0,0,1,0,0,0), -- Poison Vial
+(@OGUID+1,194357,571,1,1,9073.764,2050.120,68.15718,0,0,0,0,1,0,0,0), -- Poison Vial
+(@OGUID+2,194357,571,1,1,9074.699,2050.709,68.17049,0,0,0,0,1,0,0,0), -- Poison Vial
+(@OGUID+3,194357,571,1,1,9069.595,2050.349,67.21755,0,0,0,0,1,0,0,0), -- Poison Vial
+(@OGUID+4,194357,571,1,1,9069.961,2050.538,67.21755,0,0,0,0,1,0,0,0), -- Poison Vial
+(@OGUID+5,194357,571,1,1,9072.077,2049.292,67.78963,0,0,0,0,1,0,0,0), -- Poison Vial
+(@OGUID+6,194357,571,1,1,9065.680,2052.618,67.28638,0,0,0,0,1,0,0,0), -- Poison Vial
+(@OGUID+7,194394,571,1,1,9083.578,2041.696,67.81812,0,0,0,0,1,0,0,0), -- Cult Rune Circle
+(@OGUID+8,195011,571,1,1,9078.471,2057.547,67.21606,0,0,0,0.9981346,0.06105176,0,0,0), -- Bonfire
+(@OGUID+9,300007,571,1,1,8523.51,566.994,552.841,2.1518,0,0,0.880019,0.474938,300,0,1); -- Spell Focus GO?
+
+DELETE FROM `creature` WHERE `id`=33537;
+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
+(@CGUID+0,33537,571,1,1,0,0,9071.043,2075.388,67.21542,4.935980,120,0,0,1,0,0,0,0,0),
+(@CGUID+1,33537,571,1,1,0,0,9074.414,2049.259,67.34636,2.181662,120,0,0,1,0,0,0,0,0),
+(@CGUID+2,33537,571,1,1,0,0,9081.280,2058.925,67.38979,3.612832,120,0,0,1,0,0,0,0,0);
+
+-- Template updates
+UPDATE `creature_template` SET `unit_flags`=`unit_flags`|8,`speed_run`=4, `InhabitType`=5 WHERE `entry`=33519; -- Black Knight''s Gryphon
+UPDATE `creature_template` SET `faction_A`=2080,`faction_H`=2080,`unit_flags`=`unit_flags`|32768,`equipment_id`=823 WHERE `entry`=33537; -- Cult Conspirator
+
+-- See black knight's invisibility while on quest The Black Knight's Orders
+DELETE FROM `spell_area` WHERE `spell`=67471 AND `area` IN (4658);
+INSERT INTO `spell_area` (`spell`,`area`,`quest_start`,`quest_start_active`,`quest_end`,`aura_spell`,`racemask`,`gender`,`autocast`) VALUES
+(67471,4658,13663,1,13663,0,0,2,1); -- See Black Knight Invis
+
+-- Addon data
+DELETE FROM `creature_template_addon` WHERE `entry` IN (33519,33537);
+INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(33519,0,0,2049,0,NULL),-- Black Knight''s Gryphon
+(33537,0,1,1,0,NULL); -- Cult Conspirator
+
+-- SAI for Black Knight''s Gryphon
+SET @entry :=33519;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@entry;
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@entry;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@entry,0,0,0,27,0,100,0,0,0,0,0,53,0,@entry,0,13663,0,0,1,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On passenger - Start WP movement'),
+(@entry,0,1,0,40,0,100,0,40,@entry,0,0,33,33519,0,0,0,0,0,7,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On WP 40 - Quest Credit'),
+(@entry,0,2,0,40,0,100,0,43,@entry,0,0,11,50630,0,0,0,0,0,7,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On WP 43 - Dismount Spell'),
+(@entry,0,3,0,40,0,100,0,44,@entry,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On WP 44 - Despawn');
+
+DELETE FROM `waypoints` WHERE `entry`=33519;
+INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
+(33519, 1,8521.271,569.5960,552.8375,'Black Knight''s Gryphon'),
+(33519, 2,8517.864,579.1095,553.2125,'Black Knight''s Gryphon'),
+(33519, 3,8513.146,594.6724,551.2125,'Black Knight''s Gryphon'),
+(33519, 4,8505.263,606.5569,550.4177,'Black Knight''s Gryphon'),
+(33519, 5,8503.017,628.4188,547.4177,'Black Knight''s Gryphon'),
+(33519, 6,8480.271,652.7083,547.4177,'Black Knight''s Gryphon'),
+(33519, 7,8459.121,686.1427,547.4177,'Black Knight''s Gryphon'),
+(33519, 8,8436.802,713.8687,547.3428,'Black Knight''s Gryphon'),
+(33519, 9,8405.380,740.0045,547.4177,'Black Knight''s Gryphon'),
+(33519,10,8386.139,770.6009,547.5881,'Black Knight''s Gryphon'),
+(33519,11,8374.297,802.2525,547.9304,'Black Knight''s Gryphon'),
+(33519,12,8374.271,847.0363,548.0427,'Black Knight''s Gryphon'),
+(33519,13,8385.988,868.9881,548.0491,'Black Knight''s Gryphon'),
+(33519,14,8413.027,867.8573,547.2991,'Black Knight''s Gryphon'),
+(33519,15,8452.552,869.0339,547.2991,'Black Knight''s Gryphon'),
+(33519,16,8473.058,875.2012,547.2955,'Black Knight''s Gryphon'),
+(33519,17,8472.278,912.3134,547.4169,'Black Knight''s Gryphon'),
+(33519,18,8479.666,954.1650,547.3298,'Black Knight''s Gryphon'),
+(33519,19,8477.349,1001.368,547.3372,'Black Knight''s Gryphon'),
+(33519,20,8484.538,1025.797,547.4622,'Black Knight''s Gryphon'),
+(33519,21,8525.363,1029.284,547.4177,'Black Knight''s Gryphon'),
+(33519,22,8532.808,1052.904,548.1677,'Black Knight''s Gryphon'),
+(33519,23,8537.356,1077.927,554.5791,'Black Knight''s Gryphon'),
+(33519,24,8540.528,1083.379,569.6827,'Black Knight''s Gryphon'),
+(33519,25,8563.641,1140.965,569.6827,'Black Knight''s Gryphon'),
+(33519,26,8594.897,1205.458,569.6827,'Black Knight''s Gryphon'),
+(33519,27,8617.104,1257.399,566.1833,'Black Knight''s Gryphon'),
+(33519,28,8648.496,1329.349,558.0187,'Black Knight''s Gryphon'),
+(33519,29,8667.723,1388.411,546.1880,'Black Knight''s Gryphon'),
+(33519,30,8699.145,1474.898,528.2197,'Black Knight''s Gryphon'),
+(33519,31,8726.869,1546.006,501.7741,'Black Knight''s Gryphon'),
+(33519,32,8739.058,1592.157,478.5511,'Black Knight''s Gryphon'),
+(33519,33,8750.799,1636.771,455.0797,'Black Knight''s Gryphon'),
+(33519,34,8760.006,1669.482,423.2208,'Black Knight''s Gryphon'),
+(33519,35,8783.310,1701.852,375.8872,'Black Knight''s Gryphon'),
+(33519,36,8817.336,1735.731,343.3323,'Black Knight''s Gryphon'),
+(33519,37,8882.320,1789.754,301.5807,'Black Knight''s Gryphon'),
+(33519,38,8958.597,1841.807,259.9141,'Black Knight''s Gryphon'),
+(33519,39,9045.891,1908.076,233.4143,'Black Knight''s Gryphon'),
+(33519,40,9107.177,1964.594,215.9704,'Black Knight''s Gryphon'),
+(33519,41,9134.763,2036.925,175.1925,'Black Knight''s Gryphon'),
+(33519,42,9128.608,2089.091,141.3593,'Black Knight''s Gryphon'),
+(33519,43,9093.364,2128.384,99.38685,'Black Knight''s Gryphon'),
+(33519,44,9050.709,2123.656,60.24802,'Black Knight''s Gryphon');
diff --git a/sql/updates/world/2011_12_18_06_world_sai.sql b/sql/updates/world/2011_12_18_06_world_sai.sql
new file mode 100644
index 00000000000..2fce176cd0f
--- /dev/null
+++ b/sql/updates/world/2011_12_18_06_world_sai.sql
@@ -0,0 +1,14 @@
+SET @JEEVES := 35642;
+SET @SPELL_GOODBYE := 68052;
+DELETE FROM `spell_linked_spell` WHERE `spell_effect`=@SPELL_GOODBYE AND `spell_trigger`=-68054 AND `type`=0;
+INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment`) VALUES
+(-68054,@SPELL_GOODBYE,0, 'Jeeves - Say Goodbye');
+
+UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@JEEVES;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@JEEVES AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@JEEVES,0,0,0,8,0,100,0,@SPELL_GOODBYE,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jeeves - On Spellhit - Say Line 0");
+
+DELETE FROM `creature_text` WHERE `entry`=@JEEVES;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
+(@JEEVES,0,0,"If you'll excuse me, I'm afraid I have other business I must attend to. Please call on me again in the future.",12,0,100,3,0,0, 'Jeeves');
diff --git a/sql/updates/world/2011_12_18_07_world_conditions.sql b/sql/updates/world/2011_12_18_07_world_conditions.sql
new file mode 100644
index 00000000000..ef669dd2dbb
--- /dev/null
+++ b/sql/updates/world/2011_12_18_07_world_conditions.sql
@@ -0,0 +1,17 @@
+-- Fix condition for Bom'bay's npc_text, gossip_menu and gossip_menu_option
+-- Player must to complete quest 826 'Zalazane' to see gossip_menu_option
+DELETE FROM `gossip_menu` WHERE `entry`=3062 AND `text_id` IN (3794,3795);
+INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES
+(3062,3794), -- text before to complete quest 826
+(3062,3795); -- text after to complete quest 826
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=3062;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(14,3062,3794,0,14,826,0,0,0,'', "Bom'bay - show text 3794 if player does not have quest Zalazane"),
+(14,3062,3795,0,8,826,0,0,0,'', "Bom'bay - show text 3795 if player has quest Zalazane rewarded"),
+(15,3062,0,0,8,826,0,0,0,'', "Bom'bay - show gossip option 0 if player has quest Zalazane rewarded"),
+(15,3062,1,0,8,826,0,0,0,'', "Bom'bay - show gossip option 1 if player has quest Zalazane rewarded"),
+(15,3062,2,0,8,826,0,0,0,'', "Bom'bay - show gossip option 2 if player has quest Zalazane rewarded"),
+(15,3062,3,0,8,826,0,0,0,'', "Bom'bay - show gossip option 3 if player has quest Zalazane rewarded"),
+(15,3062,4,0,8,826,0,0,0,'', "Bom'bay - show gossip option 4 if player has quest Zalazane rewarded"),
+(15,3062,5,0,8,826,0,0,0,'', "Bom'bay - show gossip option 5 if player has quest Zalazane rewarded"),
+(15,3062,6,0,8,826,0,0,0,'', "Bom'bay - show gossip option 6 if player has quest Zalazane rewarded");
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 058ddf7d269..7170aa818b5 100755
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -3227,6 +3227,10 @@ void SpellMgr::LoadDbcDataCorrections()
// this needs research on modifier applying rules, does not seem to be in Attributes fields
spellInfo->EffectSpellClassMask[0] = flag96(0x00000040, 0x00000000, 0x00000000);
break;
+ case 63163: // Apply Enchanted Bridle (Argent Tournament)
+ spellInfo->EffectDieSides[0] = 0; // was 1, that should probably mean seat 0, but instead it's treated as spell 1
+ spellInfo->EffectBasePoints[0] = 52391; // Ride Vehicle (forces seat 0)
+ break;
case 19970: // Entangling Roots (Rank 6) -- Nature's Grasp Proc
case 19971: // Entangling Roots (Rank 5) -- Nature's Grasp Proc
case 19972: // Entangling Roots (Rank 4) -- Nature's Grasp Proc
diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/shared/Database/DatabaseWorkerPool.h
index adf5902a591..f1d01661210 100755
--- a/src/server/shared/Database/DatabaseWorkerPool.h
+++ b/src/server/shared/Database/DatabaseWorkerPool.h
@@ -158,6 +158,7 @@ class DatabaseWorkerPool
}
//! Enqueues a one-way SQL operation in prepared statement format that will be executed asynchronously.
+ //! Statement must be prepared with CONNECTION_ASYNC flag.
void Execute(PreparedStatement* stmt)
{
PreparedStatementTask* task = new PreparedStatementTask(stmt);
@@ -195,6 +196,7 @@ class DatabaseWorkerPool
}
//! Directly executes a one-way SQL operation in prepared statement format, that will block the calling thread until finished.
+ //! Statement must be prepared with the CONNECTION_SYNCH flag.
void DirectExecute(PreparedStatement* stmt)
{
T* t = GetFreeConnection();
@@ -203,7 +205,7 @@ class DatabaseWorkerPool
}
/**
- Syncrhonous query (with resultset) methods.
+ Synchronous query (with resultset) methods.
*/
//! Directly executes an SQL query in string format that will block the calling thread until finished.
@@ -256,6 +258,7 @@ class DatabaseWorkerPool
//! Directly executes an SQL query in prepared format that will block the calling thread until finished.
//! Returns reference counted auto pointer, no need for manual memory management in upper level code.
+ //! Statement must be prepared with CONNECTION_SYNCH flag.
PreparedQueryResult Query(PreparedStatement* stmt)
{
T* t = GetFreeConnection();
@@ -297,6 +300,7 @@ class DatabaseWorkerPool
//! Enqueues a query in prepared format that will set the value of the PreparedQueryResultFuture return object as soon as the query is executed.
//! The return value is then processed in ProcessQueryCallback methods.
+ //! Statement must be prepared with CONNECTION_ASYNC flag.
PreparedQueryResultFuture AsyncQuery(PreparedStatement* stmt)
{
PreparedQueryResultFuture res;
@@ -308,6 +312,7 @@ class DatabaseWorkerPool
//! Enqueues a vector of SQL operations (can be both adhoc and prepared) that will set the value of the QueryResultHolderFuture
//! return object as soon as the query is executed.
//! The return value is then processed in ProcessQueryCallback methods.
+ //! Any prepared statements added to this holder need to be prepared with the CONNECTION_ASYNC flag.
QueryResultHolderFuture DelayQueryHolder(SQLQueryHolder* holder)
{
QueryResultHolderFuture res;
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
index c0f05d19161..248c39018b2 100755
--- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp
+++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
@@ -26,7 +26,7 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PREPARE_STATEMENT(CHAR_ADD_QUEST_POOL_SAVE, "INSERT INTO pool_quest_save (pool_id, quest_id) VALUES (?, ?)", CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_NONEXISTENT_GUILD_BANK_ITEM, "DELETE FROM guild_bank_item WHERE guildid = ? AND TabId = ? AND SlotId = ?", CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_EXPIRED_BANS, "UPDATE character_banned SET active = 0 WHERE unbandate <= UNIX_TIMESTAMP() AND unbandate <> bandate", CONNECTION_ASYNC)
- PREPARE_STATEMENT(CHAR_GET_GUID_BY_NAME, "SELECT guid FROM characters WHERE name = ?", CONNECTION_SYNCH);
+ PREPARE_STATEMENT(CHAR_GET_GUID_BY_NAME, "SELECT guid FROM characters WHERE name = ?", CONNECTION_SYNCH | CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_CHECK_NAME, "SELECT 1 FROM characters WHERE name = ?", CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_SUM_CHARS, "SELECT COUNT(guid) FROM characters WHERE account = ?", CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_CHAR_CREATE_INFO, "SELECT level, race, class FROM characters WHERE account = ? LIMIT 0, ?", CONNECTION_ASYNC);