aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2013_12_08_01_world_misc.sql53
-rw-r--r--sql/updates/world/2013_12_08_02_world_misc.sql31
-rw-r--r--sql/updates/world/2013_12_09_00_world_misc.sql53
-rw-r--r--sql/updates/world/2013_12_09_01_world_waypoints.sql142
-rw-r--r--sql/updates/world/2013_12_09_02_world_waypoints.sql515
-rw-r--r--src/server/game/AI/CoreAI/PetAI.h1
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp1
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp4
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp1
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp4
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp3
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp1
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp1
-rw-r--r--src/server/scripts/Northrend/zone_howling_fjord.cpp112
-rw-r--r--src/server/scripts/Northrend/zone_storm_peaks.cpp178
-rw-r--r--src/server/scripts/Northrend/zone_zuldrak.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp1
24 files changed, 1097 insertions, 14 deletions
diff --git a/sql/updates/world/2013_12_08_01_world_misc.sql b/sql/updates/world/2013_12_08_01_world_misc.sql
new file mode 100644
index 00000000000..586b8d2c739
--- /dev/null
+++ b/sql/updates/world/2013_12_08_01_world_misc.sql
@@ -0,0 +1,53 @@
+-- Fix Quest 11310 Warning: Some Assembly Required
+
+-- Condition for spell Mindless Abomination Control
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=42168;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13,1,42168,0,0,31,0,3,23575,0,0,0,0, '', 'Mindless Abomination Control targets Mindless Abomination');
+
+UPDATE `creature_template` SET `spell1`=42166, `spell2`=61359, `AIName`= '',ScriptName = 'npc_mindless_abomination' WHERE `entry`=23575;
+
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=43392;
+INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment`) VALUES
+(43392,42168,0, 'Mindless Abomination Control cast when Assemble Abomination cast');
+
+DELETE FROM `spell_script_names` WHERE `spell_id`=42268;
+INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
+(42268, 'spell_mindless_abomination_explosion_fx_master');
+
+-- Update SAI for Plagued Dragonflayer Tribesman, Plagued Dragonflayer Rune-Caster, Plagued Dragonflayer Handler from Pitcrawler
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (23564,24198,24199) 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
+(23564,0,0,1,8,0,100,0,42166,0,0,0,11,43399,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On spellhit Plagued Blood Explosion - Spellcast Plagued Vrykul Force Credit'),
+(23564,0,1,0,61,0,100,0,0,0,0,0,11,42167,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On spellhit Plagued Blood Explosion - Spellcast Plagued Blood Explosion'),
+(23564,0,2,0,8,0,100,0,42167,0,0,0,11,42167,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On spellhit Plagued Blood Explosion - Spellcast Plagued Blood Explosion'),
+(23564,0,3,0,4,0,100,0,0,0,0,0,11,43506,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On aggro - Spellcast Plague Blight'),
+(23564,0,4,5,8,0,100,0,43381,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On spellhit Plague Spray - Say text'),
+(23564,0,5,6,61,0,100,0,0,0,0,0,2,1925,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On spellhit Plague Spray - Set faction'),
+(23564,0,6,0,61,0,100,0,0,0,0,0,11,43384,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On spellhit Plague Spray - Spellcast Spray Credit'),
+(23564,0,7,0,8,0,100,0,43385,0,0,0,49,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On spellhit Plagued Vrykul Dummy - Start attack'),
+(23564,0,8,0,6,0,100,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On death - Set default faction'),
+(23564,0,9,0,1,0,35,0,0,30000,25000,45000,11,43327,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On update OOC - Spellcast Vomit'),
+(23564,0,10,0,0,0,100,0,2000,4000,5000,8000,11,32736,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On update IC - Spellcast Mortal Strike'),
+(23564,0,11,0,0,0,100,0,1000,1000,4000,5000,11,15496,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Plagued Dragonflayer Tribesman - On update IC - Spellcast Cleave'),
+(24198,0,0,1,8,0,100,0,42166,0,0,0,11,43399,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Plagued Dragonflayer Rune-Caster - On spellhit Plagued Blood Explosion - Spellcast Plagued Vrykul Force Credit'),
+(24198,0,1,0,61,0,100,0,0,0,0,0,11,42167,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Rune-Caster - On spellhit Plagued Blood Explosion - Spellcast Plagued Blood Explosion'),
+(24198,0,2,0,8,0,100,0,42167,0,0,0,11,42167,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Rune-Caster - On spellhit Plagued Blood Explosion - Spellcast Plagued Blood Explosion'),
+(24198,0,3,4,8,0,100,0,43381,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Rune-Caster - On spellhit Plague Spray - Say text'),
+(24198,0,4,5,61,0,100,0,0,0,0,0,2,1925,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Rune-Caster - On spellhit Plague Spray - Set faction'),
+(24198,0,5,0,61,0,100,0,0,0,0,0,11,43384,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Plagued Dragonflayer Rune-Caster - On spellhit Plague Spray - Spellcast Spray Credit'),
+(24198,0,6,0,8,0,100,0,43385,0,0,0,49,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Plagued Dragonflayer Rune-Caster - On spellhit Plagued Vrykul Dummy - Start attack'),
+(24198,0,7,0,6,0,100,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Rune-Caster - On death - Set default faction'),
+(24198,0,8,0,1,0,35,0,0,30000,25000,45000,11,43327,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Rune-Caster - On update OOC - Spellcast Vomit'),
+(24198,0,9,0,0,0,100,0,0,0,18000,20000,11,47782,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Plagued Dragonflayer Rune-Caster - On update IC - Spellcast Corruption'),
+(24198,0,10,0,0,0,100,0,10000,12000,15000,17000,11,15616,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Plagued Dragonflayer Rune-Caster - On update IC - Spellcast Flame Shock'),
+(24199,0,0,1,8,0,100,0,42166,0,0,0,11,43399,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Plagued Dragonflayer Handler - On spellhit Plagued Blood Explosion - Spellcast Plagued Vrykul Force Credit'),
+(24199,0,1,0,61,0,100,0,0,0,0,0,11,42167,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Handler - On spellhit Plagued Blood Explosion - Spellcast Plagued Blood Explosion'),
+(24199,0,2,0,8,0,100,0,42167,0,0,0,11,42167,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Handler - On spellhit Plagued Blood Explosion - Spellcast Plagued Blood Explosion'),
+(24199,0,3,0,4,0,100,0,0,0,0,0,11,43506,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Handler - On aggro - Spellcast Plague Blight'),
+(24199,0,4,5,8,0,100,0,43381,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Handler - On spellhit Plague Spray - Say text'),
+(24199,0,5,6,61,0,100,0,0,0,0,0,2,1925,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Handler - On spellhit Plague Spray - Set faction'),
+(24199,0,6,0,61,0,100,0,0,0,0,0,11,43384,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Plagued Dragonflayer Handler - On spellhit Plague Spray - Spellcast Spray Credit'),
+(24199,0,7,0,8,0,100,0,43385,0,0,0,49,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Plagued Dragonflayer Handler - On spellhit Plagued Vrykul Dummy - Start attack'),
+(24199,0,8,0,6,0,100,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Handler - On death - Set default faction'),
+(24199,0,9,0,1,0,35,0,0,30000,25000,45000,11,43327,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Dragonflayer Handler - On update OOC - Spellcast Vomit');
diff --git a/sql/updates/world/2013_12_08_02_world_misc.sql b/sql/updates/world/2013_12_08_02_world_misc.sql
new file mode 100644
index 00000000000..34f7a0b07f7
--- /dev/null
+++ b/sql/updates/world/2013_12_08_02_world_misc.sql
@@ -0,0 +1,31 @@
+-- Condition for spells Mind Trick: Chains
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (5432);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `ElseGroup`=1 AND `SourceEntry` IN (59951,59952);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13, 1, 5432, 0, 0, 31, 0, 3, 31892, 0, 0, 0, 0, '', 'Mind Trick: Chains - Torso Blood Back targets Darkspeaker R''khem'),
+(13, 1, 59951, 0, 1, 31, 0, 3, 31892, 0, 0, 0, 0, '', 'Mind Trick: Chains - Left Hand targets Darkspeaker R''khem'),
+(13, 1, 59952, 0, 1, 31, 0, 3, 31892, 0, 0, 0, 0, '', 'Mind Trick: Chains - Right Hand targets Darkspeaker R''khem');
+
+-- Update ELM General Purpose Bunny Large
+UPDATE `creature_template` SET `flags_extra`=`flags_extra`|128 WHERE `entry`=24110;
+UPDATE `creature` SET `modelid`=0, `spawndist`=0, `curhealth`=1, `MovementType`=0 WHERE `id`=24110;
+
+-- ELM General Purpose Bunny Large SAI
+SET @ENTRY := 24110;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid` BETWEEN -121628 AND -121615;
+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
+(-121615,0,0,0,1,0,100,1,1000,1000,1000,1000,11,59952,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121616,0,0,0,1,0,100,1,1000,1000,1000,1000,11,59952,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121617,0,0,0,1,0,100,1,1000,1000,1000,1000,11,59952,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121618,0,0,0,1,0,100,1,1000,1000,1000,1000,11,5432,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121619,0,0,0,1,0,100,1,1000,1000,1000,1000,11,5432,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121620,0,0,0,1,0,100,1,1000,1000,1000,1000,11,5432,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121621,0,0,0,1,0,100,1,1000,1000,1000,1000,11,59951,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121622,0,0,0,1,0,100,1,1000,1000,1000,1000,11,59951,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121623,0,0,0,1,0,100,1,1000,1000,1000,1000,11,5432,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121624,0,0,0,1,0,100,1,1000,1000,1000,1000,11,5432,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121625,0,0,0,1,0,100,1,1000,1000,1000,1000,11,5432,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121626,0,0,0,1,0,100,1,1000,1000,1000,1000,11,59951,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121627,0,0,0,1,0,100,1,1000,1000,1000,1000,11,59951,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem"),
+(-121628,0,0,0,1,0,100,1,1000,1000,1000,1000,11,59952,0,0,0,0,0,1,0,0,0,0,0,0,0,"ELM General Purpose Bunny Large - OCC Once - Cast chains on Darkspeaker R'khem");
diff --git a/sql/updates/world/2013_12_09_00_world_misc.sql b/sql/updates/world/2013_12_09_00_world_misc.sql
new file mode 100644
index 00000000000..7c4e64f3601
--- /dev/null
+++ b/sql/updates/world/2013_12_09_00_world_misc.sql
@@ -0,0 +1,53 @@
+-- Fix for Quest 13285 "Forging the Keystone"
+
+-- Missing Brann Bronzebeard spawn
+SET @GUID := 24;
+DELETE FROM `creature` WHERE `guid` IN (@GUID);
+INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`) VALUES
+(@GUID,31810,571,1,1,0,1,7850.829,-1393.344,1534.143,5.88176,300,0,0,1,0,0);
+
+-- Brann Bronzebeard creature update
+UPDATE `creature_template` SET `gossip_menu_id`=10124,`minlevel`=80,`maxlevel`=80,`exp`=2,`npcflag`=3, `AIName`= '',ScriptName = 'npc_brann_bronzebeard' WHERE `entry`=31810;
+DELETE FROM `creature_template_addon` WHERE `entry`=31810;
+INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(31810,0,0,1,0, '54500');
+
+-- Add missing equipment for Brann Bronzebeard
+DELETE FROM `creature_equip_template` WHERE `entry`=31810;
+INSERT INTO `creature_equip_template` (`entry`,`id`,`itemEntry1`,`itemEntry2`,`itemEntry3`) VALUES (31810,1,1903,0,0);
+
+-- Add Missing gossip for Brann Bronzebeard
+DELETE FROM `gossip_menu` WHERE (`entry`=10124 AND `text_id`=13641);
+INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10124,13641);
+DELETE FROM `gossip_menu_option` WHERE (`menu_id`=10124);
+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
+(10124,0,0, 'I''m ready, Brann. Let''s make the keystone.',1,1,0,0,0,0, '');
+
+-- Talk text for Brann Bronzebeard
+SET @ENTRY := 31810;
+DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
+(@ENTRY,0,0,'Let''s see if we can finish this keystone.',12,0,100,1,0,0, 'Brann Bronzebeard'),
+(@ENTRY,1,0,'The keystone is completed! We''ve done it, $N!',12,0,100,5,0,0, 'Brann Bronzebeard'),
+(@ENTRY,2,0,'Who knows what secrets await within Ulduar''s archives? I''m off to discover them. Thank you again for your help, $N. Without it, I''d still be searching for that key.',12,0,100,66,0,0, 'Brann Bronzebeard');
+
+-- Spell "See Quest Brann Bronzebeard (TOI)" for quest "Forging the Keystone"
+DELETE FROM `spell_area` WHERE `spell`=60963;
+INSERT INTO `spell_area` (`spell`,`area`,`quest_start`,`quest_end`,`aura_spell`,`racemask`,`gender`,`autocast`,`quest_start_status`,`quest_end_status`) VALUES
+(60963, 4466, 13285, 0, 0, 0, 2, 1, 74, 11);
+
+-- A Distant Voice creature update
+UPDATE `creature_template` SET `minlevel`=80,`maxlevel`=80,`exp`=2,`unit_class`=2,`InhabitType`=4,`flags_extra`=`flags_extra`|128 WHERE `entry`=31814;
+DELETE FROM `creature_template_addon` WHERE `entry`=31814;
+INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(31814,0,0,1,0, '35709');
+
+-- Talk text for A Distant Voice
+SET @ENTRY := 31814;
+DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
+(@ENTRY,0,0,'Welcome, Brann Bronzebeard. I am all that remains of this temple''s guardian.',12,0,100,0,0,0, 'A Distant Voice'),
+(@ENTRY,1,0,'You have proven yourself as an explorer and seeker of knowledge.',12,0,100,0,0,0, 'A Distant Voice'),
+(@ENTRY,2,0,'You have been a steadfast ally to the Earthen.',12,0,100,0,0,0, 'A Distant Voice'),
+(@ENTRY,3,0,'You and your companion have proven yourselves in combat and in the pursuit of the keystone.',12,0,100,0,0,0, 'A Distant Voice'),
+(@ENTRY,4,0,'Your motives are pure. The keystone''s parts shall be reunited. Go to Ulduar and learn the answers to your questions, Brann Bronzebeard.',12,0,100,0,0,0, 'A Distant Voice');
diff --git a/sql/updates/world/2013_12_09_01_world_waypoints.sql b/sql/updates/world/2013_12_09_01_world_waypoints.sql
new file mode 100644
index 00000000000..9196aad3f97
--- /dev/null
+++ b/sql/updates/world/2013_12_09_01_world_waypoints.sql
@@ -0,0 +1,142 @@
+-- Missing Stormforged Taskmaster spawns
+SET @GUID := 63373;
+DELETE FROM `creature` WHERE `guid` IN (@GUID,@GUID+1,@GUID+2);
+INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`) VALUES
+(@GUID,29369,571,1,1,0,1,7842.542,-110.6463,882.8068,5.88176,300,0,0,1,0,0),
+(@GUID+1,29369,571,1,1,0,1,7827.683,-77.09928,882.7308,5.88176,300,0,0,1,0,0),
+(@GUID+2,29369,571,1,1,0,1,7834.078,-130.5392,882.3082,5.88176,300,0,0,1,0,0);
+
+-- Pathing for Stormforged Taskmaster Entry: 29369
+SET @NPC := @GUID;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7842.542,`position_y`=-110.6463,`position_z`=882.8068 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7842.542,-110.6463,882.8068,0,0,0,0,100,0),
+(@PATH,2,7839.237,-106.3565,882.6854,0,0,0,0,100,0),
+(@PATH,3,7833.708,-100.7408,881.3173,0,0,0,0,100,0),
+(@PATH,4,7827.768,-96.58257,881.0281,0,0,0,0,100,0),
+(@PATH,5,7822.916,-90.53754,880.5125,0,0,0,0,100,0),
+(@PATH,6,7822.845,-83.79515,881.5299,0,0,0,0,100,0),
+(@PATH,7,7822.916,-90.48802,880.5093,0,0,0,0,100,0),
+(@PATH,8,7827.694,-96.49003,881.0132,0,0,0,0,100,0),
+(@PATH,9,7833.708,-100.7408,881.3173,0,0,0,0,100,0),
+(@PATH,10,7839.095,-106.2119,882.6039,0,0,0,0,100,0);
+
+-- Pathing for Stormforged Taskmaster Entry: 29369
+SET @NPC := @GUID+1;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7827.683,`position_y`=-77.09928,`position_z`=882.7308 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7827.683,-77.09928,882.7308,0,0,0,0,100,0),
+(@PATH,2,7824.653,-79.73319,882.5463,0,0,0,0,100,0),
+(@PATH,3,7827.683,-77.09928,882.7308,0,0,0,0,100,0),
+(@PATH,4,7832.377,-77.63552,881.9279,0,0,0,0,100,0),
+(@PATH,5,7837.402,-75.31012,880.0537,0,0,0,0,100,0),
+(@PATH,6,7832.377,-77.63552,881.9279,0,0,0,0,100,0);
+
+-- Pathing for Stormforged Taskmaster Entry: 29369
+SET @NPC := @GUID+2;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7842.921,`position_y`=-124.6453,`position_z`=880.9332 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7834.078,-130.5392,882.3082,0,0,0,0,100,0),
+(@PATH,2,7842.921,-124.6453,880.9332,0,0,0,0,100,0),
+(@PATH,3,7851.019,-120.6835,880.8082,0,0,0,0,100,0),
+(@PATH,4,7856.965,-115.7509,881.3082,0,0,0,0,100,0),
+(@PATH,5,7850.458,-124.2621,880.1832,0,0,0,0,100,0),
+(@PATH,6,7856.965,-115.7509,881.3082,0,0,0,0,100,0),
+(@PATH,7,7851.019,-120.6835,880.8082,0,0,0,0,100,0),
+(@PATH,8,7842.921,-124.6453,880.9332,0,0,0,0,100,0);
+
+-- Pathing for Stormforged Taskmaster Entry: 29369
+SET @NPC := 113453;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7831.406,`position_y`=-36.4311,`position_z`=881.7036 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7831.406,-36.4311,881.7036,0,0,0,0,100,0),
+(@PATH,2,7825.858,-41.52279,882.6611,0,0,0,0,100,0),
+(@PATH,3,7825.452,-46.9974,881.7455,0,0,0,0,100,0),
+(@PATH,4,7825.429,-52.69217,881.6854,0,0,0,0,100,0),
+(@PATH,5,7829.174,-59.9388,881.8911,0,0,0,0,100,0),
+(@PATH,6,7830.546,-64.68768,881.6604,0,0,0,0,100,0),
+(@PATH,7,7829.176,-59.94751,881.8936,0,0,0,0,100,0),
+(@PATH,8,7825.429,-52.69217,881.6854,0,0,0,0,100,0),
+(@PATH,9,7825.452,-46.9974,881.7455,0,0,0,0,100,0),
+(@PATH,10,7825.858,-41.52279,882.6611,0,0,0,0,100,0),
+(@PATH,11,7831.406,-36.4311,881.7036,0,0,0,0,100,0),
+(@PATH,12,7834.929,-35.81573,881.0314,0,0,0,0,100,0);
+
+-- Pathing for Stormforged Taskmaster Entry: 29369
+SET @NPC := 113454;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7806.823,`position_y`=-50.18902,`position_z`=883.4045 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7806.823,-50.18902,883.4045,0,0,0,0,100,0),
+(@PATH,2,7810.619,-51.10297,883.5612,0,0,0,0,100,0),
+(@PATH,3,7814.73,-51.17838,883.1161,0,0,0,0,100,0),
+(@PATH,4,7818.904,-50.98427,882.5912,0,0,0,0,100,0),
+(@PATH,5,7814.926,-51.18197,883.0936,0,0,0,0,100,0),
+(@PATH,6,7810.619,-51.10297,883.5612,0,0,0,0,100,0),
+(@PATH,7,7806.823,-50.18902,883.4045,0,0,0,0,100,0),
+(@PATH,8,7802.53,-48.54416,883.1284,0,0,0,0,100,0),
+(@PATH,9,7796.819,-50.17252,882.2547,0,0,0,0,100,0),
+(@PATH,10,7802.53,-48.54416,883.1284,0,0,0,0,100,0);
+
+-- Pathing for Stormforged Taskmaster Entry: 29369
+SET @NPC := 113456;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7741.837,`position_y`=-35.62127,`position_z`=868.321 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7741.837,-35.62127,868.321,0,0,0,0,100,0),
+(@PATH,2,7742.504,-41.76921,868.1025,0,0,0,0,100,0),
+(@PATH,3,7745.919,-49.20704,869.4573,0,0,0,0,100,0),
+(@PATH,4,7748.479,-53.62652,870.8617,0,0,0,0,100,0),
+(@PATH,5,7745.919,-49.20704,869.4573,0,0,0,0,100,0),
+(@PATH,6,7742.512,-41.78676,868.1014,0,0,0,0,100,0),
+(@PATH,7,7741.922,-36.00348,868.2827,0,0,0,0,100,0),
+(@PATH,8,7736.815,-27.02236,867.0229,0,0,0,0,100,0),
+(@PATH,9,7730.213,-23.21951,867.5583,0,0,0,0,100,0),
+(@PATH,10,7736.815,-27.02236,867.0229,0,0,0,0,100,0);
+
+-- Pathing for Stormforged Taskmaster Entry: 29369
+SET @NPC := 113455;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7755.479,`position_y`=-0.06315613,`position_z`=865.8619 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7755.479,-0.06315613,865.8619,0,0,0,0,100,0),
+(@PATH,2,7761.083,1.82399,865.3038,0,0,0,0,100,0),
+(@PATH,3,7766.307,-2.848633,864.6754,0,0,0,0,100,0),
+(@PATH,4,7771.372,-8.783966,863.8624,0,0,0,0,100,0),
+(@PATH,5,7776.645,-11.9133,863.2283,0,0,0,0,100,0),
+(@PATH,6,7771.372,-8.783966,863.8624,0,0,0,0,100,0),
+(@PATH,7,7766.307,-2.848633,864.6754,0,0,0,0,100,0),
+(@PATH,8,7761.083,1.82399,865.3038,0,0,0,0,100,0),
+(@PATH,9,7755.479,-0.06315613,865.8619,0,0,0,0,100,0),
+(@PATH,10,7747.007,-1.096794,865.6259,0,0,0,0,100,0),
+(@PATH,11,7738.89,-1.104057,866.1718,0,0,0,0,100,0),
+(@PATH,12,7732.288,0.6400833,866.1253,0,0,0,0,100,0),
+(@PATH,13,7726.064,0.6717682,867.4063,0,0,0,0,100,0),
+(@PATH,14,7732.288,0.6400833,866.1253,0,0,0,0,100,0),
+(@PATH,15,7738.89,-1.104057,866.1718,0,0,0,0,100,0),
+(@PATH,16,7747.007,-1.096794,865.6259,0,0,0,0,100,0);
diff --git a/sql/updates/world/2013_12_09_02_world_waypoints.sql b/sql/updates/world/2013_12_09_02_world_waypoints.sql
new file mode 100644
index 00000000000..d65222b3053
--- /dev/null
+++ b/sql/updates/world/2013_12_09_02_world_waypoints.sql
@@ -0,0 +1,515 @@
+-- This Stormforged War Golem has a larger random movement than in db
+UPDATE `creature` SET `spawndist`=10 WHERE `guid`=114468;
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114457;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8023.331,`position_y`=77.24121,`position_z`=999.9595 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8023.331,77.24121,999.9595,0,0,0,0,100,0),
+(@PATH,2,8016.558,64.0587,989.7907,0,0,0,0,100,0),
+(@PATH,3,8009.225,52.23459,980.1657,0,0,0,0,100,0),
+(@PATH,4,8005.339,45.29612,973.7907,0,0,0,0,100,0),
+(@PATH,5,8001.864,36.03364,967.7907,0,0,0,0,100,0),
+(@PATH,6,8000.232,26.16992,963.5776,0,0,0,0,100,0),
+(@PATH,7,8001.864,36.03364,967.7907,0,0,0,0,100,0),
+(@PATH,8,8005.339,45.29612,973.7907,0,0,0,0,100,0),
+(@PATH,9,8009.225,52.23459,980.1657,0,0,0,0,100,0),
+(@PATH,10,8016.558,64.0587,989.7907,0,0,0,0,100,0),
+(@PATH,11,8023.331,77.24121,999.9595,0,0,0,0,100,0),
+(@PATH,12,8032.478,95.32867,1012.085,0,0,0,0,100,0),
+(@PATH,13,8031.838,102.6918,1015.026,0,0,0,0,100,0),
+(@PATH,14,8023.94,108.6624,1017.026,0,0,0,0,100,0),
+(@PATH,15,8014.495,112.6428,1019.401,0,0,0,0,100,0),
+(@PATH,16,8003.407,107.8157,1021.276,0,0,0,0,100,0),
+(@PATH,17,7993.737,99.56966,1024.987,0,0,0,0,100,0),
+(@PATH,18,8003.407,107.8157,1021.276,0,0,0,0,100,0),
+(@PATH,19,8014.495,112.6428,1019.401,0,0,0,0,100,0),
+(@PATH,20,8023.94,108.6624,1017.026,0,0,0,0,100,0),
+(@PATH,21,8031.838,102.6918,1015.026,0,0,0,0,100,0),
+(@PATH,22,8032.478,95.32867,1012.085,0,0,0,0,100,0),
+(@PATH,23,8028.997,86.29623,1006.21,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114469;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8210.855,`position_y`=83.22288,`position_z`=899.8224 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8210.855,83.22288,899.8224,0,0,0,0,100,0),
+(@PATH,2,8206.622,70.00694,899.5724,0,0,0,0,100,0),
+(@PATH,3,8197.973,61.24078,899.2055,0,0,0,0,100,0),
+(@PATH,4,8184.639,55.54492,899.8305,0,0,0,0,100,0),
+(@PATH,5,8197.973,61.24078,899.2055,0,0,0,0,100,0),
+(@PATH,6,8206.622,70.00694,899.5724,0,0,0,0,100,0),
+(@PATH,7,8210.855,83.22288,899.8224,0,0,0,0,100,0),
+(@PATH,8,8206.317,98.42123,900.0724,0,0,0,0,100,0),
+(@PATH,9,8198.927,116.0298,899.1041,0,0,0,0,100,0),
+(@PATH,10,8206.317,98.42123,900.0724,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114458;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8174.757,`position_y`=6.792969,`position_z`=852.8932 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8174.757,6.792969,852.8932,0,0,0,0,100,0),
+(@PATH,2,8163.236,5.554037,856.1956,0,0,0,0,100,0),
+(@PATH,3,8148.116,-1.020725,859.5831,0,0,0,0,100,0),
+(@PATH,4,8136.771,-4.926215,860.8331,0,0,0,0,100,0),
+(@PATH,5,8126.096,-10.58008,863.0983,0,0,0,0,100,0),
+(@PATH,6,8115.336,-16.46669,866.2233,0,0,0,0,100,0),
+(@PATH,7,8125.859,-10.70117,863.4733,0,0,0,0,100,0),
+(@PATH,8,8136.771,-4.926215,860.8331,0,0,0,0,100,0),
+(@PATH,9,8148.116,-1.020725,859.5831,0,0,0,0,100,0),
+(@PATH,10,8163.236,5.554037,856.1956,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114470;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8115.971,`position_y`=42.09624,`position_z`=900.9437 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8115.971,42.09624,900.9437,0,0,0,0,100,0),
+(@PATH,2,8126.555,49.1735,902.4437,0,0,0,0,100,0),
+(@PATH,3,8115.971,42.09624,900.9437,0,0,0,0,100,0),
+(@PATH,4,8105.812,37.60786,898.8187,0,0,0,0,100,0),
+(@PATH,5,8094.797,32.17817,896.4277,0,0,0,0,100,0),
+(@PATH,6,8084.893,20.01226,892.8027,0,0,0,0,100,0),
+(@PATH,7,8076.25,7.765625,888.1777,0,0,0,0,100,0),
+(@PATH,8,8070.748,-0.3867188,883.864,0,0,0,0,100,0),
+(@PATH,9,8068.489,-9.105469,880.239,0,0,0,0,100,0),
+(@PATH,10,8070.748,-0.3867188,883.864,0,0,0,0,100,0),
+(@PATH,11,8076.067,7.493273,888.1777,0,0,0,0,100,0),
+(@PATH,12,8084.893,20.01226,892.8027,0,0,0,0,100,0),
+(@PATH,13,8094.797,32.17817,896.4277,0,0,0,0,100,0),
+(@PATH,14,8105.812,37.60786,898.8187,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114456;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8083.848,`position_y`=66.86187,`position_z`=928.5247 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8083.848,66.86187,928.5247,0,0,0,0,100,0),
+(@PATH,2,8055.064,57.03885,945.9103,0,0,0,0,100,0),
+(@PATH,3,8044.63,51.07888,947.9103,0,0,0,0,100,0),
+(@PATH,4,8036.362,43.75098,948.4103,0,0,0,0,100,0),
+(@PATH,5,8028.82,33.40723,952.9157,0,0,0,0,100,0),
+(@PATH,6,8021.039,24.85319,956.2026,0,0,0,0,100,0),
+(@PATH,7,8015.258,18.09885,958.2026,0,0,0,0,100,0),
+(@PATH,8,8021.039,24.85319,956.2026,0,0,0,0,100,0),
+(@PATH,9,8028.82,33.40723,952.9157,0,0,0,0,100,0),
+(@PATH,10,8036.362,43.75098,948.4103,0,0,0,0,100,0),
+(@PATH,11,8044.63,51.07888,947.9103,0,0,0,0,100,0),
+(@PATH,12,8055.064,57.03885,945.9103,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114452;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7891.817,`position_y`=29.8049,`position_z`=1012.99 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7891.817,29.8049,1012.99,0,0,0,0,100,0),
+(@PATH,2,7902.199,39.88314,1019.54,0,0,0,0,100,0),
+(@PATH,3,7910.464,47.52941,1024.165,0,0,0,0,100,0),
+(@PATH,4,7917.577,54.32107,1027.29,0,0,0,0,100,0),
+(@PATH,5,7910.464,47.52941,1024.165,0,0,0,0,100,0),
+(@PATH,6,7902.199,39.88314,1019.54,0,0,0,0,100,0),
+(@PATH,7,7891.817,29.8049,1012.99,0,0,0,0,100,0),
+(@PATH,8,7877.582,23.72005,1007.24,0,0,0,0,100,0),
+(@PATH,9,7858.5,22.52029,1004.369,0,0,0,0,100,0),
+(@PATH,10,7845.615,28.44293,1005.119,0,0,0,0,100,0),
+(@PATH,11,7834.722,33.47287,1007.502,0,0,0,0,100,0),
+(@PATH,12,7825.046,33.51389,1009.348,0,0,0,0,100,0),
+(@PATH,13,7834.722,33.47287,1007.502,0,0,0,0,100,0),
+(@PATH,14,7845.615,28.44293,1005.119,0,0,0,0,100,0),
+(@PATH,15,7858.5,22.52029,1004.369,0,0,0,0,100,0),
+(@PATH,16,7877.582,23.72005,1007.24,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114466;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8052.202,`position_y`=-165.8067,`position_z`=858.999 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8052.202,-165.8067,858.999,0,0,0,0,100,0),
+(@PATH,2,8059.497,-161.3153,857.999,0,0,0,0,100,0),
+(@PATH,3,8071.769,-156.6751,858.2012,0,0,0,0,100,0),
+(@PATH,4,8086.116,-153.3002,856.5762,0,0,0,0,100,0),
+(@PATH,5,8095.891,-153.3699,857.7012,0,0,0,0,100,0),
+(@PATH,6,8105.404,-155.2473,858.9095,0,0,0,0,100,0),
+(@PATH,7,8095.891,-153.3699,857.7012,0,0,0,0,100,0),
+(@PATH,8,8086.116,-153.3002,856.5762,0,0,0,0,100,0),
+(@PATH,9,8071.769,-156.6751,858.2012,0,0,0,0,100,0),
+(@PATH,10,8059.497,-161.3153,857.999,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114463;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8070.4,`position_y`=-277.1614,`position_z`=864.549 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8070.4,-277.1614,864.549,0,0,0,0,100,0),
+(@PATH,2,8062.835,-282.7156,867.5071,0,0,0,0,100,0),
+(@PATH,3,8056.209,-286.8712,868.4637,0,0,0,0,100,0),
+(@PATH,4,8048.796,-294.7416,868.7055,0,0,0,0,100,0),
+(@PATH,5,8044.233,-303.6937,867.402,0,0,0,0,100,0),
+(@PATH,6,8037.981,-317.1875,865.6969,0,0,0,0,100,0),
+(@PATH,7,8028.49,-325.9581,864.4135,0,0,0,0,100,0),
+(@PATH,8,8020.713,-345.0319,859.0582,0,0,0,0,100,0),
+(@PATH,9,8009.588,-357.7793,853.5903,0,0,0,0,100,0),
+(@PATH,10,8020.713,-345.0319,859.0582,0,0,0,0,100,0),
+(@PATH,11,8028.449,-326.0605,864.4465,0,0,0,0,100,0),
+(@PATH,12,8037.981,-317.1875,865.6969,0,0,0,0,100,0),
+(@PATH,13,8044.233,-303.6937,867.402,0,0,0,0,100,0),
+(@PATH,14,8048.796,-294.7416,868.7055,0,0,0,0,100,0),
+(@PATH,15,8056.209,-286.8712,868.4637,0,0,0,0,100,0),
+(@PATH,16,8062.701,-282.7995,867.561,0,0,0,0,100,0),
+(@PATH,17,8070.4,-277.1614,864.549,0,0,0,0,100,0),
+(@PATH,18,8076.281,-272.4348,863.3943,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114467;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8066.473,`position_y`=-227.3648,`position_z`=850.1917 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8066.473,-227.3648,850.1917,0,0,0,0,100,0),
+(@PATH,2,8060.724,-215.8946,847.5667,0,0,0,0,100,0),
+(@PATH,3,8066.473,-227.3648,850.1917,0,0,0,0,100,0),
+(@PATH,4,8072.938,-237.2425,853.0301,0,0,0,0,100,0),
+(@PATH,5,8082.311,-252.4066,857.7801,0,0,0,0,100,0),
+(@PATH,6,8092.322,-256.9824,859.9051,0,0,0,0,100,0),
+(@PATH,7,8104.916,-253.7578,862.3018,0,0,0,0,100,0),
+(@PATH,8,8092.322,-256.9824,859.9051,0,0,0,0,100,0),
+(@PATH,9,8082.311,-252.4066,857.7801,0,0,0,0,100,0),
+(@PATH,10,8072.938,-237.2425,853.0301,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114462;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7951.181,`position_y`=-303.6466,`position_z`=868.0612 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7951.181,-303.6466,868.0612,0,0,0,0,100,0),
+(@PATH,2,7953.972,-293.1617,864.6669,0,0,0,0,100,0),
+(@PATH,3,7958.955,-282.3007,860.7919,0,0,0,0,100,0),
+(@PATH,4,7962.751,-272.1515,857.0419,0,0,0,0,100,0),
+(@PATH,5,7966.29,-263.5002,854.0172,0,0,0,0,100,0),
+(@PATH,6,7970.295,-257.2281,851.6115,0,0,0,0,100,0),
+(@PATH,7,7966.29,-263.5002,854.0172,0,0,0,0,100,0),
+(@PATH,8,7962.751,-272.1515,857.0419,0,0,0,0,100,0),
+(@PATH,9,7958.955,-282.3007,860.7919,0,0,0,0,100,0),
+(@PATH,10,7953.972,-293.1617,864.6669,0,0,0,0,100,0),
+(@PATH,11,7951.181,-303.6466,868.0612,0,0,0,0,100,0),
+(@PATH,12,7947.293,-317.9044,872.9362,0,0,0,0,100,0),
+(@PATH,13,7946.081,-328.0955,876.0612,0,0,0,0,100,0),
+(@PATH,14,7947.293,-317.9044,872.9362,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114460;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7988.024,`position_y`=-360.8784,`position_z`=851.5723 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7988.024,-360.8784,851.5723,0,0,0,0,100,0),
+(@PATH,2,7981.517,-348.1698,848.4473,0,0,0,0,100,0),
+(@PATH,3,7981.517,-337.562,848.1973,0,0,0,0,100,0),
+(@PATH,4,7984.724,-323.3203,847.6024,0,0,0,0,100,0),
+(@PATH,5,7990.423,-311.3583,847.1024,0,0,0,0,100,0),
+(@PATH,6,7984.724,-323.3203,847.6024,0,0,0,0,100,0),
+(@PATH,7,7981.517,-337.562,848.1973,0,0,0,0,100,0),
+(@PATH,8,7981.517,-348.1698,848.4473,0,0,0,0,100,0),
+(@PATH,9,7988.024,-360.8784,851.5723,0,0,0,0,100,0),
+(@PATH,10,7993.853,-367.1549,852.2777,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114464;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7938.075,`position_y`=-292.4181,`position_z`=872.0419 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7938.075,-292.4181,872.0419,0,0,0,0,100,0),
+(@PATH,2,7933.337,-302.122,873.6862,0,0,0,0,100,0),
+(@PATH,3,7929.871,-311.5463,875.9217,0,0,0,0,100,0),
+(@PATH,4,7933.337,-302.122,873.6862,0,0,0,0,100,0),
+(@PATH,5,7938.075,-292.4181,872.0419,0,0,0,0,100,0),
+(@PATH,6,7937.996,-284.6571,872.2919,0,0,0,0,100,0),
+(@PATH,7,7940.083,-276.4322,873.5419,0,0,0,0,100,0),
+(@PATH,8,7944.605,-263.8913,873.1422,0,0,0,0,100,0),
+(@PATH,9,7947.522,-254.4118,872.0172,0,0,0,0,100,0),
+(@PATH,10,7963.557,-224.8985,868.0352,0,0,0,0,100,0),
+(@PATH,11,7948.587,-241.9518,872.2672,0,0,0,0,100,0),
+(@PATH,12,7970.556,-216.756,868.567,0,0,0,0,100,0),
+(@PATH,13,7983.082,-208.4296,868.817,0,0,0,0,100,0),
+(@PATH,14,7970.556,-216.756,868.567,0,0,0,0,100,0),
+(@PATH,15,7948.587,-241.9518,872.2672,0,0,0,0,100,0),
+(@PATH,16,7963.557,-224.8985,868.0352,0,0,0,0,100,0),
+(@PATH,17,7947.522,-254.4118,872.0172,0,0,0,0,100,0),
+(@PATH,18,7944.605,-263.8913,873.1422,0,0,0,0,100,0),
+(@PATH,19,7940.083,-276.4322,873.5419,0,0,0,0,100,0),
+(@PATH,20,7937.996,-284.6571,872.2919,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114448;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8292.766,`position_y`=-246.2448,`position_z`=925.6675 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8292.766,-246.2448,925.6675,0,0,0,0,100,0),
+(@PATH,2,8301.604,-243.4602,923.659,0,0,0,0,100,0),
+(@PATH,3,8292.766,-246.2448,925.6675,0,0,0,0,100,0),
+(@PATH,4,8280.42,-246.1662,933.0425,0,0,0,0,100,0),
+(@PATH,5,8269.42,-246.2734,940.4175,0,0,0,0,100,0),
+(@PATH,6,8260.231,-245.6485,946.4034,0,0,0,0,100,0),
+(@PATH,7,8245.475,-248.834,952.5284,0,0,0,0,100,0),
+(@PATH,8,8239.138,-252.9452,952.7784,0,0,0,0,100,0),
+(@PATH,9,8245.475,-248.834,952.5284,0,0,0,0,100,0),
+(@PATH,10,8260.231,-245.6485,946.4034,0,0,0,0,100,0),
+(@PATH,11,8269.42,-246.2734,940.4175,0,0,0,0,100,0),
+(@PATH,12,8280.42,-246.1662,933.0425,0,0,0,0,100,0),
+(@PATH,13,8292.766,-246.2448,925.6675,0,0,0,0,100,0),
+(@PATH,14,8301.604,-243.4602,923.659,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114454;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8287.12,`position_y`=-232.0705,`position_z`=920.8063 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8287.12,-232.0705,920.8063,0,0,0,0,100,0),
+(@PATH,2,8279.343,-226.6951,918.1813,0,0,0,0,100,0),
+(@PATH,3,8270.205,-221.0446,914.4313,0,0,0,0,100,0),
+(@PATH,4,8260.98,-219.1772,911.1617,0,0,0,0,100,0),
+(@PATH,5,8251.401,-217.5979,908.6617,0,0,0,0,100,0),
+(@PATH,6,8240.566,-216.677,906.1617,0,0,0,0,100,0),
+(@PATH,7,8232.138,-216.4807,904.547,0,0,0,0,100,0),
+(@PATH,8,8224.63,-221.0824,903.422,0,0,0,0,100,0),
+(@PATH,9,8217.282,-228.2757,902.297,0,0,0,0,100,0),
+(@PATH,10,8209.278,-233.1008,901.422,0,0,0,0,100,0),
+(@PATH,11,8199.357,-237.1406,897.0337,0,0,0,0,100,0),
+(@PATH,12,8209.278,-233.1008,901.422,0,0,0,0,100,0),
+(@PATH,13,8217.282,-228.2757,902.297,0,0,0,0,100,0),
+(@PATH,14,8224.63,-221.0824,903.422,0,0,0,0,100,0),
+(@PATH,15,8232.138,-216.4807,904.547,0,0,0,0,100,0),
+(@PATH,16,8240.566,-216.677,906.1617,0,0,0,0,100,0),
+(@PATH,17,8251.401,-217.5979,908.6617,0,0,0,0,100,0),
+(@PATH,18,8260.98,-219.1772,911.1617,0,0,0,0,100,0),
+(@PATH,19,8270.205,-221.0446,914.4313,0,0,0,0,100,0),
+(@PATH,20,8279.343,-226.6951,918.1813,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114453;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7763.875,`position_y`=25.31001,`position_z`=1009.387 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7763.875,25.31001,1009.387,0,0,0,0,100,0),
+(@PATH,2,7774.83,29.45172,1009.433,0,0,0,0,100,0),
+(@PATH,3,7784.966,36.1964,1009.425,0,0,0,0,100,0),
+(@PATH,4,7792.793,46.41374,1009.425,0,0,0,0,100,0),
+(@PATH,5,7784.966,36.1964,1009.425,0,0,0,0,100,0),
+(@PATH,6,7774.83,29.45172,1009.433,0,0,0,0,100,0),
+(@PATH,7,7763.875,25.31001,1009.387,0,0,0,0,100,0),
+(@PATH,8,7757.785,17.42741,1009.387,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114471;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8062.678,`position_y`=-34.05208,`position_z`=872.399 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8062.678,-34.05208,872.399,0,0,0,0,100,0),
+(@PATH,2,8050.187,-36.93273,874.024,0,0,0,0,100,0),
+(@PATH,3,8041.209,-47.45063,875.399,0,0,0,0,100,0),
+(@PATH,4,8050.187,-36.93273,874.024,0,0,0,0,100,0),
+(@PATH,5,8062.678,-34.05208,872.399,0,0,0,0,100,0),
+(@PATH,6,8071.337,-37.65701,869.6487,0,0,0,0,100,0),
+(@PATH,7,8083.439,-34.81456,866.6487,0,0,0,0,100,0),
+(@PATH,8,8092.34,-23.51801,869.239,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114450;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8020.559,`position_y`=-462.7457,`position_z`=945.5956 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8020.559,-462.7457,945.5956,0,0,0,0,100,0),
+(@PATH,2,8021.167,-454.9322,943.7206,0,0,0,0,100,0),
+(@PATH,3,8021.333,-447.3739,941.8456,0,0,0,0,100,0),
+(@PATH,4,8019.993,-438.8365,940.0956,0,0,0,0,100,0),
+(@PATH,5,8018.624,-428.8778,938.6416,0,0,0,0,100,0),
+(@PATH,6,8015.852,-421.9554,938.6416,0,0,0,0,100,0),
+(@PATH,7,8015.377,-415.9785,937.8916,0,0,0,0,100,0),
+(@PATH,8,8015.852,-421.9554,938.6416,0,0,0,0,100,0),
+(@PATH,9,8018.624,-428.8778,938.6416,0,0,0,0,100,0),
+(@PATH,10,8019.993,-438.8365,940.0956,0,0,0,0,100,0),
+(@PATH,11,8021.333,-447.3739,941.8456,0,0,0,0,100,0),
+(@PATH,12,8021.167,-454.9322,943.7206,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114465;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8135.024,`position_y`=-370.0041,`position_z`=963.259 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8135.024,-370.0041,963.259,0,0,0,100,0),
+(@PATH,2,8141.749,-366.09,960.2184,0,0,0,100,0),
+(@PATH,3,8149.224,-360.9964,959.7184,0,0,0,100,0),
+(@PATH,4,8154.405,-356.4004,961.2184,0,0,0,100,0),
+(@PATH,5,8159.849,-352.6774,963.8434,0,0,0,100,0),
+(@PATH,6,8165.625,-349.4785,964.9684,0,0,0,100,0),
+(@PATH,7,8172.873,-345.124,967.3318,0,0,0,100,0),
+(@PATH,8,8180.829,-338.1227,969.8495,0,0,0,100,0),
+(@PATH,9,8188.221,-330.7452,970.2561,0,0,0,100,0),
+(@PATH,10,8195.111,-320.5364,969.1892,0,0,0,100,0),
+(@PATH,11,8203.715,-304.7978,966.9639,0,0,0,100,0),
+(@PATH,12,8195.111,-320.5364,969.1892,0,0,0,100,0),
+(@PATH,13,8188.221,-330.7452,970.2561,0,0,0,100,0),
+(@PATH,14,8180.829,-338.1227,969.8495,0,0,0,100,0),
+(@PATH,15,8172.873,-345.124,967.3318,0,0,0,100,0),
+(@PATH,16,8165.625,-349.4785,964.9684,0,0,0,100,0),
+(@PATH,17,8159.849,-352.6774,963.8434,0,0,0,100,0),
+(@PATH,18,8154.405,-356.4004,961.2184,0,0,0,100,0),
+(@PATH,19,8149.224,-360.9964,959.7184,0,0,0,100,0),
+(@PATH,20,8141.749,-366.09,960.2184,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114461;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8166.605,`position_y`=-333.7136,`position_z`=1002.62 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8166.605,-333.7136,1002.62,0,0,0,100,0),
+(@PATH,2,8179.676,-327.8151,1004.554,0,0,0,100,0),
+(@PATH,3,8190.838,-319.5394,1004.838,0,0,0,100,0),
+(@PATH,4,8201.984,-310.4258,1003.127,0,0,0,100,0),
+(@PATH,5,8190.838,-319.5394,1004.838,0,0,0,100,0),
+(@PATH,6,8179.676,-327.8151,1004.554,0,0,0,100,0),
+(@PATH,7,8166.605,-333.7136,1002.62,0,0,0,100,0),
+(@PATH,8,8151.038,-342.4005,1003.778,0,0,0,100,0),
+(@PATH,9,8136.858,-348.6777,1003.9702,0,0,0,100,0),
+(@PATH,10,8151.038,-342.4005,1003.778,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114451;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8203.202,`position_y`=-201.5354,`position_z`=871.047 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8203.202,-201.5354,871.047,0,0,0,0,100,0),
+(@PATH,2,8210.509,-193.4404,865.8152,0,0,0,0,100,0),
+(@PATH,3,8203.202,-201.5354,871.047,0,0,0,0,100,0),
+(@PATH,4,8197.84,-207.3055,874.847,0,0,0,0,100,0),
+(@PATH,5,8189.615,-210.5096,877.097,0,0,0,0,100,0),
+(@PATH,6,8178.526,-213.311,878.847,0,0,0,0,100,0),
+(@PATH,7,8163.427,-218.207,883.10522,0,0,0,0,100,0),
+(@PATH,8,8150.156,-226.349,882.16364,0,0,0,0,100,0),
+(@PATH,9,8138.535,-234.773,880.50934,0,0,0,0,100,0),
+(@PATH,10,8150.156,-226.349,882.16364,0,0,0,0,100,0),
+(@PATH,11,8163.427,-218.207,883.10522,0,0,0,0,100,0),
+(@PATH,12,8178.526,-213.311,878.847,0,0,0,0,100,0),
+(@PATH,13,8189.615,-210.5096,877.097,0,0,0,0,100,0),
+(@PATH,14,8197.84,-207.3055,874.847,0,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114455;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=8040.252,`position_y`=-470.226,`position_z`=960.61102 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,8040.252,-470.226,960.61102,0,0,0,100,0),
+(@PATH,2,8047.966,-456.777,968.20410,0,0,0,100,0),
+(@PATH,3,8055.527,-444.8557,974.9588,0,0,0,100,0),
+(@PATH,4,8062.53,-433.15,980.1395,0,0,0,100,0),
+(@PATH,5,8067.174,-421.3754,980.673,0,0,0,100,0),
+(@PATH,6,8074.543,-413.8202,982.8965,0,0,0,100,0),
+(@PATH,7,8083.434,-407.5285,984.6893,0,0,0,100,0),
+(@PATH,8,8092.955,-402.0415,984.0195,0,0,0,100,0),
+(@PATH,9,8103.769,-391.861,982.40454,0,0,0,100,0),
+(@PATH,10,8092.955,-402.0415,984.0195,0,0,0,100,0),
+(@PATH,11,8083.434,-407.5285,984.6893,0,0,0,100,0),
+(@PATH,12,8074.543,-413.8202,982.8965,0,0,0,100,0),
+(@PATH,13,8067.174,-421.3754,980.673,0,0,0,100,0),
+(@PATH,14,8062.53,-433.15,980.1395,0,0,0,100,0),
+(@PATH,15,8055.527,-444.8557,974.9588,0,0,0,100,0),
+(@PATH,16,8047.966,-456.777,968.20410,0,0,0,100,0);
+
+-- Pathing for Stormforged War Golem Entry: 29380
+SET @NPC := 114449;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7951.311,`position_y`=-378.571,`position_z`=887.77075 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,7951.311,-378.571,887.77075,0,0,0,100,0),
+(@PATH,2,7960.646,-389.960,892.92139,0,0,0,100,0),
+(@PATH,3,7968.372,-399.0812,898.0277,0,0,0,100,0),
+(@PATH,4,7977.658,-409.0112,903.3966,0,0,0,100,0),
+(@PATH,5,7981.982,-417.7852,908.3966,0,0,0,100,0),
+(@PATH,6,7984.058,-427.559,913.42731,0,0,0,100,0),
+(@PATH,7,7985.685,-434.808,917.18005,0,0,0,100,0),
+(@PATH,8,7990.529,-444.403,924.04565,0,0,0,100,0),
+(@PATH,9,7996.638,-456.090,931.35016,0,0,0,100,0),
+(@PATH,10,8001.585,-467.127,938.43726,0,0,0,100,0),
+(@PATH,11,8014.281,-473.688,946.06091,0,0,0,100,0),
+(@PATH,12,8025.918,-483.258,952.99622,0,0,0,100,0),
+(@PATH,13,8038.910,-488.314,958.12402,0,0,0,100,0),
+(@PATH,14,8048.530,-496.921,961.03595,0,0,0,100,0),
+(@PATH,15,8038.910,-488.314,958.12402,0,0,0,100,0),
+(@PATH,16,8025.918,-483.258,952.99622,0,0,0,100,0),
+(@PATH,17,8014.281,-473.688,946.06091,0,0,0,100,0),
+(@PATH,18,8001.585,-467.127,938.43726,0,0,0,100,0),
+(@PATH,19,7996.638,-456.090,931.35016,0,0,0,100,0),
+(@PATH,20,7990.529,-444.403,924.04565,0,0,0,100,0),
+(@PATH,21,7985.685,-434.808,917.18005,0,0,0,100,0),
+(@PATH,22,7984.058,-427.559,913.42731,0,0,0,100,0),
+(@PATH,23,7981.982,-417.7852,908.3966,0,0,0,100,0),
+(@PATH,24,7977.658,-409.0112,903.3966,0,0,0,100,0),
+(@PATH,25,7968.372,-399.0812,898.0277,0,0,0,100,0),
+(@PATH,26,7960.646,-389.960,892.92139,0,0,0,100,0);
diff --git a/src/server/game/AI/CoreAI/PetAI.h b/src/server/game/AI/CoreAI/PetAI.h
index 9cce00440e1..6e24a079f9f 100644
--- a/src/server/game/AI/CoreAI/PetAI.h
+++ b/src/server/game/AI/CoreAI/PetAI.h
@@ -57,7 +57,6 @@ class PetAI : public CreatureAI
void UpdateAllies();
TimeTracker i_tracker;
- bool inCombat;
std::set<uint64> m_AllySet;
uint32 m_updateAlliesTimer;
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 849c1c9af49..cd4fa2139f9 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -936,6 +936,8 @@ void Unit::CastSpell(GameObject* go, uint32 spellId, bool triggered, Item* castI
uint32 Unit::SpellNonMeleeDamageLog(Unit* victim, uint32 spellID, uint32 damage)
{
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellID);
+ if (!spellInfo)
+ return 0;
SpellNonMeleeDamage damageInfo(this, victim, spellInfo->Id, spellInfo->SchoolMask);
damage = SpellDamageBonusDone(victim, spellInfo, damage, SPELL_DIRECT_DAMAGE);
damage = victim->SpellDamageBonusTaken(this, spellInfo, damage, SPELL_DIRECT_DAMAGE);
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
index 6dbcdffca72..2b1b04cb654 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
@@ -60,6 +60,7 @@ public:
{
waterBoltTimer = 3 * IN_MILLISECONDS;
resetTimer = 5 * IN_MILLISECONDS;
+ balindaGUID = 0;
}
void UpdateAI(uint32 diff) OVERRIDE
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
index 275b3802764..ff839e3cacb 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
@@ -171,6 +171,7 @@ public:
_Reset();
gythEvent = false;
victorGUID = 0;
+ portcullisGUID = 0;
}
void EnterCombat(Unit* /*who*/) OVERRIDE
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
index 622c34d3358..0c85e89ec4a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
@@ -63,6 +63,7 @@ public:
{
// Razorgore
EggCount = 0;
+ EggEvent = 0;
RazorgoreTheUntamedGUID = 0;
RazorgoreDoorGUID = 0;
EggList.clear();
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index 463e88b670b..0810d5ca2b8 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -807,6 +807,7 @@ public:
me->GetPosition(x, y, z); //this visual aura some under ground
me->SetPosition(x, y, z + 0.35f, 0.0f);
Despawn();
+ debuffGUID = 0;
Creature* debuff = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 14500);
if (debuff)
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
index 164de89b017..52f706d5626 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
@@ -186,6 +186,7 @@ public:
{
npc_towering_infernalAI(Creature* creature) : ScriptedAI(creature)
{
+ AnetheronGUID = 0;
instance = creature->GetInstanceScript();
if (instance)
AnetheronGUID = instance->GetData64(DATA_ANETHERON);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
index aaf2bb65ba0..dd486df16ed 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
@@ -193,6 +193,7 @@ public:
{
npc_lesser_doomguardAI(Creature* creature) : hyjal_trashAI(creature)
{
+ AzgalorGUID = 0;
instance = creature->GetInstanceScript();
if (instance)
AzgalorGUID = instance->GetData64(DATA_AZGALOR);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index 3653aaf5770..9245a0c648f 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -431,7 +431,6 @@ public:
bool meteor;
bool CanMove;
- bool WpEnabled;
bool go;
uint32 spawnTimer;
uint32 FlameBuffetTimer;
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
index e2c83b9a445..3300f0d811b 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
@@ -341,7 +341,7 @@ public:
void SetData(uint32 /*type*/, uint32 data) OVERRIDE
{
- if(!instance)
+ if (!instance)
return;
if (data < 7)
@@ -352,7 +352,7 @@ public:
me->SummonCreature(NPC_DEATHS_HEAD_GEOMANCER, me->GetPositionX() + (cos(me->GetOrientation() - (M_PI/2)) * 2), me->GetPositionY() + (sin(me->GetOrientation() - (M_PI/2)) * 2), me->GetPositionZ(), me->GetOrientation());
me->SummonCreature(NPC_WITHERED_QUILGUARD, me->GetPositionX() + (cos(me->GetOrientation() + (M_PI/2)) * 2), me->GetPositionY() + (sin(me->GetOrientation() + (M_PI/2)) * 2), me->GetPositionZ(), me->GetOrientation());
}
- else if (data =7)
+ else if (data == 7)
me->SummonCreature(NPC_PLAGUEMAW_THE_ROTTING, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
}
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
index ee8618eacc9..35fea896a10 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
@@ -176,6 +176,7 @@ public:
void Reset() OVERRIDE
{
IsMovementActive = false;
+ TargetTubberGUID = 0;
}
void MovementInform(uint32 type, uint32 id) OVERRIDE
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
index d1f0bb10ecd..d2b5b5eaf8c 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
@@ -922,6 +922,7 @@ public:
{
eye_tentacleAI(Creature* creature) : ScriptedAI(creature)
{
+ Portal = 0;
if (Creature* pPortal = me->SummonCreature(NPC_SMALL_PORTAL, *me, TEMPSUMMON_CORPSE_DESPAWN))
{
pPortal->SetReactState(REACT_PASSIVE);
@@ -999,6 +1000,7 @@ public:
{
SetCombatMovement(false);
+ Portal = 0;
if (Creature* pPortal = me->SummonCreature(NPC_SMALL_PORTAL, *me, TEMPSUMMON_CORPSE_DESPAWN))
{
pPortal->SetReactState(REACT_PASSIVE);
@@ -1109,6 +1111,7 @@ public:
{
SetCombatMovement(false);
+ Portal = 0;
if (Creature* pPortal = me->SummonCreature(NPC_GIANT_PORTAL, *me, TEMPSUMMON_CORPSE_DESPAWN))
{
pPortal->SetReactState(REACT_PASSIVE);
@@ -1228,6 +1231,7 @@ public:
{
SetCombatMovement(false);
+ Portal = 0;
if (Creature* pPortal = me->SummonCreature(NPC_GIANT_PORTAL, *me, TEMPSUMMON_CORPSE_DESPAWN))
{
pPortal->SetReactState(REACT_PASSIVE);
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
index 8f6b951d524..3fdfc0c8ae3 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
@@ -310,8 +310,6 @@ class npc_snobold_vassal : public CreatureScript
_targetGUID = 0;
_targetDied = false;
- if (_instance)
- _bossGUID = _instance->GetData64(NPC_GORMOK);
//Workaround for Snobold
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
}
@@ -450,7 +448,6 @@ class npc_snobold_vassal : public CreatureScript
private:
EventMap _events;
InstanceScript* _instance;
- uint64 _bossGUID;
uint64 _targetGUID;
bool _targetDied;
};
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
index 06355e25207..96b772df5a9 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
@@ -1185,6 +1185,7 @@ struct npc_gauntlet_trash : public ScriptedAI
void Reset() OVERRIDE
{
+ InternalWaveId = 0;
me->CastSpell(me, SPELL_WELL_OF_SOULS, true);
_events.Reset();
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 68387279c1d..f76c46d96ff 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -514,6 +514,7 @@ class npc_gothik_minion : public CreatureScript
npc_gothik_minionAI(Creature* creature) : CombatAI(creature)
{
liveSide = IN_LIVE_SIDE(me);
+ gateClose = false;
}
bool liveSide;
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp
index 671628e4cbc..fd5b0a5ca1c 100644
--- a/src/server/scripts/Northrend/zone_howling_fjord.cpp
+++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp
@@ -32,6 +32,8 @@ EndContentData */
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
+#include "SpellInfo.h"
+#include "SpellScript.h"
/*######
## npc_apothecary_hanes
@@ -43,7 +45,8 @@ enum Entries
FACTION_ESCORTEE_H = 775,
NPC_HANES_FIRE_TRIGGER = 23968,
QUEST_TRAIL_OF_FIRE = 11241,
- SPELL_COSMETIC_LOW_POLY_FIRE = 56274
+ SPELL_COSMETIC_LOW_POLY_FIRE = 56274,
+ SPELL_HEALING_POTION = 17534
};
class npc_apothecary_hanes : public CreatureScript
@@ -92,7 +95,7 @@ public:
{
if (PotTimer <= diff)
{
- DoCast(me, 17534, true);
+ DoCast(me, SPELL_HEALING_POTION, true);
PotTimer = 10000;
} else PotTimer -= diff;
}
@@ -380,10 +383,107 @@ public:
}
};
+enum MindlessAbomination
+{
+ EVENT_CHECK_CHARMED = 1
+};
+
+class npc_mindless_abomination : public CreatureScript
+{
+public:
+ npc_mindless_abomination() : CreatureScript("npc_mindless_abomination") { }
+
+ struct npc_mindless_abominationAI : public ScriptedAI
+ {
+ npc_mindless_abominationAI(Creature* creature) : ScriptedAI(creature) { }
+
+ void Reset() OVERRIDE
+ {
+ events.ScheduleEvent(EVENT_CHECK_CHARMED, 1000);
+ }
+
+ void UpdateAI(uint32 diff) OVERRIDE
+ {
+ events.Update(diff);
+
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_CHECK_CHARMED:
+ if (!me->IsCharmedOwnedByPlayerOrPlayer())
+ me->DespawnOrUnsummon();
+ else
+ events.ScheduleEvent(EVENT_CHECK_CHARMED, 1000);
+ break;
+ }
+ }
+ }
+
+ private:
+ EventMap events;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_mindless_abominationAI(creature);
+ }
+};
+
+class spell_mindless_abomination_explosion_fx_master : public SpellScriptLoader
+{
+ enum Spells
+ {
+ SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON = 42266,
+ SPELL_COSMETIC_BLOOD_EXPLOSION_GREEN_LARGE = 43401
+ };
+
+ public:
+ spell_mindless_abomination_explosion_fx_master() : SpellScriptLoader("spell_mindless_abomination_explosion_fx_master") { }
+
+ class spell_mindless_abomination_explosion_fx_master_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_mindless_abomination_explosion_fx_master_SpellScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON) || !sSpellMgr->GetSpellInfo(SPELL_COSMETIC_BLOOD_EXPLOSION_GREEN_LARGE))
+ return false;
+ return true;
+ }
+
+ void HandleScript(SpellEffIndex /*eff*/)
+ {
+ Creature* caster = GetCaster()->ToCreature();
+ if (!caster)
+ return;
+
+ caster->AI()->DoCast(caster, SPELL_COSMETIC_BLOOD_EXPLOSION_GREEN_LARGE);
+
+ for (uint8 i = 0; i < 10; ++i)
+ caster->AI()->DoCast(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
+
+ caster->DespawnOrUnsummon(4000);
+ }
+
+ void Register() OVERRIDE
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_mindless_abomination_explosion_fx_master_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+ };
+
+ SpellScript* GetSpellScript() const OVERRIDE
+ {
+ return new spell_mindless_abomination_explosion_fx_master_SpellScript();
+ }
+};
+
void AddSC_howling_fjord()
{
- new npc_apothecary_hanes;
- new npc_plaguehound_tracker;
- new npc_razael_and_lyana;
- new npc_daegarn;
+ new npc_apothecary_hanes();
+ new npc_plaguehound_tracker();
+ new npc_razael_and_lyana();
+ new npc_daegarn();
+ new npc_mindless_abomination();
+ new spell_mindless_abomination_explosion_fx_master();
}
diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp
index 825981ba5c5..48aeb678a21 100644
--- a/src/server/scripts/Northrend/zone_storm_peaks.cpp
+++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp
@@ -413,6 +413,181 @@ class npc_hyldsmeet_protodrake : public CreatureScript
}
};
+
+/*#####
+# npc_brann_bronzebeard for Quest 13285 "Forging the Keystone"
+#####*/
+
+enum BrannBronzebeard
+{
+ NPC_BRANN_BRONZEBEARD = 31810,
+ NPC_A_DISTANT_VOICE = 31814,
+ OBJECT_TOL_SIGNAL_1 = 193590,
+ OBJECT_TOL_SIGNAL_2 = 193591,
+ OBJECT_TOL_SIGNAL_3 = 193592,
+ OBJECT_TOL_SIGNAL_4 = 193593,
+ OBJECT_TOL_SIGNAL_5 = 193594,
+ SPELL_RESURRECTION = 58854,
+ SAY_BRANN_1 = 0,
+ SAY_BRANN_2 = 1,
+ SAY_BRANN_3 = 2,
+ SAY_VOICE_1 = 0,
+ SAY_VOICE_2 = 1,
+ SAY_VOICE_3 = 2,
+ SAY_VOICE_4 = 3,
+ SAY_VOICE_5 = 4,
+
+ EVENT_SCRIPT_1 = 1,
+ EVENT_SCRIPT_2 = 2,
+ EVENT_SCRIPT_3 = 3,
+ EVENT_SCRIPT_4 = 4,
+ EVENT_SCRIPT_5 = 5,
+ EVENT_SCRIPT_6 = 6,
+ EVENT_SCRIPT_7 = 7,
+ EVENT_SCRIPT_8 = 8,
+ EVENT_SCRIPT_9 = 9,
+ EVENT_SCRIPT_10 = 10,
+ EVENT_SCRIPT_11 = 11,
+ EVENT_SCRIPT_12 = 12,
+ EVENT_SCRIPT_13 = 13
+};
+
+class npc_brann_bronzebeard : public CreatureScript
+{
+public:
+ npc_brann_bronzebeard() : CreatureScript("npc_brann_bronzebeard") { }
+
+ struct npc_brann_bronzebeardAI : public ScriptedAI
+ {
+ npc_brann_bronzebeardAI(Creature* creature) : ScriptedAI(creature) { }
+
+ void Reset() OVERRIDE
+ {
+ memset(&objectGUID, 0, sizeof(objectGUID));
+ playerGUID = 0;
+ voiceGUID = 0;
+ objectCounter = 0;
+ }
+
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ {
+ player->CLOSE_GOSSIP_MENU();
+ playerGUID = player->GetGUID();
+ events.ScheduleEvent(EVENT_SCRIPT_1, 100);
+ }
+
+ void UpdateAI(uint32 diff) OVERRIDE
+ {
+ events.Update(diff);
+
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_SCRIPT_1:
+ Talk(SAY_BRANN_1, playerGUID);
+ me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
+ if (Creature* voice = me->SummonCreature(NPC_A_DISTANT_VOICE, 7863.43f, -1396.585f, 1538.076f, 2.949606f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 49000))
+ voiceGUID = voice->GetGUID();
+ events.ScheduleEvent(EVENT_SCRIPT_2, 4000);
+ break;
+ case EVENT_SCRIPT_2:
+ me->SetWalk(true);
+ me->GetMotionMaster()->MovePoint(0, 7861.488f, -1396.376f, 1534.059f, false);
+ events.ScheduleEvent(EVENT_SCRIPT_3, 6000);
+ break;
+ case EVENT_SCRIPT_3:
+ me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_WORK_MINING);
+ events.ScheduleEvent(EVENT_SCRIPT_4, 6000);
+ break;
+ case EVENT_SCRIPT_4:
+ me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, voiceGUID))
+ {
+ voice->AI()->DoCast(voice, SPELL_RESURRECTION);
+ voice->AI()->Talk(SAY_VOICE_1, playerGUID);
+ }
+ if (GameObject* go = me->SummonGameObject(OBJECT_TOL_SIGNAL_1, 7860.273f, -1383.622f, 1538.302f, -1.658062f, 0, 0, -0.737277f, 0.6755905f, 0))
+ objectGUID[objectCounter++] = go->GetGUID();
+ events.ScheduleEvent(EVENT_SCRIPT_5, 6000);
+ break;
+ case EVENT_SCRIPT_5:
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, voiceGUID))
+ voice->AI()->Talk(SAY_VOICE_2, playerGUID);
+ if (GameObject* go = me->SummonGameObject(OBJECT_TOL_SIGNAL_2, 7875.67f, -1387.266f, 1538.323f, -2.373644f, 0, 0, -0.9271832f, 0.3746083f, 0))
+ objectGUID[objectCounter++] = go->GetGUID();
+ events.ScheduleEvent(EVENT_SCRIPT_6, 6000);
+ break;
+ case EVENT_SCRIPT_6:
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, voiceGUID))
+ voice->AI()->Talk(SAY_VOICE_3, playerGUID);
+ if (GameObject* go = me->SummonGameObject(OBJECT_TOL_SIGNAL_3, 7879.212f, -1401.175f, 1538.279f, 2.967041f, 0, 0, 0.9961939f, 0.08716504f, 0))
+ objectGUID[objectCounter++] = go->GetGUID();
+ events.ScheduleEvent(EVENT_SCRIPT_7, 6000);
+ break;
+ case EVENT_SCRIPT_7:
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, voiceGUID))
+ voice->AI()->Talk(SAY_VOICE_4, playerGUID);
+ if (GameObject* go = me->SummonGameObject(OBJECT_TOL_SIGNAL_4, 7868.944f, -1411.18f, 1538.213f, 2.111848f, 0, 0, 0.8703556f, 0.4924237f, 0))
+ objectGUID[objectCounter++] = go->GetGUID();
+ events.ScheduleEvent(EVENT_SCRIPT_8, 6000);
+ break;
+ case EVENT_SCRIPT_8:
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, voiceGUID))
+ voice->AI()->Talk(SAY_VOICE_5, playerGUID);
+ if (GameObject* go = me->SummonGameObject(OBJECT_TOL_SIGNAL_5, 7855.11f, -1406.839f, 1538.42f, 1.151916f, 0, 0, 0.5446386f, 0.8386708f, 0))
+ objectGUID[objectCounter] = go->GetGUID();
+ events.ScheduleEvent(EVENT_SCRIPT_9, 6000);
+ break;
+ case EVENT_SCRIPT_9:
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, voiceGUID))
+ voice->AI()->DoCast(voice, SPELL_RESURRECTION);
+ events.ScheduleEvent(EVENT_SCRIPT_10, 6000);
+ break;
+ case EVENT_SCRIPT_10:
+ Talk(SAY_BRANN_2, playerGUID);
+ if (Player* player = ObjectAccessor::GetPlayer(*me, playerGUID))
+ player->KilledMonsterCredit(me->GetEntry());
+ events.ScheduleEvent(EVENT_SCRIPT_11, 6000);
+ break;
+ case EVENT_SCRIPT_11:
+ me->SetOrientation(2.932153f);
+ me->SendMovementFlagUpdate(true);
+ Talk(SAY_BRANN_3, playerGUID);
+ for (uint8 i = 0; i < 5; ++i)
+ {
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, objectGUID[i]))
+ go->Delete();
+ }
+ events.ScheduleEvent(EVENT_SCRIPT_12, 6000);
+ break;
+ case EVENT_SCRIPT_12:
+ me->GetMotionMaster()->Clear();
+ me->SetWalk(false);
+ me->GetMotionMaster()->MovePoint(0, 7799.908f, -1413.561f, 1534.829f, false);
+ events.ScheduleEvent(EVENT_SCRIPT_13, 10000);
+ break;
+ case EVENT_SCRIPT_13:
+ me->DisappearAndDie();
+ break;
+ }
+ }
+ }
+
+ private:
+ EventMap events;
+ uint64 playerGUID;
+ uint64 objectGUID[5];
+ uint64 voiceGUID;
+ uint8 objectCounter;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_brann_bronzebeardAI(creature);
+ }
+};
+
enum CloseRift
{
SPELL_DESPAWN_RIFT = 61665
@@ -467,7 +642,7 @@ class spell_close_rift : public SpellScriptLoader
enum JokkumScriptcast
{
SPELL_JOKKUM_KILL_CREDIT = 56545,
- SPELL_JOKKUM_SUMMON = 56541
+ SPELL_JOKKUM_SUMMON = 56541,
};
class spell_jokkum_scriptcast : public SpellScriptLoader
@@ -514,6 +689,7 @@ void AddSC_storm_peaks()
new npc_freed_protodrake();
new npc_icefang();
new npc_hyldsmeet_protodrake();
+ new npc_brann_bronzebeard();
new spell_close_rift();
new spell_jokkum_scriptcast();
}
diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp
index 00adfa59d8d..1137c86f287 100644
--- a/src/server/scripts/Northrend/zone_zuldrak.cpp
+++ b/src/server/scripts/Northrend/zone_zuldrak.cpp
@@ -457,6 +457,8 @@ public:
void Reset() OVERRIDE
{
+ _playerGUID = 0;
+ _getingredienttry = 0;
_events.ScheduleEvent(EVENT_TURN_TO_POT, urand(15000, 26000));
}
diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
index 4f7ac113547..783e7b9f09b 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
@@ -68,6 +68,7 @@ public:
void Reset() OVERRIDE
{
+ myClass = CLASS_NONE;
Class_Timer = 1000;
}