aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.md2
-rw-r--r--README.md4
-rw-r--r--dep/g3dlite/G3D-v9.0 hotfix6.diff32
-rw-r--r--dep/g3dlite/Readme.txt1
-rw-r--r--dep/g3dlite/include/G3D/platform.h8
-rw-r--r--doc/UnixInstall.txt17
-rw-r--r--sql/base/auth_database.sql6
-rw-r--r--sql/base/characters_database.sql2
-rw-r--r--sql/updates/auth/2015_11_01_00_auth_2015_08_21_00.sql5
-rw-r--r--sql/updates/characters/2015_11_06_00_characters_2015_10_12_00.sql17
-rw-r--r--sql/updates/world/2015_10_31_25_world_2015_04_18_08.sql740
-rw-r--r--sql/updates/world/2015_11_01_00_world_from_335.sql175
-rw-r--r--sql/updates/world/2015_11_01_01_world_2015_04_26_05.sql3
-rw-r--r--sql/updates/world/2015_11_01_02_world_2015_04_26_06.sql5
-rw-r--r--sql/updates/world/2015_11_01_03_world_2015_04_26_07.sql37
-rw-r--r--sql/updates/world/2015_11_01_04_world_2015_04_26_08.sql16
-rw-r--r--sql/updates/world/2015_11_01_05_world_2015_04_26_09.sql4
-rw-r--r--sql/updates/world/2015_11_01_06_world_2015_04_27_00.sql19
-rw-r--r--sql/updates/world/2015_11_01_07_world_2015_04_27_01.sql25
-rw-r--r--sql/updates/world/2015_11_01_08_world_2015_04_28_00.sql2
-rw-r--r--sql/updates/world/2015_11_01_09_world_2015_04_28_01.sql8
-rw-r--r--sql/updates/world/2015_11_01_10_world_2015_04_28_02.sql5
-rw-r--r--sql/updates/world/2015_11_01_11_world_2015_04_28_03.sql5
-rw-r--r--sql/updates/world/2015_11_01_12_world_2015_04_29_00.sql2
-rw-r--r--sql/updates/world/2015_11_01_13_world_from_335.sql4114
-rw-r--r--sql/updates/world/2015_11_01_14_world_2015_08_21_01.sql2
-rw-r--r--sql/updates/world/2015_11_01_15_world_2015_08_23_00.sql150
-rw-r--r--sql/updates/world/2015_11_01_16_world.sql779
-rw-r--r--sql/updates/world/2015_11_01_17_world.sql94
-rw-r--r--sql/updates/world/2015_11_04_00_world.sql8
-rw-r--r--sql/updates/world/2015_11_05_00_world_2015_10_04_04.sql2
-rw-r--r--sql/updates/world/2015_11_05_01_world_2015_10_04_05.sql204
-rw-r--r--sql/updates/world/2015_11_05_02_world_2015_10_05_00.sql2
-rw-r--r--sql/updates/world/2015_11_05_03_world_2015_10_06_00.sql31
-rw-r--r--sql/updates/world/2015_11_05_04_world_2015_10_06_01.sql31
-rw-r--r--sql/updates/world/2015_11_05_05_world_2015_10_08_00.sql21
-rw-r--r--sql/updates/world/2015_11_05_06_world_2015_10_08_01.sql2
-rw-r--r--sql/updates/world/2015_11_05_07_world_2015_10_10_04.sql2
-rw-r--r--sql/updates/world/2015_11_05_08_world_2015_10_11_02.sql20
-rw-r--r--sql/updates/world/2015_11_05_09_world_2015_10_11_03.sql786
-rw-r--r--sql/updates/world/2015_11_05_10_world_2015_10_11_04.sql2
-rw-r--r--sql/updates/world/2015_11_05_11_world_2015_10_12_00.sql16
-rw-r--r--sql/updates/world/2015_11_06_00_world_2015_10_11_00.sql2
-rw-r--r--sql/updates/world/2015_11_06_01_world_2015_10_14_01.sql34
-rw-r--r--sql/updates/world/2015_11_06_02_world_2015_10_14_02.sql5
-rw-r--r--sql/updates/world/2015_11_06_03_world_2015_10_14_03.sql7
-rw-r--r--sql/updates/world/2015_11_06_04_world_2015_10_14_04.sql781
-rw-r--r--sql/updates/world/2015_11_06_05_world_2015_10_14_05.sql2
-rw-r--r--sql/updates/world/2015_11_06_06_world_2015_10_14_06.sql8
-rw-r--r--sql/updates/world/2015_11_06_07_world_2015_10_14_07.sql1842
-rw-r--r--sql/updates/world/2015_11_06_08_world_2015_10_16_00.sql24
-rw-r--r--sql/updates/world/2015_11_06_09_world_2015_10_17_00.sql2
-rw-r--r--sql/updates/world/2015_11_06_10_world_2015_10_17_02.sql15
-rw-r--r--sql/updates/world/2015_11_06_11_world_2015_10_20_00.sql12
-rw-r--r--sql/updates/world/2015_11_06_12_world_2015_10_20_01.sql5
-rw-r--r--sql/updates/world/2015_11_06_13_world_2015_10_20_02.sql2
-rw-r--r--sql/updates/world/2015_11_06_14_world_2015_10_20_03.sql6
-rw-r--r--sql/updates/world/2015_11_06_15_world_2015_10_21_00.sql265
-rw-r--r--sql/updates/world/2015_11_06_16_world_2015_10_21_01.sql11
-rw-r--r--sql/updates/world/2015_11_06_17_world_2015_10_22_00.sql14
-rw-r--r--sql/updates/world/2015_11_06_18_world_2015_10_22_01.sql1006
-rw-r--r--sql/updates/world/2015_11_06_19_world_2015_10_23_00.sql28
-rw-r--r--sql/updates/world/2015_11_06_20_world_2015_10_23_01.sql32
-rw-r--r--sql/updates/world/2015_11_06_21_world_2015_10_23_02.sql394
-rw-r--r--sql/updates/world/2015_11_06_22_world_2015_10_27_01.sql25
-rw-r--r--sql/updates/world/2015_11_06_23_world_2015_10_31_00.sql7
-rw-r--r--sql/updates/world/2015_11_06_24_world_2015_10_31_01.sql8
-rw-r--r--sql/updates/world/2015_11_06_25_world_2015_10_31_02.sql2
-rw-r--r--sql/updates/world/2015_11_06_26_world_2015_11_01_00.sql127
-rw-r--r--sql/updates/world/2015_11_06_27_world_2015_11_01_03.sql29
-rw-r--r--sql/updates/world/2015_11_06_28_world_2015_11_01_04.sql27
-rw-r--r--sql/updates/world/2015_11_06_29_world_2015_11_02_00.sql26
-rw-r--r--sql/updates/world/2015_11_06_30_world_2015_11_02_01.sql432
-rw-r--r--sql/updates/world/2015_11_06_31_world_2015_11_03_00.sql3
-rw-r--r--sql/updates/world/2015_11_06_32_world_2015_11_03_01.sql41
-rw-r--r--sql/updates/world/2015_11_06_33_world_2015_11_03_02.sql2
-rw-r--r--sql/updates/world/2015_11_06_34_world_2015_08_26_01.sql1
-rw-r--r--sql/updates/world/2015_11_06_35_world_2015_10_10_05.sql4
-rw-r--r--sql/updates/world/2015_11_06_36_world_2015_07_27_00.sql3
-rw-r--r--sql/updates/world/2015_11_06_37_world_2015_07_27_01.sql12
-rw-r--r--sql/updates/world/2015_11_06_38_world_2015_10_03_00.sql11
-rw-r--r--sql/updates/world/2015_11_06_39_world_2015_10_04_01.sql21
-rw-r--r--sql/updates/world/2015_11_06_40_world_2015_10_04_03.sql7
-rw-r--r--sql/updates/world/2015_11_06_41_world.sql5
-rw-r--r--sql/updates/world/2015_11_06_42_world.sql4
-rw-r--r--sql/updates/world/2015_11_06_43_world.sql239
-rw-r--r--sql/updates/world/2015_11_06_44_world_2015_08_26_00.sql2
-rw-r--r--sql/updates/world/2015_11_07_00_world_2015_10_02_01.sql3
-rw-r--r--sql/updates/world/2015_11_07_01_world.sql1
-rw-r--r--sql/updates/world/2015_11_07_02_world_2015_09_11_00.sql96
-rw-r--r--sql/updates/world/2015_11_07_03_world.sql9
-rw-r--r--sql/updates/world/2015_11_07_04_world.sql47
-rw-r--r--sql/updates/world/2015_11_07_05_world.sql21
-rw-r--r--sql/updates/world/2015_11_07_06_world_2015_05_09_00.sql35
-rw-r--r--src/server/database/Database/DatabaseLoader.cpp2
-rw-r--r--src/server/database/Database/Implementation/CharacterDatabase.cpp2
-rw-r--r--src/server/database/Database/Implementation/LoginDatabase.cpp10
-rw-r--r--src/server/game/AI/CreatureAIFactory.h5
-rw-r--r--src/server/game/AI/CreatureAIImpl.h290
-rw-r--r--src/server/game/AI/CreatureAISelector.cpp30
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.cpp18
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.h4
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.h4
-rw-r--r--src/server/game/Accounts/RBAC.h1
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp2
-rw-r--r--src/server/game/Battlegrounds/Battleground.cpp79
-rw-r--r--src/server/game/Battlegrounds/BattlegroundMgr.cpp2
-rw-r--r--src/server/game/Battlegrounds/BattlegroundQueue.cpp35
-rw-r--r--src/server/game/Battlegrounds/BattlegroundQueue.h7
-rw-r--r--src/server/game/Chat/Chat.h2
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp2
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp8
-rw-r--r--src/server/game/DungeonFinding/LFGScripts.cpp10
-rw-r--r--src/server/game/Entities/Item/Item.cpp16
-rw-r--r--src/server/game/Entities/Item/Item.h2
-rw-r--r--src/server/game/Entities/Player/Player.cpp38
-rw-r--r--src/server/game/Entities/Player/Player.h3
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp7
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp36
-rw-r--r--src/server/game/Globals/ObjectMgr.h4
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp3
-rw-r--r--src/server/game/Instances/InstanceScript.cpp27
-rw-r--r--src/server/game/Instances/InstanceScript.h3
-rw-r--r--src/server/game/Maps/Map.cpp24
-rw-r--r--src/server/game/Miscellaneous/Language.h4
-rw-r--r--src/server/game/Movement/MotionMaster.cpp18
-rw-r--r--src/server/game/Movement/MotionMaster.h1
-rw-r--r--src/server/game/OutdoorPvP/OutdoorPvPMgr.cpp2
-rw-r--r--src/server/game/Scripting/ScriptLoader.cpp8
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp165
-rw-r--r--src/server/game/Scripting/ScriptMgr.h32
-rw-r--r--src/server/game/Server/WorldSession.cpp1
-rw-r--r--src/server/game/Server/WorldSocket.cpp31
-rw-r--r--src/server/game/Skills/SkillExtraItems.cpp111
-rw-r--r--src/server/game/Skills/SkillExtraItems.h4
-rw-r--r--src/server/game/Spells/SpellEffects.cpp32
-rw-r--r--src/server/game/Spells/SpellHistory.cpp54
-rw-r--r--src/server/game/Spells/SpellHistory.h5
-rw-r--r--src/server/game/Spells/SpellMgr.cpp13
-rw-r--r--src/server/game/Weather/WeatherMgr.cpp2
-rw-r--r--src/server/game/World/World.cpp4
-rw-r--r--src/server/game/World/World.h1
-rw-r--r--src/server/scripts/Commands/cs_cheat.cpp44
-rw-r--r--src/server/scripts/Commands/cs_debug.cpp26
-rw-r--r--src/server/scripts/Commands/cs_instance.cpp6
-rw-r--r--src/server/scripts/Commands/cs_lfg.cpp54
-rw-r--r--src/server/scripts/Commands/cs_modify.cpp44
-rw-r--r--src/server/scripts/Commands/cs_reload.cpp13
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp116
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp93
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp110
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h41
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp231
-rw-r--r--src/server/scripts/EasternKingdoms/CMakeLists.txt3
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp42
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp25
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp28
-rw-r--r--src/server/scripts/Kalimdor/zone_the_barrens.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_winterspring.cpp2
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp2
-rw-r--r--src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp3
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp65
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h1
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp208
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp130
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_noth.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp24
-rw-r--r--src/server/scripts/Northrend/Naxxramas/naxxramas.h5
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp3
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp185
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_erekem.cpp479
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp697
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp160
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_moragg.cpp256
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp425
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp269
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp1340
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp1929
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.h114
-rw-r--r--src/server/scripts/Northrend/zone_borean_tundra.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_howling_fjord.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_sholazar_basin.cpp68
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp2
-rw-r--r--src/server/scripts/Outland/zone_hellfire_peninsula.cpp473
-rw-r--r--src/server/scripts/World/duel_reset.cpp57
-rw-r--r--src/server/scripts/World/npc_professions.cpp146
-rw-r--r--src/server/worldserver/worldserver.conf.dist9
205 files changed, 17860 insertions, 4473 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index bc36deeaaaa..d716a515634 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -62,7 +62,7 @@ Requirements
============
-Software requirements are available in the [wiki](http://collab.kpsn.org/display/tc/Requirements) for
+Software requirements are available in the [wiki](http://www.trinitycore.info/display/tc/Requirements) for
Windows, Linux and Mac OSX.
diff --git a/README.md b/README.md
index 0a40cb6e3ff..91ef8181336 100644
--- a/README.md
+++ b/README.md
@@ -29,13 +29,13 @@ website at [TrinityCore.org](http://www.trinitycore.org).
## Requirements
-Software requirements are available in the [wiki](http://collab.kpsn.org/display/tc/Requirements) for
+Software requirements are available in the [wiki](http://www.trinitycore.info/display/tc/Requirements) for
Windows, Linux and Mac OSX.
## Install
-Detailed installation guides are available in the [wiki](http://collab.kpsn.org/display/tc/Installation+Guide) for
+Detailed installation guides are available in the [wiki](http://www.trinitycore.info/display/tc/Installation+Guide) for
Windows, Linux and Mac OSX.
diff --git a/dep/g3dlite/G3D-v9.0 hotfix6.diff b/dep/g3dlite/G3D-v9.0 hotfix6.diff
new file mode 100644
index 00000000000..3ff735c734e
--- /dev/null
+++ b/dep/g3dlite/G3D-v9.0 hotfix6.diff
@@ -0,0 +1,32 @@
+diff --git a/dep/g3dlite/include/G3D/platform.h b/dep/g3dlite/include/G3D/platform.h
+index 17e3bf2..439495a 100644
+--- a/dep/g3dlite/include/G3D/platform.h
++++ b/dep/g3dlite/include/G3D/platform.h
+@@ -364,13 +364,18 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw) {\
+ #endif
+ #if (!defined(_LIBCPP_VERSION) && defined(__APPLE__)) || (!defined(_LIBCPP_VERSION) && defined(__linux__))
+ # include <tr1/memory>
++#else
++# include <memory>
++#endif
++
++namespace G3D {
++#if (!defined(_LIBCPP_VERSION) && defined(__APPLE__)) || (!defined(_LIBCPP_VERSION) && defined(__linux__))
+ using std::tr1::shared_ptr;
+ using std::tr1::weak_ptr;
+ using std::tr1::dynamic_pointer_cast;
+ using std::tr1::static_pointer_cast;
+ using std::tr1::enable_shared_from_this;
+ #else
+-# include <memory>
+ using std::shared_ptr;
+ using std::weak_ptr;
+ using std::dynamic_pointer_cast;
+@@ -378,7 +383,6 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw) {\
+ using std::enable_shared_from_this;
+ #endif
+
+-namespace G3D {
+ /** Options for initG3D and initGLG3D. */
+ class G3DSpecification {
+ public:
diff --git a/dep/g3dlite/Readme.txt b/dep/g3dlite/Readme.txt
index bcd418d1d0e..d4e3fa5d06b 100644
--- a/dep/g3dlite/Readme.txt
+++ b/dep/g3dlite/Readme.txt
@@ -15,3 +15,4 @@ G3D-v9.0 hotfix2.diff - 2014-08-23 - fix some -Wconversion warnings
G3D-v9.0 hotfix3.diff - 2015-06-28 - fix some warnings
G3D-v9.0 hotfix4.diff - 2015-07-02 - backport G3D10 fix
G3D-v9.0 hotfix5.diff - 2015-07-31 - fix MSVC 2015 warning: dep/g3dlite/include/G3D/Quat.h(352): warning C4458: declaration of 'x' hides class member
+G3D-v9.0 hotfix6.diff - 2015-11-04 - fix adding std::shared_ptr, std::weak_ptr, std::dynamic_pointer_cast, std::static_pointer_cast and std::enable_shared_from_this to global namespace
diff --git a/dep/g3dlite/include/G3D/platform.h b/dep/g3dlite/include/G3D/platform.h
index 17e3bf279eb..439495ab131 100644
--- a/dep/g3dlite/include/G3D/platform.h
+++ b/dep/g3dlite/include/G3D/platform.h
@@ -364,13 +364,18 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw) {\
#endif
#if (!defined(_LIBCPP_VERSION) && defined(__APPLE__)) || (!defined(_LIBCPP_VERSION) && defined(__linux__))
# include <tr1/memory>
+#else
+# include <memory>
+#endif
+
+namespace G3D {
+#if (!defined(_LIBCPP_VERSION) && defined(__APPLE__)) || (!defined(_LIBCPP_VERSION) && defined(__linux__))
using std::tr1::shared_ptr;
using std::tr1::weak_ptr;
using std::tr1::dynamic_pointer_cast;
using std::tr1::static_pointer_cast;
using std::tr1::enable_shared_from_this;
#else
-# include <memory>
using std::shared_ptr;
using std::weak_ptr;
using std::dynamic_pointer_cast;
@@ -378,7 +383,6 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw) {\
using std::enable_shared_from_this;
#endif
-namespace G3D {
/** Options for initG3D and initGLG3D. */
class G3DSpecification {
public:
diff --git a/doc/UnixInstall.txt b/doc/UnixInstall.txt
index 171b30873e6..effe5d76f92 100644
--- a/doc/UnixInstall.txt
+++ b/doc/UnixInstall.txt
@@ -14,23 +14,8 @@ using Windows refer to http://www.trinitycore.info/How-to:Win
Installing TrinityCore is fairly simple on a Linux machine, assuming you
have all required applications
-The most important ones are:
+http://collab.kpsn.org/display/tc/Requirements
- g++
- gcc version 4.3.x or greater
- make
- cmake version 2.6.x or greater
- libmysql++-dev
- git (for checking out the core and database)
- openssl
- libssl-dev
- zlib1g-dev
- libtool
- libmysqlclient15-dev
- patch
- build-essential
- mysql-client
-
Most of these are included on common Linux distros, others you may have
to install by your self. Please check your distro's repos.
diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql
index f934d46fa8a..3c9decec4e9 100644
--- a/sql/base/auth_database.sql
+++ b/sql/base/auth_database.sql
@@ -599,7 +599,7 @@ CREATE TABLE `rbac_linked_permissions` (
LOCK TABLES `rbac_linked_permissions` WRITE;
/*!40000 ALTER TABLE `rbac_linked_permissions` DISABLE KEYS */;
-INSERT INTO `rbac_linked_permissions` VALUES (192,21),(192,42),(192,43),(192,193),(192,196),(192,692),(192,776),(192,778),(192,779),(192,780),(192,781),(192,782),(192,783),(192,784),(192,785),(192,786),(192,787),(192,788),(192,789),(192,790),(192,791),(192,792),(192,793),(192,794),(193,48),(193,194),(193,197),(194,1),(194,2),(194,11),(194,13),(194,14),(194,15),(194,16),(194,17),(194,18),(194,19),(194,20),(194,22),(194,23),(194,25),(194,26),(194,27),(194,28),(194,29),(194,30),(194,31),(194,32),(194,33),(194,34),(194,35),(194,36),(194,37),(194,38),(194,39),(194,40),(194,41),(194,44),(194,46),(194,47),(194,51),(194,195),(194,198),(194,632),(194,798),(195,3),(195,4),(195,5),(195,6),(195,24),(195,49),(195,199),(196,10),(196,200),(196,201),(196,208),(196,212),(196,213),(196,214),(196,215),(196,216),(196,226),(196,227),(196,230),(196,231),(196,233),(196,234),(196,235),(196,238),(196,239),(196,240),(196,241),(196,242),(196,243),(196,244),(196,245),(196,246),(196,247),(196,248),(196,249),(196,250),(196,251),(196,252),(196,253),(196,254),(196,255),(196,256),(196,257),(196,258),(196,259),(196,260),(196,261),(196,262),(196,264),(196,265),(196,266),(196,267),(196,268),(196,269),(196,270),(196,271),(196,272),(196,279),(196,280),(196,283),(196,287),(196,288),(196,289),(196,290),(196,291),(196,292),(196,293),(196,294),(196,295),(196,296),(196,297),(196,298),(196,299),(196,302),(196,303),(196,304),(196,305),(196,306),(196,307),(196,308),(196,309),(196,310),(196,313),(196,314),(196,319),(196,320),(196,321),(196,322),(196,323),(196,324),(196,325),(196,326),(196,327),(196,328),(196,329),(196,330),(196,331),(196,332),(196,333),(196,334),(196,335),(196,336),(196,337),(196,338),(196,339),(196,340),(196,341),(196,342),(196,343),(196,344),(196,345),(196,346),(196,347),(196,348),(196,349),(196,350),(196,351),(196,352),(196,353),(196,354),(196,355),(196,356),(196,357),(196,358),(196,359),(196,360),(196,361),(196,362),(196,363),(196,364),(196,365),(196,366),(196,373),(196,375),(196,400),(196,401),(196,402),(196,403),(196,404),(196,405),(196,406),(196,407),(196,417),(196,418),(196,419),(196,420),(196,421),(196,422),(196,423),(196,424),(196,425),(196,426),(196,427),(196,428),(196,429),(196,434),(196,435),(196,436),(196,437),(196,438),(196,439),(196,440),(196,441),(196,442),(196,443),(196,444),(196,445),(196,446),(196,447),(196,448),(196,449),(196,450),(196,451),(196,452),(196,453),(196,454),(196,455),(196,456),(196,457),(196,458),(196,459),(196,461),(196,463),(196,464),(196,465),(196,472),(196,473),(196,474),(196,475),(196,476),(196,477),(196,478),(196,488),(196,489),(196,491),(196,492),(196,493),(196,495),(196,497),(196,498),(196,499),(196,500),(196,502),(196,503),(196,505),(196,508),(196,511),(196,513),(196,514),(196,516),(196,519),(196,522),(196,523),(196,526),(196,527),(196,529),(196,530),(196,533),(196,535),(196,536),(196,537),(196,538),(196,539),(196,540),(196,541),(196,556),(196,581),(196,582),(196,592),(196,593),(196,596),(196,602),(196,603),(196,604),(196,605),(196,606),(196,607),(196,608),(196,609),(196,610),(196,611),(196,612),(196,613),(196,615),(196,616),(196,617),(196,618),(196,619),(196,620),(196,621),(196,623),(196,624),(196,625),(196,626),(196,627),(196,628),(196,629),(196,630),(196,631),(196,633),(196,634),(196,635),(196,636),(196,637),(196,638),(196,639),(196,640),(196,641),(196,642),(196,643),(196,644),(196,645),(196,646),(196,647),(196,648),(196,649),(196,650),(196,651),(196,652),(196,653),(196,654),(196,655),(196,656),(196,657),(196,658),(196,659),(196,660),(196,661),(196,662),(196,663),(196,664),(196,665),(196,666),(196,667),(196,668),(196,669),(196,670),(196,671),(196,672),(196,673),(196,674),(196,675),(196,676),(196,677),(196,678),(196,679),(196,680),(196,681),(196,682),(196,683),(196,684),(196,685),(196,686),(196,687),(196,688),(196,689),(196,690),(196,691),(196,693),(196,694),(196,695),(196,696),(196,697),(196,698),(196,699),(196,700),(196,701),(196,702),(196,703),(196,704),(196,705),(196,706),(196,707),(196,708),(196,709),(196,710),(196,711),(196,712),(196,713),(196,714),(196,715),(196,716),(196,717),(196,718),(196,719),(196,721),(196,722),(196,723),(196,724),(196,725),(196,726),(196,727),(196,728),(196,729),(196,730),(196,733),(196,734),(196,735),(196,736),(196,738),(196,739),(196,753),(196,757),(196,773),(196,777),(196,809),(196,817),(196,825),(196,829),(196,831),(196,832),(196,833),(197,232),(197,236),(197,237),(197,273),(197,274),(197,275),(197,276),(197,277),(197,284),(197,285),(197,286),(197,301),(197,311),(197,387),(197,388),(197,389),(197,390),(197,391),(197,392),(197,393),(197,394),(197,395),(197,396),(197,397),(197,398),(197,399),(197,479),(197,480),(197,481),(197,482),(197,485),(197,486),(197,487),(197,494),(197,506),(197,509),(197,510),(197,517),(197,518),(197,521),(197,542),(197,543),(197,550),(197,558),(197,568),(197,571),(197,572),(197,573),(197,574),(197,575),(197,576),(197,577),(197,578),(197,579),(197,580),(197,583),(197,584),(197,585),(197,586),(197,587),(197,588),(197,589),(197,590),(197,591),(197,594),(197,595),(197,601),(197,761),(197,762),(197,763),(197,764),(197,765),(197,766),(197,767),(197,768),(197,769),(197,770),(197,771),(197,772),(197,774),(197,805),(197,811),(197,813),(197,819),(197,821),(197,827),(198,218),(198,300),(198,312),(198,315),(198,316),(198,317),(198,318),(198,367),(198,368),(198,369),(198,370),(198,371),(198,372),(198,374),(198,376),(198,377),(198,378),(198,379),(198,380),(198,381),(198,382),(198,384),(198,385),(198,386),(198,408),(198,409),(198,410),(198,411),(198,412),(198,413),(198,414),(198,415),(198,416),(198,430),(198,431),(198,432),(198,433),(198,462),(198,466),(198,467),(198,468),(198,469),(198,470),(198,471),(198,483),(198,484),(198,490),(198,504),(198,512),(198,515),(198,520),(198,524),(198,528),(198,531),(198,532),(198,544),(198,545),(198,546),(198,547),(198,548),(198,549),(198,551),(198,552),(198,553),(198,554),(198,555),(198,557),(198,559),(198,560),(198,561),(198,562),(198,563),(198,564),(198,565),(198,566),(198,567),(198,569),(198,570),(198,597),(198,598),(198,599),(198,600),(198,737),(198,740),(198,741),(198,742),(198,799),(198,800),(198,801),(198,802),(198,803),(198,804),(198,806),(198,807),(198,808),(198,810),(198,812),(198,814),(198,815),(198,816),(198,818),(198,820),(198,822),(198,823),(198,824),(198,826),(198,828),(198,834),(199,207),(199,209),(199,210),(199,211),(199,217),(199,221),(199,222),(199,223),(199,225),(199,263),(199,496),(199,501),(199,507),(199,525),(199,534),(199,797);
+INSERT INTO `rbac_linked_permissions` VALUES (192,21),(192,42),(192,43),(192,193),(192,196),(192,692),(192,776),(192,778),(192,779),(192,780),(192,781),(192,782),(192,783),(192,784),(192,785),(192,786),(192,787),(192,788),(192,789),(192,790),(192,791),(192,792),(192,793),(192,794),(192,835),(193,48),(193,194),(193,197),(194,1),(194,2),(194,11),(194,13),(194,14),(194,15),(194,16),(194,17),(194,18),(194,19),(194,20),(194,22),(194,23),(194,25),(194,26),(194,27),(194,28),(194,29),(194,30),(194,31),(194,32),(194,33),(194,34),(194,35),(194,36),(194,37),(194,38),(194,39),(194,40),(194,41),(194,44),(194,46),(194,47),(194,51),(194,195),(194,198),(194,632),(194,798),(195,3),(195,4),(195,5),(195,6),(195,24),(195,49),(195,199),(196,10),(196,200),(196,201),(196,208),(196,212),(196,213),(196,214),(196,215),(196,216),(196,226),(196,227),(196,230),(196,231),(196,233),(196,234),(196,235),(196,238),(196,239),(196,240),(196,241),(196,242),(196,243),(196,244),(196,245),(196,246),(196,247),(196,248),(196,249),(196,250),(196,251),(196,252),(196,253),(196,254),(196,255),(196,256),(196,257),(196,258),(196,259),(196,260),(196,261),(196,262),(196,264),(196,265),(196,266),(196,267),(196,268),(196,269),(196,270),(196,271),(196,272),(196,279),(196,280),(196,283),(196,287),(196,288),(196,289),(196,290),(196,291),(196,292),(196,293),(196,294),(196,295),(196,296),(196,297),(196,298),(196,299),(196,302),(196,303),(196,304),(196,305),(196,306),(196,307),(196,308),(196,309),(196,310),(196,313),(196,314),(196,319),(196,320),(196,321),(196,322),(196,323),(196,324),(196,325),(196,326),(196,327),(196,328),(196,329),(196,330),(196,331),(196,332),(196,333),(196,334),(196,335),(196,336),(196,337),(196,338),(196,339),(196,340),(196,341),(196,342),(196,343),(196,344),(196,345),(196,346),(196,347),(196,348),(196,349),(196,350),(196,351),(196,352),(196,353),(196,354),(196,355),(196,356),(196,357),(196,358),(196,359),(196,360),(196,361),(196,362),(196,363),(196,364),(196,365),(196,366),(196,373),(196,375),(196,400),(196,401),(196,402),(196,403),(196,404),(196,405),(196,406),(196,407),(196,417),(196,418),(196,419),(196,420),(196,421),(196,422),(196,423),(196,424),(196,425),(196,426),(196,427),(196,428),(196,429),(196,434),(196,435),(196,436),(196,437),(196,438),(196,439),(196,440),(196,441),(196,442),(196,443),(196,444),(196,445),(196,446),(196,447),(196,448),(196,449),(196,450),(196,451),(196,452),(196,453),(196,454),(196,455),(196,456),(196,457),(196,458),(196,459),(196,461),(196,463),(196,464),(196,465),(196,472),(196,473),(196,474),(196,475),(196,476),(196,477),(196,478),(196,488),(196,489),(196,491),(196,492),(196,493),(196,495),(196,497),(196,498),(196,499),(196,500),(196,502),(196,503),(196,505),(196,508),(196,511),(196,513),(196,514),(196,516),(196,519),(196,522),(196,523),(196,526),(196,527),(196,529),(196,530),(196,533),(196,535),(196,536),(196,537),(196,538),(196,539),(196,540),(196,541),(196,556),(196,581),(196,582),(196,592),(196,593),(196,596),(196,602),(196,603),(196,604),(196,605),(196,606),(196,607),(196,608),(196,609),(196,610),(196,611),(196,612),(196,613),(196,615),(196,616),(196,617),(196,618),(196,619),(196,620),(196,621),(196,623),(196,624),(196,625),(196,626),(196,627),(196,628),(196,629),(196,630),(196,631),(196,633),(196,634),(196,635),(196,636),(196,637),(196,638),(196,639),(196,640),(196,641),(196,642),(196,643),(196,644),(196,645),(196,646),(196,647),(196,648),(196,649),(196,650),(196,651),(196,652),(196,653),(196,654),(196,655),(196,656),(196,657),(196,658),(196,659),(196,660),(196,661),(196,662),(196,663),(196,664),(196,665),(196,666),(196,667),(196,668),(196,669),(196,670),(196,671),(196,672),(196,673),(196,674),(196,675),(196,676),(196,677),(196,678),(196,679),(196,680),(196,681),(196,682),(196,683),(196,684),(196,685),(196,686),(196,687),(196,688),(196,689),(196,690),(196,691),(196,693),(196,694),(196,695),(196,696),(196,697),(196,698),(196,699),(196,700),(196,701),(196,702),(196,703),(196,704),(196,705),(196,706),(196,707),(196,708),(196,709),(196,710),(196,711),(196,712),(196,713),(196,714),(196,715),(196,716),(196,717),(196,718),(196,719),(196,721),(196,722),(196,723),(196,724),(196,725),(196,726),(196,727),(196,728),(196,729),(196,730),(196,733),(196,734),(196,735),(196,736),(196,738),(196,739),(196,753),(196,757),(196,773),(196,777),(196,809),(196,817),(196,825),(196,829),(196,831),(196,832),(196,833),(197,232),(197,236),(197,237),(197,273),(197,274),(197,275),(197,276),(197,277),(197,284),(197,285),(197,286),(197,301),(197,311),(197,387),(197,388),(197,389),(197,390),(197,391),(197,392),(197,393),(197,394),(197,395),(197,396),(197,397),(197,398),(197,399),(197,479),(197,480),(197,481),(197,482),(197,485),(197,486),(197,487),(197,494),(197,506),(197,509),(197,510),(197,517),(197,518),(197,521),(197,542),(197,543),(197,550),(197,558),(197,568),(197,571),(197,572),(197,573),(197,574),(197,575),(197,576),(197,577),(197,578),(197,579),(197,580),(197,583),(197,584),(197,585),(197,586),(197,587),(197,588),(197,589),(197,590),(197,591),(197,594),(197,595),(197,601),(197,761),(197,762),(197,763),(197,764),(197,765),(197,766),(197,767),(197,768),(197,769),(197,770),(197,771),(197,772),(197,774),(197,805),(197,811),(197,813),(197,819),(197,821),(197,827),(198,218),(198,300),(198,312),(198,315),(198,316),(198,317),(198,318),(198,367),(198,368),(198,369),(198,370),(198,371),(198,372),(198,374),(198,376),(198,377),(198,378),(198,379),(198,380),(198,381),(198,382),(198,384),(198,385),(198,386),(198,408),(198,409),(198,410),(198,411),(198,412),(198,413),(198,414),(198,415),(198,416),(198,430),(198,431),(198,432),(198,433),(198,462),(198,466),(198,467),(198,468),(198,469),(198,470),(198,471),(198,483),(198,484),(198,490),(198,504),(198,512),(198,515),(198,520),(198,524),(198,528),(198,531),(198,532),(198,544),(198,545),(198,546),(198,547),(198,548),(198,549),(198,551),(198,552),(198,553),(198,554),(198,555),(198,557),(198,559),(198,560),(198,561),(198,562),(198,563),(198,564),(198,565),(198,566),(198,567),(198,569),(198,570),(198,597),(198,598),(198,599),(198,600),(198,737),(198,740),(198,741),(198,742),(198,799),(198,800),(198,801),(198,802),(198,803),(198,804),(198,806),(198,807),(198,808),(198,810),(198,812),(198,814),(198,815),(198,816),(198,818),(198,820),(198,822),(198,823),(198,824),(198,826),(198,828),(198,834),(199,207),(199,209),(199,210),(199,211),(199,217),(199,221),(199,222),(199,223),(199,225),(199,263),(199,496),(199,501),(199,507),(199,525),(199,534),(199,797);
/*!40000 ALTER TABLE `rbac_linked_permissions` ENABLE KEYS */;
UNLOCK TABLES;
@@ -623,7 +623,7 @@ CREATE TABLE `rbac_permissions` (
LOCK TABLES `rbac_permissions` WRITE;
/*!40000 ALTER TABLE `rbac_permissions` DISABLE KEYS */;
-INSERT INTO `rbac_permissions` VALUES (1,'Instant logout'),(2,'Skip Queue'),(3,'Join Normal Battleground'),(4,'Join Random Battleground'),(5,'Join Arenas'),(6,'Join Dungeon Finder'),(10,'Use character templates'),(11,'Log GM trades'),(13,'Skip Instance required bosses check'),(14,'Skip character creation team mask check'),(15,'Skip character creation class mask check'),(16,'Skip character creation race mask check'),(17,'Skip character creation reserved name check'),(18,'Skip character creation heroic min level check'),(19,'Skip needed requirements to use channel check'),(20,'Skip disable map check'),(21,'Skip reset talents when used more than allowed check'),(22,'Skip spam chat check'),(23,'Skip over-speed ping check'),(24,'Two side faction characters on the same account'),(25,'Allow say chat between factions'),(26,'Allow channel chat between factions'),(27,'Two side mail interaction'),(28,'See two side who list'),(29,'Add friends of other faction'),(30,'Save character without delay with .save command'),(31,'Use params with .unstuck command'),(32,'Can be assigned tickets with .assign ticket command'),(33,'Notify if a command was not found'),(34,'Check if should appear in list using .gm ingame command'),(35,'See all security levels with who command'),(36,'Filter whispers'),(37,'Use staff badge in chat'),(38,'Resurrect with full Health Points'),(39,'Restore saved gm setting states'),(40,'Allows to add a gm to friend list'),(41,'Use Config option START_GM_LEVEL to assign new character level'),(42,'Allows to use CMSG_WORLD_TELEPORT opcode'),(43,'Allows to use CMSG_WHOIS opcode'),(44,'Receive global GM messages/texts'),(45,'Join channels without announce'),(46,'Change channel settings without being channel moderator'),(47,'Enables lower security than target check'),(48,'Enable IP, Last Login and EMail output in pinfo'),(49,'Forces to enter the email for confirmation on password change'),(50,'Allow user to check his own email with .account'),(51,'Allow trading between factions'),(192,'Role: Sec Level Administrator'),(193,'Role: Sec Level Gamemaster'),(194,'Role: Sec Level Moderator'),(195,'Role: Sec Level Player'),(196,'Role: Administrator Commands'),(197,'Role: Gamemaster Commands'),(198,'Role: Moderator Commands'),(199,'Role: Player Commands'),(200,'Command: rbac'),(201,'Command: rbac account'),(202,'Command: rbac account list'),(203,'Command: rbac account grant'),(204,'Command: rbac account deny'),(205,'Command: rbac account revoke'),(206,'Command: rbac list'),(207,'Command: battlenetaccount'),(208,'Command: battlenetaccount create'),(209,'Command: battlenetaccount lock country'),(210,'Command: battlenetaccount lock ip'),(211,'Command: battlenetaccount password'),(212,'Command: battlenetaccount set'),(213,'Command: battlenetaccount set password'),(214,'Command: bnetaccount link'),(215,'Command: bnetaccount unlink'),(216,'Command: bnetaccount gameaccountcreate'),(217,'Command: account'),(218,'Command: account addon'),(219,'Command: account create'),(220,'Command: account delete'),(221,'Command: account lock'),(222,'Command: account lock country'),(223,'Command: account lock ip'),(224,'Command: account onlinelist'),(225,'Command: account password'),(226,'Command: account set'),(227,'Command: account set addon'),(228,'Command: account set gmlevel'),(229,'Command: account set password'),(230,'Command: achievement'),(231,'Command: achievement add'),(232,'Command: arena'),(233,'Command: arena captain'),(234,'Command: arena create'),(235,'Command: arena disband'),(236,'Command: arena info'),(237,'Command: arena lookup'),(238,'Command: arena rename'),(239,'Command: ban'),(240,'Command: ban account'),(241,'Command: ban character'),(242,'Command: ban ip'),(243,'Command: ban playeraccount'),(244,'Command: baninfo'),(245,'Command: baninfo account'),(246,'Command: baninfo character'),(247,'Command: baninfo ip'),(248,'Command: banlist'),(249,'Command: banlist account'),(250,'Command: banlist character'),(251,'Command: banlist ip'),(252,'Command: unban'),(253,'Command: unban account'),(254,'Command: unban character'),(255,'Command: unban ip'),(256,'Command: unban playeraccount'),(257,'Command: bf'),(258,'Command: bf start'),(259,'Command: bf stop'),(260,'Command: bf switch'),(261,'Command: bf timer'),(262,'Command: bf enable'),(263,'Command: account email'),(264,'Command: account set sec'),(265,'Command: account set sec email'),(266,'Command: account set sec regmail'),(267,'Command: cast'),(268,'Command: cast back'),(269,'Command: cast dist'),(270,'Command: cast self'),(271,'Command: cast target'),(272,'Command: cast dest'),(273,'Command: character'),(274,'Command: character customize'),(275,'Command: character changefaction'),(276,'Command: character changerace'),(277,'Command: character deleted'),(279,'Command: character deleted list'),(280,'Command: character deleted restore'),(283,'Command: character level'),(284,'Command: character rename'),(285,'Command: character reputation'),(286,'Command: character titles'),(287,'Command: levelup'),(288,'Command: pdump'),(289,'Command: pdump load'),(290,'Command: pdump write'),(291,'Command: cheat'),(292,'Command: cheat casttime'),(293,'Command: cheat cooldown'),(294,'Command: cheat explore'),(295,'Command: cheat god'),(296,'Command: cheat power'),(297,'Command: cheat status'),(298,'Command: cheat taxi'),(299,'Command: cheat waterwalk'),(300,'Command: debug'),(301,'Command: debug anim'),(302,'Command: debug areatriggers'),(303,'Command: debug arena'),(304,'Command: debug bg'),(305,'Command: debug entervehicle'),(306,'Command: debug getitemstate'),(307,'Command: debug getitemvalue'),(308,'Command: debug getvalue'),(309,'Command: debug hostil'),(310,'Command: debug itemexpire'),(311,'Command: debug lootrecipient'),(312,'Command: debug los'),(313,'Command: debug mod32value'),(314,'Command: debug moveflags'),(315,'Command: debug play'),(316,'Command: debug play cinematics'),(317,'Command: debug play movie'),(318,'Command: debug play sound'),(319,'Command: debug send'),(320,'Command: debug send buyerror'),(321,'Command: debug send channelnotify'),(322,'Command: debug send chatmessage'),(323,'Command: debug send equiperror'),(324,'Command: debug send largepacket'),(325,'Command: debug send opcode'),(326,'Command: debug send qinvalidmsg'),(327,'Command: debug send qpartymsg'),(328,'Command: debug send sellerror'),(329,'Command: debug send setphaseshift'),(330,'Command: debug send spellfail'),(331,'Command: debug setaurastate'),(332,'Command: debug setbit'),(333,'Command: debug setitemvalue'),(334,'Command: debug setvalue'),(335,'Command: debug setvid'),(336,'Command: debug spawnvehicle'),(337,'Command: debug threat'),(338,'Command: debug update'),(339,'Command: debug uws'),(340,'Command: wpgps'),(341,'Command: deserter'),(342,'Command: deserter bg'),(343,'Command: deserter bg add'),(344,'Command: deserter bg remove'),(345,'Command: deserter instance'),(346,'Command: deserter instance add'),(347,'Command: deserter instance remove'),(348,'Command: disable'),(349,'Command: disable add'),(350,'Command: disable add achievement_criteria'),(351,'Command: disable add battleground'),(352,'Command: disable add map'),(353,'Command: disable add mmap'),(354,'Command: disable add outdoorpvp'),(355,'Command: disable add quest'),(356,'Command: disable add spell'),(357,'Command: disable add vmap'),(358,'Command: disable remove'),(359,'Command: disable remove achievement_criteria'),(360,'Command: disable remove battleground'),(361,'Command: disable remove map'),(362,'Command: disable remove mmap'),(363,'Command: disable remove outdoorpvp'),(364,'Command: disable remove quest'),(365,'Command: disable remove spell'),(366,'Command: disable remove vmap'),(367,'Command: event'),(368,'Command: event activelist'),(369,'Command: event start'),(370,'Command: event stop'),(371,'Command: gm'),(372,'Command: gm chat'),(373,'Command: gm fly'),(374,'Command: gm ingame'),(375,'Command: gm list'),(376,'Command: gm visible'),(377,'Command: go'),(378,'Command: go creature'),(379,'Command: go graveyard'),(380,'Command: go grid'),(381,'Command: go object'),(382,'Command: go taxinode'),(384,'Command: go trigger'),(385,'Command: go xyz'),(386,'Command: go zonexy'),(387,'Command: gobject'),(388,'Command: gobject activate'),(389,'Command: gobject add'),(390,'Command: gobject add temp'),(391,'Command: gobject delete'),(392,'Command: gobject info'),(393,'Command: gobject move'),(394,'Command: gobject near'),(395,'Command: gobject set'),(396,'Command: gobject set phase'),(397,'Command: gobject set state'),(398,'Command: gobject target'),(399,'Command: gobject turn'),(400,'debug transport'),(401,'Command: guild'),(402,'Command: guild create'),(403,'Command: guild delete'),(404,'Command: guild invite'),(405,'Command: guild uninvite'),(406,'Command: guild rank'),(407,'Command: guild rename'),(408,'Command: honor'),(409,'Command: honor add'),(410,'Command: honor add kill'),(411,'Command: honor update'),(412,'Command: instance'),(413,'Command: instance listbinds'),(414,'Command: instance unbind'),(415,'Command: instance stats'),(416,'Command: instance savedata'),(417,'Command: learn'),(418,'Command: learn all'),(419,'Command: learn all my'),(420,'Command: learn all my class'),(421,'Command: learn all my pettalents'),(422,'Command: learn all my spells'),(423,'Command: learn all my talents'),(424,'Command: learn all gm'),(425,'Command: learn all crafts'),(426,'Command: learn all default'),(427,'Command: learn all lang'),(428,'Command: learn all recipes'),(429,'Command: unlearn'),(430,'Command: lfg'),(431,'Command: lfg player'),(432,'Command: lfg group'),(433,'Command: lfg queue'),(434,'Command: lfg clean'),(435,'Command: lfg options'),(436,'Command: list'),(437,'Command: list creature'),(438,'Command: list item'),(439,'Command: list object'),(440,'Command: list auras'),(441,'Command: list mail'),(442,'Command: lookup'),(443,'Command: lookup area'),(444,'Command: lookup creature'),(445,'Command: lookup event'),(446,'Command: lookup faction'),(447,'Command: lookup item'),(448,'Command: lookup itemset'),(449,'Command: lookup object'),(450,'Command: lookup quest'),(451,'Command: lookup player'),(452,'Command: lookup player ip'),(453,'Command: lookup player account'),(454,'Command: lookup player email'),(455,'Command: lookup skill'),(456,'Command: lookup spell'),(457,'Command: lookup spell id'),(458,'Command: lookup taxinode'),(459,'Command: lookup tele'),(460,'Command: lookup title'),(461,'Command: lookup map'),(462,'Command: announce'),(463,'Command: channel'),(464,'Command: channel set'),(465,'Command: channel set ownership'),(466,'Command: gmannounce'),(467,'Command: gmnameannounce'),(468,'Command: gmnotify'),(469,'Command: nameannounce'),(470,'Command: notify'),(471,'Command: whispers'),(472,'Command: group'),(473,'Command: group leader'),(474,'Command: group disband'),(475,'Command: group remove'),(476,'Command: group join'),(477,'Command: group list'),(478,'Command: group summon'),(479,'Command: pet'),(480,'Command: pet create'),(481,'Command: pet learn'),(482,'Command: pet unlearn'),(483,'Command: send'),(484,'Command: send items'),(485,'Command: send mail'),(486,'Command: send message'),(487,'Command: send money'),(488,'Command: additem'),(489,'Command: additemset'),(490,'Command: appear'),(491,'Command: aura'),(492,'Command: bank'),(493,'Command: bindsight'),(494,'Command: combatstop'),(495,'Command: cometome'),(496,'Command: commands'),(497,'Command: cooldown'),(498,'Command: damage'),(499,'Command: dev'),(500,'Command: die'),(501,'Command: dismount'),(502,'Command: distance'),(503,'Command: flusharenapoints'),(504,'Command: freeze'),(505,'Command: gps'),(506,'Command: guid'),(507,'Command: help'),(508,'Command: hidearea'),(509,'Command: itemmove'),(510,'Command: kick'),(511,'Command: linkgrave'),(512,'Command: listfreeze'),(513,'Command: maxskill'),(514,'Command: movegens'),(515,'Command: mute'),(516,'Command: neargrave'),(517,'Command: pinfo'),(518,'Command: playall'),(519,'Command: possess'),(520,'Command: recall'),(521,'Command: repairitems'),(522,'Command: respawn'),(523,'Command: revive'),(524,'Command: saveall'),(525,'Command: save'),(526,'Command: setskill'),(527,'Command: showarea'),(528,'Command: summon'),(529,'Command: unaura'),(530,'Command: unbindsight'),(531,'Command: unfreeze'),(532,'Command: unmute'),(533,'Command: unpossess'),(534,'Command: unstuck'),(535,'Command: wchange'),(536,'Command: mmap'),(537,'Command: mmap loadedtiles'),(538,'Command: mmap loc'),(539,'Command: mmap path'),(540,'Command: mmap stats'),(541,'Command: mmap testarea'),(542,'Command: morph'),(543,'Command: demorph'),(544,'Command: modify'),(545,'Command: modify arenapoints'),(546,'Command: modify bit'),(547,'Command: modify drunk'),(548,'Command: modify energy'),(549,'Command: modify faction'),(550,'Command: modify gender'),(551,'Command: modify honor'),(552,'Command: modify hp'),(553,'Command: modify mana'),(554,'Command: modify money'),(555,'Command: modify mount'),(556,'Command: modify phase'),(557,'Command: modify rage'),(558,'Command: modify reputation'),(559,'Command: modify runicpower'),(560,'Command: modify scale'),(561,'Command: modify speed'),(562,'Command: modify speed all'),(563,'Command: modify speed backwalk'),(564,'Command: modify speed fly'),(565,'Command: modify speed walk'),(566,'Command: modify speed swim'),(567,'Command: modify spell'),(568,'Command: modify standstate'),(569,'Command: modify talentpoints'),(570,'Command: npc'),(571,'Command: npc add'),(572,'Command: npc add formation'),(573,'Command: npc add item'),(574,'Command: npc add move'),(575,'Command: npc add temp'),(576,'Command: npc add delete'),(577,'Command: npc add delete item'),(578,'Command: npc add follow'),(579,'Command: npc add follow stop'),(580,'Command: npc set'),(581,'Command: npc set allowmove'),(582,'Command: npc set entry'),(583,'Command: npc set factionid'),(584,'Command: npc set flag'),(585,'Command: npc set level'),(586,'Command: npc set link'),(587,'Command: npc set model'),(588,'Command: npc set movetype'),(589,'Command: npc set phase'),(590,'Command: npc set spawndist'),(591,'Command: npc set spawntime'),(592,'Command: npc set data'),(593,'Command: npc info'),(594,'Command: npc near'),(595,'Command: npc move'),(596,'Command: npc playemote'),(597,'Command: npc say'),(598,'Command: npc textemote'),(599,'Command: npc whisper'),(600,'Command: npc yell'),(601,'Command: npc tame'),(602,'Command: quest'),(603,'Command: quest add'),(604,'Command: quest complete'),(605,'Command: quest remove'),(606,'Command: quest reward'),(607,'Command: reload'),(608,'Command: reload access_requirement'),(609,'Command: reload achievement_criteria_data'),(610,'Command: reload achievement_reward'),(611,'Command: reload all'),(612,'Command: reload all achievement'),(613,'Command: reload all area'),(615,'Command: reload all gossips'),(616,'Command: reload all item'),(617,'Command: reload all locales'),(618,'Command: reload all loot'),(619,'Command: reload all npc'),(620,'Command: reload all quest'),(621,'Command: reload all scripts'),(623,'Command: reload areatrigger_involvedrelation'),(624,'Command: reload areatrigger_tavern'),(625,'Command: reload areatrigger_teleport'),(626,'Command: reload auctions'),(627,'Command: reload autobroadcast'),(628,'Command: reload command'),(629,'Command: reload conditions'),(630,'Command: reload config'),(631,'Command: reload battleground_template'),(632,'Command: .mutehistory'),(633,'Command: reload creature_linked_respawn'),(634,'Command: reload creature_loot_template'),(635,'Command: reload creature_onkill_reputation'),(636,'Command: reload creature_questender'),(637,'Command: reload creature_queststarter'),(638,'Command: reload creature_summon_groups'),(639,'Command: reload creature_template'),(640,'Command: reload creature_text'),(641,'Command: reload disables'),(642,'Command: reload disenchant_loot_template'),(643,'Command: reload event_scripts'),(644,'Command: reload fishing_loot_template'),(645,'Command: reload game_graveyard_zone'),(646,'Command: reload game_tele'),(647,'Command: reload gameobject_questender'),(648,'Command: reload gameobject_loot_template'),(649,'Command: reload gameobject_queststarter'),(650,'Command: reload support'),(651,'Command: reload gossip_menu'),(652,'Command: reload gossip_menu_option'),(653,'Command: reload item_enchantment_template'),(654,'Command: reload item_loot_template'),(655,'Command: reload item_set_names'),(656,'Command: reload lfg_dungeon_rewards'),(657,'Command: reload locales_achievement_reward'),(658,'Command: reload locales_creature'),(659,'Command: reload locales_creature_text'),(660,'Command: reload locales_gameobject'),(661,'Command: reload locales_gossip_menu_option'),(662,'Command: reload character_template'),(663,'Command: reload locales_item_set_name'),(664,'Command: reload quest_greeting'),(665,'Command: reload locales_page_text'),(666,'Command: reload locales_points_of_interest'),(667,'Command: reload quest_locale'),(668,'Command: reload mail_level_reward'),(669,'Command: reload mail_loot_template'),(670,'Command: reload milling_loot_template'),(671,'Command: reload npc_spellclick_spells'),(672,'Command: reload npc_trainer'),(673,'Command: reload npc_vendor'),(674,'Command: reload page_text'),(675,'Command: reload pickpocketing_loot_template'),(676,'Command: reload points_of_interest'),(677,'Command: reload prospecting_loot_template'),(678,'Command: reload quest_poi'),(679,'Command: reload quest_template'),(680,'Command: reload rbac'),(681,'Command: reload reference_loot_template'),(682,'Command: reload reserved_name'),(683,'Command: reload reputation_reward_rate'),(684,'Command: reload reputation_spillover_template'),(685,'Command: reload skill_discovery_template'),(686,'Command: reload skill_extra_item_template'),(687,'Command: reload skill_fishing_base_level'),(688,'Command: reload skinning_loot_template'),(689,'Command: reload smart_scripts'),(690,'Command: reload spell_required'),(691,'Command: reload spell_area'),(692,'Command: debug send playscene'),(693,'Command: reload spell_group'),(694,'Command: reload spell_learn_spell'),(695,'Command: reload spell_loot_template'),(696,'Command: reload spell_linked_spell'),(697,'Command: reload spell_pet_auras'),(698,'Command: reload spell_proc_event'),(699,'Command: reload spell_proc'),(700,'Command: reload spell_scripts'),(701,'Command: reload spell_target_position'),(702,'Command: reload spell_threats'),(703,'Command: reload spell_group_stack_rules'),(704,'Command: reload trinity_string'),(705,'Command: reload warden_action'),(706,'Command: reload waypoint_scripts'),(707,'Command: reload waypoint_data'),(708,'Command: reload vehicle_accessory'),(709,'Command: reload vehicle_template_accessory'),(710,'Command: reset'),(711,'Command: reset achievements'),(712,'Command: reset honor'),(713,'Command: reset level'),(714,'Command: reset spells'),(715,'Command: reset stats'),(716,'Command: reset talents'),(717,'Command: reset all'),(718,'Command: server'),(719,'Command: server corpses'),(720,'Command: server exit'),(721,'Command: server idlerestart'),(722,'Command: server idlerestart cancel'),(723,'Command: server idleshutdown'),(724,'Command: server idleshutdown cancel'),(725,'Command: server info'),(726,'Command: server plimit'),(727,'Command: server restart'),(728,'Command: server restart cancel'),(729,'Command: server set'),(730,'Command: server set closed'),(731,'Command: server set difftime'),(732,'Command: server set loglevel'),(733,'Command: server set motd'),(734,'Command: server shutdown'),(735,'Command: server shutdown cancel'),(736,'Command: server motd'),(737,'Command: tele'),(738,'Command: tele add'),(739,'Command: tele del'),(740,'Command: tele name'),(741,'Command: tele group'),(742,'Command: ticket'),(753,'Command: ticket reset'),(757,'Command: ticket togglesystem'),(761,'Command: titles'),(762,'Command: titles add'),(763,'Command: titles current'),(764,'Command: titles remove'),(765,'Command: titles set'),(766,'Command: titles set mask'),(767,'Command: wp'),(768,'Command: wp add'),(769,'Command: wp event'),(770,'Command: wp load'),(771,'Command: wp modify'),(772,'Command: wp unload'),(773,'Command: wp reload'),(774,'Command: wp show'),(776,'Command: debug phase'),(777,'Command: mailbox'),(778,'Command: ahbot'),(779,'Command: ahbot items'),(780,'Command: ahbot items gray'),(781,'Command: ahbot items white'),(782,'Command: ahbot items green'),(783,'Command: ahbot items blue'),(784,'Command: ahbot items purple'),(785,'Command: ahbot items orange'),(786,'Command: ahbot items yellow'),(787,'Command: ahbot ratio'),(788,'Command: ahbot ratio alliance'),(789,'Command: ahbot ratio horde'),(790,'Command: ahbot ratio neutral'),(791,'Command: ahbot rebuild'),(792,'Command: ahbot reload'),(793,'Command: ahbot status'),(794,'Command: .guild info'),(797,'Command: pvpstats'),(798,'Command: .mod xp'),(799,'Command: .go bugticket'),(800,'Command: .go complaintticket'),(801,'Command: .go suggestionticket'),(802,'Command: .ticket bug'),(803,'Command: .ticket complaint'),(804,'Command: .ticket suggestion'),(805,'Command: .ticket bug assign'),(806,'Command: .ticket bug close'),(807,'Command: .ticket bug closedlist'),(808,'Command: .ticket bug comment'),(809,'Command: .ticket bug delete'),(810,'Command: .ticket bug list'),(811,'Command: .ticket bug unassign'),(812,'Command: .ticket bug view'),(813,'Command: .ticket complaint assign'),(814,'Command: .ticket complaint close'),(815,'Command: .ticket complaint closedlist'),(816,'Command: .ticket complaint comment'),(817,'Command: .ticket complaint delete'),(818,'Command: .ticket complaint list'),(819,'Command: .ticket complaint unassign'),(820,'Command: .ticket complaint view'),(821,'Command: .ticket suggestion assign'),(822,'Command: .ticket suggestion close'),(823,'Command: .ticket suggestion closedlist'),(824,'Command: .ticket suggestion comment'),(825,'Command: .ticket suggestion delete'),(826,'Command: .ticket suggestion list'),(827,'Command: .ticket suggestion unassign'),(828,'Command: .ticket suggestion view'),(829,'Command: .ticket reset all'),(831,'Command: .ticket reset bug'),(832,'Command: .ticket reset complaint'),(833,'Command: .ticket reset suggestion'),(834,'Command: go quest');
+INSERT INTO `rbac_permissions` VALUES (1,'Instant logout'),(2,'Skip Queue'),(3,'Join Normal Battleground'),(4,'Join Random Battleground'),(5,'Join Arenas'),(6,'Join Dungeon Finder'),(10,'Use character templates'),(11,'Log GM trades'),(13,'Skip Instance required bosses check'),(14,'Skip character creation team mask check'),(15,'Skip character creation class mask check'),(16,'Skip character creation race mask check'),(17,'Skip character creation reserved name check'),(18,'Skip character creation heroic min level check'),(19,'Skip needed requirements to use channel check'),(20,'Skip disable map check'),(21,'Skip reset talents when used more than allowed check'),(22,'Skip spam chat check'),(23,'Skip over-speed ping check'),(24,'Two side faction characters on the same account'),(25,'Allow say chat between factions'),(26,'Allow channel chat between factions'),(27,'Two side mail interaction'),(28,'See two side who list'),(29,'Add friends of other faction'),(30,'Save character without delay with .save command'),(31,'Use params with .unstuck command'),(32,'Can be assigned tickets with .assign ticket command'),(33,'Notify if a command was not found'),(34,'Check if should appear in list using .gm ingame command'),(35,'See all security levels with who command'),(36,'Filter whispers'),(37,'Use staff badge in chat'),(38,'Resurrect with full Health Points'),(39,'Restore saved gm setting states'),(40,'Allows to add a gm to friend list'),(41,'Use Config option START_GM_LEVEL to assign new character level'),(42,'Allows to use CMSG_WORLD_TELEPORT opcode'),(43,'Allows to use CMSG_WHOIS opcode'),(44,'Receive global GM messages/texts'),(45,'Join channels without announce'),(46,'Change channel settings without being channel moderator'),(47,'Enables lower security than target check'),(48,'Enable IP, Last Login and EMail output in pinfo'),(49,'Forces to enter the email for confirmation on password change'),(50,'Allow user to check his own email with .account'),(51,'Allow trading between factions'),(192,'Role: Sec Level Administrator'),(193,'Role: Sec Level Gamemaster'),(194,'Role: Sec Level Moderator'),(195,'Role: Sec Level Player'),(196,'Role: Administrator Commands'),(197,'Role: Gamemaster Commands'),(198,'Role: Moderator Commands'),(199,'Role: Player Commands'),(200,'Command: rbac'),(201,'Command: rbac account'),(202,'Command: rbac account list'),(203,'Command: rbac account grant'),(204,'Command: rbac account deny'),(205,'Command: rbac account revoke'),(206,'Command: rbac list'),(207,'Command: battlenetaccount'),(208,'Command: battlenetaccount create'),(209,'Command: battlenetaccount lock country'),(210,'Command: battlenetaccount lock ip'),(211,'Command: battlenetaccount password'),(212,'Command: battlenetaccount set'),(213,'Command: battlenetaccount set password'),(214,'Command: bnetaccount link'),(215,'Command: bnetaccount unlink'),(216,'Command: bnetaccount gameaccountcreate'),(217,'Command: account'),(218,'Command: account addon'),(219,'Command: account create'),(220,'Command: account delete'),(221,'Command: account lock'),(222,'Command: account lock country'),(223,'Command: account lock ip'),(224,'Command: account onlinelist'),(225,'Command: account password'),(226,'Command: account set'),(227,'Command: account set addon'),(228,'Command: account set gmlevel'),(229,'Command: account set password'),(230,'Command: achievement'),(231,'Command: achievement add'),(232,'Command: arena'),(233,'Command: arena captain'),(234,'Command: arena create'),(235,'Command: arena disband'),(236,'Command: arena info'),(237,'Command: arena lookup'),(238,'Command: arena rename'),(239,'Command: ban'),(240,'Command: ban account'),(241,'Command: ban character'),(242,'Command: ban ip'),(243,'Command: ban playeraccount'),(244,'Command: baninfo'),(245,'Command: baninfo account'),(246,'Command: baninfo character'),(247,'Command: baninfo ip'),(248,'Command: banlist'),(249,'Command: banlist account'),(250,'Command: banlist character'),(251,'Command: banlist ip'),(252,'Command: unban'),(253,'Command: unban account'),(254,'Command: unban character'),(255,'Command: unban ip'),(256,'Command: unban playeraccount'),(257,'Command: bf'),(258,'Command: bf start'),(259,'Command: bf stop'),(260,'Command: bf switch'),(261,'Command: bf timer'),(262,'Command: bf enable'),(263,'Command: account email'),(264,'Command: account set sec'),(265,'Command: account set sec email'),(266,'Command: account set sec regmail'),(267,'Command: cast'),(268,'Command: cast back'),(269,'Command: cast dist'),(270,'Command: cast self'),(271,'Command: cast target'),(272,'Command: cast dest'),(273,'Command: character'),(274,'Command: character customize'),(275,'Command: character changefaction'),(276,'Command: character changerace'),(277,'Command: character deleted'),(279,'Command: character deleted list'),(280,'Command: character deleted restore'),(283,'Command: character level'),(284,'Command: character rename'),(285,'Command: character reputation'),(286,'Command: character titles'),(287,'Command: levelup'),(288,'Command: pdump'),(289,'Command: pdump load'),(290,'Command: pdump write'),(291,'Command: cheat'),(292,'Command: cheat casttime'),(293,'Command: cheat cooldown'),(294,'Command: cheat explore'),(295,'Command: cheat god'),(296,'Command: cheat power'),(297,'Command: cheat status'),(298,'Command: cheat taxi'),(299,'Command: cheat waterwalk'),(300,'Command: debug'),(301,'Command: debug anim'),(302,'Command: debug areatriggers'),(303,'Command: debug arena'),(304,'Command: debug bg'),(305,'Command: debug entervehicle'),(306,'Command: debug getitemstate'),(307,'Command: debug getitemvalue'),(308,'Command: debug getvalue'),(309,'Command: debug hostil'),(310,'Command: debug itemexpire'),(311,'Command: debug lootrecipient'),(312,'Command: debug los'),(313,'Command: debug mod32value'),(314,'Command: debug moveflags'),(315,'Command: debug play'),(316,'Command: debug play cinematics'),(317,'Command: debug play movie'),(318,'Command: debug play sound'),(319,'Command: debug send'),(320,'Command: debug send buyerror'),(321,'Command: debug send channelnotify'),(322,'Command: debug send chatmessage'),(323,'Command: debug send equiperror'),(324,'Command: debug send largepacket'),(325,'Command: debug send opcode'),(326,'Command: debug send qinvalidmsg'),(327,'Command: debug send qpartymsg'),(328,'Command: debug send sellerror'),(329,'Command: debug send setphaseshift'),(330,'Command: debug send spellfail'),(331,'Command: debug setaurastate'),(332,'Command: debug setbit'),(333,'Command: debug setitemvalue'),(334,'Command: debug setvalue'),(335,'Command: debug setvid'),(336,'Command: debug spawnvehicle'),(337,'Command: debug threat'),(338,'Command: debug update'),(339,'Command: debug uws'),(340,'Command: wpgps'),(341,'Command: deserter'),(342,'Command: deserter bg'),(343,'Command: deserter bg add'),(344,'Command: deserter bg remove'),(345,'Command: deserter instance'),(346,'Command: deserter instance add'),(347,'Command: deserter instance remove'),(348,'Command: disable'),(349,'Command: disable add'),(350,'Command: disable add achievement_criteria'),(351,'Command: disable add battleground'),(352,'Command: disable add map'),(353,'Command: disable add mmap'),(354,'Command: disable add outdoorpvp'),(355,'Command: disable add quest'),(356,'Command: disable add spell'),(357,'Command: disable add vmap'),(358,'Command: disable remove'),(359,'Command: disable remove achievement_criteria'),(360,'Command: disable remove battleground'),(361,'Command: disable remove map'),(362,'Command: disable remove mmap'),(363,'Command: disable remove outdoorpvp'),(364,'Command: disable remove quest'),(365,'Command: disable remove spell'),(366,'Command: disable remove vmap'),(367,'Command: event'),(368,'Command: event activelist'),(369,'Command: event start'),(370,'Command: event stop'),(371,'Command: gm'),(372,'Command: gm chat'),(373,'Command: gm fly'),(374,'Command: gm ingame'),(375,'Command: gm list'),(376,'Command: gm visible'),(377,'Command: go'),(378,'Command: go creature'),(379,'Command: go graveyard'),(380,'Command: go grid'),(381,'Command: go object'),(382,'Command: go taxinode'),(384,'Command: go trigger'),(385,'Command: go xyz'),(386,'Command: go zonexy'),(387,'Command: gobject'),(388,'Command: gobject activate'),(389,'Command: gobject add'),(390,'Command: gobject add temp'),(391,'Command: gobject delete'),(392,'Command: gobject info'),(393,'Command: gobject move'),(394,'Command: gobject near'),(395,'Command: gobject set'),(396,'Command: gobject set phase'),(397,'Command: gobject set state'),(398,'Command: gobject target'),(399,'Command: gobject turn'),(400,'debug transport'),(401,'Command: guild'),(402,'Command: guild create'),(403,'Command: guild delete'),(404,'Command: guild invite'),(405,'Command: guild uninvite'),(406,'Command: guild rank'),(407,'Command: guild rename'),(408,'Command: honor'),(409,'Command: honor add'),(410,'Command: honor add kill'),(411,'Command: honor update'),(412,'Command: instance'),(413,'Command: instance listbinds'),(414,'Command: instance unbind'),(415,'Command: instance stats'),(416,'Command: instance savedata'),(417,'Command: learn'),(418,'Command: learn all'),(419,'Command: learn all my'),(420,'Command: learn all my class'),(421,'Command: learn all my pettalents'),(422,'Command: learn all my spells'),(423,'Command: learn all my talents'),(424,'Command: learn all gm'),(425,'Command: learn all crafts'),(426,'Command: learn all default'),(427,'Command: learn all lang'),(428,'Command: learn all recipes'),(429,'Command: unlearn'),(430,'Command: lfg'),(431,'Command: lfg player'),(432,'Command: lfg group'),(433,'Command: lfg queue'),(434,'Command: lfg clean'),(435,'Command: lfg options'),(436,'Command: list'),(437,'Command: list creature'),(438,'Command: list item'),(439,'Command: list object'),(440,'Command: list auras'),(441,'Command: list mail'),(442,'Command: lookup'),(443,'Command: lookup area'),(444,'Command: lookup creature'),(445,'Command: lookup event'),(446,'Command: lookup faction'),(447,'Command: lookup item'),(448,'Command: lookup itemset'),(449,'Command: lookup object'),(450,'Command: lookup quest'),(451,'Command: lookup player'),(452,'Command: lookup player ip'),(453,'Command: lookup player account'),(454,'Command: lookup player email'),(455,'Command: lookup skill'),(456,'Command: lookup spell'),(457,'Command: lookup spell id'),(458,'Command: lookup taxinode'),(459,'Command: lookup tele'),(460,'Command: lookup title'),(461,'Command: lookup map'),(462,'Command: announce'),(463,'Command: channel'),(464,'Command: channel set'),(465,'Command: channel set ownership'),(466,'Command: gmannounce'),(467,'Command: gmnameannounce'),(468,'Command: gmnotify'),(469,'Command: nameannounce'),(470,'Command: notify'),(471,'Command: whispers'),(472,'Command: group'),(473,'Command: group leader'),(474,'Command: group disband'),(475,'Command: group remove'),(476,'Command: group join'),(477,'Command: group list'),(478,'Command: group summon'),(479,'Command: pet'),(480,'Command: pet create'),(481,'Command: pet learn'),(482,'Command: pet unlearn'),(483,'Command: send'),(484,'Command: send items'),(485,'Command: send mail'),(486,'Command: send message'),(487,'Command: send money'),(488,'Command: additem'),(489,'Command: additemset'),(490,'Command: appear'),(491,'Command: aura'),(492,'Command: bank'),(493,'Command: bindsight'),(494,'Command: combatstop'),(495,'Command: cometome'),(496,'Command: commands'),(497,'Command: cooldown'),(498,'Command: damage'),(499,'Command: dev'),(500,'Command: die'),(501,'Command: dismount'),(502,'Command: distance'),(503,'Command: flusharenapoints'),(504,'Command: freeze'),(505,'Command: gps'),(506,'Command: guid'),(507,'Command: help'),(508,'Command: hidearea'),(509,'Command: itemmove'),(510,'Command: kick'),(511,'Command: linkgrave'),(512,'Command: listfreeze'),(513,'Command: maxskill'),(514,'Command: movegens'),(515,'Command: mute'),(516,'Command: neargrave'),(517,'Command: pinfo'),(518,'Command: playall'),(519,'Command: possess'),(520,'Command: recall'),(521,'Command: repairitems'),(522,'Command: respawn'),(523,'Command: revive'),(524,'Command: saveall'),(525,'Command: save'),(526,'Command: setskill'),(527,'Command: showarea'),(528,'Command: summon'),(529,'Command: unaura'),(530,'Command: unbindsight'),(531,'Command: unfreeze'),(532,'Command: unmute'),(533,'Command: unpossess'),(534,'Command: unstuck'),(535,'Command: wchange'),(536,'Command: mmap'),(537,'Command: mmap loadedtiles'),(538,'Command: mmap loc'),(539,'Command: mmap path'),(540,'Command: mmap stats'),(541,'Command: mmap testarea'),(542,'Command: morph'),(543,'Command: demorph'),(544,'Command: modify'),(545,'Command: modify arenapoints'),(546,'Command: modify bit'),(547,'Command: modify drunk'),(548,'Command: modify energy'),(549,'Command: modify faction'),(550,'Command: modify gender'),(551,'Command: modify honor'),(552,'Command: modify hp'),(553,'Command: modify mana'),(554,'Command: modify money'),(555,'Command: modify mount'),(556,'Command: modify phase'),(557,'Command: modify rage'),(558,'Command: modify reputation'),(559,'Command: modify runicpower'),(560,'Command: modify scale'),(561,'Command: modify speed'),(562,'Command: modify speed all'),(563,'Command: modify speed backwalk'),(564,'Command: modify speed fly'),(565,'Command: modify speed walk'),(566,'Command: modify speed swim'),(567,'Command: modify spell'),(568,'Command: modify standstate'),(569,'Command: modify talentpoints'),(570,'Command: npc'),(571,'Command: npc add'),(572,'Command: npc add formation'),(573,'Command: npc add item'),(574,'Command: npc add move'),(575,'Command: npc add temp'),(576,'Command: npc add delete'),(577,'Command: npc add delete item'),(578,'Command: npc add follow'),(579,'Command: npc add follow stop'),(580,'Command: npc set'),(581,'Command: npc set allowmove'),(582,'Command: npc set entry'),(583,'Command: npc set factionid'),(584,'Command: npc set flag'),(585,'Command: npc set level'),(586,'Command: npc set link'),(587,'Command: npc set model'),(588,'Command: npc set movetype'),(589,'Command: npc set phase'),(590,'Command: npc set spawndist'),(591,'Command: npc set spawntime'),(592,'Command: npc set data'),(593,'Command: npc info'),(594,'Command: npc near'),(595,'Command: npc move'),(596,'Command: npc playemote'),(597,'Command: npc say'),(598,'Command: npc textemote'),(599,'Command: npc whisper'),(600,'Command: npc yell'),(601,'Command: npc tame'),(602,'Command: quest'),(603,'Command: quest add'),(604,'Command: quest complete'),(605,'Command: quest remove'),(606,'Command: quest reward'),(607,'Command: reload'),(608,'Command: reload access_requirement'),(609,'Command: reload achievement_criteria_data'),(610,'Command: reload achievement_reward'),(611,'Command: reload all'),(612,'Command: reload all achievement'),(613,'Command: reload all area'),(615,'Command: reload all gossips'),(616,'Command: reload all item'),(617,'Command: reload all locales'),(618,'Command: reload all loot'),(619,'Command: reload all npc'),(620,'Command: reload all quest'),(621,'Command: reload all scripts'),(623,'Command: reload areatrigger_involvedrelation'),(624,'Command: reload areatrigger_tavern'),(625,'Command: reload areatrigger_teleport'),(626,'Command: reload auctions'),(627,'Command: reload autobroadcast'),(628,'Command: reload command'),(629,'Command: reload conditions'),(630,'Command: reload config'),(631,'Command: reload battleground_template'),(632,'Command: .mutehistory'),(633,'Command: reload creature_linked_respawn'),(634,'Command: reload creature_loot_template'),(635,'Command: reload creature_onkill_reputation'),(636,'Command: reload creature_questender'),(637,'Command: reload creature_queststarter'),(638,'Command: reload creature_summon_groups'),(639,'Command: reload creature_template'),(640,'Command: reload creature_text'),(641,'Command: reload disables'),(642,'Command: reload disenchant_loot_template'),(643,'Command: reload event_scripts'),(644,'Command: reload fishing_loot_template'),(645,'Command: reload game_graveyard_zone'),(646,'Command: reload game_tele'),(647,'Command: reload gameobject_questender'),(648,'Command: reload gameobject_loot_template'),(649,'Command: reload gameobject_queststarter'),(650,'Command: reload support'),(651,'Command: reload gossip_menu'),(652,'Command: reload gossip_menu_option'),(653,'Command: reload item_enchantment_template'),(654,'Command: reload item_loot_template'),(655,'Command: reload item_set_names'),(656,'Command: reload lfg_dungeon_rewards'),(657,'Command: reload locales_achievement_reward'),(658,'Command: reload locales_creature'),(659,'Command: reload locales_creature_text'),(660,'Command: reload locales_gameobject'),(661,'Command: reload locales_gossip_menu_option'),(662,'Command: reload character_template'),(663,'Command: reload locales_item_set_name'),(664,'Command: reload quest_greeting'),(665,'Command: reload locales_page_text'),(666,'Command: reload locales_points_of_interest'),(667,'Command: reload quest_locale'),(668,'Command: reload mail_level_reward'),(669,'Command: reload mail_loot_template'),(670,'Command: reload milling_loot_template'),(671,'Command: reload npc_spellclick_spells'),(672,'Command: reload npc_trainer'),(673,'Command: reload npc_vendor'),(674,'Command: reload page_text'),(675,'Command: reload pickpocketing_loot_template'),(676,'Command: reload points_of_interest'),(677,'Command: reload prospecting_loot_template'),(678,'Command: reload quest_poi'),(679,'Command: reload quest_template'),(680,'Command: reload rbac'),(681,'Command: reload reference_loot_template'),(682,'Command: reload reserved_name'),(683,'Command: reload reputation_reward_rate'),(684,'Command: reload reputation_spillover_template'),(685,'Command: reload skill_discovery_template'),(686,'Command: reload skill_extra_item_template'),(687,'Command: reload skill_fishing_base_level'),(688,'Command: reload skinning_loot_template'),(689,'Command: reload smart_scripts'),(690,'Command: reload spell_required'),(691,'Command: reload spell_area'),(692,'Command: debug send playscene'),(693,'Command: reload spell_group'),(694,'Command: reload spell_learn_spell'),(695,'Command: reload spell_loot_template'),(696,'Command: reload spell_linked_spell'),(697,'Command: reload spell_pet_auras'),(698,'Command: reload spell_proc_event'),(699,'Command: reload spell_proc'),(700,'Command: reload spell_scripts'),(701,'Command: reload spell_target_position'),(702,'Command: reload spell_threats'),(703,'Command: reload spell_group_stack_rules'),(704,'Command: reload trinity_string'),(705,'Command: reload warden_action'),(706,'Command: reload waypoint_scripts'),(707,'Command: reload waypoint_data'),(708,'Command: reload vehicle_accessory'),(709,'Command: reload vehicle_template_accessory'),(710,'Command: reset'),(711,'Command: reset achievements'),(712,'Command: reset honor'),(713,'Command: reset level'),(714,'Command: reset spells'),(715,'Command: reset stats'),(716,'Command: reset talents'),(717,'Command: reset all'),(718,'Command: server'),(719,'Command: server corpses'),(720,'Command: server exit'),(721,'Command: server idlerestart'),(722,'Command: server idlerestart cancel'),(723,'Command: server idleshutdown'),(724,'Command: server idleshutdown cancel'),(725,'Command: server info'),(726,'Command: server plimit'),(727,'Command: server restart'),(728,'Command: server restart cancel'),(729,'Command: server set'),(730,'Command: server set closed'),(731,'Command: server set difftime'),(732,'Command: server set loglevel'),(733,'Command: server set motd'),(734,'Command: server shutdown'),(735,'Command: server shutdown cancel'),(736,'Command: server motd'),(737,'Command: tele'),(738,'Command: tele add'),(739,'Command: tele del'),(740,'Command: tele name'),(741,'Command: tele group'),(742,'Command: ticket'),(753,'Command: ticket reset'),(757,'Command: ticket togglesystem'),(761,'Command: titles'),(762,'Command: titles add'),(763,'Command: titles current'),(764,'Command: titles remove'),(765,'Command: titles set'),(766,'Command: titles set mask'),(767,'Command: wp'),(768,'Command: wp add'),(769,'Command: wp event'),(770,'Command: wp load'),(771,'Command: wp modify'),(772,'Command: wp unload'),(773,'Command: wp reload'),(774,'Command: wp show'),(776,'Command: debug phase'),(777,'Command: mailbox'),(778,'Command: ahbot'),(779,'Command: ahbot items'),(780,'Command: ahbot items gray'),(781,'Command: ahbot items white'),(782,'Command: ahbot items green'),(783,'Command: ahbot items blue'),(784,'Command: ahbot items purple'),(785,'Command: ahbot items orange'),(786,'Command: ahbot items yellow'),(787,'Command: ahbot ratio'),(788,'Command: ahbot ratio alliance'),(789,'Command: ahbot ratio horde'),(790,'Command: ahbot ratio neutral'),(791,'Command: ahbot rebuild'),(792,'Command: ahbot reload'),(793,'Command: ahbot status'),(794,'Command: .guild info'),(797,'Command: pvpstats'),(798,'Command: .mod xp'),(799,'Command: .go bugticket'),(800,'Command: .go complaintticket'),(801,'Command: .go suggestionticket'),(802,'Command: .ticket bug'),(803,'Command: .ticket complaint'),(804,'Command: .ticket suggestion'),(805,'Command: .ticket bug assign'),(806,'Command: .ticket bug close'),(807,'Command: .ticket bug closedlist'),(808,'Command: .ticket bug comment'),(809,'Command: .ticket bug delete'),(810,'Command: .ticket bug list'),(811,'Command: .ticket bug unassign'),(812,'Command: .ticket bug view'),(813,'Command: .ticket complaint assign'),(814,'Command: .ticket complaint close'),(815,'Command: .ticket complaint closedlist'),(816,'Command: .ticket complaint comment'),(817,'Command: .ticket complaint delete'),(818,'Command: .ticket complaint list'),(819,'Command: .ticket complaint unassign'),(820,'Command: .ticket complaint view'),(821,'Command: .ticket suggestion assign'),(822,'Command: .ticket suggestion close'),(823,'Command: .ticket suggestion closedlist'),(824,'Command: .ticket suggestion comment'),(825,'Command: .ticket suggestion delete'),(826,'Command: .ticket suggestion list'),(827,'Command: .ticket suggestion unassign'),(828,'Command: .ticket suggestion view'),(829,'Command: .ticket reset all'),(831,'Command: .ticket reset bug'),(832,'Command: .ticket reset complaint'),(833,'Command: .ticket reset suggestion'),(834,'Command: go quest'),(835,'Command: debug loadcells');
/*!40000 ALTER TABLE `rbac_permissions` ENABLE KEYS */;
UNLOCK TABLES;
@@ -712,7 +712,7 @@ CREATE TABLE `updates` (
LOCK TABLES `updates` WRITE;
/*!40000 ALTER TABLE `updates` DISABLE KEYS */;
-INSERT INTO `updates` VALUES ('2014_10_04_00_auth.sql','C3BC70A6EC381474B7308F442346F1E721176BC6','ARCHIVED','2015-03-21 16:55:52',0),('2014_10_19_00_auth.sql','7472B490A4F86C9D3DA609CDD3197499CB80C87C','ARCHIVED','2015-03-21 16:55:52',0),('2014_10_26_00_auth.sql','75CC67ADE2A3B2E54FD57D6B0DCAA8FE50F4EE35','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_03_00_auth.sql','5948C9F286CF0FEA8E241785C0259FF36B73BDC5','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_04_00_auth.sql','3AFC68B2375C2A417DDEA94583C53AFF83DE50DF','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_09_00_auth.sql','B8DD1A7047C0FDDB80344B239343EC33BF1A0D97','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_10_00_auth.sql','8FBA737A1D3FF4631A1E662A5B500A8BD304EC63','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_10_00_auth_from_335.sql','0E3CB119442D09DD88E967015319BBC8DAFBBFE0','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_10_01_auth.sql','327E77A1DA3546D5275AB249915DD57EDD6FDD3D','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_23_00_auth.sql','0BBEB3EB3AED0FEF277A062819B6B2C00084A742','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_25_00_auth.sql','4F45CDB26BDBB3EE83F1988E3D7818C5926ADC02','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_05_00_auth.sql','6A7BBCEF43111C73A2D2C3CCB6911BE50DE7DD94','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_10_00_auth.sql','821703A96D80F9080074852B5A46E2909C9562EA','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_19_00_auth.sql','44D8E12FFF327AD07878FBDF8D9C16B6B7DCB122','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_20_00_auth.sql','4DAA02AE285C02AE6C82EA2C8B97AC71990F1085','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_25_00_auth.sql','61411930F482BC73FC7FD2C370C811E944F5FF92','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_27_00_auth.sql','CE2E5D2CD82E79C25294539ADED27A1429105B43','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_28_00_auth.sql','0A913217610E76AFF119C27259737BBC523090E6','ARCHIVED','2015-03-21 16:55:52',0),('2015_02_22_00_auth.sql','21CCCF8B01252E16CA3D6C9E3E8DAA4C9B28ED6E','ARCHIVED','2015-03-21 16:55:52',0),('2015_03_01_00_auth.sql','911881E273207FF6182D1FDAC8C85FFAE8F1C852','ARCHIVED','2015-03-21 16:55:52',0),('2015_03_10_00_auth.sql','2CC8502C11412EFEB5C11BE166761A8754A59009','ARCHIVED','2015-03-21 16:55:52',0),('2015_03_20_00_auth.sql','B761760804EA73BD297F296C5C1919687DF7191C','ARCHIVED','2015-03-21 16:55:52',0),('2015_03_20_01_auth.sql','5CCEDF20C8189FB1E8DF064A9F0DDC342841FBF0','ARCHIVED','2015-03-21 16:55:52',0),('2015_03_20_02_auth.sql','85E4ACD9AA099C0C4AC034575F2BB07D348EAC72','ARCHIVED','2015-03-21 16:56:46',0),('2015_03_15_00_auth.sql','1D8E107FBEFE5E7F47E09F45240DFF499B77CDED','ARCHIVED','2015-05-02 13:57:57',0),('2015_03_26_00_auth.sql','34AC8543E6A9C6C832DE58EAB33618EEEF70B9F9','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_04_00_auth.sql','57146B35E54A2EC7869C945034AB078358020311','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_06_00_auth.sql','2A8049DC2923420A002D42FB6F02C2FFCC5CDD22','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_08_00_auth.sql','4D7D8EEF285C982BB676836602266501BEC26764','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_10_00_auth.sql','4AE68FD97A95CEE5143EA20FD33F5D557367AC1F','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_11_00_auth.sql','80A71C8921CFEBB547D264558B6DE27201685B84','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_11_01_auth.sql','3E88183E1A85D11BFD74CF9A32A725C44AE02EEC','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_21_00_auth.sql','1B3B48DBA06368B985C548D166C515C9DD598CB9','ARCHIVED','2015-05-02 13:57:57',0),('2015_05_02_00_auth.sql','96AB595E0D2A088750E3F48B0AF0A8A14F3CFE1E','ARCHIVED','2015-05-02 13:57:57',0),('2015_05_02_01_auth.sql','FB11FB834E488B0FD3AFDABCC1A3113092E7C2E5','ARCHIVED','2015-05-02 13:57:57',0),('2015_07_02_00_auth.sql','E5EE3842AB9B01851E49B360FBAF6FFEEAB2A8DA','ARCHIVED','2015-07-10 19:30:56',0),('2015_07_06_00_auth.sql','6D1ADBA496DC6E6D7B3BF887DA8D4D17D3FBACE0','ARCHIVED','2015-07-10 19:30:56',0),('2015_07_08_00_auth.sql','CB54020AFD1E31742FD8BF9CE16879625E289788','ARCHIVED','2015-07-10 19:30:56',0),('2015_07_08_01_auth.sql','74D281CB82E0DA36D628BDC7AC797AE5498DB461','ARCHIVED','2015-07-10 19:30:56',0),('2015_07_16_00_auth.sql','A057E95B5553B6A57A1642FE3FEC8E2E62EDE3C6','RELEASED','2015-10-10 08:30:48',0),('2015_07_29_00_auth.sql','0000FECBC413E96C7C45F303D162E263EFBA7116','RELEASED','2015-10-10 08:30:48',0),('2015_08_26_00_auth.sql','3071C02A2EB7DCBF4CEE10279FEFAB7C29A43A3A','RELEASED','2015-10-10 08:30:48',0),('2015_09_05_00_auth.sql','F765D82B37873FA67447347D5B83C99C159FB452','RELEASED','2015-10-10 08:30:48',0),('2015_09_05_01_auth.sql','97A72DBCBF14D27A1863834A22296905FF276086','RELEASED','2015-10-10 08:30:48',0),('2015_09_09_00_auth.sql','495A0CF1B1C49205D4A5D3C25A4E1EB95616D6B4','RELEASED','2015-10-10 08:30:48',0),('2015_09_15_00_auth.sql','D1FEFDA4C98F30384DF4B64D5A53187303EB5786','RELEASED','2015-10-10 08:30:48',0),('2015_10_09_00_auth.sql','B6D643D444C6AE711503F73B96B6252A852913D6','RELEASED','2015-10-10 08:30:48',0),('2015_10_16_00_auth.sql','E4825FDAE15A219CD65D4A557ECF681F183A2387','RELEASED','2015-10-15 21:54:10',0),('2015_10_17_00_auth.sql','AC0D45E905033F42093852D2C4476663BDACCB3D','RELEASED','2015-10-17 12:39:12',0);
+INSERT INTO `updates` VALUES ('2014_10_04_00_auth.sql','C3BC70A6EC381474B7308F442346F1E721176BC6','ARCHIVED','2015-03-21 16:55:52',0),('2014_10_19_00_auth.sql','7472B490A4F86C9D3DA609CDD3197499CB80C87C','ARCHIVED','2015-03-21 16:55:52',0),('2014_10_26_00_auth.sql','75CC67ADE2A3B2E54FD57D6B0DCAA8FE50F4EE35','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_03_00_auth.sql','5948C9F286CF0FEA8E241785C0259FF36B73BDC5','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_04_00_auth.sql','3AFC68B2375C2A417DDEA94583C53AFF83DE50DF','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_09_00_auth.sql','B8DD1A7047C0FDDB80344B239343EC33BF1A0D97','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_10_00_auth.sql','8FBA737A1D3FF4631A1E662A5B500A8BD304EC63','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_10_00_auth_from_335.sql','0E3CB119442D09DD88E967015319BBC8DAFBBFE0','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_10_01_auth.sql','327E77A1DA3546D5275AB249915DD57EDD6FDD3D','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_23_00_auth.sql','0BBEB3EB3AED0FEF277A062819B6B2C00084A742','ARCHIVED','2015-03-21 16:55:52',0),('2014_11_25_00_auth.sql','4F45CDB26BDBB3EE83F1988E3D7818C5926ADC02','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_05_00_auth.sql','6A7BBCEF43111C73A2D2C3CCB6911BE50DE7DD94','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_10_00_auth.sql','821703A96D80F9080074852B5A46E2909C9562EA','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_19_00_auth.sql','44D8E12FFF327AD07878FBDF8D9C16B6B7DCB122','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_20_00_auth.sql','4DAA02AE285C02AE6C82EA2C8B97AC71990F1085','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_25_00_auth.sql','61411930F482BC73FC7FD2C370C811E944F5FF92','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_27_00_auth.sql','CE2E5D2CD82E79C25294539ADED27A1429105B43','ARCHIVED','2015-03-21 16:55:52',0),('2014_12_28_00_auth.sql','0A913217610E76AFF119C27259737BBC523090E6','ARCHIVED','2015-03-21 16:55:52',0),('2015_02_22_00_auth.sql','21CCCF8B01252E16CA3D6C9E3E8DAA4C9B28ED6E','ARCHIVED','2015-03-21 16:55:52',0),('2015_03_01_00_auth.sql','911881E273207FF6182D1FDAC8C85FFAE8F1C852','ARCHIVED','2015-03-21 16:55:52',0),('2015_03_10_00_auth.sql','2CC8502C11412EFEB5C11BE166761A8754A59009','ARCHIVED','2015-03-21 16:55:52',0),('2015_03_20_00_auth.sql','B761760804EA73BD297F296C5C1919687DF7191C','ARCHIVED','2015-03-21 16:55:52',0),('2015_03_20_01_auth.sql','5CCEDF20C8189FB1E8DF064A9F0DDC342841FBF0','ARCHIVED','2015-03-21 16:55:52',0),('2015_03_20_02_auth.sql','85E4ACD9AA099C0C4AC034575F2BB07D348EAC72','ARCHIVED','2015-03-21 16:56:46',0),('2015_03_15_00_auth.sql','1D8E107FBEFE5E7F47E09F45240DFF499B77CDED','ARCHIVED','2015-05-02 13:57:57',0),('2015_03_26_00_auth.sql','34AC8543E6A9C6C832DE58EAB33618EEEF70B9F9','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_04_00_auth.sql','57146B35E54A2EC7869C945034AB078358020311','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_06_00_auth.sql','2A8049DC2923420A002D42FB6F02C2FFCC5CDD22','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_08_00_auth.sql','4D7D8EEF285C982BB676836602266501BEC26764','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_10_00_auth.sql','4AE68FD97A95CEE5143EA20FD33F5D557367AC1F','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_11_00_auth.sql','80A71C8921CFEBB547D264558B6DE27201685B84','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_11_01_auth.sql','3E88183E1A85D11BFD74CF9A32A725C44AE02EEC','ARCHIVED','2015-05-02 13:57:57',0),('2015_04_21_00_auth.sql','1B3B48DBA06368B985C548D166C515C9DD598CB9','ARCHIVED','2015-05-02 13:57:57',0),('2015_05_02_00_auth.sql','96AB595E0D2A088750E3F48B0AF0A8A14F3CFE1E','ARCHIVED','2015-05-02 13:57:57',0),('2015_05_02_01_auth.sql','FB11FB834E488B0FD3AFDABCC1A3113092E7C2E5','ARCHIVED','2015-05-02 13:57:57',0),('2015_07_02_00_auth.sql','E5EE3842AB9B01851E49B360FBAF6FFEEAB2A8DA','ARCHIVED','2015-07-10 19:30:56',0),('2015_07_06_00_auth.sql','6D1ADBA496DC6E6D7B3BF887DA8D4D17D3FBACE0','ARCHIVED','2015-07-10 19:30:56',0),('2015_07_08_00_auth.sql','CB54020AFD1E31742FD8BF9CE16879625E289788','ARCHIVED','2015-07-10 19:30:56',0),('2015_07_08_01_auth.sql','74D281CB82E0DA36D628BDC7AC797AE5498DB461','ARCHIVED','2015-07-10 19:30:56',0),('2015_07_16_00_auth.sql','A057E95B5553B6A57A1642FE3FEC8E2E62EDE3C6','RELEASED','2015-10-10 08:30:48',0),('2015_07_29_00_auth.sql','0000FECBC413E96C7C45F303D162E263EFBA7116','RELEASED','2015-10-10 08:30:48',0),('2015_08_26_00_auth.sql','3071C02A2EB7DCBF4CEE10279FEFAB7C29A43A3A','RELEASED','2015-10-10 08:30:48',0),('2015_09_05_00_auth.sql','F765D82B37873FA67447347D5B83C99C159FB452','RELEASED','2015-10-10 08:30:48',0),('2015_09_05_01_auth.sql','97A72DBCBF14D27A1863834A22296905FF276086','RELEASED','2015-10-10 08:30:48',0),('2015_09_09_00_auth.sql','495A0CF1B1C49205D4A5D3C25A4E1EB95616D6B4','RELEASED','2015-10-10 08:30:48',0),('2015_09_15_00_auth.sql','D1FEFDA4C98F30384DF4B64D5A53187303EB5786','RELEASED','2015-10-10 08:30:48',0),('2015_10_09_00_auth.sql','B6D643D444C6AE711503F73B96B6252A852913D6','RELEASED','2015-10-10 08:30:48',0),('2015_10_16_00_auth.sql','E4825FDAE15A219CD65D4A557ECF681F183A2387','RELEASED','2015-10-15 21:54:10',0),('2015_10_17_00_auth.sql','AC0D45E905033F42093852D2C4476663BDACCB3D','RELEASED','2015-10-17 12:39:12',0),('2015_11_01_00_auth_2015_08_21_00.sql','C31A9E1D28E11B60BE8F8198637DD51F6D75123F','RELEASED','2015-11-01 14:50:26',0);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql
index 1b28b1cb51a..e2f9f14f7d8 100644
--- a/sql/base/characters_database.sql
+++ b/sql/base/characters_database.sql
@@ -3075,7 +3075,7 @@ CREATE TABLE `updates` (
LOCK TABLES `updates` WRITE;
/*!40000 ALTER TABLE `updates` DISABLE KEYS */;
-INSERT INTO `updates` VALUES ('2014_10_20_00_characters.sql','A5882DA0979CF4DAE33DA011EBAA006C24BE7230','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_00_characters.sql','E2AC4758133EE19B7F08464A445802154D1261C8','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_01_characters.sql','20029E6323D9773B32C34D84FFED1711CC60F09F','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_02_characters.sql','8A7A16886EE71E7ACDDB3DDA6D0ECAC2FD2FDCA8','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_24_00_characters.sql','D008FE81AE844FCA686439D6ECC5108FB0DD1EB9','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_25_00_characters.sql','A39C7BE46686B54776BDAB9D7A882D91EDEC51A4','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_26_00_characters.sql','C787954CC35FE34B4101FDE6527F14C027F4947C','ARCHIVED','2015-03-21 15:55:55',0),('2014_11_12_00_characters.sql','B160BB2313F1BD5F3B076A5A9279DC10D4796E34','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_23_00_characters.sql','3D9D648B2387B357F4BD090B33F80682F7924882','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_28_00_characters.sql','5362922FF4483A336311D73082A5727309CD9219','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_31_00_characters.sql','498DDF2DD936CF156D74A8208DC93DCE9FCAB5AA','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_02_00_characters.sql','E5940BE836F253982E07930120422E598D08BDE1','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_10_00_characters.sql','30796056C8623699B2FE1BF626A19D38262E9284','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_16_00_characters.sql','96642760A54C8D799AAFE438049A63AA521656F2','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_27_00_characters.sql','EB710E3EB9F2CAFD84AB62CDC84E898403A80A4F','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_13_00_characters.sql','405BEB4ED207DC6076442A37EE2AFB1F21E274A0','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_13_01_characters.sql','35F582D4F33BF55D1685A1BA89273ED895FD09C5','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_17_00_characters.sql','8D21FC5A55BF8B55D6DCDCE5F02CF2B640230E94','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_10_00_characters.sql','E565B89B145C340067742DFF2DEF1B74F5F1BD4E','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_00_characters.sql','B761760804EA73BD297F296C5C1919687DF7191C','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_01_characters.sql','20BD68468C57FCF7E665B4DA185DCD52FACE8B3F','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_02_characters.sql','0296995DCD3676BA9AE6024CA7C91C5F39D927A3','ARCHIVED','2015-03-21 15:56:46',0),('2015_03_29_00_characters.sql','95D6A46BB746A8BD3EE3FE2086DF1A07F7C33B92','ARCHIVED','2015-05-02 15:43:06',0),('2015_04_21_00_characters.sql','F2032B9BF4EDA7EDE5065554724ED392FD91657D','ARCHIVED','2015-05-02 15:43:06',0),('2015_04_28_00_characters.sql','949F62DB3A3461D420A1230ECF7A6A3ED6435703','ARCHIVED','2015-05-02 15:43:06',0),('2015_05_08_00_characters.sql','0F14B7821618D1C872625B6EDDAA9A667B211167','ARCHIVED','2015-07-10 19:32:17',0),('2015_05_22_00_characters.sql','65B82152413FAB23BE413656E59A486A74447FF7','ARCHIVED','2015-07-10 19:32:17',0),('2015_07_08_00_characters.sql','DAB25360ACB5244C8F8E6214CF6BD97160588A5B','ARCHIVED','2015-07-10 19:32:17',0),('2015_07_11_00_characters.sql','B421B6C0E57BD0FD587071358863D9DABF4BA849','ARCHIVED','2015-07-13 21:50:02',0),('2015_07_12_00_characters.sql','E98E7FD61EF6426E7EDE8ED9AD8C15D8D7132589','ARCHIVED','2015-07-13 21:50:02',0),('2015_07_28_00_characters.sql','0711BC3A658D189EF71B0CB68DCFF2E9B781C4A0','RELEASED','2015-07-29 16:23:56',0),('2015_08_08_00_characters.sql','EA12BB2DC24FAF2300A96D0888A45BBEA158D5DC','RELEASED','2015-08-08 16:34:07',0),('2015_08_12_00_characters.sql','4FD7F89FE5DA51D4E0C33E520719986AA3EBD31B','RELEASED','2015-08-12 12:35:20',0),('2015_09_05_00_characters.sql','4C22BB29365BE4B6B95E64DAD84B63CA002304EA','RELEASED','2015-09-05 12:35:20',0),('2015_09_09_00_characters.sql','AFC32E693BC17CFD9A17919FE5317B8FE337ACAD','RELEASED','2015-09-09 12:35:20',0),('2015_09_10_00_characters.sql','4555A7F35C107E54C13D74D20F141039ED42943E','RELEASED','2015-09-10 22:50:42',0),('2015_10_16_00_characters.sql','E3A3FFF0CB42F04A8DCF0CE4362143C16E2083AF','RELEASED','2015-10-15 21:54:11',0);
+INSERT INTO `updates` VALUES ('2014_10_20_00_characters.sql','A5882DA0979CF4DAE33DA011EBAA006C24BE7230','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_00_characters.sql','E2AC4758133EE19B7F08464A445802154D1261C8','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_01_characters.sql','20029E6323D9773B32C34D84FFED1711CC60F09F','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_02_characters.sql','8A7A16886EE71E7ACDDB3DDA6D0ECAC2FD2FDCA8','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_24_00_characters.sql','D008FE81AE844FCA686439D6ECC5108FB0DD1EB9','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_25_00_characters.sql','A39C7BE46686B54776BDAB9D7A882D91EDEC51A4','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_26_00_characters.sql','C787954CC35FE34B4101FDE6527F14C027F4947C','ARCHIVED','2015-03-21 15:55:55',0),('2014_11_12_00_characters.sql','B160BB2313F1BD5F3B076A5A9279DC10D4796E34','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_23_00_characters.sql','3D9D648B2387B357F4BD090B33F80682F7924882','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_28_00_characters.sql','5362922FF4483A336311D73082A5727309CD9219','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_31_00_characters.sql','498DDF2DD936CF156D74A8208DC93DCE9FCAB5AA','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_02_00_characters.sql','E5940BE836F253982E07930120422E598D08BDE1','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_10_00_characters.sql','30796056C8623699B2FE1BF626A19D38262E9284','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_16_00_characters.sql','96642760A54C8D799AAFE438049A63AA521656F2','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_27_00_characters.sql','EB710E3EB9F2CAFD84AB62CDC84E898403A80A4F','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_13_00_characters.sql','405BEB4ED207DC6076442A37EE2AFB1F21E274A0','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_13_01_characters.sql','35F582D4F33BF55D1685A1BA89273ED895FD09C5','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_17_00_characters.sql','8D21FC5A55BF8B55D6DCDCE5F02CF2B640230E94','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_10_00_characters.sql','E565B89B145C340067742DFF2DEF1B74F5F1BD4E','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_00_characters.sql','B761760804EA73BD297F296C5C1919687DF7191C','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_01_characters.sql','20BD68468C57FCF7E665B4DA185DCD52FACE8B3F','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_02_characters.sql','0296995DCD3676BA9AE6024CA7C91C5F39D927A3','ARCHIVED','2015-03-21 15:56:46',0),('2015_03_29_00_characters.sql','95D6A46BB746A8BD3EE3FE2086DF1A07F7C33B92','ARCHIVED','2015-05-02 15:43:06',0),('2015_04_21_00_characters.sql','F2032B9BF4EDA7EDE5065554724ED392FD91657D','ARCHIVED','2015-05-02 15:43:06',0),('2015_04_28_00_characters.sql','949F62DB3A3461D420A1230ECF7A6A3ED6435703','ARCHIVED','2015-05-02 15:43:06',0),('2015_05_08_00_characters.sql','0F14B7821618D1C872625B6EDDAA9A667B211167','ARCHIVED','2015-07-10 19:32:17',0),('2015_05_22_00_characters.sql','65B82152413FAB23BE413656E59A486A74447FF7','ARCHIVED','2015-07-10 19:32:17',0),('2015_07_08_00_characters.sql','DAB25360ACB5244C8F8E6214CF6BD97160588A5B','ARCHIVED','2015-07-10 19:32:17',0),('2015_07_11_00_characters.sql','B421B6C0E57BD0FD587071358863D9DABF4BA849','ARCHIVED','2015-07-13 21:50:02',0),('2015_07_12_00_characters.sql','E98E7FD61EF6426E7EDE8ED9AD8C15D8D7132589','ARCHIVED','2015-07-13 21:50:02',0),('2015_07_28_00_characters.sql','0711BC3A658D189EF71B0CB68DCFF2E9B781C4A0','RELEASED','2015-07-29 16:23:56',0),('2015_08_08_00_characters.sql','EA12BB2DC24FAF2300A96D0888A45BBEA158D5DC','RELEASED','2015-08-08 16:34:07',0),('2015_08_12_00_characters.sql','4FD7F89FE5DA51D4E0C33E520719986AA3EBD31B','RELEASED','2015-08-12 12:35:20',0),('2015_09_05_00_characters.sql','4C22BB29365BE4B6B95E64DAD84B63CA002304EA','RELEASED','2015-09-05 12:35:20',0),('2015_09_09_00_characters.sql','AFC32E693BC17CFD9A17919FE5317B8FE337ACAD','RELEASED','2015-09-09 12:35:20',0),('2015_09_10_00_characters.sql','4555A7F35C107E54C13D74D20F141039ED42943E','RELEASED','2015-09-10 22:50:42',0),('2015_10_16_00_characters.sql','E3A3FFF0CB42F04A8DCF0CE4362143C16E2083AF','RELEASED','2015-10-15 21:54:11',0),('2015_11_06_00_characters_2015_10_12_00.sql','D6F9927BDED72AD0A81D6EC2C6500CBC34A39FA2','RELEASED','2015-11-06 23:43:27',0);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
diff --git a/sql/updates/auth/2015_11_01_00_auth_2015_08_21_00.sql b/sql/updates/auth/2015_11_01_00_auth_2015_08_21_00.sql
new file mode 100644
index 00000000000..f4396cc68c0
--- /dev/null
+++ b/sql/updates/auth/2015_11_01_00_auth_2015_08_21_00.sql
@@ -0,0 +1,5 @@
+DELETE FROM `rbac_permissions` WHERE `id` = 835;
+INSERT INTO `rbac_permissions` (`id`, `name`) VALUES (835, 'Command: debug loadcells');
+
+DELETE FROM `rbac_linked_permissions` WHERE `id` = 192 AND `linkedId` = 835;
+INSERT INTO `rbac_linked_permissions` (`id`, `linkedId`) VALUES (192, 835);
diff --git a/sql/updates/characters/2015_11_06_00_characters_2015_10_12_00.sql b/sql/updates/characters/2015_11_06_00_characters_2015_10_12_00.sql
new file mode 100644
index 00000000000..d7d4fb90f02
--- /dev/null
+++ b/sql/updates/characters/2015_11_06_00_characters_2015_10_12_00.sql
@@ -0,0 +1,17 @@
+-- Add new winner field, bound to player
+ALTER TABLE `pvpstats_players`
+ ADD COLUMN `winner` BIT(1) NOT NULL AFTER `character_guid`;
+
+-- Resolve horde players victories
+UPDATE `pvpstats_players` SET `winner` = 1 WHERE `battleground_id` IN (
+ SELECT `id` FROM `pvpstats_battlegrounds` WHERE `winner_faction` = 0
+) AND `character_guid` IN (
+ SELECT `guid` FROM `characters` WHERE `race` IN (2, 5, 6, 8, 9, 10)
+);
+
+-- Resolve alliance players victories
+UPDATE `pvpstats_players` SET `winner` = 1 WHERE `battleground_id` IN (
+ SELECT `id` FROM `pvpstats_battlegrounds` WHERE `winner_faction` = 1
+) AND `character_guid` IN (
+ SELECT `guid` FROM `characters` WHERE `race` IN (1, 3, 4, 7, 11, 22)
+);
diff --git a/sql/updates/world/2015_10_31_25_world_2015_04_18_08.sql b/sql/updates/world/2015_10_31_25_world_2015_04_18_08.sql
new file mode 100644
index 00000000000..b6a7ec2e68b
--- /dev/null
+++ b/sql/updates/world/2015_10_31_25_world_2015_04_18_08.sql
@@ -0,0 +1,740 @@
+SET @GUID := 143894;
+
+DELETE FROM `disables` WHERE `entry` = 7180 AND `sourceType` = 4;
+
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN(27737);
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(27737) AND `source_type`=0;
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` BETWEEN -@GUID-89 AND -@GUID-0 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
+(-@GUID-0, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-0, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-0, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-0, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-1, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-1, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-1, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-1, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-2, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-2, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-2, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-2, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-3, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-3, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-3, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-3, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-4, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-4, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-4, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-4, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-5, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-5, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-5, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-5, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-6, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-6, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-6, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-6, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-7, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-7, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-7, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-7, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-8, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-8, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-8, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-8, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-9, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-9, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-9, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-9, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-10, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-10, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-10, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-10, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-11, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-11, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-11, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-11, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-12, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-12, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-12, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-12, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-13, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-13, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-13, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-13, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-14, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-14, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-14, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-14, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-15, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-15, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-15, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-15, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-16, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-16, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-16, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-16, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-17, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-17, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-17, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-17, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-18, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-18, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-18, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-18, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-19, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-19, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-19, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-19, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-20, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-20, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-20, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-20, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-21, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-21, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-21, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-21, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-22, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-22, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-22, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-22, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-23, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-23, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-23, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-23, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-24, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-24, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-24, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-24, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-25, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-25, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-25, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-25, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-26, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-26, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-26, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-26, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-27, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-27, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-27, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-27, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-28, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-28, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-28, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-28, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-29, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-29, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-29, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-29, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-30, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-30, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-30, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-30, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-31, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-31, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-31, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-31, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-32, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-32, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-32, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-32, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-33, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-33, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-33, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-33, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-34, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-34, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-34, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-34, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-35, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-35, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-35, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-35, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-36, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-36, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-36, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-36, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-37, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-37, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-37, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-37, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-38, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-38, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-38, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-38, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-39, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-39, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-39, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-39, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-40, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-40, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-40, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-40, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-41, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-41, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-41, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-41, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-42, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-42, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-42, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-42, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-43, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-43, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-43, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-43, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-44, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-44, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-44, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-44, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-45, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-45, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-45, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-45, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-46, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-46, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-46, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-46, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-47, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-47, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-47, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-47, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-48, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-48, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-48, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-48, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-49, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-49, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-49, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-49, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-50, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-50, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-50, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-50, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-51, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-51, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-51, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-51, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-52, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-52, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-52, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-52, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-53, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-53, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-53, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-53, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-54, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-54, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-54, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-54, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-59, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-59, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-59, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-59, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-60, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-60, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-60, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-60, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-61, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-61, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-61, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-61, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-62, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-62, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-62, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-62, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-63, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-63, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-63, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-63, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-64, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-64, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-64, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-64, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-65, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-65, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-65, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-65, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-66, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-66, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-66, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-66, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-67, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-67, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-67, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-67, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-68, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-68, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-68, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-68, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-69, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-69, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-69, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-69, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-70, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-70, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-70, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-70, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-71, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-71, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-71, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-71, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-72, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-72, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-72, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-72, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-73, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-73, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-73, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-73, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-74, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-74, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-74, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-74, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-75, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-75, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-75, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-75, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-76, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-76, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-76, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-76, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-77, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-77, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-77, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-77, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-78, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-78, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-78, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-78, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-79, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-79, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-79, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-79, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-80, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-80, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-80, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-80, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-81, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-81, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-81, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-81, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-82, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-82, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-82, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-82, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-83, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-83, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-83, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-83, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-84, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-84, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-84, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-84, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-85, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-85, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-85, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-85, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-86, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-86, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-86, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-86, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-87, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-87, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-87, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-87, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-88, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-88, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-88, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-88, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-89, 0, 0, 1, 1, 0, 100, 1, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Remove Unit Flags (No repeat)'),
+(-@GUID-89, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)'),
+(-@GUID-89, 0, 2, 3, 11, 0, 100, 1, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - On Spawn - Set Unit Flags (No repeat)'),
+(-@GUID-89, 0, 3, 0, 61, 0, 100, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Risen Zombie - OOC - Set Visible (No repeat)');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` BETWEEN -@GUID-89 AND -@GUID-0;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(22, 1, -@GUID-0, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-0, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-1, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-1, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-2, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-2, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-3, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-3, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-4, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-4, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-5, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-5, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-6, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-6, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-7, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-7, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-8, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-8, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-9, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-9, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-10, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-10, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-11, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-11, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-12, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-12, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-13, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-13, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-14, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-14, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-15, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-15, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-16, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-16, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-17, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-17, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-18, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-18, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-19, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-19, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-20, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-20, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-21, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-21, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-22, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-22, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-23, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-23, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-24, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-24, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-25, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-25, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-26, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-26, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-27, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-27, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-28, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-28, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-29, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-29, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-30, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-30, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-31, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-31, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-32, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-32, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-33, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-33, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-34, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-34, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-35, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-35, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-36, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-36, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-37, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-37, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-38, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-38, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-39, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-39, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-40, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-40, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-41, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-41, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-42, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-42, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-43, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-43, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-44, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-44, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-45, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-45, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-46, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-46, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-47, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-47, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-48, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-48, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-49, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-49, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-50, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-50, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-51, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-51, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-52, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-52, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-53, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-53, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-54, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-54, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-59, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-59, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-60, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-60, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-61, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-61, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-62, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-62, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-63, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-63, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-64, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-64, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-65, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-65, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-66, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-66, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-67, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-67, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-68, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-68, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-69, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-69, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-70, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-70, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-71, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-71, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-72, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-72, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-73, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-73, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-74, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-74, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-75, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-75, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-76, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-76, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-77, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-77, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-78, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-78, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-79, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-79, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-80, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-80, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-81, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-81, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-82, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-82, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-83, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-83, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-84, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-84, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-85, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-85, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-86, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-86, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-87, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-87, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-88, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-88, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done'),
+(22, 1, -@GUID-89, 0, 0, 13, 1, 0, 1, 2, 0, 0, 0, '', 'Execute SAI only if Arthas Started'),
+(22, 1, -@GUID-89, 0, 0, 13, 1, 2, 3, 2, 1, 0, 0, '', 'Execute SAI only if Salramm not done');
+
+
+DELETE FROM `creature` WHERE `id` IN(27737,27731);-- 55 - 58
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+-- 1st Half
+(@GUID+0, 27737, 595, 3, 1, 2161.82, 1354.491, 131.1483, 2.331408, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+1, 27737, 595, 3, 1, 2236.563, 1186.729, 136.1916, 4.947702, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+2, 27737, 595, 3, 1, 2182.118, 1267.972, 133.9415, 2.251475, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+3, 27737, 595, 3, 1, 2180.779, 1249.29, 136.1283, 2.05123, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+4, 27737, 595, 3, 1, 2256.721, 1159.953, 138.1671, 0.2378878, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+5, 27737, 595, 3, 1, 2178.129, 1342.832, 130.0959, 2.633242, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+6, 27737, 595, 3, 1, 2184.672, 1283.357, 134.2776, 5.951573, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+7, 27737, 595, 3, 1, 2182.101, 1349.334, 130.5124, 0.9876914, 240, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+8, 27737, 595, 3, 1, 2346.691, 1176.774, 130.5827, 2.633849, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+9, 27737, 595, 3, 1, 2317.5, 1182.395, 134.5855, 0.2704094, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+10, 27737, 595, 3, 1, 2342.65, 1201.867, 130.8089, 5.009095, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+11, 27737, 595, 3, 1, 2204.984, 1335.487, 129.7152, 5.232573, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+12, 27737, 595, 3, 1, 2235.223, 1169.072, 137.4158, 1.448623, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+13, 27737, 595, 3, 1, 2159.948, 1260.771, 134.5026, 0.2792527, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+14, 27737, 595, 3, 1, 2290.749, 1180.91, 137.9212, 3.518519, 240, 5, 1), -- 27737 (Area: 4100) 1
+(@GUID+15, 27737, 595, 3, 1, 2140.347, 1343.273, 132.1016, 1.710423, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+16, 27737, 595, 3, 1, 2308.356, 1170.963, 136.3496, 6.255137, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+17, 27737, 595, 3, 1, 2186.262, 1322.747, 129.9056, 3.620198, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+18, 27737, 595, 3, 1, 2147.991, 1358.539, 132.3033, 3.856933, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+19, 27737, 595, 3, 1, 2182.792, 1293.969, 133.0651, 0.05565223, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+20, 27737, 595, 3, 1, 2216.737, 1197.397, 136.0267, 1.573244, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+21, 27737, 595, 3, 1, 2267.147, 1175.45, 137.9304, 5.129838, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+22, 27737, 595, 3, 1, 2170.33, 1308.926, 132.1849, 3.249883, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+23, 27737, 595, 3, 1, 2166.907, 1260.357, 133.9678, 1.839856, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+24, 27737, 595, 3, 1, 2162.47, 1298.826, 133.6364, 4.921828, 240, 5, 1), -- 27737 (Area: 4100) 1
+(@GUID+25, 27737, 595, 3, 1, 2250.398, 1178.572, 137.4704, 6.230714, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+26, 27737, 595, 3, 1, 2168.266, 1285.917, 133.0716, 0.3473166, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+27, 27737, 595, 3, 1, 2162.47, 1298.826, 133.6364, 4.921828, 240, 5, 1), -- 27737 (Area: 4100) 1
+(@GUID+28, 27737, 595, 3, 1, 2156.109, 1350.486, 131.7296, 3.737586, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+29, 27737, 595, 3, 1, 2177.279, 1286.727, 133.2539, 1.043647, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+30, 27737, 595, 3, 1, 2163.427, 1275.624, 133.6055, 2.009026, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+31, 27737, 595, 3, 1, 2207.282, 1326.216, 129.5644, 1.15092, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+32, 27737, 595, 3, 1, 2197.55, 1343.202, 130.5129, 3.780437, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+33, 27737, 595, 3, 1, 2187.311, 1333.527, 130.1098, 5.819355, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+34, 27737, 595, 3, 1, 2198.283, 1323.173, 130.42, 3.730995, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+35, 27737, 595, 3, 1, 2166.612, 1293.848, 133.2112, 3.054326, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+36, 27737, 595, 3, 1, 2180.712, 1305.788, 131.7394, 3.38325, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+37, 27737, 595, 3, 1, 2134.044, 1359.902, 132.1847, 1.668735, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+38, 27737, 595, 3, 1, 2177.545, 1257.854, 135.0027, 0.02948252, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+39, 27737, 595, 3, 1, 2172.916, 1345.946, 130.3247, 0.3643927, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+40, 27737, 595, 3, 1, 2170.042, 1244.831, 136.1126, 4.301986, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+41, 27737, 595, 3, 1, 2144.03, 1282.192, 134.9001, 6.184534, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+42, 27737, 595, 3, 1, 2127.322, 1343.184, 131.1696, 0.8850852, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+43, 27737, 595, 3, 1, 2173.298, 1327.852, 130.4678, 4.017004, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+44, 27737, 595, 3, 1, 2345.861, 1199.473, 130.6499, 1.27409, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+45, 27737, 595, 3, 1, 2221.904, 1186.763, 135.7659, 2.080931, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+46, 27737, 595, 3, 1, 2324.541, 1174.526, 133.7252, 5.438884, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+47, 27737, 595, 3, 1, 2352.759, 1187.038, 130.4972, 2.111265, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+48, 27737, 595, 3, 1, 2241.31, 1168.949, 137.4646, 2.288553, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+49, 27737, 595, 3, 1, 2277.496, 1175.328, 137.7658, 4.471868, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+50, 27737, 595, 3, 1, 2240.862, 1183.754, 136.7626, 1.269583, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+51, 27737, 595, 3, 1, 2215.602, 1198.933, 136.0747, 3.191143, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+52, 27737, 595, 3, 1, 2253.736, 1173.219, 138.1033, 3.833174, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+53, 27737, 595, 3, 1, 2301.188, 1177.337, 136.9212, 0.4530731, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+54, 27737, 595, 3, 1, 2256.917, 1158.745, 138.2293, 3.033373, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+55, 27731, 595, 3, 1, 2256.084, 1157.831, 138.2716, 1.364949, 240, 5, 1), -- 27731 (Area: 4100) 1
+(@GUID+56, 27731, 595, 3, 1, 2253.797, 1169.233, 138.2792, 1.436542, 240, 5, 1), -- 27731 (Area: 4100) 1
+(@GUID+57, 27731, 595, 3, 1, 2257.816, 1162.377, 138.0986, 0.9713849, 240, 5, 1), -- 27731 (Area: 4100) 1
+(@GUID+58, 27731, 595, 3, 1, 2262.165, 1166.002, 138.1224, 1.240342, 240, 5, 1), -- 27731 (Area: 4100) 1
+(@GUID+59, 27737, 595, 3, 1, 2281.302, 1141.813, 137.9214, 5.003052, 240, 5, 1), -- 27737 (Area: 4100) 1
+(@GUID+60, 27737, 595, 3, 1, 2250.17, 1166.411, 138.147, 0.3446127, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+61, 27737, 595, 3, 1, 2228.241, 1176.167, 136.5662, 5.933817, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+62, 27737, 595, 3, 1, 2300.582, 1183.189, 137.4008, 0.9829545, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+63, 27737, 595, 3, 1, 2260.475, 1178.165, 138.4617, 1.953951, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+64, 27737, 595, 3, 1, 2314.233, 1173.99, 135.4144, 3.033998, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+65, 27737, 595, 3, 1, 2330.992, 1179.689, 131.6598, 0.2531269, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+66, 27737, 595, 3, 1, 2285.286, 1176.464, 137.7416, 4.279643, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+67, 27737, 595, 3, 1, 2226.437, 1192.199, 135.8167, 1.753368, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+68, 27737, 595, 3, 1, 2354.042, 1179.965, 130.7275, 1.108088, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+69, 27737, 595, 3, 1, 2242.06, 1175.723, 137.1995, 6.210336, 240, 5, 1), -- 27737 (Area: 4100) 1
+(@GUID+70, 27737, 595, 3, 1, 2346.105, 1194.632, 130.6152, 1.745329, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+71, 27737, 595, 3, 1, 2186.328, 1311.786, 130.9303, 4.978087, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+72, 27737, 595, 3, 1, 2115.17, 1363.209, 131.0886, 3.417473, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+73, 27737, 595, 3, 1, 2171.35, 1317.278, 131.321, 2.759058, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+74, 27737, 595, 3, 1, 2159.191, 1349.993, 131.5126, 3.911789, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+75, 27737, 595, 3, 1, 2141.456, 1363.355, 132.3215, 1.991677, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+76, 27737, 595, 3, 1, 2183.169, 1328.252, 129.9512, 5.934655, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+77, 27737, 595, 3, 1, 2183.9, 1300.783, 132.3583, 2.234651, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+78, 27737, 595, 3, 1, 2194.571, 1332.426, 129.9806, 2.67068, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+79, 27737, 595, 3, 1, 2169.268, 1278.101, 133.2, 4.272601, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+80, 27737, 595, 3, 1, 2163.175, 1357.961, 131.71, 3.281193, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+81, 27737, 595, 3, 1, 2115.964, 1345.561, 131.5159, 5.410521, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+82, 27737, 595, 3, 1, 2171.605, 1335.377, 130.2321, 3.992525, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+83, 27737, 595, 3, 1, 2126.402, 1362.936, 131.2733, 3.310562, 240, 5, 1), -- 27737 (Area: 4100) 1
+(@GUID+84, 27737, 595, 3, 1, 2173.577, 1264.115, 133.8741, 1.023024, 240, 5, 1), -- 27737 (Area: 4100) 1
+(@GUID+85, 27737, 595, 3, 1, 2208.027, 1335.281, 129.5424, 1.518706, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+86, 27737, 595, 3, 1, 2171.453, 1301.018, 132.7366, 0.2901765, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+87, 27737, 595, 3, 1, 2169.414, 1250.857, 135.2106, 2.8393, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+88, 27737, 595, 3, 1, 2132.141, 1346.274, 131.2455, 2.690396, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+(@GUID+89, 27737, 595, 3, 1, 2158.416, 1280.064, 133.8115, 5.935702, 240, 5, 1), -- 27737 (Area: 4100) (Auras: ) 1
+-- Second Half
+(@GUID+90, 27731, 595, 3, 1, 2500.738, 1360.329, 131.1847, 1.937315, 120, 5, 1), -- 27731 (Area: 4100)
+(@GUID+91, 27737, 595, 3, 1, 2564.911, 1178.225, 126.5099, 0.715585, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+92, 27731, 595, 3, 1, 2572.829, 1156.034, 126.4628, 2.289771, 120, 5, 1), -- 27731 (Area: 4100) (Auras: )
+(@GUID+93, 27737, 595, 3, 1, 2546.042, 1227.147, 127.048, 2.86234, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+94, 27737, 595, 3, 1, 2549.196, 1213.742, 127.6477, 5.201081, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+95, 27737, 595, 3, 1, 2574.684, 1153.874, 126.5534, 5.009095, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+96, 27737, 595, 3, 1, 2565.958, 1167.619, 127.0209, 2.356194, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+97, 27737, 595, 3, 1, 2558.278, 1169.111, 128.0473, 4.29351, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+98, 27737, 595, 3, 1, 2534.67, 1255.3, 127.0307, 3.926991, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+99, 27737, 595, 3, 1, 2551.866, 1232.249, 125.6097, 2.635447, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+100, 27737, 595, 3, 1, 2559.216, 1178.839, 127.2618, 3.089233, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+101, 27737, 595, 3, 1, 2533.401, 1263.405, 127.5351, 3.926991, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+102, 27731, 595, 3, 1, 2574.436, 1155.751, 126.4111, 3.559219, 120, 5, 1), -- 27731 (Area: 4100) (Auras: )
+(@GUID+103, 27737, 595, 3, 1, 2564.436, 1152.985, 127.6109, 4.642576, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+104, 27737, 595, 3, 1, 2510.611, 1279.379, 129.8318, 1.570796, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+105, 27737, 595, 3, 1, 2558.396, 1221.108, 125.4641, 3.438299, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+106, 27737, 595, 3, 1, 2547.228, 1241.545, 125.8737, 4.415683, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+107, 27737, 595, 3, 1, 2556.666, 1234.75, 125.8504, 0.4363323, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+108, 27737, 595, 3, 1, 2558.199, 1195.568, 126.8055, 4.380776, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+109, 27737, 595, 3, 1, 2561.93, 1157.015, 127.7777, 1.832596, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+110, 27731, 595, 3, 1, 2573.595, 1157.235, 126.3465, 1.509647, 120, 5, 1), -- 27731 (Area: 4100) (Auras: )
+(@GUID+111, 27737, 595, 3, 1, 2556.297, 1145.754, 129.0501, 3.106686, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+112, 27737, 595, 3, 1, 2569.254, 1205.719, 125.4004, 5.002082, 120, 5, 1), -- 27737 (Area: 4100) (Auras: 42726 - 42726)
+(@GUID+113, 27737, 595, 3, 1, 2572.153, 1146.823, 126.8599, 2.70526, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+114, 27737, 595, 3, 1, 2538.41, 1241.072, 126.9086, 4.886922, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+115, 27731, 595, 3, 1, 2500.738, 1360.329, 131.1847, 2.409203, 120, 5, 1), -- 27731 (Area: 4100) (Auras: ) (possible waypoints or random movement)
+(@GUID+116, 27737, 595, 3, 1, 2469.409, 1391.765, 129.9645, 0.01745329, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+117, 27737, 595, 3, 1, 2480.067, 1378.496, 129.6512, 5.951573, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+118, 27737, 595, 3, 1, 2496.575, 1365.8, 130.7648, 3.263766, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+119, 27737, 595, 3, 1, 2507.699, 1291.871, 131.0477, 4.13643, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+120, 27737, 595, 3, 1, 2520.572, 1286.806, 129.7177, 2.146755, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+121, 27737, 595, 3, 1, 2478.782, 1393.61, 130.0417, 5.253441, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+122, 27737, 595, 3, 1, 2502.809, 1348.058, 133.0128, 2.844887, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+123, 27737, 595, 3, 1, 2492.209, 1383.335, 130.4428, 5.969026, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+124, 27731, 595, 3, 1, 2498.377, 1361.939, 131.0246, 2.017789, 120, 5, 1), -- 27731 (Area: 4100) (Auras: ) (possible waypoints or random movement)
+(@GUID+125, 27737, 595, 3, 1, 2465.855, 1409.319, 130.7084, 1.658063, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+126, 27731, 595, 3, 1, 2497.87, 1359.616, 131.4152, 2.273972, 120, 5, 1), -- 27731 (Area: 4100) (Auras: ) (possible waypoints or random movement)
+(@GUID+127, 27737, 595, 3, 1, 2567.898, 1195.905, 125.7625, 4.764749, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+128, 27737, 595, 3, 1, 2539.281, 1259.073, 126.4106, 0.8726646, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+129, 27737, 595, 3, 1, 2550.405, 1221.265, 126.6349, 5.502605, 120, 5, 1), -- 27737 (Area: 4100) (Auras: 42726 - 42726)
+(@GUID+130, 27737, 595, 3, 1, 2561.143, 1165.518, 127.7086, 4.921828, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+131, 27737, 595, 3, 1, 2570.456, 1166.24, 126.5573, 3.787364, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+132, 27737, 595, 3, 1, 2523.198, 1270.922, 128.7036, 2.007129, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+133, 27737, 595, 3, 1, 2565.553, 1148.601, 127.6903, 2.670354, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+134, 27737, 595, 3, 1, 2569.308, 1188.428, 125.8085, 4.485496, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+135, 27737, 595, 3, 1, 2571.416, 1161.062, 126.5842, 2.949606, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+136, 27737, 595, 3, 1, 2561.565, 1211.34, 125.4866, 0.1047198, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+137, 27737, 595, 3, 1, 2540.505, 1247.505, 126.4913, 0.9250245, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+138, 27737, 595, 3, 1, 2545.149, 1252.06, 126.2658, 0.2443461, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+139, 27737, 595, 3, 1, 2551.554, 1239.584, 125.4468, 4.590216, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+140, 27737, 595, 3, 1, 2550.498, 1247.44, 125.5242, 4.24115, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+141, 27737, 595, 3, 1, 2555.76, 1206.637, 126.8258, 1.762783, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+142, 27737, 595, 3, 1, 2570.634, 1178.631, 125.9873, 2.670354, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+143, 27737, 595, 3, 1, 2544.546, 1233.477, 126.8366, 0.2617994, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+144, 27737, 595, 3, 1, 2561.324, 1186.026, 126.4857, 3.996804, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+145, 27737, 595, 3, 1, 2571.687, 1164.973, 126.3542, 2.063297, 120, 5, 1), -- 27737 (Area: 4100) (Auras: 42726 - 42726)
+(@GUID+146, 27737, 595, 3, 1, 2563.486, 1192.775, 126.1027, 2.111848, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+147, 27737, 595, 3, 1, 2563.203, 1203.705, 125.7591, 6.265732, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+148, 27737, 595, 3, 1, 2574.435, 1170.58, 126.0365, 4.13643, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+149, 27737, 595, 3, 1, 2519.148, 1282.076, 129.3335, 1.675516, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+150, 27737, 595, 3, 1, 2487.284, 1355.895, 132.0378, 5.166174, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+151, 27737, 595, 3, 1, 2486.355, 1381.331, 130.2177, 0.8377581, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+152, 27737, 595, 3, 1, 2537.23, 1274.154, 127.247, 5.201081, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+153, 27737, 595, 3, 1, 2482.333, 1378.755, 129.8668, 4.445682, 120, 5, 1), -- 27737 (Area: 4100) (Auras: 42726 - 42726)
+(@GUID+154, 27737, 595, 3, 1, 2514.438, 1294.972, 130.8045, 4.537856, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+155, 27737, 595, 3, 1, 2495.49, 1351.598, 132.5921, 5.899213, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+156, 27737, 595, 3, 1, 2527.383, 1289.23, 129.802, 0.6457718, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+157, 27737, 595, 3, 1, 2488.743, 1364.121, 130.6187, 0.9599311, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+158, 27737, 595, 3, 1, 2492.943, 1370.252, 130.7567, 4.747295, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+159, 27737, 595, 3, 1, 2527.926, 1279.266, 128.2349, 2.111848, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+160, 27737, 595, 3, 1, 2512.307, 1285.777, 130.3244, 1.361357, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+161, 27737, 595, 3, 1, 2501.182, 1354.545, 132.4567, 2.635447, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+162, 27737, 595, 3, 1, 2528.756, 1270.082, 128.0023, 2.722714, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+163, 27737, 595, 3, 1, 2534.166, 1281.988, 128.3769, 1.22173, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+164, 27737, 595, 3, 1, 2478.309, 1366.715, 130.1298, 3.036873, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+165, 27737, 595, 3, 1, 2518.97, 1276.149, 128.4369, 0.6981317, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+166, 27737, 595, 3, 1, 2539.054, 1267.989, 126.5578, 5.026548, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+167, 27737, 595, 3, 1, 2546.093, 1260.12, 126.4856, 5.113815, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+168, 27737, 595, 3, 1, 2494.707, 1357.887, 131.7789, 5.410521, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+169, 27737, 595, 3, 1, 2520.985, 1296.503, 130.6993, 1.134464, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+170, 27737, 595, 3, 1, 2483.547, 1369.328, 129.7479, 0.3141593, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+171, 27737, 595, 3, 1, 2461.695, 1405.834, 130.6046, 2.321288, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+172, 27737, 595, 3, 1, 2485.281, 1401.199, 130.993, 0.926355, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+173, 27737, 595, 3, 1, 2480.869, 1387.697, 129.9826, 1.989675, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+174, 27737, 595, 3, 1, 2484.152, 1391.818, 130.3346, 1.832596, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+175, 27737, 595, 3, 1, 2474.796, 1386.799, 129.2887, 4.18879, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+176, 27737, 595, 3, 1, 2474.894, 1398.443, 130.355, 1.780236, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+177, 27737, 595, 3, 1, 2470.626, 1403.028, 130.578, 4.223697, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+178, 27737, 595, 3, 1, 2469.058, 1411.237, 131.0699, 4.782202, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+179, 27737, 595, 3, 1, 2496.014, 1388.685, 131.2523, 3.263766, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+180, 27737, 595, 3, 1, 2463.726, 1416.033, 130.9224, 4.502949, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+181, 27737, 595, 3, 1, 2457.688, 1415.661, 130.2885, 1.343904, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+182, 27737, 595, 3, 1, 2445.796, 1420.992, 130.3097, 1.780236, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+183, 27737, 595, 3, 1, 2461.943, 1422.238, 130.9959, 5.480334, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+184, 27737, 595, 3, 1, 2437.17, 1420.377, 130.4104, 3.874631, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+185, 27737, 595, 3, 1, 2467.397, 1419.898, 131.3669, 6.178465, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+186, 27737, 595, 3, 1, 2427.73, 1416.372, 130.616, 1.343904, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+187, 27737, 595, 3, 1, 2453.945, 1422.732, 130.7179, 2.548181, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+188, 27737, 595, 3, 1, 2433.062, 1428.894, 131.3722, 4.118977, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+189, 27737, 595, 3, 1, 2446.571, 1428.854, 131.1397, 4.625123, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+190, 27737, 595, 3, 1, 2454.021, 1429.103, 131.2739, 0.2792527, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+191, 27737, 595, 3, 1, 2455.682, 1435.659, 131.8695, 4.066617, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+192, 27737, 595, 3, 1, 2427.347, 1424.508, 131.1206, 3.700098, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+193, 27737, 595, 3, 1, 2461.234, 1428.908, 131.2317, 0.418879, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+194, 27737, 595, 3, 1, 2464.28, 1425.138, 131.1465, 4.939282, 120, 5, 1), -- 27737 (Area: 4100)
+(@GUID+195, 27737, 595, 3, 1, 2439.296, 1427.013, 130.9965, 0.2268928, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+196, 27737, 595, 3, 1, 2442.111, 1435.992, 131.7104, 4.13643, 120, 5, 1), -- 27737 (Area: 4100) (Auras: )
+(@GUID+197, 27731, 595, 3, 1, 2577.112, 1156.938, 126.5042, 1.466077, 120, 5, 1), -- 27731 (Area: 4100)
+(@GUID+198, 27731, 595, 3, 1, 2573.414, 1154.276, 126.5274, 0.4363323, 120, 5, 1), -- 27731 (Area: 4100)
+(@GUID+199, 27731, 595, 3, 1, 2575.825, 1152.61, 126.6092, 0.3490658, 120, 5, 1), -- 27731 (Area: 4100)
+(@GUID+200, 27731, 595, 3, 1, 2497.87, 1359.616, 131.4152, 1.396263, 120, 5, 1), -- 27731 (Area: 4100)
+(@GUID+201, 27731, 595, 3, 1, 2498.424, 1361.842, 131.0335, 1.082104, 120, 5, 1); -- 27731 (Area: 4100)
+
+UPDATE `creature` SET `PhaseId`=169 WHERE `PhaseId`=1;
diff --git a/sql/updates/world/2015_11_01_00_world_from_335.sql b/sql/updates/world/2015_11_01_00_world_from_335.sql
new file mode 100644
index 00000000000..4d1adbb96d2
--- /dev/null
+++ b/sql/updates/world/2015_11_01_00_world_from_335.sql
@@ -0,0 +1,175 @@
+-- From d53d3c7b804573db475d16e9f3ff8d3e0de87ab6 Mon Sep 17 00:00:00 2001
+-- From: Dr-J <daniel.jarrott0@gmail.com>
+-- Date: Sat, 18 Apr 2015 16:15:23 +0100
+-- Subject: [PATCH] DB/Misc: Delete duplicated gameobject
+DELETE FROM `gameobject` WHERE `guid`=49312 AND `id`=187493;
+
+-- From 444cc12610af936fdd4ca9c599e8a9ec74deba42 Mon Sep 17 00:00:00 2001
+-- From: Dr-J <daniel.jarrott0@gmail.com>
+-- Date: Sun, 19 Apr 2015 16:44:37 +0100
+-- Subject: [PATCH] DB/Quest: Vision Guide (Credit)
+UPDATE `smart_scripts` SET `action_type`=85, `action_param1`=36569, `action_param2`=2, `comment`='Triggger - LOS -Cast Vision Guide: Quest Complete' WHERE `entryorguid`=21321 AND `source_type`=0 AND `id`=0 AND `link`=1;
+
+-- From 5310fb1aa7bb37daaf58f1e351440bc040d42faa Mon Sep 17 00:00:00 2001
+-- From: Kittnz <frederik156@hotmail.com>
+-- Date: Sun, 19 Apr 2015 21:57:20 +0200
+-- Subject: [PATCH] DB/Path: Added group Highland Mustang pathing
+-- Highland Mustang SAI
+SET @ENTRY := 26472;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,8,0,100,0,49266,0,0,0,69,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Highland Mustang - On Spell Hit(Dangle Wild Carrot) - Move To Player"),
+(@ENTRY,0,1,2,34,0,100,0,0,1,0,0,103,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Highland Mustang - On Reached Point 1 - Set Rooted Off"),
+(@ENTRY,0,2,0,61,0,100,0,0,1,0,0,85,49282,0,0,0,0,0,1,0,0,0,0,0,0,0,"Highland Mustang - On Reached Point 1 - Invoker Cast 'Ride Highland Mustang'"),
+(@ENTRY,0,3,0,27,0,100,0,0,0,0,0,103,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Highland Mustang - On Passenger Boarded - Remove Root"),
+(@ENTRY,0,4,5,8,0,100,1,49319,0,0,0,89,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"Highland Mustang - On Spellhit 'Scare Highland Mustang' - Flee For Assist (No Repeat)"),
+(@ENTRY,0,5,6,61,0,100,0,0,0,0,0,11,49323,0,0,0,0,0,7,0,0,0,0,0,0,0,"Highland Mustang - On Spellhit 'Scare Highland Mustang' - Cast 'Highland Mustang Spooking Credit' (No Repeat)"),
+(@ENTRY,0,6,0,61,0,100,0,0,0,0,0,41,5000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Highland Mustang - On Spellhit 'Scare Highland Mustang' - Despawn In 5000 ms (No Repeat)");
+
+SET @LEADER := 105333;
+DELETE FROM `creature_formations` WHERE `leaderGUID`=@LEADER;
+INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES
+(@LEADER, @LEADER, 0, 0, 2),
+(@LEADER, 105334, 6, 20, 2),
+(@LEADER, 105307, 6, 60, 2),
+(@LEADER, 105327, 6, 100, 2),
+(@LEADER, 105332, 6, 140, 2),
+(@LEADER, 105330, 6, 180, 2),
+(@LEADER, 105331, 6, 220, 2),
+(@LEADER, 105310, 6, 260, 2),
+(@LEADER, 105325, 6, 290, 2),
+(@LEADER, 105308, 6, 340, 2);
+
+-- Pathing for Highland Mustang Entry: 26472 'TDB FORMAT'
+SET @NPC := 105333;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4427.042,`position_y`=-4339.906,`position_z`=156.9126 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4427.042,-4339.906,156.9126,0,0,1,0,100,0), -- 12:00:19
+(@PATH,2,4408.496,-4311.258,159.5146,0,0,1,0,100,0), -- 12:00:25
+(@PATH,3,4395.234,-4306.927,159.0624,0,0,1,0,100,0), -- 12:00:28
+(@PATH,4,4357.375,-4353.118,158.7053,0,0,1,0,100,0), -- 12:00:32
+(@PATH,5,4358.002,-4387.411,154.6664,0,0,1,0,100,0), -- 12:00:37
+(@PATH,6,4350.741,-4420.083,151.4936,0,0,1,0,100,0), -- 12:00:41
+(@PATH,7,4355.459,-4451.332,147.9055,0,0,1,0,100,0), -- 12:00:45
+(@PATH,8,4382.324,-4459.469,141.1845,0,0,1,0,100,0), -- 12:00:49
+(@PATH,9,4389.952,-4415.67,148.3579,0,0,1,0,100,0), -- 12:00:53
+(@PATH,10,4397.468,-4374.768,153.7379,0,0,1,0,100,0); -- 12:00:58
+-- 0x203930476019DA0000000D0000337E18 .go 4427.042 -4339.906 156.9126
+
+SET @LEADER := 105349;
+DELETE FROM `creature_formations` WHERE `leaderGUID`=@LEADER;
+INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES
+(@LEADER, @LEADER, 0, 0, 2),
+(@LEADER, 105304, 6, 20, 2),
+(@LEADER, 105303, 6, 60, 2),
+(@LEADER, 105305, 6, 100, 2),
+(@LEADER, 105301, 6, 140, 2),
+(@LEADER, 105283, 6, 180, 2),
+(@LEADER, 105302, 6, 220, 2),
+(@LEADER, 105350, 6, 260, 2),
+(@LEADER, 105322, 6, 290, 2),
+(@LEADER, 105321, 6, 340, 2);
+
+-- Pathing for Highland Mustang Entry: 26472 'TDB FORMAT'
+SET @NPC := 105349;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4402.506,`position_y`=-4058.453,`position_z`=178.0393 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4402.506,-4058.453,178.0393,0,0,1,0,100,0), -- 11:54:03
+(@PATH,2,4409.204,-4045.754,177.6823,0,0,1,0,100,0), -- 11:54:07
+(@PATH,3,4437.108,-4006.367,180.2671,0,0,1,0,100,0), -- 11:54:09
+(@PATH,4,4444.708,-3989.958,182.246,0,0,1,0,100,0), -- 11:54:13
+(@PATH,5,4449.759,-3956.142,185.0904,0,0,1,0,100,0), -- 11:54:15
+(@PATH,6,4428.842,-3946.839,183.3041,0,0,1,0,100,0), -- 11:54:18
+(@PATH,7,4415.667,-3952.115,181.8032,0,0,1,0,100,0), -- 11:54:21
+(@PATH,8,4397.648,-3971.361,180.6909,0,0,1,0,100,0), -- 11:54:24
+(@PATH,9,4390.27,-4002.242,179.2844,0,0,1,0,100,0), -- 11:54:28
+(@PATH,10,4391.74,-4008.471,178.8489,0,0,1,0,100,0), -- 11:54:30
+(@PATH,11,4385.273,-4030.866,179.386,0,0,1,0,100,0), -- 11:54:31
+(@PATH,12,4376.343,-4062.502,181.3641,0,0,1,0,100,0), -- 11:54:34
+(@PATH,13,4392.244,-4068.051,179.3222,0,0,1,0,100,0); -- 11:54:37
+-- 0x203930476019DA0000000D00003393C1 .go 4402.506 -4058.453 178.0393
+
+-- From bd8611baed3fdcb3ad25908eddaae98eb28ee8d6 Mon Sep 17 00:00:00 2001
+-- From: Killyana
+-- Date: Thu, 23 Apr 2015 20:04:10 +0200
+-- Subject: [PATCH] DB/Misc: Fix conditions delete error on 210e45e303b
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND SourceEntry IN (46598,49078);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(18,34776,46598,0,0,31,0,3,0,0,0,0,'','Require unit for spellclick'),
+(18,35069,46598,0,0,31,0,3,0,0,0,0,'','Require unit for spellclick'),
+(18,35431,46598,0,0,31,0,3,0,0,0,0,'','Require unit for spellclick'),
+(18,35433,46598,0,0,31,0,3,0,0,0,0,'','Require unit for spellclick'),
+(18,28312,46598,0,0,31,0,3,0,0,0,0,'','Require unit for spellclick'),
+(18,32627,46598,0,0,31,0,3,0,0,0,0,'','Require unit for spellclick'),
+(18,25334,46598,0,0,9,0,11652,0,0,0,0,'','Player must have The Plains of Nasam taken but not completed to use Horde Siege tank'),
+(18,27587,46598,0,0,31,0,3,0,0,0,0,'','Only npc for spellclick'),
+(18,27587,49078,0,0,9,0,12326,0,0,0,0,'','Required quest active for spellclick');
+
+-- From 83ffc5fca8648c90bc7f5d1e023faf82edada1cf Mon Sep 17 00:00:00 2001
+-- From: Dr-J <daniel.jarrott0@gmail.com>
+-- Date: Thu, 23 Apr 2015 22:48:24 +0100
+-- Subject: [PATCH] DB/Quest: The Plume of Alystros
+DELETE FROM `event_scripts` WHERE `id`=18223;
+INSERT INTO `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES
+(18223, 0, 10, 23837, 180000, 0, 2629.2, 8.1333, 26.347, 0.401426);
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=23837 AND `source_type`=0 AND `id` =6;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=27249 AND `source_type`=0 AND `id`>2;
+
+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
+(23837, 0, 6, 0, 11, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 27249, 0, 0, 0, 0, 0, 0, 'ELM General Purpose Bunny - On Just Summoned - Set Data to Alystros the Verdant Keeper'),
+(27249, 0, 3, 4, 38, 0, 100, 0, 1, 1, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Alystros the Verdant Keeper - On Data Set - Set Emote State None'),
+(27249, 0, 4, 5, 61, 0, 100, 0, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Alystros the Verdant Keeper - On Data Set - Set Unit Flags'),
+(27249, 0, 5, 6, 61, 0, 100, 0, 0, 0, 0, 0, 4, 3605, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Alystros the Verdant Keeper - On Data Set - Play Sound 3605'),
+(27249, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 21, 100, 0, 0, 0, 0, 0, 0, 'Alystros the Verdant Keeper - On Data Set - Attack');
+
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=27249;
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=7 AND `SourceEntry`=23837;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(22, 7, 23837, 0, 0, 23, 1, 4179, 0, 0, 0, 0, 0, '', 'Only run SAI at Emerald Dragonshrine'),
+(22, 7, 23837, 0, 1, 23, 1, 3979, 0, 0, 0, 0, 0, '', 'Only run SAI at Emerald Dragonshrine');
+
+UPDATE `gameobject` SET `position_x`=2642.311523, `position_y`=-19.100948, `position_z`=1.434421 WHERE `guid`=99753;
+
+-- From abdb21130448be410b38f3753aa0a32ae08b5630 Mon Sep 17 00:00:00 2001
+-- From: Killyana
+-- Date: Sun, 26 Apr 2015 14:01:22 +0200
+-- Subject: [PATCH] DB/Quest: The Black Knight's Orders
+UPDATE smart_scripts SET event_param1=44 WHERE entryorguid=33519 AND source_type=0 AND id=2;
+
+-- From f62b0391c1763b840b004493f18f0ac3c1d99844 Mon Sep 17 00:00:00 2001
+-- From: sirikfoll
+-- Date: Sun, 26 Apr 2015 14:03:40 +0200
+-- Subject: [PATCH] DB/Creature: Fix Kalecgos event
+UPDATE `spell_linked_spell` SET `type`=0 WHERE `spell_trigger`=44869 AND `spell_effect`=44866 AND `type`=1;
+
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=46021 AND `spell_effect`=44852;
+INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES
+(46021,44852,0,'Transported to the spectral realm turn Sathrovarr Hostile');
+
+-- From ced8348beb659c159738c6b1785cd61fa6ffbbd6 Mon Sep 17 00:00:00 2001
+-- From: Killyana
+-- Date: Sun, 26 Apr 2015 14:05:25 +0200
+-- Subject: [PATCH] DB/Item: Halaa bombs
+SET @ENTRY := 18225;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,1,54,0,100,0,0,0,0,0,85,31961,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fire Bomb Target - On Just Summoned - InvokerCast 'Fire Bomb'"),
+(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,11,31963,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fire Bomb Target - On Just Summoned - Cast to Summon Fire Bomb");
+
+-- From d5850bc0f6c95fd7e635bed3639a7eb4b73e87d9 Mon Sep 17 00:00:00 2001
+-- From: Killyana
+-- Date: Sun, 26 Apr 2015 14:09:03 +0200
+-- Subject: [PATCH] DB/Creature: Echeyakee
+UPDATE `event_scripts` SET `x`=453.896027, `y`=-3039.76147, `z`=91.785370 WHERE `id`=2980;
diff --git a/sql/updates/world/2015_11_01_01_world_2015_04_26_05.sql b/sql/updates/world/2015_11_01_01_world_2015_04_26_05.sql
new file mode 100644
index 00000000000..d870128a55d
--- /dev/null
+++ b/sql/updates/world/2015_11_01_01_world_2015_04_26_05.sql
@@ -0,0 +1,3 @@
+--
+DELETE FROM `spell_custom_attr` WHERE `entry`=34709;
+INSERT INTO `spell_custom_attr` (`entry`, `attributes`) VALUES (34709, 20480);
diff --git a/sql/updates/world/2015_11_01_02_world_2015_04_26_06.sql b/sql/updates/world/2015_11_01_02_world_2015_04_26_06.sql
new file mode 100644
index 00000000000..014c19cd96e
--- /dev/null
+++ b/sql/updates/world/2015_11_01_02_world_2015_04_26_06.sql
@@ -0,0 +1,5 @@
+--
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=8776;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=8776 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
+(8776, 0, 0, 0, 0, 0, 100, 0, 3000, 5000, 3000, 5000, 11, 9591, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Emerald Dragon Whelp - IC - Cast Acid Spit');
diff --git a/sql/updates/world/2015_11_01_03_world_2015_04_26_07.sql b/sql/updates/world/2015_11_01_03_world_2015_04_26_07.sql
new file mode 100644
index 00000000000..e23229e7f49
--- /dev/null
+++ b/sql/updates/world/2015_11_01_03_world_2015_04_26_07.sql
@@ -0,0 +1,37 @@
+--
+UPDATE `creature_template_addon` SET `path_id`=840110 where entry=18672;
+UPDATE `creature` SET `position_x`= 2632.754883, `position_y`= 666.366272, `position_z`= 54.313442 where guid=84011;
+
+DELETE FROM `waypoint_data` WHERE (`id`=840110);
+INSERT INTO `waypoint_data` VALUES
+(840110, 1, 2632.754883, 666.366272, 54.313442, 0, 0, 0, 0, 100, 0),
+(840110, 2, 2641.033936, 699.843994, 55.907993, 0, 0, 0, 0, 100, 0),
+(840110, 3, 2630.856689, 717.567749, 56.091911, 0, 0, 0, 0, 100, 0),
+(840110, 4, 2616.059082, 733.542419, 55.553276, 0, 0, 0, 0, 100, 0),
+(840110, 5, 2612.300537, 753.559082, 56.344002, 0, 0, 0, 0, 100, 0),
+(840110, 6, 2618.891357, 769.588013, 56.859760, 0, 0, 0, 0, 100, 0),
+(840110, 7, 2645.688965, 794.580811, 58.398026, 0, 0, 0, 0, 100, 0),
+(840110, 8, 2643.975586, 834.932800, 61.554504, 0, 0, 0, 0, 100, 0),
+(840110, 9, 2647.164795, 876.138306, 68.730583, 0, 0, 0, 0, 100, 0),
+(840110, 10, 2641.644775, 880.880432, 69.211929, 0, 0, 0, 0, 100, 0),
+(840110, 11, 2618.110596, 882.025818, 68.473541, 0, 0, 0, 0, 100, 0),
+(840110, 12, 2545.682129, 886.177429, 65.102127, 0, 0, 0, 0, 100, 0),
+(840110, 13, 2468.068848, 880.862915, 62.804623, 0, 0, 0, 0, 100, 0),
+(840110, 14, 2409.444336, 867.694763, 57.740276, 0, 0, 0, 0, 100, 0),
+(840110, 15, 2325.662109, 839.279724, 53.848293, 0, 0, 0, 0, 100, 0),
+(840110, 16, 2291.826416, 823.477051, 54.449596, 0, 0, 0, 0, 100, 0),
+(840110, 17, 2325.662109, 839.279724, 53.848293, 0, 0, 0, 0, 100, 0),
+(840110, 18, 2409.444336, 867.694763, 57.740276, 0, 0, 0, 0, 100, 0),
+(840110, 19, 2468.068848, 880.862915, 62.804623, 0, 0, 0, 0, 100, 0),
+(840110, 20, 2545.682129, 886.177429, 65.102127, 0, 0, 0, 0, 100, 0),
+(840110, 21, 2618.110596, 882.025818, 68.473541, 0, 0, 0, 0, 100, 0),
+(840110, 22, 2641.644775, 880.880432, 69.211929, 0, 0, 0, 0, 100, 0),
+(840110, 23, 2647.164795, 876.138306, 68.730583, 0, 0, 0, 0, 100, 0),
+(840110, 24, 2643.975586, 834.932800, 61.554504, 0, 0, 0, 0, 100, 0),
+(840110, 25, 2645.688965, 794.580811, 58.398026, 0, 0, 0, 0, 100, 0),
+(840110, 26, 2618.891357, 769.588013, 56.859760, 0, 0, 0, 0, 100, 0),
+(840110, 27, 2612.300537, 753.559082, 56.344002, 0, 0, 0, 0, 100, 0),
+(840110, 28, 2616.059082, 733.542419, 55.553276, 0, 0, 0, 0, 100, 0),
+(840110, 29, 2630.856689, 717.567749, 56.091911, 0, 0, 0, 0, 100, 0),
+(840110, 30, 2641.033936, 699.843994, 55.907993, 0, 0, 0, 0, 100, 0),
+(840110, 31, 2632.754883, 666.366272, 54.313442, 0, 0, 0, 0, 100, 0);
diff --git a/sql/updates/world/2015_11_01_04_world_2015_04_26_08.sql b/sql/updates/world/2015_11_01_04_world_2015_04_26_08.sql
new file mode 100644
index 00000000000..be53b1ebc60
--- /dev/null
+++ b/sql/updates/world/2015_11_01_04_world_2015_04_26_08.sql
@@ -0,0 +1,16 @@
+--
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=8506;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=8506 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
+(8506, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0,0,'Eranikus the Chained - Just summoned - Talk');
+
+DELETE FROM `creature_text` WHERE `entry` IN (8506);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(8506, 0, 0, 'My eyes! It burns... it burns...', 15, 0, 100, 0, 0, 0, 4438, 0, 'Eranikus the Chained'),
+(8506, 0, 1, 'Torture me no more! Release me, mortal! The Swamp of Sorrows... mortal... please...', 15, 0, 100, 0, 0, 0, 4439, 0, 'Eranikus the Chained'),
+(8506, 0, 2, 'Foolish mortal, I will rend your soul in two once I am released!', 15, 0, 100, 0, 0, 0, 4440, 0, 'Eranikus the Chained'),
+(8506, 0, 3, 'You are an agent of their wicked god, fool. I will see you destroyed!', 15, 0, 100, 0, 0, 0, 4441, 0, 'Eranikus the Chained'),
+(8506, 0, 4, 'My soul is not a trinket! Mortal, you must release me from these chains!', 15, 0, 100, 0, 0, 0, 4442, 0, 'Eranikus the Chained'),
+(8506, 0, 5, 'It hurts so much... Itharius, my old friend... Please help me...', 15, 0, 100, 0, 0, 0, 4443, 0, 'Eranikus the Chained'),
+(8506, 0, 6, 'Will the nightmare ever end?! I cannot force myself awake!', 15, 0, 100, 0, 0, 0, 4444, 0, 'Eranikus the Chained'),
+(8506, 0, 7, 'My charge to watch the temple has failed... my corrupted soul knows no peace...', 15, 0, 100, 0, 0, 0, 4445, 0, 'Eranikus the Chained');
diff --git a/sql/updates/world/2015_11_01_05_world_2015_04_26_09.sql b/sql/updates/world/2015_11_01_05_world_2015_04_26_09.sql
new file mode 100644
index 00000000000..e450fd5c64e
--- /dev/null
+++ b/sql/updates/world/2015_11_01_05_world_2015_04_26_09.sql
@@ -0,0 +1,4 @@
+--
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry`=66741;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(17,0,66741,0,0,40,0,0,0,0,0,0,0,'','Chum the Water can only be used in water');
diff --git a/sql/updates/world/2015_11_01_06_world_2015_04_27_00.sql b/sql/updates/world/2015_11_01_06_world_2015_04_27_00.sql
new file mode 100644
index 00000000000..53b3b686ec2
--- /dev/null
+++ b/sql/updates/world/2015_11_01_06_world_2015_04_27_00.sql
@@ -0,0 +1,19 @@
+SET @OGUID := 29765;
+
+DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+9 AND `id` IN(184203,184204,184205,185114,185115,185117,185118,184566,184567,184568);
+INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
+(@OGUID+0, 184203, 548, 3, 169, 26.32847, -654.4946, 15.47422, 3.141593, 0, 0, 1, -4.371139E-08, 7200, 255, 1), -- 184203 (Area: 0)
+(@OGUID+1, 184204, 548, 3, 169, 26.32847, -654.4946, 15.47422, 3.141593, 0, 0, 1, -4.371139E-08, 7200, 255, 1), -- 184204 (Area: 0)
+(@OGUID+2, 184205, 548, 3, 169, 26.32847, -654.4946, 15.47422, 3.141593, 0, 0, 1, -4.371139E-08, 7200, 255, 1), -- 184205 (Area: 0)
+(@OGUID+3, 185114, 548, 3, 169, 457.4108, -555.2696, -6.996453, 1.832595, 0, 0, 1, -4.371139E-08, 7200, 255, 0), -- 185114 (Area: 0)
+(@OGUID+4, 185115, 548, 3, 169, 373.1394, -465.1063, 30.71642, 3.228859, 0, 0, 1, -4.371139E-08, 7200, 255, 0), -- 185115 (Area: 0)
+(@OGUID+5, 185117, 548, 3, 169, -245.7294, -381.393, -0.187039, 2.879789, 0, 0, 1, -4.371139E-08, 7200, 255, 0), -- 185117 (Area: 0)
+(@OGUID+6, 185118, 548, 3, 169, 123.2582, -432.3567, -1.196554, 4.799657, 0, 0, 1, -4.371139E-08, 7200, 255, 0), -- 185118 (Area: 0)
+(@OGUID+7, 184566, 530, 1, 169, 811.1944, 6872.574, -66.931, 0, 0, 0, 1, -4.371139E-08, 120, 255, 1), -- 184566 (Area: 3905)
+(@OGUID+8, 184567, 530, 1, 169, 811.1944, 6859.181, -66.931, 3.141593, 0, 0, 1, -4.371139E-08, 120, 255, 1), -- 184567 (Area: 3905)
+(@OGUID+9, 184568, 548, 3, 169, 47.75674, -581.8289, 4.655592, 3.141593, 0, 0, 1, -4.371139E-08, 7200, 255, 1); -- 184568 (Area: 0)
+
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry`IN(184203,184204,184205);
+UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`IN(185114,185115,185117,185118);
+UPDATE `gameobject_template` SET `flags`=2 WHERE `entry`=184566;
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=184568;
diff --git a/sql/updates/world/2015_11_01_07_world_2015_04_27_01.sql b/sql/updates/world/2015_11_01_07_world_2015_04_27_01.sql
new file mode 100644
index 00000000000..af4f0fc4faf
--- /dev/null
+++ b/sql/updates/world/2015_11_01_07_world_2015_04_27_01.sql
@@ -0,0 +1,25 @@
+UPDATE `creature_template` SET `gossip_menu_id`=1882 WHERE `entry`=3389;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=3389 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
+(3389, 0, 1, 0, 11, 0, 100, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Regthar Deathgate - On Spawn - Set Phase 1 '),
+(3389, 0, 2, 3, 19, 1, 100, 0, 4021, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Regthar Deathgate - On quest accept - say text 0 '),
+(3389, 0, 3, 4, 61, 1, 100, 0, 0, 0, 0, 0, 80, 338900, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Regthar Deathgate - Linked with Previous Event - Run script'),
+(3389, 0, 4, 0, 61, 1, 100, 0, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Regthar Deathgate - Linked with Previous Event - Set Phase 2'),
+(3389, 0, 5, 0, 1, 0, 100, 0, 300000, 300000, 300000, 300000, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Regthar Deathgate - OOC (P2) - Set Phase 1 '),
+(3389, 0, 6, 0, 20, 0, 100, 0, 4021, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Regthar Deathgate - On quest Reward - Set Phase 1 '),
+(3389, 0, 7, 8, 62, 1, 100, 0, 1882, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Regthar Deathgate - On Gossip Option Select - say text 0 '),
+(3389, 0, 8, 9, 61, 1, 100, 0, 0, 0, 0, 0, 80, 338900, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Regthar Deathgate - Linked with Previous Event - Run script'),
+(3389, 0, 9, 0, 61, 1, 100, 0, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Regthar Deathgate - Linked with Previous Event - Set Phase 2'),
+(3389, 0, 10, 0, 62, 0, 100, 0, 1882, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Regthar Deathgate - On Gossip Option Select - Close Gossip ');
+
+DELETE FROM `gossip_menu` WHERE `entry`=1882;
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
+(1882, 2533);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=1882;
+INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `OptionBroadcastTextID`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`, `BoxBroadcastTextID`) VALUES
+(1882, 0, 0, 'Where is Warlord Krom''zar?', 4793, 1, 1, 0, 0, 0, 0, '', 0);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=1882;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(15, 1882, 0, 0, 0, 9, 0, 4021, 0, 0, 0, 0, 0, '', 'Regthar Deathgate show gossip only if player on counterattack');
diff --git a/sql/updates/world/2015_11_01_08_world_2015_04_28_00.sql b/sql/updates/world/2015_11_01_08_world_2015_04_28_00.sql
new file mode 100644
index 00000000000..ee651b8473c
--- /dev/null
+++ b/sql/updates/world/2015_11_01_08_world_2015_04_28_00.sql
@@ -0,0 +1,2 @@
+UPDATE `creature_template` SET `gossip_menu_id`=10503 WHERE `entry`=33533;
+UPDATE `creature_template` SET `gossip_menu_id`=10504 WHERE `entry`=33532;
diff --git a/sql/updates/world/2015_11_01_09_world_2015_04_28_01.sql b/sql/updates/world/2015_11_01_09_world_2015_04_28_01.sql
new file mode 100644
index 00000000000..238e3097f48
--- /dev/null
+++ b/sql/updates/world/2015_11_01_09_world_2015_04_28_01.sql
@@ -0,0 +1,8 @@
+DELETE FROM `mail_loot_template` WHERE `Entry` in(269,270);
+
+INSERT INTO `mail_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
+(269, 46545, 0, 100, 0, 1, 0, 1, 1, NULL), -- Oracle
+(270, 46544, 0, 100, 0, 1, 0, 1, 1, NULL); -- Wolvar
+
+UPDATE `quest_template_addon` SET `RewardMailTemplateId`=269,`RewardMailDelay`=900 WHERE `Id`=13959;
+UPDATE `quest_template_addon` SET `RewardMailTemplateId`=270,`RewardMailDelay`=900 WHERE `Id`=13960;
diff --git a/sql/updates/world/2015_11_01_10_world_2015_04_28_02.sql b/sql/updates/world/2015_11_01_10_world_2015_04_28_02.sql
new file mode 100644
index 00000000000..c3eebf4ad7a
--- /dev/null
+++ b/sql/updates/world/2015_11_01_10_world_2015_04_28_02.sql
@@ -0,0 +1,5 @@
+DELETE FROM `gossip_menu` WHERE `entry`=8563;
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
+(8563, 10732); -- Blood Elf
+
+UPDATE `creature_template` SET `gossip_menu_id`=8563 WHERE `entry`=22817;
diff --git a/sql/updates/world/2015_11_01_11_world_2015_04_28_03.sql b/sql/updates/world/2015_11_01_11_world_2015_04_28_03.sql
new file mode 100644
index 00000000000..fac605b9f06
--- /dev/null
+++ b/sql/updates/world/2015_11_01_11_world_2015_04_28_03.sql
@@ -0,0 +1,5 @@
+UPDATE `creature_template` SET `gossip_menu_id`=5820 WHERE `entry`=14444;
+
+DELETE FROM `gossip_menu` WHERE `entry`=5820;
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
+(5820, 6993);
diff --git a/sql/updates/world/2015_11_01_12_world_2015_04_29_00.sql b/sql/updates/world/2015_11_01_12_world_2015_04_29_00.sql
new file mode 100644
index 00000000000..14ff30d9e14
--- /dev/null
+++ b/sql/updates/world/2015_11_01_12_world_2015_04_29_00.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `gameobject` SET `spawnMask`=1 WHERE `guid` IN (29765,29766,29767,29768,29769,29770,29771,29774);
diff --git a/sql/updates/world/2015_11_01_13_world_from_335.sql b/sql/updates/world/2015_11_01_13_world_from_335.sql
new file mode 100644
index 00000000000..34e87223b8d
--- /dev/null
+++ b/sql/updates/world/2015_11_01_13_world_from_335.sql
@@ -0,0 +1,4114 @@
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=24108;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=24108 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
+(24108,0,0,0,8,0,100,0,42436,0,0,0,11,47173,0,0,0,0,0,7,0,0,0,0,0,0,0,'S.T.O.U.T. - On Spellhit Drink! - Cast Credit');
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=16348;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=16348 AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=16345 AND `source_type`=0 AND `id`=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
+(16345, 0, 1, 0, 25, 0, 100, 0, 0, 0, 0, 0, 11, 28904, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Shadowpine Catlord - On Reset - Cast to summon Ghostclaw Lynx'),
+(16348, 0, 0, 0, 0, 0, 100, 0, 3000, 7000, 8000, 12000, 11, 16828, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Ghostclaw Lynx - IC - Cast Claw'),
+(16348, 0, 1, 0, 0, 0, 100, 0, 5000, 10000, 10000, 150000, 11, 59881, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Ghostclaw Lynx - IC - Cast Rake');
+DELETE FROM `creature` WHERE `id`=3939;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=3939;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=3939 AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=3265 AND `source_type`=0 AND `id`=2;
+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
+(3265, 0, 2, 0, 25, 0, 100, 0, 0, 0, 0, 0, 11, 6479, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Razormane Hunter- On Reset - Cast to summon Razormane Wolf'),
+(3939, 0, 0, 0, 0, 0, 100, 0, 3000, 7000, 6000, 9000, 11, 17255, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Razormane Wolf - IC - Cast Bite'),
+(3939, 0, 1, 0, 0, 0, 100, 0, 5000, 10000, 22000, 25000, 11, 24604, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Razormane Wolf - IC - Furious Howl');
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup` IN (2, 3) AND `SourceEntry`=27743;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(22,2,27743,0,31,3,27743,0,0,'','event will not trigger if the spell is casted by 27743', 1),
+(22,3,27743,0,31,3,27743,0,0,'','event will not trigger if the spell is casted by 27743', 1);
+DELETE FROM `spell_area` WHERE `spell` IN (40624, 40627, 40628);
+INSERT INTO `spell_area` (`spell`, `area`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
+(40624,3767,0,2,1,0,0), -- Apexis Vibrations
+(40624,3768,0,2,1,0,0),
+(40624,3769,0,2,1,0,0),
+(40624,3770,0,2,1,0,0),
+(40624,3771,0,2,1,0,0),
+(40624,3772,0,2,1,0,0),
+(40624,3773,0,2,1,0,0),
+(40624,3774,0,2,1,0,0),
+(40624,3775,0,2,1,0,0),
+(40624,3776,0,2,1,0,0),
+(40624,3777,0,2,1,0,0),
+(40624,3778,0,2,1,0,0),
+(40624,3779,0,2,1,0,0),
+(40624,3780,0,2,1,0,0),
+(40624,3781,0,2,1,0,0),
+(40624,3782,0,2,1,0,0),
+(40624,3783,0,2,1,0,0),
+(40624,3784,0,2,1,0,0),
+(40624,3785,0,2,1,0,0),
+(40624,3786,0,2,1,0,0),
+(40624,3787,0,2,1,0,0),
+(40624,3824,0,2,1,0,0),
+(40624,3825,0,2,1,0,0),
+(40624,3826,0,2,1,0,0),
+(40624,3827,0,2,1,0,0),
+(40624,3828,0,2,1,0,0),
+(40624,3829,0,2,1,0,0),
+(40624,3830,0,2,1,0,0),
+(40624,3831,0,2,1,0,0),
+(40624,3832,0,2,1,0,0),
+(40624,3833,0,2,1,0,0),
+(40624,3834,0,2,1,0,0),
+(40624,3844,0,2,1,0,0),
+(40624,3855,0,2,1,0,0),
+(40624,3862,0,2,1,0,0),
+(40624,3863,0,2,1,0,0),
+(40624,3864,0,2,1,0,0),
+(40624,3865,0,2,1,0,0),
+(40624,3866,0,2,1,0,0),
+(40624,3867,0,2,1,0,0),
+(40624,3903,0,2,1,0,0),
+(40624,3904,0,2,1,0,0),
+(40624,3918,0,2,1,0,0),
+(40624,3919,0,2,1,0,0),
+(40624,3922,0,2,1,0,0),
+(40624,3924,0,2,1,0,0),
+(40624,3925,0,2,1,0,0),
+(40624,3931,0,2,1,0,0),
+(40624,3942,0,2,1,0,0),
+(40624,3951,0,2,1,0,0),
+(40624,3952,0,2,1,0,0),
+(40624,3953,0,2,1,0,0),
+(40624,3954,0,2,1,0,0),
+(40624,3960,0,2,1,0,0),
+(40624,3962,0,2,1,0,0),
+(40624,3963,0,2,1,0,0),
+(40624,3964,0,2,1,0,0),
+(40624,3969,0,2,1,0,0),
+(40624,3970,0,2,1,0,0),
+(40624,3971,0,2,1,0,0),
+(40624,3972,0,2,1,0,0),
+(40624,4008,0,2,1,0,0),
+(40627,3767,0,2,1,0,0), -- Apexis Emanations
+(40627,3768,0,2,1,0,0),
+(40627,3769,0,2,1,0,0),
+(40627,3770,0,2,1,0,0),
+(40627,3771,0,2,1,0,0),
+(40627,3772,0,2,1,0,0),
+(40627,3773,0,2,1,0,0),
+(40627,3774,0,2,1,0,0),
+(40627,3775,0,2,1,0,0),
+(40627,3776,0,2,1,0,0),
+(40627,3777,0,2,1,0,0),
+(40627,3778,0,2,1,0,0),
+(40627,3779,0,2,1,0,0),
+(40627,3780,0,2,1,0,0),
+(40627,3781,0,2,1,0,0),
+(40627,3782,0,2,1,0,0),
+(40627,3783,0,2,1,0,0),
+(40627,3784,0,2,1,0,0),
+(40627,3785,0,2,1,0,0),
+(40627,3786,0,2,1,0,0),
+(40627,3787,0,2,1,0,0),
+(40627,3824,0,2,1,0,0),
+(40627,3825,0,2,1,0,0),
+(40627,3826,0,2,1,0,0),
+(40627,3827,0,2,1,0,0),
+(40627,3828,0,2,1,0,0),
+(40627,3829,0,2,1,0,0),
+(40627,3830,0,2,1,0,0),
+(40627,3831,0,2,1,0,0),
+(40627,3832,0,2,1,0,0),
+(40627,3833,0,2,1,0,0),
+(40627,3834,0,2,1,0,0),
+(40627,3844,0,2,1,0,0),
+(40627,3855,0,2,1,0,0),
+(40627,3862,0,2,1,0,0),
+(40627,3863,0,2,1,0,0),
+(40627,3864,0,2,1,0,0),
+(40627,3865,0,2,1,0,0),
+(40627,3866,0,2,1,0,0),
+(40627,3867,0,2,1,0,0),
+(40627,3903,0,2,1,0,0),
+(40627,3904,0,2,1,0,0),
+(40627,3918,0,2,1,0,0),
+(40627,3919,0,2,1,0,0),
+(40627,3922,0,2,1,0,0),
+(40627,3924,0,2,1,0,0),
+(40627,3925,0,2,1,0,0),
+(40627,3931,0,2,1,0,0),
+(40627,3942,0,2,1,0,0),
+(40627,3951,0,2,1,0,0),
+(40627,3952,0,2,1,0,0),
+(40627,3953,0,2,1,0,0),
+(40627,3954,0,2,1,0,0),
+(40627,3960,0,2,1,0,0),
+(40627,3962,0,2,1,0,0),
+(40627,3963,0,2,1,0,0),
+(40627,3964,0,2,1,0,0),
+(40627,3969,0,2,1,0,0),
+(40627,3970,0,2,1,0,0),
+(40627,3971,0,2,1,0,0),
+(40627,3972,0,2,1,0,0),
+(40627,4008,0,2,1,0,0),
+(40628,3767,0,2,1,0,0), -- Apexis Enlightment
+(40628,3768,0,2,1,0,0),
+(40628,3769,0,2,1,0,0),
+(40628,3770,0,2,1,0,0),
+(40628,3771,0,2,1,0,0),
+(40628,3772,0,2,1,0,0),
+(40628,3773,0,2,1,0,0),
+(40628,3774,0,2,1,0,0),
+(40628,3775,0,2,1,0,0),
+(40628,3776,0,2,1,0,0),
+(40628,3777,0,2,1,0,0),
+(40628,3778,0,2,1,0,0),
+(40628,3779,0,2,1,0,0),
+(40628,3780,0,2,1,0,0),
+(40628,3781,0,2,1,0,0),
+(40628,3782,0,2,1,0,0),
+(40628,3783,0,2,1,0,0),
+(40628,3784,0,2,1,0,0),
+(40628,3785,0,2,1,0,0),
+(40628,3786,0,2,1,0,0),
+(40628,3787,0,2,1,0,0),
+(40628,3824,0,2,1,0,0),
+(40628,3825,0,2,1,0,0),
+(40628,3826,0,2,1,0,0),
+(40628,3827,0,2,1,0,0),
+(40628,3828,0,2,1,0,0),
+(40628,3829,0,2,1,0,0),
+(40628,3830,0,2,1,0,0),
+(40628,3831,0,2,1,0,0),
+(40628,3832,0,2,1,0,0),
+(40628,3833,0,2,1,0,0),
+(40628,3834,0,2,1,0,0),
+(40628,3844,0,2,1,0,0),
+(40628,3855,0,2,1,0,0),
+(40628,3862,0,2,1,0,0),
+(40628,3863,0,2,1,0,0),
+(40628,3864,0,2,1,0,0),
+(40628,3865,0,2,1,0,0),
+(40628,3866,0,2,1,0,0),
+(40628,3867,0,2,1,0,0),
+(40628,3903,0,2,1,0,0),
+(40628,3904,0,2,1,0,0),
+(40628,3918,0,2,1,0,0),
+(40628,3919,0,2,1,0,0),
+(40628,3922,0,2,1,0,0),
+(40628,3924,0,2,1,0,0),
+(40628,3925,0,2,1,0,0),
+(40628,3931,0,2,1,0,0),
+(40628,3942,0,2,1,0,0),
+(40628,3951,0,2,1,0,0),
+(40628,3952,0,2,1,0,0),
+(40628,3953,0,2,1,0,0),
+(40628,3954,0,2,1,0,0),
+(40628,3960,0,2,1,0,0),
+(40628,3962,0,2,1,0,0),
+(40628,3963,0,2,1,0,0),
+(40628,3964,0,2,1,0,0),
+(40628,3969,0,2,1,0,0),
+(40628,3970,0,2,1,0,0),
+(40628,3971,0,2,1,0,0),
+(40628,3972,0,2,1,0,0),
+(40628,4008,0,2,1,0,0);
+
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (-40623,-40625,-40626) AND `spell_effect` IN (-40624,-40627,-40628);
+INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment`) VALUES
+(-40623, -40624, 0, 'Remove Swiftness if Apexis Vibrations is removed'),
+(-40625, -40627, 0, 'Remove Swiftness if Apexis Emanations is removed'),
+(-40626, -40628, 0, 'Remove Swiftness if Apexis Enlightment is removed');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry` IN (40624, 40627, 40628);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ScriptName`, `Comment`) VALUES
+(17,0,40624,0,0,1,0,40623, '', 'Swiftness - Only cast if Apexis Vibrations is active'),
+(17,0,40627,0,0,1,0,40625, '', 'Swiftness - Only cast if Apexis Emanations is active'),
+(17,0,40628,0,0,1,0,40626, '', 'Swiftness - Only cast if Apexis Enlightment is active');
+UPDATE `creature` SET `Map`=622, `position_x`=-3.57706, `position_y`=0.507499, `position_z`=34.0151, `spawndist`=0, `MovementType`=0 WHERE `guid`=134846;
+UPDATE `creature` SET `Map`=623, `position_x`=6.08656, `position_y`=-0.107499, `position_z`=20.5756, `spawndist`=0, `MovementType`=0 WHERE `guid`=134847;
+DELETE FROM `creature_loot_template` WHERE `entry` IN (36597, 39167) AND `Item`= 51315; -- Delete Sealed Chest from 10 difficulties loot list
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=1 AND `SourceEntry`=51315;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`Scriptname`,`Comment`) VALUES
+-- Lich King 25N
+(1,39166,51315,0,0,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39166,51315,0,0,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39166,51315,0,0,28,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log completed'),
+(1,39166,51315,0,0,9,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" in their quest log'),
+--
+(1,39166,51315,0,1,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39166,51315,0,1,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39166,51315,0,1,8,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log Rewarded'),
+(1,39166,51315,0,1,9,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" in their quest log'),
+--
+(1,39166,51315,0,2,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39166,51315,0,2,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39166,51315,0,2,28,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log completed'),
+(1,39166,51315,0,2,8,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" rewarded'),
+--
+(1,39166,51315,0,3,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39166,51315,0,3,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39166,51315,0,3,8,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log Rewarded'),
+(1,39166,51315,0,3,8,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" rewarded'),
+
+--
+(1,39166,51315,0,4,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39166,51315,0,4,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39166,51315,0,4,28,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log completed'),
+(1,39166,51315,0,4,28,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" Completed'),
+
+(1,39166,51315,0,5,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39166,51315,0,5,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39166,51315,0,5,8,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log Rewarded'),
+(1,39166,51315,0,5,28,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" Completed'),
+-- Lich King 25H
+(1,39168,51315,0,0,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39168,51315,0,0,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39168,51315,0,0,28,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log completed'),
+(1,39168,51315,0,0,9,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" in their quest log'),
+--
+(1,39168,51315,0,1,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39168,51315,0,1,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39168,51315,0,1,8,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log Rewarded'),
+(1,39168,51315,0,1,9,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" in their quest log'),
+--
+(1,39168,51315,0,2,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39168,51315,0,2,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39168,51315,0,2,28,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log completed'),
+(1,39168,51315,0,2,8,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" rewarded'),
+--
+(1,39168,51315,0,3,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39168,51315,0,3,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39168,51315,0,3,8,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log Rewarded'),
+(1,39168,51315,0,3,8,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" rewarded'),
+--
+(1,39168,51315,0,4,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39168,51315,0,4,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39168,51315,0,4,28,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log completed'),
+(1,39168,51315,0,4,28,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" Completed'),
+--
+(1,39168,51315,0,5,2,0,51315,1,1,1,0 ,'' , 'Sealed Chest will drop only if the player doesn''t have it already'),
+(1,39168,51315,0,5,3,0,49623,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player is wielding Shadowmourne'),
+(1,39168,51315,0,5,8,0,24914,0,0,1,0 ,'' , 'Sealed Chest will drop only if the player hasn''t "Personal Property" in their quest log Rewarded'),
+(1,39168,51315,0,5,28,0,24748,0,0,0,0 ,'' , 'Sealed Chest will drop only if the player has "The Lich King''s Last Stand" Completed');
+UPDATE `creature_text` SET `text`= "This is the last time I get caught! I promise! Bye!", `BroadcastTextId`=15308, `Language`=0 WHERE `entry`=20812;
+SET @GUID :=5625; -- 1 GOB guid set by TC
+SET @cover := 164819;
+SET @Portrait :=164825;
+SET @Assemblage :=8905;
+SET @ReliCoffer :=174564;
+SET @ReliCoffer2 :=174563;
+SET @ReliCoffer3 :=174562;
+SET @ReliCoffer4 :=174561;
+SET @ReliCoffer5 :=174560;
+SET @ReliCoffer6 :=174559;
+SET @ReliCoffer7 :=174554;
+SET @ReliCoffer8 :=174555;
+SET @ReliCoffer9 :=174556;
+SET @ReliCoffer10 :=174557;
+SET @ReliCoffer11 :=174566;
+SET @ReliCoffer12 :=174558;
+SET @DOOM :=9476;
+SET @Secret :=174553;
+SET @Dark :=174565;
+
+DELETE FROM `gameobject` WHERE `guid` IN (@GUID);
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseId`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES
+(@GUID,165554,230,1,169, 802.907, -356.401, -48.9423,0,0,0,-0.382683, 0.92388, 7200, 100, 1);
+
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@Assemblage, @DOOM);
+UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry` IN (@cover, @Dark, @Portrait, @ReliCoffer, @ReliCoffer2, @ReliCoffer3, @ReliCoffer4, @ReliCoffer5, @ReliCoffer6, @ReliCoffer7, @ReliCoffer8, @ReliCoffer9, @ReliCoffer10, @ReliCoffer11, @ReliCoffer12, @Secret);
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Assemblage AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=-46610 AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Assemblage*100 AND `source_type`=9;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Assemblage*100+1 AND `source_type`=9;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@DOOM AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@cover, @Dark, @Secret, @ReliCoffer, @ReliCoffer2, @ReliCoffer3, @ReliCoffer4, @ReliCoffer5, @ReliCoffer6, @ReliCoffer7, @ReliCoffer8, @ReliCoffer9, @ReliCoffer10, @ReliCoffer11, @ReliCoffer12) 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
+(@cover, 1, 0, 0, 64, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, @Portrait, 5, 0, 0, 0, 0, 0, 'Cover - On gossip hello - Remove flags'),
+(@ReliCoffer, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@ReliCoffer2, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer2, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@ReliCoffer3, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer3, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@ReliCoffer4, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer4, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@ReliCoffer5, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer5, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@ReliCoffer6, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer6, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@ReliCoffer7, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer7, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@ReliCoffer8, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer8, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@ReliCoffer9, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer9, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@ReliCoffer10, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer10, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@ReliCoffer11, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer11, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@ReliCoffer12, 1, 0, 1, 70, 0, 100, 0, 2, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 11, @Assemblage, 30, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Set data'),
+(@ReliCoffer12, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160836, 10, 0, 0, 0, 0, 0, 'ReliCoffer - On State 2 - Remove flags'),
+(@Assemblage, 0, 0, 0, 38, 0, 100, 0, 0, 1, 0, 0, 63, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - On data set - Increment Counter 1'), -- the counter nbr 1 is incremented here
+(@Assemblage, 0, 1, 2, 11, 0, 100, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - On Respawn - Set passif'),
+(@Assemblage, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 18, 33554432, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - On Respawn - Add unit_flag'),
+(@Assemblage, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - On Respawn - SET PHASE EVENT 0'),
+(@Assemblage, 0, 4, 0, 77, 0, 100, 1, 1, 12, 0, 0, 80, @Assemblage*100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - On counter1=12 - Actionlist'), -- event triggred when the counter 1= 12
+(@Assemblage*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 19, 33554432, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - Actionlist - Remmove unit flag'),
+(@Assemblage*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - Actionlist - react agressif'),
+(@Assemblage*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - Actionlist - SET PHASE EVENT 0'),
+(@Assemblage, 0, 5, 0, 0, 0, 100, 0, 4000, 4000, 8000, 8000, 11, 15621, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - IC - Cast'),
+(@Secret, 1, 0, 0, 70, 0, 100, 0, 2, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 161495, 10, 0, 0, 0, 0, 0, 'Secret - On State 2 - Remove flags'),
+(@Dark, 1, 0, 0, 70, 0, 100, 0, 2, 0, 0, 0, 106, 16, 0, 0, 0, 0, 0, 20, 160845, 10, 0, 0, 0, 0, 0, '@Dark - On State 2 - Remove flags'),
+(-46610, 0, 0, 0, 38, 0, 100, 0, 0, 1, 0, 0, 63, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - On data set - Increment Counter1'), -- the counter nbr 1 is incremented here
+(-46610, 0, 1, 2, 11, 0, 100, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - On Respawn - Set passif'),
+(-46610, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 18, 33554432, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - On Respawn - Add unit_flag'),
+(-46610, 0, 4, 0, 77, 0, 100, 1, 1, 12, 0, 0, 80, @Assemblage*100+1, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - On counter1=12 - Actionlist'), -- event triggred when the counter 1= 12
+(@Assemblage*100+1, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 19, 33554432, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - Actionlist - Remmove unit flag'),
+(@Assemblage*100+1, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - Actionlist - react agressif'),
+(@Assemblage*100+1, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, @DOOM, 7, 0, 0, 0, 0, 8, 0, 0, 0, 813.737915, -347.550354, -50.578030, 0.670515, 'Assemblage - Actionlist - Summon'),
+(@Assemblage*100+1, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - Actionlist - SET PHASE EVENT 0'),
+(-46610, 0, 5, 0, 0, 0, 100, 0, 4000, 4000, 8000, 8000, 11, 15621, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Assemblage - IC - Cast'),
+(@DOOM, 0, 0, 0, 0, 0, 100, 0, 4000, 4000, 8000, 8000, 11, 11971, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'DOOM - IC - Cast'),
+(@DOOM, 0, 1, 0, 0, 0, 100, 0, 10000, 10000, 14000, 14000, 11, 15504, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'DOOM - IC - Cast'),
+(@DOOM, 0, 2, 0, 6, 0, 100, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 20, 174553, 70, 0, 0, 0, 0, 0, 'DOOM - On death - Activate gob'),
+(@DOOM, 0, 3, 0, 4, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'DOOM - On aggro - Talk');
+
+DELETE FROM `creature_text` WHERE `entry`IN (@DOOM);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextID`) VALUES
+(@DOOM,0,0,"What are you doing? Intruders!!",14,0,100,0,0,0,'Watchman Doomgrip', 4962);
+SET @GUID := 16397; -- 1 creature guid Set by TC
+DELETE FROM `creature` WHERE `id`=16123;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`,`curhealth`) VALUES
+(@GUID, 16123, 0, 1, 169, -14457.221680, 448.084534, 20.406971, 6.115618, 600, 0);
+
+DELETE FROM `creature_template_addon` WHERE `entry` IN (16123, 16033, 16016);
+INSERT INTO `creature_template_addon` (`entry`,`bytes1`,`bytes2`, `emote`, `auras`) VALUES
+(16123,0,0,0,"27614 17327 44816"),
+(16033,0,0,0,"27614 17327"),
+(16016,0,0,0,"27614 17327");
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry`=38606;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(17,0,38606,0,0,31,1,3,21326,0,0,0,0,'','Exorcism Feather can be used only on Raven''s Wood Leafbeard');
+
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (21326, 22226);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (21326, 22226) 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
+(21326, 0, 0, 0, 0, 0, 100, 0, 10000, 12000, 35000, 40000, 11, 37696, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Raven''s Wood Leafbeard - IC - cast Force of Nature'),
+(21326, 0, 1, 2, 38, 0, 100, 0, 0, 1, 0, 0, 2, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Raven''s Wood Leafbeard - On Data set - Set faction'),
+(21326, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Raven''s Wood Leafbeard - On Data set - Show emote'),
+(21326, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 2, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Raven''s Wood Leafbeard - On Data set - Set faction'),
+(21326, 0, 4, 5, 61, 0, 100, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Raven''s Wood Leafbeard - On Data set - Evade'),
+(21326, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 30000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Raven''s Wood Leafbeard - On Data set - Despawn'),
+(22226, 0, 0, 0, 0, 0, 100, 0, 5000, 7000, 8000, 10000, 11, 36093, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Koi-Koi Spirit - IC - Ghost Strike'),
+(22226, 0, 1, 0, 6, 0, 100, 0, 0, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 19, 21326, 40, 0, 0, 0, 0,0,'Koi-Koi Spirit - On death - Set data');
+
+DELETE FROM `creature_text` WHERE `entry`= 21326;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(21326,0,0,'The %s appears very grateful to be free of the koi-koi spirit''s influence.',16,0,100,0,0,0,'Raven''s Wood Leafbeard ', 19943);
+DELETE FROM `conditions` where `SourceTypeOrReferenceId`=17 AND `SourceEntry`=72590;
+
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(17, 0, 72590, 0, 0,27, 1, 70, 3, 0, 0, 0, 0, '', 'Minimum Level for Runescroll of Fortitude on players (70)');
+--
+UPDATE `creature_template` SET `InhabitType`=7 WHERE `entry` IN (28086, 28085);
+UPDATE `smart_scripts` SET `target_type`=21, `target_param1`=8 WHERE `entryorguid` IN (32639, 32638, 32641, 32642) AND `id`=2; -- fix text target for Traveler's Tundra Mammoth's npcs
+-- Add SAI support for Lance a Lot achievement ID: 2836
+-- Champions SAI mechanic
+SET @Sen_Valiant := 33285;
+SET @Script := 3328500;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@Sen_Valiant;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Sen_Valiant;
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=@Script;
+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
+(@Sen_Valiant,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Valiant - On Reset - Remove auras from Defend'),
+(@Sen_Valiant,0,1,2,62,0,100,0,10469,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Sen Valiant - On gossip select - Close gossip'),
+(@Sen_Valiant,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Sen Valiant - Linked with previous event - store target'),
+(@Sen_Valiant,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Valiant - Linked with previous event - Call timed actionlist'),
+(@Sen_Valiant,0,4,0,52,0,100,0,0,@Sen_Valiant,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'Sen Valiant - On text over - Cast Charge'),
+(@Sen_Valiant,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'Sen Valiant - IC - Cast Thrust'),
+(@Sen_Valiant,0,6,0,9,0,100,0,5,5,4000,7000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Sen Valiant - On more than 5 yard range - Cast Shield-Breaker'),
+(@Sen_Valiant,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Valiant - IC - Move forward 12 yards'),
+(@Sen_Valiant,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'Sen Valiant - On 10-12 yard range - Cast Charge'),
+(@Sen_Valiant,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Sen Valiant - Linked with previous event - Cast Shield-Breaker'),
+(@Sen_Valiant,0,10,11,2,0,100,1,1,3,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Valiant - On HP% between 1% and 3% - Change faction to 35'),
+(@Sen_Valiant,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Valiant - Linked with previous event - Say text'),
+(@Sen_Valiant,0,12,13,61,0,100,0,0,0,0,0,85,62724,0,0,0,0,0,12,1,0,0,0,0,0,0,'Sen Valiant - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@Sen_Valiant,0,13,14,61,0,100,0,0,0,0,0,85,64812,0,0,0,0,0,12,1,0,0,0,0,0,0,'Sen Valiant - Linked with previous event - Cast credit'),
+(@Sen_Valiant,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Valiant - Linked with previous event - Evade'),
+(@Sen_Valiant,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Valiant - On player killed - Say text'),
+(@Sen_Valiant,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Valiant - Linked with previous event - Set unseen'),
+(@Sen_Valiant,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Valiant - Linked with previous event - Despawn in 1 ms'),
+-- Timed actionlist 1
+(@Script,9,1,0,0,0,100,0,0,0,0,0,42,0,1,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Set INVINCIBILITY'),
+(@Script,9,2,0,0,0,100,0,0,0,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Set run ON'),
+(@Script,9,3,0,0,0,100,0,0,0,0,0,11,62719,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Cast Defend on self/Layer 1/'),
+(@Script,9,4,0,0,0,100,0,0,0,0,0,11,62719,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Cast Defend on self/Layer 2/'),
+(@Script,9,5,0,0,0,100,0,0,0,0,0,11,62719,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Cast Defend on self/Layer 3/'),
+(@Script,9,6,0,0,0,100,0,0,0,0,0,46,20,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Move forward 15 yards'),
+(@Script,9,7,0,0,0,100,0,0,0,0,0,59,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Set run Off'),
+(@Script,9,8,0,0,0,100,0,0,0,0,0,11,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Cast aura TriggerS for Defend /10 sec one/'),
+(@Script,9,9,0,0,0,100,0,3500,3500,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Change faction to 14'),
+(@Script,9,10,0,0,0,100,0,0,0,0,0,1,0,1500,0,0,0,0,2,0,0,0,0,0,0,0,'All champions - Script 1 - Say text');
+-- Argent Valiants texts
+DELETE FROM `creature_text` WHERE `entry`= @Sen_Valiant;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextId`) VALUES
+(@Sen_Valiant,0,0,'Ready yourself!',12,1,100,0,0,0,'Argent Valiant', 33757),
+(@Sen_Valiant,0,1,'Prepare yourself!',12,1,100,0,0,0,'Argent Valiant', 33755),
+(@Sen_Valiant,0,2,'On your guard!',12,1,100,0,0,0,'Argent Valiant', 33756),
+(@Sen_Valiant,0,3,'Let it begin!',12,1,100,0,0,0,'Argent Valiant', 33758),
+(@Sen_Valiant,1,0,'Victory is mine!',12,1,100,0,0,0,'Argent Valiant', 33777),
+(@Sen_Valiant,1,1,'It seems you still need more practice. Perhaps another time.',12,1,100,0,0,0,'Argent Valiant', 33764),
+(@Sen_Valiant,1,2,'I have won. Better luck another time, friend.',12,1,100,0,0,0,'Argent Valiant', 33779),
+(@Sen_Valiant,1,3,'I am afraid you will need more practice to defeat me.',12,1,100,0,0,0,'Argent Valiant', 33778),
+(@Sen_Valiant,2,0,'I yield to you.',12,1,100,0,0,0,'Argent Valiant', 33774),
+(@Sen_Valiant,2,1,'That was a well fought battle. I yield to you.',12,1,100,0,0,0,'Argent Valiant', 33776),
+(@Sen_Valiant,2,2,'It would seem I underestimated your skills. Well done.',12,1,100,0,0,0,'Argent Valiant', 33775),
+(@Sen_Valiant,2,3,'I have been defeated. Good fight!',12,1,100,0,0,0,'Argent Valiant', 33760);
+-- Add condition for gossip option to show only, if player has quest: The Grand Melee is on tournament mount and have the spear equiped
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup` IN (10469, 10468, 10470, 10472, 10473, 10466, 10464, 10471, 10465, 10467);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ConditionTarget`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`,`NegativeCondition`) VALUES
+(15,10469,0,0,1,9,13772,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10469,0,0,1,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10469,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,2,9,13777,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10469,0,0,2,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10469,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,3,9,13782,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10469,0,0,3,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10469,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,4,9,13787,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10469,0,0,4,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10469,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,5,9,13767,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10469,0,0,5,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10469,0,0,5,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,5,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,6,9,13761,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10469,0,0,6,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10469,0,0,6,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,6,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,7,9,13745,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10469,0,0,7,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10469,0,0,7,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,7,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,8,9,13750,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10469,0,0,8,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10469,0,0,8,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,8,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,9,9,13756,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10469,0,0,9,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10469,0,0,9,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,9,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,10,9,13665,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10469,0,0,10,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10469,0,0,10,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10469,0,0,10,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,1,9,13772,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10468,0,0,1,1,64811,0,0,0,'','Show gossip menu only if don''t have the auran',1),
+(15,10468,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,2,9,13777,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10468,0,0,2,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10468,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,3,9,13782,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10468,0,0,3,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10468,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,4,9,13787,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10468,0,0,4,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10468,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,5,9,13767,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10468,0,0,5,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10468,0,0,5,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,5,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,6,9,13761,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10468,0,0,6,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10468,0,0,6,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,6,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,7,9,13745,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10468,0,0,7,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10468,0,0,7,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,7,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,8,9,13750,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10468,0,0,8,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10468,0,0,8,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,8,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,9,9,13756,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10468,0,0,9,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10468,0,0,9,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,9,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,10,9,13665,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10468,0,0,10,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10468,0,0,10,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10468,0,0,10,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,1,9,13772,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10470,0,0,1,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10470,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,2,9,13777,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10470,0,0,2,1,64813,0,0,0,'','Show gossip menu only if don''t have the auran',1),
+(15,10470,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,3,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10470,0,0,3,9,13782,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10470,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,4,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10470,0,0,4,9,13787,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10470,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,5,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10470,0,0,5,9,13767,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10470,0,0,5,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,5,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,6,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10470,0,0,6,9,13761,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10470,0,0,6,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,6,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,7,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10470,0,0,7,9,13745,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10470,0,0,7,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,7,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,8,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10470,0,0,8,9,13750,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10470,0,0,8,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,8,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,9,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10470,0,0,9,9,13756,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10470,0,0,9,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,9,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,10,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10470,0,0,10,9,13665,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10470,0,0,10,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10470,0,0,10,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,1,9,13772,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10472,0,0,1,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10472,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,2,9,13777,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10472,0,0,2,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10472,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,3,9,13782,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10472,0,0,3,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10472,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,4,9,13787,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10472,0,0,4,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10472,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,5,9,13767,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10472,0,0,5,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10472,0,0,5,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,5,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,6,9,13761,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10472,0,0,6,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10472,0,0,6,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,6,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,7,9,13745,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10472,0,0,7,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10472,0,0,7,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,7,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,8,9,13750,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10472,0,0,8,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10472,0,0,8,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,8,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,9,9,13756,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10472,0,0,9,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10472,0,0,9,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,9,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,10,9,13665,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10472,0,0,10,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10472,0,0,10,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10472,0,0,10,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,1,9,13772,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10473,0,0,1,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10473,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,2,9,13777,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10473,0,0,2,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10473,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,3,9,13782,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10473,0,0,3,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10473,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,4,9,13787,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10473,0,0,4,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10473,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,5,9,13767,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10473,0,0,5,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10473,0,0,5,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,5,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,6,9,13761,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10473,0,0,6,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10473,0,0,6,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,6,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,7,9,13745,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10473,0,0,7,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10473,0,0,7,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,7,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,8,9,13750,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10473,0,0,8,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10473,0,0,8,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,8,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,9,9,13756,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10473,0,0,9,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10473,0,0,9,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,9,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,10,9,13665,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10473,0,0,10,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10473,0,0,10,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10473,0,0,10,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,1,9,13772,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10466,0,0,1,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10466,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,2,9,13777,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10466,0,0,2,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10466,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,3,9,13782,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10466,0,0,3,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10466,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,4,9,13787,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10466,0,0,4,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10466,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,5,9,13767,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10466,0,0,5,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10466,0,0,5,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,5,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,6,9,13761,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10466,0,0,6,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10466,0,0,6,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,6,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,7,9,13745,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10466,0,0,7,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10466,0,0,7,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,7,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,8,9,13750,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10466,0,0,8,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10466,0,0,8,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,8,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,9,9,13756,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10466,0,0,9,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10466,0,0,9,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,9,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,10,9,13665,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10466,0,0,10,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10466,0,0,10,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10466,0,0,10,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,1,9,13772,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10464,0,0,1,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10464,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,2,9,13777,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10464,0,0,2,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10464,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,3,9,13782,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10464,0,0,3,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10464,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,4,9,13787,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10464,0,0,4,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10464,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,5,9,13767,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10464,0,0,5,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10464,0,0,5,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,5,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,6,9,13761,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10464,0,0,6,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10464,0,0,6,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,6,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,7,9,13745,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10464,0,0,7,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10464,0,0,7,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,7,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,8,9,13750,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10464,0,0,8,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10464,0,0,8,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,8,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,9,9,13756,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10464,0,0,9,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10464,0,0,9,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,9,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,10,9,13665,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10464,0,0,10,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10464,0,0,10,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10464,0,0,10,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,1,9,13772,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10471,0,0,1,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10471,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,2,9,13777,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10471,0,0,2,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10471,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,3,9,13782,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10471,0,0,3,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10471,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,4,9,13787,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10471,0,0,4,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10471,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,5,9,13767,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10471,0,0,5,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10471,0,0,5,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,5,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,6,9,13761,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10471,0,0,6,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10471,0,0,6,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,6,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,7,9,13745,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10471,0,0,7,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10471,0,0,7,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,7,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,8,9,13750,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10471,0,0,8,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10471,0,0,8,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,8,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,9,9,13756,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10471,0,0,9,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10471,0,0,9,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,9,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,10,9,13665,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10471,0,0,10,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10471,0,0,10,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10471,0,0,10,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,1,9,13772,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10465,0,0,1,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10465,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,2,9,13777,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10465,0,0,2,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10465,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,3,9,13782,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10465,0,0,3,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10465,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,4,9,13787,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10465,0,0,4,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10465,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,5,9,13767,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10465,0,0,5,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10465,0,0,5,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,5,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,6,9,13761,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10465,0,0,6,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10465,0,0,6,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,6,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,7,9,13745,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10465,0,0,7,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10465,0,0,7,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,7,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,8,9,13750,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10465,0,0,8,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10465,0,0,8,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,8,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,9,9,13756,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10465,0,0,9,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10465,0,0,9,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,9,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,10,9,13665,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10465,0,0,10,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10465,0,0,10,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10465,0,0,10,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,1,9,13772,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10467,0,0,1,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10467,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,2,9,13777,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10467,0,0,2,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10467,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,3,9,13782,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10467,0,0,3,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10467,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,4,9,13787,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10467,0,0,4,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10467,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,5,9,13767,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10467,0,0,5,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10467,0,0,5,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,5,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,6,9,13761,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10467,0,0,6,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10467,0,0,6,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,6,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,7,9,13745,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10467,0,0,7,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10467,0,0,7,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,7,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,8,9,13750,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10467,0,0,8,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10467,0,0,8,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,8,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,9,9,13756,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10467,0,0,9,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10467,0,0,9,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,9,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,10,9,13665,0,0,0,'','Show gossip menu only if quest The Grand Mele is taken',0),
+(15,10467,0,0,10,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10467,0,0,10,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10467,0,0,10,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0);
+
+SET @Orgri_Valiant := 33306;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@Orgri_Valiant;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Orgri_Valiant;
+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
+(@Orgri_Valiant,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Valiant - On Reset - Remove auras from Defend'),
+(@Orgri_Valiant,0,1,2,62,0,100,0,10468,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Orgri Valiant - On gossip select - Close gossip'),
+(@Orgri_Valiant,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Orgri Valiant - Linked with previous event - store target'),
+(@Orgri_Valiant,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Valiant - Linked with previous event - Call timed actionlist'),
+(@Orgri_Valiant,0,4,0,52,0,100,0,0,@Orgri_Valiant,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'Orgri Valiant - On text over - Cast Charge'),
+(@Orgri_Valiant,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'Orgri Valiant - IC - Cast Thrust'),
+(@Orgri_Valiant,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Orgri Valiant - On more than 5 yard range - Cast Shield-Breaker'),
+(@Orgri_Valiant,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Valiant - IC - Move forward 12 yards'),
+(@Orgri_Valiant,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'Orgri Valiant - On 10-12 yard range - Cast Charge'),
+(@Orgri_Valiant,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Orgri Valiant - Linked with previous event - Cast Shield-Breaker'),
+(@Orgri_Valiant,0,10,11,2,0,100,1,1,3,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Valiant - On HP% between 1% and 3% - Change faction to 35'),
+(@Orgri_Valiant,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Valiant - Linked with previous event - Say text'),
+(@Orgri_Valiant,0,12,13,61,0,100,0,0,0,0,0,85,62724,0,0,0,0,0,12,1,0,0,0,0,0,0,'Orgri Valiant - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@Orgri_Valiant,0,13,14,61,0,100,0,0,0,0,0,85,64811,0,0,0,0,0,12,1,0,0,0,0,0,0,'Orgri Valiant - Linked with previous event - Cast credit'),
+(@Orgri_Valiant,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri_Valiant - Linked with previous event - Evade'),
+(@Orgri_Valiant,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Valiant - On player killed - Say text'),
+(@Orgri_Valiant,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Valiant - Linked with previous event - Set unseen'),
+(@Orgri_Valiant,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Valiant - Linked with previous event - Despawn in 1 ms');
+-- Argent Valiants texts
+DELETE FROM `creature_text` WHERE `entry`= @Orgri_Valiant;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextId`) VALUES
+(@Orgri_Valiant,0,0,'Ready yourself!',12,1,100,0,0,0,'Argent Valiant', 33757),
+(@Orgri_Valiant,0,1,'Prepare yourself!',12,1,100,0,0,0,'Argent Valiant', 33755),
+(@Orgri_Valiant,0,2,'On your guard!',12,1,100,0,0,0,'Argent Valiant', 33756),
+(@Orgri_Valiant,0,3,'Let it begin!',12,1,100,0,0,0,'Argent Valiant', 33758),
+(@Orgri_Valiant,1,0,'Victory is mine!',12,1,100,0,0,0,'Argent Valiant', 33777),
+(@Orgri_Valiant,1,1,'It seems you still need more practice. Perhaps another time.',12,1,100,0,0,0,'Argent Valiant', 33764),
+(@Orgri_Valiant,1,2,'I have won. Better luck another time, friend.',12,1,100,0,0,0,'Argent Valiant', 33779),
+(@Orgri_Valiant,1,3,'I am afraid you will need more practice to defeat me.',12,1,100,0,0,0,'Argent Valiant', 33778),
+(@Orgri_Valiant,2,0,'I yield to you.',12,1,100,0,0,0,'Argent Valiant', 33774),
+(@Orgri_Valiant,2,1,'That was a well fought battle. I yield to you.',12,1,100,0,0,0,'Argent Valiant', 33776),
+(@Orgri_Valiant,2,2,'It would seem I underestimated your skills. Well done.',12,1,100,0,0,0,'Argent Valiant', 33775),
+(@Orgri_Valiant,2,3,'I have been defeated. Good fight!',12,1,100,0,0,0,'Argent Valiant', 33760);
+SET @TB_Valiant := 33383;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@TB_Valiant;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@TB_Valiant;
+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
+(@TB_Valiant,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Valiant - On Reset - Remove auras from Defend'),
+(@TB_Valiant,0,1,2,62,0,100,0,10472,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'TB Valiant - On gossip select - Close gossip'),
+(@TB_Valiant,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'TB_Valiant - Linked with previous event - store target'),
+(@TB_Valiant,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'TB Valiant - Linked with previous event - Call timed actionlist'),
+(@TB_Valiant,0,4,0,52,0,100,0,0,@TB_Valiant,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'TB Valiant - On text over - Cast Charge'),
+(@TB_Valiant,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'TB Valiant - IC - Cast Thrust'),
+(@TB_Valiant,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'TB Valiant - On more than 5 yard range - Cast Shield-Breaker'),
+(@TB_Valiant,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Valiant - IC - Move forward 12 yards'),
+(@TB_Valiant,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'TB Valiant - On 10-12 yard range - Cast Charge'),
+(@TB_Valiant,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'TB Valiant - Linked with previous event - Cast Shield-Breaker'),
+(@TB_Valiant,0,10,11,2,0,100,1,1,3,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Valiant - On HP% between 1% and 3% - Change faction to 35'),
+(@TB_Valiant,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Valiant - Linked with previous event - Say text'),
+(@TB_Valiant,0,12,13,61,0,100,0,0,0,0,0,85,62724,0,0,0,0,0,12,1,0,0,0,0,0,0,'TB Valiant - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@TB_Valiant,0,13,14,61,0,100,0,0,0,0,0,85,64815,0,0,0,0,0,12,1,0,0,0,0,0,0,'TB Valiant - Linked with previous event - Cast credit'),
+(@TB_Valiant,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB_Valiant - Linked with previous event - Evade'),
+(@TB_Valiant,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Valiant - On player killed - Say text'),
+(@TB_Valiant,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Valiant - Linked with previous event - Set unseen'),
+(@TB_Valiant,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Valiant - Linked with previous event - Despawn in 1 ms');
+-- Argent Valiants texts
+DELETE FROM `creature_text` WHERE `entry`= @TB_Valiant;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextId`) VALUES
+(@TB_Valiant,0,0,'Ready yourself!',12,1,100,0,0,0,'Argent Valiant', 33757),
+(@TB_Valiant,0,1,'Prepare yourself!',12,1,100,0,0,0,'Argent Valiant', 33755),
+(@TB_Valiant,0,2,'On your guard!',12,1,100,0,0,0,'Argent Valiant', 33756),
+(@TB_Valiant,0,3,'Let it begin!',12,1,100,0,0,0,'Argent Valiant', 33758),
+(@TB_Valiant,1,0,'Victory is mine!',12,1,100,0,0,0,'Argent Valiant', 33777),
+(@TB_Valiant,1,1,'It seems you still need more practice. Perhaps another time.',12,1,100,0,0,0,'Argent Valiant', 33764),
+(@TB_Valiant,1,2,'I have won. Better luck another time, friend.',12,1,100,0,0,0,'Argent Valiant', 33779),
+(@TB_Valiant,1,3,'I am afraid you will need more practice to defeat me.',12,1,100,0,0,0,'Argent Valiant', 33778),
+(@TB_Valiant,2,0,'I yield to you.',12,1,100,0,0,0,'Argent Valiant', 33774),
+(@TB_Valiant,2,1,'That was a well fought battle. I yield to you.',12,1,100,0,0,0,'Argent Valiant', 33776),
+(@TB_Valiant,2,2,'It would seem I underestimated your skills. Well done.',12,1,100,0,0,0,'Argent Valiant', 33775),
+(@TB_Valiant,2,3,'I have been defeated. Good fight!',12,1,100,0,0,0,'Argent Valiant', 33760);
+SET @SM_Valiant := 33382;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@SM_Valiant;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@SM_Valiant;
+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
+(@SM_Valiant,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Valiant - On Reset - Remove auras from Defend'),
+(@SM_Valiant,0,1,2,62,0,100,0,10470,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'SM Valiant - On gossip select - Close gossip'),
+(@SM_Valiant,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'SM_Valiant - Linked with previous event - store target'),
+(@SM_Valiant,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'SM Valiant - Linked with previous event - Call timed actionlist'),
+(@SM_Valiant,0,4,0,52,0,100,0,0,@SM_Valiant,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'SM Valiant - On text over - Cast Charge'),
+(@SM_Valiant,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'SM Valiant - IC - Cast Thrust'),
+(@SM_Valiant,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'SM Valiant - On more than 5 yard range - Cast Shield-Breaker'),
+(@SM_Valiant,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Valiant - IC - Move forward 12 yards'),
+(@SM_Valiant,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'SM Valiant - On 10-12 yard range - Cast Charge'),
+(@SM_Valiant,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'SM Valiant - Linked with previous event - Cast Shield-Breaker'),
+(@SM_Valiant,0,10,11,2,0,100,1,1,3,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Valiant - On HP% between 1% and 3% - Change faction to 35'),
+(@SM_Valiant,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Valiant - Linked with previous event - Say text'),
+(@SM_Valiant,0,12,13,61,0,100,0,0,0,0,0,85,62724,0,0,0,0,0,12,1,0,0,0,0,0,0,'SM Valiant - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@SM_Valiant,0,13,14,61,0,100,0,0,0,0,0,85,64813,0,0,0,0,0,12,1,0,0,0,0,0,0,'SM Valiant - Linked with previous event - Cast credit'),
+(@SM_Valiant,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM_Valiant - Linked with previous event - Evade'),
+(@SM_Valiant,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Valiant - On player killed - Say text'),
+(@SM_Valiant,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Valiant - Linked with previous event - Set unseen'),
+(@SM_Valiant,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Valiant - Linked with previous event - Despawn in 1 ms');
+-- Argent Valiants texts
+DELETE FROM `creature_text` WHERE `entry`= @SM_Valiant;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextId`) VALUES
+(@SM_Valiant,0,0,'Ready yourself!',12,1,100,0,0,0,'Argent Valiant', 33757),
+(@SM_Valiant,0,1,'Prepare yourself!',12,1,100,0,0,0,'Argent Valiant', 33755),
+(@SM_Valiant,0,2,'On your guard!',12,1,100,0,0,0,'Argent Valiant', 33756),
+(@SM_Valiant,0,3,'Let it begin!',12,1,100,0,0,0,'Argent Valiant', 33758),
+(@SM_Valiant,1,0,'Victory is mine!',12,1,100,0,0,0,'Argent Valiant', 33777),
+(@SM_Valiant,1,1,'It seems you still need more practice. Perhaps another time.',12,1,100,0,0,0,'Argent Valiant', 33764),
+(@SM_Valiant,1,2,'I have won. Better luck another time, friend.',12,1,100,0,0,0,'Argent Valiant', 33779),
+(@SM_Valiant,1,3,'I am afraid you will need more practice to defeat me.',12,1,100,0,0,0,'Argent Valiant', 33778),
+(@SM_Valiant,2,0,'I yield to you.',12,1,100,0,0,0,'Argent Valiant', 33774),
+(@SM_Valiant,2,1,'That was a well fought battle. I yield to you.',12,1,100,0,0,0,'Argent Valiant', 33776),
+(@SM_Valiant,2,2,'It would seem I underestimated your skills. Well done.',12,1,100,0,0,0,'Argent Valiant', 33775),
+(@SM_Valiant,2,3,'I have been defeated. Good fight!',12,1,100,0,0,0,'Argent Valiant', 33760);
+SET @GR_Valiant := 33558;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@GR_Valiant;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@GR_Valiant;
+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
+(@GR_Valiant,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Valiant - On Reset - Remove auras from Defend'),
+(@GR_Valiant,0,1,2,62,0,100,0,10466,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'GR Valiant - On gossip select - Close gossip'),
+(@GR_Valiant,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'GR_Valiant - Linked with previous event - store target'),
+(@GR_Valiant,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'GR Valiant - Linked with previous event - Call timed actionlist'),
+(@GR_Valiant,0,4,0,52,0,100,0,0,@GR_Valiant,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'GR Valiant - On text over - Cast Charge'),
+(@GR_Valiant,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'GR Valiant - IC - Cast Thrust'),
+(@GR_Valiant,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'GR Valiant - On more than 5 yard range - Cast Shield-Breaker'),
+(@GR_Valiant,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Valiant - IC - Move forward 12 yards'),
+(@GR_Valiant,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'GR Valiant - On 10-12 yard range - Cast Charge'),
+(@GR_Valiant,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'GR Valiant - Linked with previous event - Cast Shield-Breaker'),
+(@GR_Valiant,0,10,11,2,0,100,1,1,3,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Valiant - On HP% between 1% and 3% - Change faction to 35'),
+(@GR_Valiant,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Valiant - Linked with previous event - Say text'),
+(@GR_Valiant,0,12,13,61,0,100,0,0,0,0,0,85,62724,0,0,0,0,0,12,1,0,0,0,0,0,0,'GR Valiant - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@GR_Valiant,0,13,14,61,0,100,0,0,0,0,0,85,64809,0,0,0,0,0,12,1,0,0,0,0,0,0,'GR Valiant - Linked with previous event - Cast credit'),
+(@GR_Valiant,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR_Valiant - Linked with previous event - Evade'),
+(@GR_Valiant,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Valiant - On player killed - Say text'),
+(@GR_Valiant,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Valiant - Linked with previous event - Set unseen'),
+(@GR_Valiant,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Valiant - Linked with previous event - Despawn in 1 ms');
+-- Argent Valiants texts
+DELETE FROM `creature_text` WHERE `entry`= @GR_Valiant;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextId`) VALUES
+(@GR_Valiant,0,0,'Ready yourself!',12,7,100,0,0,0,'Argent Valiant', 33757),
+(@GR_Valiant,0,1,'Prepare yourself!',12,7,100,0,0,0,'Argent Valiant', 33755),
+(@GR_Valiant,0,2,'On your guard!',12,7,100,0,0,0,'Argent Valiant', 33756),
+(@GR_Valiant,0,3,'Let it begin!',12,7,100,0,0,0,'Argent Valiant', 33758),
+(@GR_Valiant,1,0,'Victory is mine!',12,7,100,0,0,0,'Argent Valiant', 33777),
+(@GR_Valiant,1,1,'It seems you still need more practice. Perhaps another time.',12,7,100,0,0,0,'Argent Valiant', 33764),
+(@GR_Valiant,1,2,'I have won. Better luck another time, friend.',12,7,100,0,0,0,'Argent Valiant', 33779),
+(@GR_Valiant,1,3,'I am afraid you will need more practice to defeat me.',12,7,100,0,0,0,'Argent Valiant', 33778),
+(@GR_Valiant,2,0,'I yield to you.',12,7,100,0,0,0,'Argent Valiant', 33774),
+(@GR_Valiant,2,1,'That was a well fought battle. I yield to you.',12,7,100,0,0,0,'Argent Valiant', 33776),
+(@GR_Valiant,2,2,'It would seem I underestimated your skills. Well done.',12,7,100,0,0,0,'Argent Valiant', 33775),
+(@GR_Valiant,2,3,'I have been defeated. Good fight!',12,7,100,0,0,0,'Argent Valiant', 33760);
+SET @IF_Valiant := 33564;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@IF_Valiant;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@IF_Valiant;
+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
+(@IF_Valiant,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Valiant - On Reset - Remove auras from Defend'),
+(@IF_Valiant,0,1,2,62,0,100,0,10467,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'IF Valiant - On gossip select - Close gossip'),
+(@IF_Valiant,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'IF_Valiant - Linked with previous event - store target'),
+(@IF_Valiant,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'IF Valiant - Linked with previous event - Call timed actionlist'),
+(@IF_Valiant,0,4,0,52,0,100,0,0,@IF_Valiant,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'IF Valiant - On text over - Cast Charge'),
+(@IF_Valiant,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'IF Valiant - IC - Cast Thrust'),
+(@IF_Valiant,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'IF Valiant - On more than 5 yard range - Cast Shield-Breaker'),
+(@IF_Valiant,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Valiant - IC - Move forward 12 yards'),
+(@IF_Valiant,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'IF Valiant - On 10-12 yard range - Cast Charge'),
+(@IF_Valiant,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'IF Valiant - Linked with previous event - Cast Shield-Breaker'),
+(@IF_Valiant,0,10,11,2,0,100,1,1,3,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Valiant - On HP% between 1% and 3% - Change faction to 35'),
+(@IF_Valiant,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Valiant - Linked with previous event - Say text'),
+(@IF_Valiant,0,12,13,61,0,100,0,0,0,0,0,85,62724,0,0,0,0,0,12,1,0,0,0,0,0,0,'IF Valiant - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@IF_Valiant,0,13,14,61,0,100,0,0,0,0,0,85,64810,0,0,0,0,0,12,1,0,0,0,0,0,0,'IF Valiant - Linked with previous event - Cast credit'),
+(@IF_Valiant,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF_Valiant - Linked with previous event - Evade'),
+(@IF_Valiant,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Valiant - On player killed - Say text'),
+(@IF_Valiant,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Valiant - Linked with previous event - Set unseen'),
+(@IF_Valiant,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Valiant - Linked with previous event - Despawn in 1 ms');
+-- Argent Valiants texts
+DELETE FROM `creature_text` WHERE `entry`= @IF_Valiant;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextId`) VALUES
+(@IF_Valiant,0,0,'Ready yourself!',12,7,100,0,0,0,'Argent Valiant', 33757),
+(@IF_Valiant,0,1,'Prepare yourself!',12,7,100,0,0,0,'Argent Valiant', 33755),
+(@IF_Valiant,0,2,'On your guard!',12,7,100,0,0,0,'Argent Valiant', 33756),
+(@IF_Valiant,0,3,'Let it begin!',12,7,100,0,0,0,'Argent Valiant', 33758),
+(@IF_Valiant,1,0,'Victory is mine!',12,7,100,0,0,0,'Argent Valiant', 33777),
+(@IF_Valiant,1,1,'It seems you still need more practice. Perhaps another time.',12,7,100,0,0,0,'Argent Valiant', 33764),
+(@IF_Valiant,1,2,'I have won. Better luck another time, friend.',12,7,100,0,0,0,'Argent Valiant', 33779),
+(@IF_Valiant,1,3,'I am afraid you will need more practice to defeat me.',12,7,100,0,0,0,'Argent Valiant', 33778),
+(@IF_Valiant,2,0,'I yield to you.',12,7,100,0,0,0,'Argent Valiant', 33774),
+(@IF_Valiant,2,1,'That was a well fought battle. I yield to you.',12,7,100,0,0,0,'Argent Valiant', 33776),
+(@IF_Valiant,2,2,'It would seem I underestimated your skills. Well done.',12,7,100,0,0,0,'Argent Valiant', 33775),
+(@IF_Valiant,2,3,'I have been defeated. Good fight!',12,7,100,0,0,0,'Argent Valiant', 33760);
+SET @SW_Valiant := 33561;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@SW_Valiant;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@SW_Valiant;
+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
+(@SW_Valiant,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Valiant - On Reset - Remove auras from Defend'),
+(@SW_Valiant,0,1,2,62,0,100,0,10471,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'SW Valiant - On gossip select - Close gossip'),
+(@SW_Valiant,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'SW_Valiant - Linked with previous event - store target'),
+(@SW_Valiant,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'SW Valiant - Linked with previous event - Call timed actionlist'),
+(@SW_Valiant,0,4,0,52,0,100,0,0,@SW_Valiant,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'SW Valiant - On text over - Cast Charge'),
+(@SW_Valiant,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'SW Valiant - IC - Cast Thrust'),
+(@SW_Valiant,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'SW Valiant - On more than 5 yard range - Cast Shield-Breaker'),
+(@SW_Valiant,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Valiant - IC - Move forward 12 yards'),
+(@SW_Valiant,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'SW Valiant - On 10-12 yard range - Cast Charge'),
+(@SW_Valiant,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'SW Valiant - Linked with previous event - Cast Shield-Breaker'),
+(@SW_Valiant,0,10,11,2,0,100,1,1,3,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Valiant - On HP% between 1% and 3% - Change faction to 35'),
+(@SW_Valiant,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Valiant - Linked with previous event - Say text'),
+(@SW_Valiant,0,12,13,61,0,100,0,0,0,0,0,85,62724,0,0,0,0,0,12,1,0,0,0,0,0,0,'SW Valiant - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@SW_Valiant,0,13,14,61,0,100,0,0,0,0,0,85,64814,0,0,0,0,0,12,1,0,0,0,0,0,0,'SW Valiant - Linked with previous event - Cast credit'),
+(@SW_Valiant,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW_Valiant - Linked with previous event - Evade'),
+(@SW_Valiant,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Valiant - On player killed - Say text'),
+(@SW_Valiant,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Valiant - Linked with previous event - Set unseen'),
+(@SW_Valiant,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Valiant - Linked with previous event - Despawn in 1 ms');
+-- Argent Valiants texts
+DELETE FROM `creature_text` WHERE `entry`= @SW_Valiant;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextId`) VALUES
+(@SW_Valiant,0,0,'Ready yourself!',12,7,100,0,0,0,'Argent Valiant', 33757),
+(@SW_Valiant,0,1,'Prepare yourself!',12,7,100,0,0,0,'Argent Valiant', 33755),
+(@SW_Valiant,0,2,'On your guard!',12,7,100,0,0,0,'Argent Valiant', 33756),
+(@SW_Valiant,0,3,'Let it begin!',12,7,100,0,0,0,'Argent Valiant', 33758),
+(@SW_Valiant,1,0,'Victory is mine!',12,7,100,0,0,0,'Argent Valiant', 33777),
+(@SW_Valiant,1,1,'It seems you still need more practice. Perhaps another time.',12,7,100,0,0,0,'Argent Valiant', 33764),
+(@SW_Valiant,1,2,'I have won. Better luck another time, friend.',12,7,100,0,0,0,'Argent Valiant', 33779),
+(@SW_Valiant,1,3,'I am afraid you will need more practice to defeat me.',12,7,100,0,0,0,'Argent Valiant', 33778),
+(@SW_Valiant,2,0,'I yield to you.',12,7,100,0,0,0,'Argent Valiant', 33774),
+(@SW_Valiant,2,1,'That was a well fought battle. I yield to you.',12,7,100,0,0,0,'Argent Valiant', 33776),
+(@SW_Valiant,2,2,'It would seem I underestimated your skills. Well done.',12,7,100,0,0,0,'Argent Valiant', 33775),
+(@SW_Valiant,2,3,'I have been defeated. Good fight!',12,7,100,0,0,0,'Argent Valiant', 33760);
+SET @Darn_Valiant := 33559;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@Darn_Valiant;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Darn_Valiant;
+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
+(@Darn_Valiant,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Valiant - On Reset - Remove auras from Defend'),
+(@Darn_Valiant,0,1,2,62,0,100,0,10464,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Darn Valiant - On gossip select - Close gossip'),
+(@Darn_Valiant,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Darn_Valiant - Linked with previous event - store target'),
+(@Darn_Valiant,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Valiant - Linked with previous event - Call timed actionlist'),
+(@Darn_Valiant,0,4,0,52,0,100,0,0,@Darn_Valiant,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'Darn Valiant - On text over - Cast Charge'),
+(@Darn_Valiant,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'Darn Valiant - IC - Cast Thrust'),
+(@Darn_Valiant,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Darn Valiant - On more than 5 yard range - Cast Shield-Breaker'),
+(@Darn_Valiant,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Valiant - IC - Move forward 12 yards'),
+(@Darn_Valiant,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'Darn Valiant - On 10-12 yard range - Cast Charge'),
+(@Darn_Valiant,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Darn Valiant - Linked with previous event - Cast Shield-Breaker'),
+(@Darn_Valiant,0,10,11,2,0,100,1,1,3,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Valiant - On HP% between 1% and 3% - Change faction to 35'),
+(@Darn_Valiant,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Valiant - Linked with previous event - Say text'),
+(@Darn_Valiant,0,12,13,61,0,100,0,0,0,0,0,85,62724,0,0,0,0,0,12,1,0,0,0,0,0,0,'Darn Valiant - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@Darn_Valiant,0,13,14,61,0,100,0,0,0,0,0,85,64805,0,0,0,0,0,12,1,0,0,0,0,0,0,'Darn Valiant - Linked with previous event - Cast credit'),
+(@Darn_Valiant,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn_Valiant - Linked with previous event - Evade'),
+(@Darn_Valiant,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Valiant - On player killed - Say text'),
+(@Darn_Valiant,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Valiant - Linked with previous event - Set unseen'),
+(@Darn_Valiant,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Valiant - Linked with previous event - Despawn in 1 ms');
+-- Argent Valiants texts
+DELETE FROM `creature_text` WHERE `entry`= @Darn_Valiant;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextId`) VALUES
+(@Darn_Valiant,0,0,'Ready yourself!',12,7,100,0,0,0,'Argent Valiant', 33757),
+(@Darn_Valiant,0,1,'Prepare yourself!',12,7,100,0,0,0,'Argent Valiant', 33755),
+(@Darn_Valiant,0,2,'On your guard!',12,7,100,0,0,0,'Argent Valiant', 33756),
+(@Darn_Valiant,0,3,'Let it begin!',12,7,100,0,0,0,'Argent Valiant', 33758),
+(@Darn_Valiant,1,0,'Victory is mine!',12,7,100,0,0,0,'Argent Valiant', 33777),
+(@Darn_Valiant,1,1,'It seems you still need more practice. Perhaps another time.',12,7,100,0,0,0,'Argent Valiant', 33764),
+(@Darn_Valiant,1,2,'I have won. Better luck another time, friend.',12,7,100,0,0,0,'Argent Valiant', 33779),
+(@Darn_Valiant,1,3,'I am afraid you will need more practice to defeat me.',12,7,100,0,0,0,'Argent Valiant', 33778),
+(@Darn_Valiant,2,0,'I yield to you.',12,7,100,0,0,0,'Argent Valiant', 33774),
+(@Darn_Valiant,2,1,'That was a well fought battle. I yield to you.',12,7,100,0,0,0,'Argent Valiant', 33776),
+(@Darn_Valiant,2,2,'It would seem I underestimated your skills. Well done.',12,7,100,0,0,0,'Argent Valiant', 33775),
+(@Darn_Valiant,2,3,'I have been defeated. Good fight!',12,7,100,0,0,0,'Argent Valiant', 33760);
+SET @Exo_Valiant := 33562;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@Exo_Valiant;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Exo_Valiant;
+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
+(@Exo_Valiant,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Valiant - On Reset - Remove auras from Defend'),
+(@Exo_Valiant,0,1,2,62,0,100,0,10465,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Exo Valiant - On gossip select - Close gossip'),
+(@Exo_Valiant,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Exo_Valiant - Linked with previous event - store target'),
+(@Exo_Valiant,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Valiant - Linked with previous event - Call timed actionlist'),
+(@Exo_Valiant,0,4,0,52,0,100,0,0,@Exo_Valiant,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'Exo Valiant - On text over - Cast Charge'),
+(@Exo_Valiant,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'Exo Valiant - IC - Cast Thrust'),
+(@Exo_Valiant,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Exo Valiant - On more than 5 yard range - Cast Shield-Breaker'),
+(@Exo_Valiant,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Valiant - IC - Move forward 12 yards'),
+(@Exo_Valiant,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'Exo Valiant - On 10-12 yard range - Cast Charge'),
+(@Exo_Valiant,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Exo Valiant - Linked with previous event - Cast Shield-Breaker'),
+(@Exo_Valiant,0,10,11,2,0,100,1,1,3,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Valiant - On HP% between 1% and 3% - Change faction to 35'),
+(@Exo_Valiant,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Valiant - Linked with previous event - Say text'),
+(@Exo_Valiant,0,12,13,61,0,100,0,0,0,0,0,85,62724,0,0,0,0,0,12,1,0,0,0,0,0,0,'Exo Valiant - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@Exo_Valiant,0,13,14,61,0,100,0,0,0,0,0,85,64808,0,0,0,0,0,12,1,0,0,0,0,0,0,'Exo Valiant - Linked with previous event - Cast credit'),
+(@Exo_Valiant,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo_Valiant - Linked with previous event - Evade'),
+(@Exo_Valiant,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Valiant - On player killed - Say text'),
+(@Exo_Valiant,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Valiant - Linked with previous event - Set unseen'),
+(@Exo_Valiant,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Valiant - Linked with previous event - Despawn in 1 ms');
+-- Argent Valiants texts
+DELETE FROM `creature_text` WHERE `entry`= @Exo_Valiant;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextId`) VALUES
+(@Exo_Valiant,0,0,'Ready yourself!',12,7,100,0,0,0,'Argent Valiant', 33757),
+(@Exo_Valiant,0,1,'Prepare yourself!',12,7,100,0,0,0,'Argent Valiant', 33755),
+(@Exo_Valiant,0,2,'On your guard!',12,7,100,0,0,0,'Argent Valiant', 33756),
+(@Exo_Valiant,0,3,'Let it begin!',12,7,100,0,0,0,'Argent Valiant', 33758),
+(@Exo_Valiant,1,0,'Victory is mine!',12,7,100,0,0,0,'Argent Valiant', 33777),
+(@Exo_Valiant,1,1,'It seems you still need more practice. Perhaps another time.',12,7,100,0,0,0,'Argent Valiant', 33764),
+(@Exo_Valiant,1,2,'I have won. Better luck another time, friend.',12,7,100,0,0,0,'Argent Valiant', 33779),
+(@Exo_Valiant,1,3,'I am afraid you will need more practice to defeat me.',12,7,100,0,0,0,'Argent Valiant', 33778),
+(@Exo_Valiant,2,0,'I yield to you.',12,7,100,0,0,0,'Argent Valiant', 33774),
+(@Exo_Valiant,2,1,'That was a well fought battle. I yield to you.',12,7,100,0,0,0,'Argent Valiant', 33776),
+(@Exo_Valiant,2,2,'It would seem I underestimated your skills. Well done.',12,7,100,0,0,0,'Argent Valiant', 33775),
+(@Exo_Valiant,2,3,'I have been defeated. Good fight!',12,7,100,0,0,0,'Argent Valiant', 33760);
+SET @UC_Valiant := 33384;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@UC_Valiant;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@UC_Valiant;
+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
+(@UC_Valiant,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Valiant - On Reset - Remove auras from Defend'),
+(@UC_Valiant,0,1,2,62,0,100,0,10473,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'UC Valiant - On gossip select - Close gossip'),
+(@UC_Valiant,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'UC_Valiant - Linked with previous event - store target'),
+(@UC_Valiant,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'UC Valiant - Linked with previous event - Call timed actionlist'),
+(@UC_Valiant,0,4,0,52,0,100,0,0,@UC_Valiant,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'UC Valiant - On text over - Cast Charge'),
+(@UC_Valiant,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'UC Valiant - IC - Cast Thrust'),
+(@UC_Valiant,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'UC Valiant - On more than 5 yard range - Cast Shield-Breaker'),
+(@UC_Valiant,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Valiant - IC - Move forward 12 yards'),
+(@UC_Valiant,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'UC Valiant - On 10-12 yard range - Cast Charge'),
+(@UC_Valiant,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'UC Valiant - Linked with previous event - Cast Shield-Breaker'),
+(@UC_Valiant,0,10,11,2,0,100,1,1,3,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Valiant - On HP% between 1% and 3% - Change faction to 35'),
+(@UC_Valiant,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Valiant - Linked with previous event - Say text'),
+(@UC_Valiant,0,12,13,61,0,100,0,0,0,0,0,85,62724,0,0,0,0,0,12,1,0,0,0,0,0,0,'UC Valiant - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@UC_Valiant,0,13,14,61,0,100,0,0,0,0,0,85,64816,0,0,0,0,0,12,1,0,0,0,0,0,0,'UC Valiant - Linked with previous event - Cast credit'),
+(@UC_Valiant,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC_Valiant - Linked with previous event - Evade'),
+(@UC_Valiant,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Valiant - On player killed - Say text'),
+(@UC_Valiant,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Valiant - Linked with previous event - Set unseen'),
+(@UC_Valiant,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Valiant - Linked with previous event - Despawn in 1 ms');
+-- Argent Valiants texts
+DELETE FROM `creature_text` WHERE `entry`= @UC_Valiant;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextId`) VALUES
+(@UC_Valiant,0,0,'Ready yourself!',12,1,100,0,0,0,'Argent Valiant', 33757),
+(@UC_Valiant,0,1,'Prepare yourself!',12,1,100,0,0,0,'Argent Valiant', 33755),
+(@UC_Valiant,0,2,'On your guard!',12,1,100,0,0,0,'Argent Valiant', 33756),
+(@UC_Valiant,0,3,'Let it begin!',12,1,100,0,0,0,'Argent Valiant', 33758),
+(@UC_Valiant,1,0,'Victory is mine!',12,1,100,0,0,0,'Argent Valiant', 33777),
+(@UC_Valiant,1,1,'It seems you still need more practice. Perhaps another time.',12,1,100,0,0,0,'Argent Valiant', 33764),
+(@UC_Valiant,1,2,'I have won. Better luck another time, friend.',12,1,100,0,0,0,'Argent Valiant', 33779),
+(@UC_Valiant,1,3,'I am afraid you will need more practice to defeat me.',12,1,100,0,0,0,'Argent Valiant', 33778),
+(@UC_Valiant,2,0,'I yield to you.',12,1,100,0,0,0,'Argent Valiant', 33774),
+(@UC_Valiant,2,1,'That was a well fought battle. I yield to you.',12,1,100,0,0,0,'Argent Valiant', 33776),
+(@UC_Valiant,2,2,'It would seem I underestimated your skills. Well done.',12,1,100,0,0,0,'Argent Valiant', 33775),
+(@UC_Valiant,2,3,'I have been defeated. Good fight!',12,1,100,0,0,0,'Argent Valiant', 33760);
+
+DELETE FROM `gossip_menu` WHERE `entry` IN (10469, 10468, 10470, 10472, 10473, 10466, 10464, 10471, 10465, 10467);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
+(10469, 14384),
+(10469, 14492),
+(10468, 14384),
+(10468, 14492),
+(10470, 14384),
+(10470, 14492),
+(10472, 14384),
+(10472, 14492),
+(10473, 14384),
+(10473, 14492),
+(10466, 14384),
+(10466, 14492),
+(10464, 14384),
+(10464, 14492),
+(10471, 14384),
+(10471, 14492),
+(10465, 14384),
+(10465, 14492),
+(10467, 14384),
+(10467, 14492);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup` IN (10469, 10468, 10470, 10472, 10473, 10466, 10464, 10471, 10465, 10467);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(14,10469,14384,0,1,64812,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10469,14492,0,1,64812,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10468,14384,0,1,64811,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10468,14492,0,1,64811,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10470,14384,0,1,64813,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10470,14492,0,1,64813,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10472,14384,0,1,64815,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10472,14492,0,1,64815,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10473,14384,0,1,64816,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10473,14492,0,1,64816,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10466,14384,0,1,64809,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10466,14492,0,1,64809,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10464,14384,0,1,64805,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10464,14492,0,1,64805,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10471,14384,0,1,64814,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10471,14492,0,1,64814,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10465,14384,0,1,64808,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10465,14492,0,1,64808,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10467,14384,0,1,64810,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10467,14492,0,1,64810,0,0,0,'','Show gossip menu text if the player have the aura', 0);
+--
+UPDATE `creature_text` SET `groupid`=0, `id`=1, `comment`='engineer helice SAY_WP_1' WHERE `entry`=28787 AND `BroadcastTextId`=28856;
+UPDATE `creature_text` SET `groupid`=6, `id`=1, `COMMENT`='engineer helice SAY_WP_7' WHERE `entry`=28787 AND `BroadcastTextId`=28865;
+UPDATE `creature_text` SET `groupid`=1, `id`=1, `COMMENT`='engineer helice SAY_WP_2' WHERE `entry`=28787 AND `BroadcastTextId`=28857;
+UPDATE `creature_text` SET `groupid`=2, `id`=1, `COMMENT`='engineer helice SAY_WP_3' WHERE `entry`=28787 AND `BroadcastTextId`=28859;
+UPDATE `creature_text` SET `groupid`=5, `id`=1, `COMMENT`='engineer helice SAY_WP_6' WHERE `entry`=28787 AND `BroadcastTextId`=28864;
+UPDATE `creature_text` SET `groupid`=4, `id`=1, `COMMENT`='engineer helice SAY_WP_5' WHERE `entry`=28787 AND `BroadcastTextId`=28862;
+--
+UPDATE `smart_scripts` SET `event_type`=25, `event_flags`=0 WHERE `entryorguid` IN (21784,21815, 21801) AND `source_type`=0 AND `id`=0;
+
+DELETE FROM `creature_formations` WHERE `leaderGUID`=76082;
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`) VALUES
+(76082,76082,0,0,2),
+(76082,76083,7,360,2),
+(76082,76084,14,360,2),
+(76082,76085,21,360,2);
+
+UPDATE `creature` SET `MovementType`=0, `spawndist`=0 WHERE `guid` IN (76083, 76084, 76085);
+UPDATE `creature` SET `MovementType`=2 WHERE `guid` IN (76082);
+DELETE FROM `creature_addon` WHERE `guid` IN (76082);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes1`,`bytes2`, `emote`, `auras`) VALUES
+(76082,760820,16777216,4097,0,"");
+DELETE FROM `creature` WHERE `id`=21998; -- wrong spawn, must be summoned by quest item only
+
+DELETE FROM `waypoint_data` WHERE (`id`=760820);
+INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
+(760820, 1, -3116.419922, 821.828979, -21.856766, 0, 0, 1, 0, 100, 0),
+(760820, 2, -3127.299561, 795.134766, -22.401117, 0, 0, 1, 0, 100, 0),
+(760820, 3, -3150.103027, 782.489380, -21.864737, 0, 0, 1, 0, 100, 0),
+(760820, 4, -3219.880615, 780.314880, -19.754417, 0, 0, 1, 0, 100, 0),
+(760820, 5, -3251.568604, 783.067688, -19.069899, 0, 0, 1, 0, 100, 0),
+(760820, 6, -3295.924072, 767.111877, -21.192102, 0, 0, 1, 0, 100, 0),
+(760820, 7, -3403.222656, 752.732056, -35.531361, 0, 0, 1, 0, 100, 0),
+(760820, 8, -3617.548828, 732.945862, -8.339263, 0, 0, 1, 0, 100, 0),
+(760820, 9, -3631.188965, 727.337463, -5.722647, 0, 0, 1, 0, 100, 0),
+(760820, 10, -3733.907471, 751.174744, 7.209823, 0, 0, 1, 0, 100, 0),
+(760820, 11, -3782.882813, 746.945984, 9.761057, 0, 0, 1, 0, 100, 0),
+(760820, 12, -3859.570068, 752.093506, 10.382468, 0, 0, 1, 0, 100, 0),
+(760820, 13, -3879.040283, 773.671936, 9.449715, 0, 0, 1, 0, 100, 0),
+(760820, 14, -3888.581787, 854.766663, 15.828053, 0, 0, 1, 0, 100, 0),
+(760820, 15, -3880.752930, 897.569763, 19.081347, 0, 0, 1, 0, 100, 0),
+(760820, 16, -3886.515137, 944.770691, 21.956785, 0, 0, 1, 0, 100, 0),
+(760820, 17, -3880.704834, 985.264221, 23.311592, 0, 0, 1, 0, 100, 0),
+(760820, 18, -3883.812012, 1007.772705, 23.589699, 0, 0, 1, 0, 100, 0),
+(760820, 19, -3975.737061, 1099.026733, 30.213566, 0, 0, 1, 0, 100, 0),
+(760820, 20, -4000.627197, 1143.911499, 41.125046, 0, 0, 1, 0, 100, 0),
+(760820, 21, -4036.700928, 1163.023804, 51.072033, 0, 0, 1, 0, 100, 0),
+(760820, 22, -4052.043457, 1183.807129, 57.569439, 0, 0, 1, 0, 100, 0),
+(760820, 23, -4053.111816, 1202.003784, 62.920666, 0, 0, 1, 0, 100, 0),
+(760820, 24, -4037.213623, 1261.900757, 78.336632, 0, 0, 1, 0, 100, 0),
+(760820, 25, -4038.152588, 1296.390991, 83.919540, 0, 0, 1, 0, 100, 0),
+(760820, 26, -4053.791504, 1370.539185, 84.908981, 0, 0, 1, 0, 100, 0),
+(760820, 27, -4054.700439, 1618.686279, 93.997330, 0, 0, 1, 0, 100, 0),
+(760820, 28, -4045.018799, 1643.987061, 94.251122, 0, 0, 1, 0, 100, 0),
+(760820, 29, -3983.812988, 1705.642944, 97.803833, 0, 0, 1, 0, 100, 0),
+(760820, 30, -3938.369141, 1738.914917, 98.837524, 0, 0, 1, 0, 100, 0),
+(760820, 31, -3900.309814, 1758.672363, 97.922089, 0, 0, 1, 0, 100, 0),
+(760820, 32, -3867.449707, 1786.059937, 94.361740, 0, 0, 1, 0, 100, 0),
+(760820, 33, -3850.530273, 1826.876221, 90.358040, 0, 0, 1, 0, 100, 0),
+(760820, 34, -3847.338867, 1880.751831, 86.640762, 0, 0, 1, 0, 100, 0),
+(760820, 35, -3814.812988, 1960.993286, 85.844566, 0, 0, 1, 0, 100, 0),
+(760820, 36, -3756.163574, 2030.727905, 84.516495, 0, 0, 1, 0, 100, 0),
+(760820, 37, -3752.126221, 2094.629395, 78.208092, 0, 0, 1, 0, 100, 0),
+(760820, 38, -3755.360352, 2146.251221, 75.892380, 0, 0, 1, 0, 100, 0),
+(760820, 39, -3743.547119, 2204.366699, 76.086136, 0, 0, 1, 0, 100, 0),
+(760820, 40, -3744.448975, 2262.760742, 76.763046, 0, 0, 1, 0, 100, 0),
+(760820, 41, -3714.628662, 2328.074219, 76.275826, 0, 0, 1, 0, 100, 0),
+(760820, 42, -3688.062256, 2347.847168, 76.348412, 0, 0, 1, 0, 100, 0),
+(760820, 43, -3674.596680, 2318.612061, 75.835876, 0, 0, 1, 0, 100, 0),
+(760820, 44, -3624.145264, 2310.810791, 74.901398, 0, 0, 1, 0, 100, 0),
+(760820, 45, -3596.897217, 2321.221191, 73.494583, 0, 0, 1, 0, 100, 0),
+(760820, 46, -3570.569824, 2315.111572, 71.091606, 0, 0, 1, 0, 100, 0),
+(760820, 47, -3505.514648, 2275.580811, 66.201355, 0, 0, 1, 0, 100, 0),
+(760820, 48, -3444.574219, 2289.437500, 63.707752, 0, 0, 1, 0, 100, 0),
+(760820, 49, -3402.431396, 2291.413818, 62.819668, 0, 0, 1, 0, 100, 0),
+(760820, 50, -3344.245605, 2280.061523, 61.217396, 0, 0, 1, 0, 100, 0),
+(760820, 51, -3266.743164, 2283.391113, 60.007225, 0, 0, 1, 0, 100, 0),
+(760820, 52, -3233.561279, 2292.924561, 59.882648, 0, 0, 1, 0, 100, 0),
+(760820, 53, -3221.570313, 2250.202393, 61.123081, 0, 0, 1, 0, 100, 0),
+(760820, 54, -3189.590088, 2199.339844, 64.705276, 0, 0, 1, 0, 100, 0),
+(760820, 55, -3175.489502, 2098.237549, 75.678909, 0, 0, 1, 0, 100, 0),
+(760820, 56, -3160.424316, 2081.004150, 80.764908, 0, 0, 1, 0, 100, 0),
+(760820, 57, -3141.073242, 2027.865112, 92.255219, 0, 0, 1, 0, 100, 0),
+(760820, 58, -3100.545654, 1987.315796, 100.928787, 0, 0, 1, 0, 100, 0),
+(760820, 59, -3079.955811, 1952.478638, 109.271744, 0, 0, 1, 0, 100, 0),
+(760820, 60, -3043.312744, 1921.660156, 112.361816, 0, 0, 1, 0, 100, 0),
+(760820, 61, -2973.852539, 1910.639648, 104.475471, 0, 0, 1, 0, 100, 0),
+(760820, 62, -2956.038086, 1893.901855, 99.170197, 0, 0, 1, 0, 100, 0),
+(760820, 63, -2950.733643, 1858.555664, 88.703011, 0, 0, 1, 0, 100, 0),
+(760820, 64, -2923.169678, 1824.131348, 70.827278, 0, 0, 1, 0, 100, 0),
+(760820, 65, -2889.111816, 1758.524658, 47.417206, 0, 0, 1, 0, 100, 0),
+(760820, 66, -2879.456299, 1722.608887, 39.589905, 0, 0, 1, 0, 100, 0),
+(760820, 67, -2865.740723, 1710.794922, 36.381069, 0, 0, 1, 0, 100, 0),
+(760820, 68, -2848.158691, 1707.713623, 32.244236, 0, 0, 1, 0, 100, 0),
+(760820, 69, -2824.067383, 1685.606934, 23.045313, 0, 0, 1, 0, 100, 0),
+(760820, 70, -2819.241943, 1641.792847, 13.334887, 0, 0, 1, 0, 100, 0),
+(760820, 71, -2871.091064, 1569.277466, 15.303233, 0, 0, 1, 0, 100, 0),
+(760820, 72, -2893.539063, 1492.087402, 14.836093, 0, 0, 1, 0, 100, 0),
+(760820, 73, -2981.375000, 1436.377686, 11.891064, 0, 0, 1, 0, 100, 0),
+(760820, 74, -2987.835693, 1401.822510, 11.926711, 0, 0, 1, 0, 100, 0),
+(760820, 75, -2988.486572, 1347.793457, 9.330483, 0, 0, 1, 0, 100, 0),
+(760820, 76, -3078.444580, 1254.076050, 10.399191, 0, 0, 1, 0, 100, 0),
+(760820, 77, -3090.341797, 1206.203125, 18.388882, 0, 0, 1, 0, 100, 0),
+(760820, 78, -3114.885986, 1174.320313, 25.699680, 0, 0, 1, 0, 100, 0),
+(760820, 79, -3112.093506, 1126.753174, 24.259985, 0, 0, 1, 0, 100, 0),
+(760820, 80, -3120.531982, 1096.862549, 19.402412, 0, 0, 1, 0, 100, 0),
+(760820, 81, -3113.394287, 1034.310425, 4.188662, 0, 0, 1, 0, 100, 0),
+(760820, 82, -3117.856445, 982.948914, -7.988031, 0, 0, 1, 0, 100, 0),
+(760820, 83, -3091.906494, 930.465881, -17.414244, 0, 0, 1, 0, 100, 0),
+(760820, 84, -3116.419922, 821.828979, -21.856766, 0, 0, 1, 0, 100, 0);
+--
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (29489, 29490);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (29489, 29490) AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (2949000, 2949001) AND `source_type`=9;
+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
+(29489, 0, 0, 0, 6, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Captain Welsington- On Death - Say text 1'),
+(29489, 0, 1, 0, 9, 0, 100, 0, 8, 25000, 8000, 12000, 11, 20615, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Captain Welsington - On 8-25 yard range - cast Intercept'),
+(29489, 0, 2, 0, 0, 0, 100, 0, 3000, 7000, 5000, 10000, 11, 16856, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Captain Welsington- IC - cast Mortal Strike'),
+(29490, 0, 0, 0, 6, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Captain Hartford - On Death - Say text 1'),
+(29490, 0, 1, 0, 9, 0, 100, 0, 0, 25000, 3000, 4000, 87, 2949000, 2949001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Captain Hartford - On 1-25 yard range - Random action list'),
+(2949000, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 20823, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Captain Hartford - action list - cast Fireball'),
+(2949001, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 20822, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Captain Hartford - action list - cast Frostbolt'),
+(29490, 0, 2, 0, 0, 0, 100, 0, 5000, 10000, 10000, 15000, 11, 11831, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Captain Hartford - IC - cast Frost Nova');
+
+DELETE FROM `creature_text` WHERE `entry` IN (29489, 29490);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextId`) VALUES
+(29489,0,0,'Archbishop Landgren must know! Aaaaaagggghhhh.....!',12,0,100,0,0,0,'Captain Welsington', 30161),
+(29490,0,0,'I don''t know where the grand admiral is. Go to hell!',12,0,100,0,0,0,'Captain Hartford', 30146);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` IN (29489, 29490);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,29489,0,0,9,0,12840,0,0,0,0,0,'','Captain Welsington- On Death - Say text 1 require quest 12840 taken'),
+(22,1,29490,0,0,9,0,12840,0,0,0,0,0,'','Captain Hartford - On Death - Say text 1 require quest 12840 taken');
+--
+DELETE FROM `creature_text` WHERE `entry` = 7779;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextID`) VALUES
+(7779,1,0,"Good day to you both. I would speak to Lord Lescovar.",12,0,100,0,0,0,'Priestess Tyriona', 3781),
+(7779,2,0,"Thank you. The Light be with you both.",12,0,100,0,0,0,'Priestess Tyriona', 3782),
+(7779,3,0,"Milord, your guest has arrived. He awaits your presence.",12,0,100,0,0,0,'Priestess Tyriona', 3762),
+(7779,4,0,"I shall use the time wisely, milord. Thank you.",12,0,100,0,0,0,'Priestess Tyriona', 3791);
+-- Add SAI support for Lance a Lot achievement ID: 2836 and Amongts the Champions quest
+-- Champions SAI mechanic
+SET @Sen_Champion := 33745;
+SET @Script := 3374500;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@Sen_Champion;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Sen_Champion;
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=@Script;
+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
+(@Sen_Champion,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Champion - On Reset - Remove auras from Defend'),
+(@Sen_Champion,0,1,2,62,0,100,0,10458,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Sen Champion - On gossip select - Close gossip'),
+(@Sen_Champion,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Sen Champion - Linked with previous event - store target'),
+(@Sen_Champion,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Champion - Linked with previous event - Call timed actionlist'),
+(@Sen_Champion,0,4,0,52,0,100,0,0,@Sen_Champion,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'Sen Champion - On text over - Cast Charge'),
+(@Sen_Champion,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'Sen Champion - IC - Cast Thrust'),
+(@Sen_Champion,0,6,0,9,0,100,0,5,5,4000,7000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Sen Champion - On more than 5 yard range - Cast Shield-Breaker'),
+(@Sen_Champion,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Champion - IC - Move forward 12 yards'),
+(@Sen_Champion,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'Sen Champion - On 10-12 yard range - Cast Charge'),
+(@Sen_Champion,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Sen Champion - Linked with previous event - Cast Shield-Breaker'),
+(@Sen_Champion,0,10,11,2,0,100,1,1,6,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Champion - On HP% between 1% and 6% - Change faction to 35'),
+(@Sen_Champion,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Champion - Linked with previous event - Say text'),
+(@Sen_Champion,0,12,13,61,0,100,0,0,0,0,0,85,63596,0,0,0,0,0,12,1,0,0,0,0,0,0,'Sen Champion - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@Sen_Champion,0,13,14,61,0,100,0,0,0,0,0,85,64812,0,0,0,0,0,12,1,0,0,0,0,0,0,'Sen Champion - Linked with previous event - Cast credit'),
+(@Sen_Champion,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Champion - Linked with previous event - Evade'),
+(@Sen_Champion,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Champion - On player killed - Say text'),
+(@Sen_Champion,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Champion - Linked with previous event - Set unseen'),
+(@Sen_Champion,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Sen Champion - Linked with previous event - Despawn in 1 ms'),
+-- Timed actionlist 1
+(@Script,9,1,0,0,0,100,0,0,0,0,0,42,0,1,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Set INVINCIBILITY'),
+(@Script,9,2,0,0,0,100,0,0,0,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Set run ON'),
+(@Script,9,3,0,0,0,100,0,0,0,0,0,11,62719,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Cast Defend on self/Layer 1/'),
+(@Script,9,4,0,0,0,100,0,0,0,0,0,11,62719,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Cast Defend on self/Layer 2/'),
+(@Script,9,5,0,0,0,100,0,0,0,0,0,11,62719,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Cast Defend on self/Layer 3/'),
+(@Script,9,6,0,0,0,100,0,0,0,0,0,46,20,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Move forward 15 yards'),
+(@Script,9,7,0,0,0,100,0,0,0,0,0,59,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Set run Off'),
+(@Script,9,8,0,0,0,100,0,0,0,0,0,11,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Cast aura TriggerS for Defend /10 sec one/'),
+(@Script,9,9,0,0,0,100,0,3500,3500,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0,'All champions - Script 1 - Change faction to 14'),
+(@Script,9,10,0,0,0,100,0,0,0,0,0,1,0,1500,0,0,0,0,2,0,0,0,0,0,0,0,'All champions - Script 1 - Say text');
+-- Argent Champions texts
+DELETE FROM `creature_text` WHERE `entry`= @Sen_Champion;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@Sen_Champion,0,0,'Ready yourself!',12,1,100,0,0,0,'Argent Champion', 33757),
+(@Sen_Champion,0,1,'Prepare yourself!',12,1,100,0,0,0,'Argent Champion', 33755),
+(@Sen_Champion,0,2,'On your guard!',12,1,100,0,0,0,'Argent Champion', 33756),
+(@Sen_Champion,0,3,'Let it begin!',12,1,100,0,0,0,'Argent Champion', 33758),
+(@Sen_Champion,1,0,'Victory is mine!',12,1,100,0,0,0,'Argent Champion', 33777),
+(@Sen_Champion,1,1,'It seems you still need more practice. Perhaps another time.',12,1,100,0,0,0,'Argent Champion', 33764),
+(@Sen_Champion,1,2,'I have won. Better luck another time, friend.',12,1,100,0,0,0,'Argent Champion', 33779),
+(@Sen_Champion,1,3,'I am afraid you will need more practice to defeat me.',12,1,100,0,0,0,'Argent Champion', 33778),
+(@Sen_Champion,2,0,'I yield to you.',12,1,100,0,0,0,'Argent Champion', 33774),
+(@Sen_Champion,2,1,'That was a well fought battle. I yield to you.',12,1,100,0,0,0,'Argent Champion', 33776),
+(@Sen_Champion,2,2,'It would seem I underestimated your skills. Well done.',12,1,100,0,0,0,'Argent Champion', 33775),
+(@Sen_Champion,2,3,'I have been defeated. Good fight!',12,1,100,0,0,0,'Argent Champion', 33760);
+
+SET @Orgri_Champion := 33744;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@Orgri_Champion;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Orgri_Champion;
+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
+(@Orgri_Champion,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Champion - On Reset - Remove auras from Defend'),
+(@Orgri_Champion,0,1,2,62,0,100,0,10457,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Orgri Champion - On gossip select - Close gossip'),
+(@Orgri_Champion,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Orgri Champion - Linked with previous event - store target'),
+(@Orgri_Champion,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Champion - Linked with previous event - Call timed actionlist'),
+(@Orgri_Champion,0,4,0,52,0,100,0,0,@Orgri_Champion,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'Orgri Champion - On text over - Cast Charge'),
+(@Orgri_Champion,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'Orgri Champion - IC - Cast Thrust'),
+(@Orgri_Champion,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Orgri Champion - On more than 5 yard range - Cast Shield-Breaker'),
+(@Orgri_Champion,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Champion - IC - Move forward 12 yards'),
+(@Orgri_Champion,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'Orgri Champion - On 10-12 yard range - Cast Charge'),
+(@Orgri_Champion,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Orgri Champion - Linked with previous event - Cast Shield-Breaker'),
+(@Orgri_Champion,0,10,11,2,0,100,1,1,6,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Champion - On HP% between 1% and 6% - Change faction to 35'),
+(@Orgri_Champion,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Champion - Linked with previous event - Say text'),
+(@Orgri_Champion,0,12,13,61,0,100,0,0,0,0,0,85,63596,0,0,0,0,0,12,1,0,0,0,0,0,0,'Orgri Champion - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@Orgri_Champion,0,13,14,61,0,100,0,0,0,0,0,85,64811,0,0,0,0,0,12,1,0,0,0,0,0,0,'Orgri Champion - Linked with previous event - Cast credit'),
+(@Orgri_Champion,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Champion - Linked with previous event - Evade'),
+(@Orgri_Champion,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Champion - On player killed - Say text'),
+(@Orgri_Champion,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Champion - Linked with previous event - Set unseen'),
+(@Orgri_Champion,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orgri Champion - Linked with previous event - Despawn in 1 ms');
+-- Argent Champions texts
+DELETE FROM `creature_text` WHERE `entry`= @Orgri_Champion;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@Orgri_Champion,0,0,'Ready yourself!',12,1,100,0,0,0,'Argent Champion', 33757),
+(@Orgri_Champion,0,1,'Prepare yourself!',12,1,100,0,0,0,'Argent Champion', 33755),
+(@Orgri_Champion,0,2,'On your guard!',12,1,100,0,0,0,'Argent Champion', 33756),
+(@Orgri_Champion,0,3,'Let it begin!',12,1,100,0,0,0,'Argent Champion', 33758),
+(@Orgri_Champion,1,0,'Victory is mine!',12,1,100,0,0,0,'Argent Champion', 33777),
+(@Orgri_Champion,1,1,'It seems you still need more practice. Perhaps another time.',12,1,100,0,0,0,'Argent Champion', 33764),
+(@Orgri_Champion,1,2,'I have won. Better luck another time, friend.',12,1,100,0,0,0,'Argent Champion', 33779),
+(@Orgri_Champion,1,3,'I am afraid you will need more practice to defeat me.',12,1,100,0,0,0,'Argent Champion', 33778),
+(@Orgri_Champion,2,0,'I yield to you.',12,1,100,0,0,0,'Argent Champion', 33774),
+(@Orgri_Champion,2,1,'That was a well fought battle. I yield to you.',12,1,100,0,0,0,'Argent Champion', 33776),
+(@Orgri_Champion,2,2,'It would seem I underestimated your skills. Well done.',12,1,100,0,0,0,'Argent Champion', 33775),
+(@Orgri_Champion,2,3,'I have been defeated. Good fight!',12,1,100,0,0,0,'Argent Champion', 33760);
+SET @TB_Champion := 33748;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@TB_Champion;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@TB_Champion;
+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
+(@TB_Champion,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Champion - On Reset - Remove auras from Defend'),
+(@TB_Champion,0,1,2,62,0,100,0,10461,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'TB Champion - On gossip select - Close gossip'),
+(@TB_Champion,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'TB Champion - Linked with previous event - store target'),
+(@TB_Champion,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'TB Champion - Linked with previous event - Call timed actionlist'),
+(@TB_Champion,0,4,0,52,0,100,0,0,@TB_Champion,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'TB Champion - On text over - Cast Charge'),
+(@TB_Champion,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'TB Champion - IC - Cast Thrust'),
+(@TB_Champion,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'TB Champion - On more than 5 yard range - Cast Shield-Breaker'),
+(@TB_Champion,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Champion - IC - Move forward 12 yards'),
+(@TB_Champion,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'TB Champion - On 10-12 yard range - Cast Charge'),
+(@TB_Champion,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'TB Champion - Linked with previous event - Cast Shield-Breaker'),
+(@TB_Champion,0,10,11,2,0,100,1,1,6,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Champion - On HP% between 1% and 6% - Change faction to 35'),
+(@TB_Champion,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Champion - Linked with previous event - Say text'),
+(@TB_Champion,0,12,13,61,0,100,0,0,0,0,0,85,63596,0,0,0,0,0,12,1,0,0,0,0,0,0,'TB Champion - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@TB_Champion,0,13,14,61,0,100,0,0,0,0,0,85,64815,0,0,0,0,0,12,1,0,0,0,0,0,0,'TB Champion - Linked with previous event - Cast credit'),
+(@TB_Champion,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB_Valiant - Linked with previous event - Evade'),
+(@TB_Champion,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Champion - On player killed - Say text'),
+(@TB_Champion,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Champion - Linked with previous event - Set unseen'),
+(@TB_Champion,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'TB Champion - Linked with previous event - Despawn in 1 ms');
+-- Argent Champions texts
+DELETE FROM `creature_text` WHERE `entry`= @TB_Champion;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@TB_Champion,0,0,'Ready yourself!',12,1,100,0,0,0,'Argent Champion', 33757),
+(@TB_Champion,0,1,'Prepare yourself!',12,1,100,0,0,0,'Argent Champion', 33755),
+(@TB_Champion,0,2,'On your guard!',12,1,100,0,0,0,'Argent Champion', 33756),
+(@TB_Champion,0,3,'Let it begin!',12,1,100,0,0,0,'Argent Champion', 33758),
+(@TB_Champion,1,0,'Victory is mine!',12,1,100,0,0,0,'Argent Champion', 33777),
+(@TB_Champion,1,1,'It seems you still need more practice. Perhaps another time.',12,1,100,0,0,0,'Argent Champion', 33764),
+(@TB_Champion,1,2,'I have won. Better luck another time, friend.',12,1,100,0,0,0,'Argent Champion', 33779),
+(@TB_Champion,1,3,'I am afraid you will need more practice to defeat me.',12,1,100,0,0,0,'Argent Champion', 33778),
+(@TB_Champion,2,0,'I yield to you.',12,1,100,0,0,0,'Argent Champion', 33774),
+(@TB_Champion,2,1,'That was a well fought battle. I yield to you.',12,1,100,0,0,0,'Argent Champion', 33776),
+(@TB_Champion,2,2,'It would seem I underestimated your skills. Well done.',12,1,100,0,0,0,'Argent Champion', 33775),
+(@TB_Champion,2,3,'I have been defeated. Good fight!',12,1,100,0,0,0,'Argent Champion', 33760);
+SET @SM_Champion := 33746;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@SM_Champion;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@SM_Champion;
+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
+(@SM_Champion,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Champion - On Reset - Remove auras from Defend'),
+(@SM_Champion,0,1,2,62,0,100,0,10459,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'SM Champion - On gossip select - Close gossip'),
+(@SM_Champion,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'SM Champion - Linked with previous event - store target'),
+(@SM_Champion,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'SM Champion - Linked with previous event - Call timed actionlist'),
+(@SM_Champion,0,4,0,52,0,100,0,0,@SM_Champion,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'SM Champion - On text over - Cast Charge'),
+(@SM_Champion,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'SM Champion - IC - Cast Thrust'),
+(@SM_Champion,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'SM Champion - On more than 5 yard range - Cast Shield-Breaker'),
+(@SM_Champion,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Champion - IC - Move forward 12 yards'),
+(@SM_Champion,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'SM Champion - On 10-12 yard range - Cast Charge'),
+(@SM_Champion,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'SM Champion - Linked with previous event - Cast Shield-Breaker'),
+(@SM_Champion,0,10,11,2,0,100,1,1,6,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Champion - On HP% between 1% and 6% - Change faction to 35'),
+(@SM_Champion,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Champion - Linked with previous event - Say text'),
+(@SM_Champion,0,12,13,61,0,100,0,0,0,0,0,85,63596,0,0,0,0,0,12,1,0,0,0,0,0,0,'SM Champion - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@SM_Champion,0,13,14,61,0,100,0,0,0,0,0,85,64813,0,0,0,0,0,12,1,0,0,0,0,0,0,'SM Champion - Linked with previous event - Cast credit'),
+(@SM_Champion,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Champion - Linked with previous event - Evade'),
+(@SM_Champion,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Champion - On player killed - Say text'),
+(@SM_Champion,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Champion - Linked with previous event - Set unseen'),
+(@SM_Champion,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'SM Champion - Linked with previous event - Despawn in 1 ms');
+-- Argent Champions texts
+DELETE FROM `creature_text` WHERE `entry`= @SM_Champion;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@SM_Champion,0,0,'Ready yourself!',12,1,100,0,0,0,'Argent Champion', 33757),
+(@SM_Champion,0,1,'Prepare yourself!',12,1,100,0,0,0,'Argent Champion', 33755),
+(@SM_Champion,0,2,'On your guard!',12,1,100,0,0,0,'Argent Champion', 33756),
+(@SM_Champion,0,3,'Let it begin!',12,1,100,0,0,0,'Argent Champion', 33758),
+(@SM_Champion,1,0,'Victory is mine!',12,1,100,0,0,0,'Argent Champion', 33777),
+(@SM_Champion,1,1,'It seems you still need more practice. Perhaps another time.',12,1,100,0,0,0,'Argent Champion', 33764),
+(@SM_Champion,1,2,'I have won. Better luck another time, friend.',12,1,100,0,0,0,'Argent Champion', 33779),
+(@SM_Champion,1,3,'I am afraid you will need more practice to defeat me.',12,1,100,0,0,0,'Argent Champion', 33778),
+(@SM_Champion,2,0,'I yield to you.',12,1,100,0,0,0,'Argent Champion', 33774),
+(@SM_Champion,2,1,'That was a well fought battle. I yield to you.',12,1,100,0,0,0,'Argent Champion', 33776),
+(@SM_Champion,2,2,'It would seem I underestimated your skills. Well done.',12,1,100,0,0,0,'Argent Champion', 33775),
+(@SM_Champion,2,3,'I have been defeated. Good fight!',12,1,100,0,0,0,'Argent Champion', 33760);
+SET @GR_Champion := 33740;
+UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`='' WHERE `entry`=@GR_Champion;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@GR_Champion;
+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
+(@GR_Champion,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Champion - On Reset - Remove auras from Defend'),
+(@GR_Champion,0,1,2,62,0,100,0,10455,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'GR Champion - On gossip select - Close gossip'),
+(@GR_Champion,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'GR Champion - Linked with previous event - store target'),
+(@GR_Champion,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'GR Champion - Linked with previous event - Call timed actionlist'),
+(@GR_Champion,0,4,0,52,0,100,0,0,@GR_Champion,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'GR Champion - On text over - Cast Charge'),
+(@GR_Champion,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'GR Champion - IC - Cast Thrust'),
+(@GR_Champion,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'GR Champion - On more than 5 yard range - Cast Shield-Breaker'),
+(@GR_Champion,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Champion - IC - Move forward 12 yards'),
+(@GR_Champion,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'GR Champion - On 10-12 yard range - Cast Charge'),
+(@GR_Champion,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'GR Champion - Linked with previous event - Cast Shield-Breaker'),
+(@GR_Champion,0,10,11,2,0,100,1,1,6,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Champion - On HP% between 1% and 6% - Change faction to 35'),
+(@GR_Champion,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Champion - Linked with previous event - Say text'),
+(@GR_Champion,0,12,13,61,0,100,0,0,0,0,0,85,63596,0,0,0,0,0,12,1,0,0,0,0,0,0,'GR Champion - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@GR_Champion,0,13,14,61,0,100,0,0,0,0,0,85,64809,0,0,0,0,0,12,1,0,0,0,0,0,0,'GR Champion - Linked with previous event - Cast credit'),
+(@GR_Champion,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Champion - Linked with previous event - Evade'),
+(@GR_Champion,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Champion - On player killed - Say text'),
+(@GR_Champion,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Champion - Linked with previous event - Set unseen'),
+(@GR_Champion,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'GR Champion - Linked with previous event - Despawn in 1 ms');
+-- Argent Champions texts
+DELETE FROM `creature_text` WHERE `entry`= @GR_Champion;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@GR_Champion,0,0,'Ready yourself!',12,7,100,0,0,0,'Argent Champion', 33757),
+(@GR_Champion,0,1,'Prepare yourself!',12,7,100,0,0,0,'Argent Champion', 33755),
+(@GR_Champion,0,2,'On your guard!',12,7,100,0,0,0,'Argent Champion', 33756),
+(@GR_Champion,0,3,'Let it begin!',12,7,100,0,0,0,'Argent Champion', 33758),
+(@GR_Champion,1,0,'Victory is mine!',12,7,100,0,0,0,'Argent Champion', 33777),
+(@GR_Champion,1,1,'It seems you still need more practice. Perhaps another time.',12,7,100,0,0,0,'Argent Champion', 33764),
+(@GR_Champion,1,2,'I have won. Better luck another time, friend.',12,7,100,0,0,0,'Argent Champion', 33779),
+(@GR_Champion,1,3,'I am afraid you will need more practice to defeat me.',12,7,100,0,0,0,'Argent Champion', 33778),
+(@GR_Champion,2,0,'I yield to you.',12,7,100,0,0,0,'Argent Champion', 33774),
+(@GR_Champion,2,1,'That was a well fought battle. I yield to you.',12,7,100,0,0,0,'Argent Champion', 33776),
+(@GR_Champion,2,2,'It would seem I underestimated your skills. Well done.',12,7,100,0,0,0,'Argent Champion', 33775),
+(@GR_Champion,2,3,'I have been defeated. Good fight!',12,7,100,0,0,0,'Argent Champion', 33760);
+SET @IF_Champion := 33743;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@IF_Champion;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@IF_Champion;
+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
+(@IF_Champion,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Champion - On Reset - Remove auras from Defend'),
+(@IF_Champion,0,1,2,62,0,100,0,10456,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'IF Champion - On gossip select - Close gossip'),
+(@IF_Champion,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'IF Champion - Linked with previous event - store target'),
+(@IF_Champion,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'IF Champion - Linked with previous event - Call timed actionlist'),
+(@IF_Champion,0,4,0,52,0,100,0,0,@IF_Champion,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'IF Champion - On text over - Cast Charge'),
+(@IF_Champion,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'IF Champion - IC - Cast Thrust'),
+(@IF_Champion,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'IF Champion - On more than 5 yard range - Cast Shield-Breaker'),
+(@IF_Champion,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Champion - IC - Move forward 12 yards'),
+(@IF_Champion,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'IF Champion - On 10-12 yard range - Cast Charge'),
+(@IF_Champion,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'IF Champion - Linked with previous event - Cast Shield-Breaker'),
+(@IF_Champion,0,10,11,2,0,100,1,1,6,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Champion - On HP% between 1% and 6% - Change faction to 35'),
+(@IF_Champion,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Champion - Linked with previous event - Say text'),
+(@IF_Champion,0,12,13,61,0,100,0,0,0,0,0,85,63596,0,0,0,0,0,12,1,0,0,0,0,0,0,'IF Champion - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@IF_Champion,0,13,14,61,0,100,0,0,0,0,0,85,64810,0,0,0,0,0,12,1,0,0,0,0,0,0,'IF Champion - Linked with previous event - Cast credit'),
+(@IF_Champion,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Champion - Linked with previous event - Evade'),
+(@IF_Champion,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Champion - On player killed - Say text'),
+(@IF_Champion,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Champion - Linked with previous event - Set unseen'),
+(@IF_Champion,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'IF Champion - Linked with previous event - Despawn in 1 ms');
+-- Argent Champions texts
+DELETE FROM `creature_text` WHERE `entry`= @IF_Champion;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@IF_Champion,0,0,'Ready yourself!',12,7,100,0,0,0,'Argent Champion', 33757),
+(@IF_Champion,0,1,'Prepare yourself!',12,7,100,0,0,0,'Argent Champion', 33755),
+(@IF_Champion,0,2,'On your guard!',12,7,100,0,0,0,'Argent Champion', 33756),
+(@IF_Champion,0,3,'Let it begin!',12,7,100,0,0,0,'Argent Champion', 33758),
+(@IF_Champion,1,0,'Victory is mine!',12,7,100,0,0,0,'Argent Champion', 33777),
+(@IF_Champion,1,1,'It seems you still need more practice. Perhaps another time.',12,7,100,0,0,0,'Argent Champion', 33764),
+(@IF_Champion,1,2,'I have won. Better luck another time, friend.',12,7,100,0,0,0,'Argent Champion', 33779),
+(@IF_Champion,1,3,'I am afraid you will need more practice to defeat me.',12,7,100,0,0,0,'Argent Champion', 33778),
+(@IF_Champion,2,0,'I yield to you.',12,7,100,0,0,0,'Argent Champion', 33774),
+(@IF_Champion,2,1,'That was a well fought battle. I yield to you.',12,7,100,0,0,0,'Argent Champion', 33776),
+(@IF_Champion,2,2,'It would seem I underestimated your skills. Well done.',12,7,100,0,0,0,'Argent Champion', 33775),
+(@IF_Champion,2,3,'I have been defeated. Good fight!',12,7,100,0,0,0,'Argent Champion', 33760);
+SET @SW_Champion := 33747;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@SW_Champion;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@SW_Champion;
+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
+(@SW_Champion,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Champion - On Reset - Remove auras from Defend'),
+(@SW_Champion,0,1,2,62,0,100,0,10460,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'SW Champion - On gossip select - Close gossip'),
+(@SW_Champion,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'SW Champion - Linked with previous event - store target'),
+(@SW_Champion,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'SW Champion - Linked with previous event - Call timed actionlist'),
+(@SW_Champion,0,4,0,52,0,100,0,0,@SW_Champion,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'SW Champion - On text over - Cast Charge'),
+(@SW_Champion,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'SW Champion - IC - Cast Thrust'),
+(@SW_Champion,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'SW Champion - On more than 5 yard range - Cast Shield-Breaker'),
+(@SW_Champion,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Champion - IC - Move forward 12 yards'),
+(@SW_Champion,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'SW Champion - On 10-12 yard range - Cast Charge'),
+(@SW_Champion,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'SW Champion - Linked with previous event - Cast Shield-Breaker'),
+(@SW_Champion,0,10,11,2,0,100,1,1,6,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Champion - On HP% between 1% and 6% - Change faction to 35'),
+(@SW_Champion,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Champion - Linked with previous event - Say text'),
+(@SW_Champion,0,12,13,61,0,100,0,0,0,0,0,85,63596,0,0,0,0,0,12,1,0,0,0,0,0,0,'SW Champion - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@SW_Champion,0,13,14,61,0,100,0,0,0,0,0,85,64814,0,0,0,0,0,12,1,0,0,0,0,0,0,'SW Champion - Linked with previous event - Cast credit'),
+(@SW_Champion,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Champion - Linked with previous event - Evade'),
+(@SW_Champion,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Champion - On player killed - Say text'),
+(@SW_Champion,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Champion - Linked with previous event - Set unseen'),
+(@SW_Champion,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'SW Champion - Linked with previous event - Despawn in 1 ms');
+-- Argent Champions texts
+DELETE FROM `creature_text` WHERE `entry`= @SW_Champion;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@SW_Champion,0,0,'Ready yourself!',12,7,100,0,0,0,'Argent Champion', 33757),
+(@SW_Champion,0,1,'Prepare yourself!',12,7,100,0,0,0,'Argent Champion', 33755),
+(@SW_Champion,0,2,'On your guard!',12,7,100,0,0,0,'Argent Champion', 33756),
+(@SW_Champion,0,3,'Let it begin!',12,7,100,0,0,0,'Argent Champion', 33758),
+(@SW_Champion,1,0,'Victory is mine!',12,7,100,0,0,0,'Argent Champion', 33777),
+(@SW_Champion,1,1,'It seems you still need more practice. Perhaps another time.',12,7,100,0,0,0,'Argent Champion', 33764),
+(@SW_Champion,1,2,'I have won. Better luck another time, friend.',12,7,100,0,0,0,'Argent Champion', 33779),
+(@SW_Champion,1,3,'I am afraid you will need more practice to defeat me.',12,7,100,0,0,0,'Argent Champion', 33778),
+(@SW_Champion,2,0,'I yield to you.',12,7,100,0,0,0,'Argent Champion', 33774),
+(@SW_Champion,2,1,'That was a well fought battle. I yield to you.',12,7,100,0,0,0,'Argent Champion', 33776),
+(@SW_Champion,2,2,'It would seem I underestimated your skills. Well done.',12,7,100,0,0,0,'Argent Champion', 33775),
+(@SW_Champion,2,3,'I have been defeated. Good fight!',12,7,100,0,0,0,'Argent Champion', 33760);
+SET @Darn_Champion := 33738;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@Darn_Champion;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Darn_Champion;
+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
+(@Darn_Champion,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Champion - On Reset - Remove auras from Defend'),
+(@Darn_Champion,0,1,2,62,0,100,0,10453,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Darn Champion - On gossip select - Close gossip'),
+(@Darn_Champion,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Darn Champion - Linked with previous event - store target'),
+(@Darn_Champion,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Champion - Linked with previous event - Call timed actionlist'),
+(@Darn_Champion,0,4,0,52,0,100,0,0,@Darn_Champion,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'Darn Champion - On text over - Cast Charge'),
+(@Darn_Champion,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'Darn Champion - IC - Cast Thrust'),
+(@Darn_Champion,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Darn Champion - On more than 5 yard range - Cast Shield-Breaker'),
+(@Darn_Champion,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Champion - IC - Move forward 12 yards'),
+(@Darn_Champion,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'Darn Champion - On 10-12 yard range - Cast Charge'),
+(@Darn_Champion,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Darn Champion - Linked with previous event - Cast Shield-Breaker'),
+(@Darn_Champion,0,10,11,2,0,100,1,1,6,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Champion - On HP% between 1% and 6% - Change faction to 35'),
+(@Darn_Champion,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Champion - Linked with previous event - Say text'),
+(@Darn_Champion,0,12,13,61,0,100,0,0,0,0,0,85,63596,0,0,0,0,0,12,1,0,0,0,0,0,0,'Darn Champion - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@Darn_Champion,0,13,14,61,0,100,0,0,0,0,0,85,64805,0,0,0,0,0,12,1,0,0,0,0,0,0,'Darn Champion - Linked with previous event - Cast credit'),
+(@Darn_Champion,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Champion - Linked with previous event - Evade'),
+(@Darn_Champion,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Champion - On player killed - Say text'),
+(@Darn_Champion,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Champion - Linked with previous event - Set unseen'),
+(@Darn_Champion,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Darn Champion - Linked with previous event - Despawn in 1 ms');
+-- Argent Champions texts
+DELETE FROM `creature_text` WHERE `entry`= @Darn_Champion;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@Darn_Champion,0,0,'Ready yourself!',12,7,100,0,0,0,'Argent Champion', 33757),
+(@Darn_Champion,0,1,'Prepare yourself!',12,7,100,0,0,0,'Argent Champion', 33755),
+(@Darn_Champion,0,2,'On your guard!',12,7,100,0,0,0,'Argent Champion', 33756),
+(@Darn_Champion,0,3,'Let it begin!',12,7,100,0,0,0,'Argent Champion', 33758),
+(@Darn_Champion,1,0,'Victory is mine!',12,7,100,0,0,0,'Argent Champion', 33777),
+(@Darn_Champion,1,1,'It seems you still need more practice. Perhaps another time.',12,7,100,0,0,0,'Argent Champion', 33764),
+(@Darn_Champion,1,2,'I have won. Better luck another time, friend.',12,7,100,0,0,0,'Argent Champion', 33779),
+(@Darn_Champion,1,3,'I am afraid you will need more practice to defeat me.',12,7,100,0,0,0,'Argent Champion', 33778),
+(@Darn_Champion,2,0,'I yield to you.',12,7,100,0,0,0,'Argent Champion', 33774),
+(@Darn_Champion,2,1,'That was a well fought battle. I yield to you.',12,7,100,0,0,0,'Argent Champion', 33776),
+(@Darn_Champion,2,2,'It would seem I underestimated your skills. Well done.',12,7,100,0,0,0,'Argent Champion', 33775),
+(@Darn_Champion,2,3,'I have been defeated. Good fight!',12,7,100,0,0,0,'Argent Champion', 33760);
+SET @Exo_Champion := 33739;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@Exo_Champion;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Exo_Champion;
+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
+(@Exo_Champion,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Champion - On Reset - Remove auras from Defend'),
+(@Exo_Champion,0,1,2,62,0,100,0,10454,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Exo Champion - On gossip select - Close gossip'),
+(@Exo_Champion,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Exo Champion - Linked with previous event - store target'),
+(@Exo_Champion,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Champion - Linked with previous event - Call timed actionlist'),
+(@Exo_Champion,0,4,0,52,0,100,0,0,@Exo_Champion,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'Exo Champion - On text over - Cast Charge'),
+(@Exo_Champion,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'Exo Champion - IC - Cast Thrust'),
+(@Exo_Champion,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Exo Champion - On more than 5 yard range - Cast Shield-Breaker'),
+(@Exo_Champion,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Champion - IC - Move forward 12 yards'),
+(@Exo_Champion,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'Exo Champion - On 10-12 yard range - Cast Charge'),
+(@Exo_Champion,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Exo Champion - Linked with previous event - Cast Shield-Breaker'),
+(@Exo_Champion,0,10,11,2,0,100,1,1,6,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Champion - On HP% between 1% and 6% - Change faction to 35'),
+(@Exo_Champion,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Champion - Linked with previous event - Say text'),
+(@Exo_Champion,0,12,13,61,0,100,0,0,0,0,0,85,63596,0,0,0,0,0,12,1,0,0,0,0,0,0,'Exo Champion - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@Exo_Champion,0,13,14,61,0,100,0,0,0,0,0,85,64808,0,0,0,0,0,12,1,0,0,0,0,0,0,'Exo Champion - Linked with previous event - Cast credit'),
+(@Exo_Champion,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Champion - Linked with previous event - Evade'),
+(@Exo_Champion,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Champion - On player killed - Say text'),
+(@Exo_Champion,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Champion - Linked with previous event - Set unseen'),
+(@Exo_Champion,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Exo Champion - Linked with previous event - Despawn in 1 ms');
+-- Argent Champions texts
+DELETE FROM `creature_text` WHERE `entry`= @Exo_Champion;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@Exo_Champion,0,0,'Ready yourself!',12,7,100,0,0,0,'Argent Champion', 33757),
+(@Exo_Champion,0,1,'Prepare yourself!',12,7,100,0,0,0,'Argent Champion', 33755),
+(@Exo_Champion,0,2,'On your guard!',12,7,100,0,0,0,'Argent Champion', 33756),
+(@Exo_Champion,0,3,'Let it begin!',12,7,100,0,0,0,'Argent Champion', 33758),
+(@Exo_Champion,1,0,'Victory is mine!',12,7,100,0,0,0,'Argent Champion', 33777),
+(@Exo_Champion,1,1,'It seems you still need more practice. Perhaps another time.',12,7,100,0,0,0,'Argent Champion', 33764),
+(@Exo_Champion,1,2,'I have won. Better luck another time, friend.',12,7,100,0,0,0,'Argent Champion', 33779),
+(@Exo_Champion,1,3,'I am afraid you will need more practice to defeat me.',12,7,100,0,0,0,'Argent Champion', 33778),
+(@Exo_Champion,2,0,'I yield to you.',12,7,100,0,0,0,'Argent Champion', 33774),
+(@Exo_Champion,2,1,'That was a well fought battle. I yield to you.',12,7,100,0,0,0,'Argent Champion', 33776),
+(@Exo_Champion,2,2,'It would seem I underestimated your skills. Well done.',12,7,100,0,0,0,'Argent Champion', 33775),
+(@Exo_Champion,2,3,'I have been defeated. Good fight!',12,7,100,0,0,0,'Argent Champion', 33760);
+SET @UC_Champion := 33749;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@UC_Champion;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@UC_Champion;
+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
+(@UC_Champion,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Champion - On Reset - Remove auras from Defend'),
+(@UC_Champion,0,1,2,62,0,100,0,10462,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'UC Champion - On gossip select - Close gossip'),
+(@UC_Champion,0,2,3,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'UC Champion - Linked with previous event - store target'),
+(@UC_Champion,0,3,0,61,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'UC Champion - Linked with previous event - Call timed actionlist'),
+(@UC_Champion,0,4,0,52,0,100,0,0,@UC_Champion,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'UC Champion - On text over - Cast Charge'),
+(@UC_Champion,0,5,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'UC Champion - IC - Cast Thrust'),
+(@UC_Champion,0,6,0,9,0,100,0,5,5,9000,10000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'UC Champion - On more than 5 yard range - Cast Shield-Breaker'),
+(@UC_Champion,0,7,0,0,0,100,0,9000,11000,9000,10000,46,12,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Champion - IC - Move forward 12 yards'),
+(@UC_Champion,0,8,9,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'UC Champion - On 10-12 yard range - Cast Charge'),
+(@UC_Champion,0,9,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'UC Champion - Linked with previous event - Cast Shield-Breaker'),
+(@UC_Champion,0,10,11,2,0,100,1,1,6,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Champion - On HP% between 1% and 6% - Change faction to 35'),
+(@UC_Champion,0,11,12,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Champion - Linked with previous event - Say text'),
+(@UC_Champion,0,12,13,61,0,100,0,0,0,0,0,85,63596,0,0,0,0,0,12,1,0,0,0,0,0,0,'UC Champion - Linked with previous event - Cast Mounted Melee Victory /item/'),
+(@UC_Champion,0,13,14,61,0,100,0,0,0,0,0,85,64816,0,0,0,0,0,12,1,0,0,0,0,0,0,'UC Champion - Linked with previous event - Cast credit'),
+(@UC_Champion,0,14,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Champion - Linked with previous event - Evade'),
+(@UC_Champion,0,15,16,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Champion - On player killed - Say text'),
+(@UC_Champion,0,16,17,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Champion - Linked with previous event - Set unseen'),
+(@UC_Champion,0,17,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'UC Champion - Linked with previous event - Despawn in 1 ms');
+-- Argent Champions texts
+DELETE FROM `creature_text` WHERE `entry`= @UC_Champion;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@UC_Champion,0,0,'Ready yourself!',12,1,100,0,0,0,'Argent Champion', 33757),
+(@UC_Champion,0,1,'Prepare yourself!',12,1,100,0,0,0,'Argent Champion', 33755),
+(@UC_Champion,0,2,'On your guard!',12,1,100,0,0,0,'Argent Champion', 33756),
+(@UC_Champion,0,3,'Let it begin!',12,1,100,0,0,0,'Argent Champion', 33758),
+(@UC_Champion,1,0,'Victory is mine!',12,1,100,0,0,0,'Argent Champion', 33777),
+(@UC_Champion,1,1,'It seems you still need more practice. Perhaps another time.',12,1,100,0,0,0,'Argent Champion', 33764),
+(@UC_Champion,1,2,'I have won. Better luck another time, friend.',12,1,100,0,0,0,'Argent Champion', 33779),
+(@UC_Champion,1,3,'I am afraid you will need more practice to defeat me.',12,1,100,0,0,0,'Argent Champion', 33778),
+(@UC_Champion,2,0,'I yield to you.',12,1,100,0,0,0,'Argent Champion', 33774),
+(@UC_Champion,2,1,'That was a well fought battle. I yield to you.',12,1,100,0,0,0,'Argent Champion', 33776),
+(@UC_Champion,2,2,'It would seem I underestimated your skills. Well done.',12,1,100,0,0,0,'Argent Champion', 33775),
+(@UC_Champion,2,3,'I have been defeated. Good fight!',12,1,100,0,0,0,'Argent Champion', 33760);
+
+
+DELETE FROM `gossip_menu` WHERE `entry` IN (10453, 10454, 10455, 10456, 10457, 10458, 10459, 10460, 10461, 10462);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
+(10453, 14421),
+(10453, 14489),
+(10454, 14421),
+(10454, 14489),
+(10455, 14421),
+(10455, 14489),
+(10456, 14421),
+(10456, 14489),
+(10457, 14421),
+(10457, 14489),
+(10458, 14421),
+(10458, 14489),
+(10459, 14421),
+(10459, 14489),
+(10460, 14421),
+(10460, 14489),
+(10461, 14421),
+(10461, 14489),
+(10462, 14421),
+(10462, 14489);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup` IN (10453, 10454, 10455, 10456, 10457, 10458, 10459, 10460, 10461, 10462);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(14,10453,14421,0,1,64805,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10453,14489,0,1,64805,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10454,14421,0,1,64808,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10454,14489,0,1,64808,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10455,14421,0,1,64809,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10455,14489,0,1,64809,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10456,14421,0,1,64810,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10456,14489,0,1,64810,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10457,14421,0,1,64811,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10457,14489,0,1,64811,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10458,14421,0,1,64812,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10458,14489,0,1,64812,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10459,14421,0,1,64813,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10459,14489,0,1,64813,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10460,14421,0,1,64814,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10460,14489,0,1,64814,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10461,14421,0,1,64815,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10461,14489,0,1,64815,0,0,0,'','Show gossip menu text if the player have the aura', 0),
+(14,10462,14421,0,1,64816,0,0,0,'','Show gossip menu text if the player haven''t the aura', 1),
+(14,10462,14489,0,1,64816,0,0,0,'','Show gossip menu text if the player have the aura', 0);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup` IN (10453, 10454, 10455, 10456, 10457, 10458, 10459, 10460, 10461, 10462);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ConditionTarget`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`,`NegativeCondition`) VALUES
+(15,10453,0,0,1,9,13790,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10453,0,0,1,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10453,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10453,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10453,0,0,2,9,13793,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10453,0,0,2,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10453,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10453,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10453,0,0,3,9,13811,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10453,0,0,3,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10453,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10453,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10453,0,0,4,9,13814,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10453,0,0,4,1,64805,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10453,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10453,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10454,0,0,1,9,13790,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10454,0,0,1,1,64808,0,0,0,'','Show gossip menu only if don''t have the auran',1),
+(15,10454,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10454,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10454,0,0,2,9,13793,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10454,0,0,2,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10454,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10454,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10454,0,0,3,9,13811,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10454,0,0,3,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10454,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10454,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10454,0,0,4,9,13814,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10454,0,0,4,1,64808,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10454,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10454,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10455,0,0,1,9,13790,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10455,0,0,1,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10455,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10455,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10455,0,0,2,9,13793,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10455,0,0,2,1,64809,0,0,0,'','Show gossip menu only if don''t have the auran',1),
+(15,10455,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10455,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10455,0,0,3,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10455,0,0,3,9,13811,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10455,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10455,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10455,0,0,4,1,64809,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10455,0,0,4,9,13814,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10455,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10455,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10456,0,0,1,9,13790,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10456,0,0,1,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10456,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10456,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10456,0,0,2,9,13793,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10456,0,0,2,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10456,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10456,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10456,0,0,3,9,13811,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10456,0,0,3,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10456,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10456,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10456,0,0,4,9,13814,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10456,0,0,4,1,64810,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10456,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10456,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10457,0,0,1,9,13790,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10457,0,0,1,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10457,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10457,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10457,0,0,2,9,13793,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10457,0,0,2,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10457,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10457,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10457,0,0,3,9,13811,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10457,0,0,3,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10457,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10457,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10457,0,0,4,9,13814,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10457,0,0,4,1,64811,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10457,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10457,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10458,0,0,1,9,13790,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10458,0,0,1,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10458,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10458,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10458,0,0,2,9,13793,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10458,0,0,2,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10458,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10458,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10458,0,0,3,9,13811,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10458,0,0,3,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10458,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10458,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10458,0,0,4,9,13814,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10458,0,0,4,1,64812,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10458,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10458,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10459,0,0,1,9,13790,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10459,0,0,1,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10459,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10459,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10459,0,0,2,9,13793,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10459,0,0,2,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10459,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10459,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10459,0,0,3,9,13811,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10459,0,0,3,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10459,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10459,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10459,0,0,4,9,13814,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10459,0,0,4,1,64813,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10459,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10459,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10460,0,0,1,9,13790,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10460,0,0,1,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10460,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10460,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10460,0,0,2,9,13793,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10460,0,0,2,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10460,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10460,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10460,0,0,3,9,13811,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10460,0,0,3,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10460,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10460,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10460,0,0,4,9,13814,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10460,0,0,4,1,64814,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10460,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10460,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10461,0,0,1,9,13790,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10461,0,0,1,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10461,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10461,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10461,0,0,2,9,13793,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10461,0,0,2,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10461,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10461,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10461,0,0,3,9,13811,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10461,0,0,3,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10461,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10461,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10461,0,0,4,9,13814,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10461,0,0,4,1,64815,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10461,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10461,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10462,0,0,1,9,13790,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10462,0,0,1,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10462,0,0,1,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10462,0,0,1,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10462,0,0,2,9,13793,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10462,0,0,2,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10462,0,0,2,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10462,0,0,2,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10462,0,0,3,9,13811,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10462,0,0,3,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10462,0,0,3,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10462,0,0,3,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10462,0,0,4,9,13814,0,0,0,'','Show gossip menu only if quest Among the Champions is taken',0),
+(15,10462,0,0,4,1,64816,0,0,0,'','Show gossip menu only if don''t have the aura',1),
+(15,10462,0,0,4,1,63034,0,0,0,'','Show gossip menu only if the player have the aura',0),
+(15,10462,0,0,4,1,62853,0,0,0,'','Show gossip menu only if the player have the aura',0);
+--
+UPDATE `conditions` SET `ConditionTypeOrReference`=9, `SourceEntry`=1 WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=8539;
+--
+-- Okla
+DELETE FROM `creature_text` WHERE `entry` IN (14873, 5907);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`,`BroadcastTextId`) VALUES
+(14873, 0, 0, "Can I go collect more rocks for my necklace, Papa?", 12, 1, 100, 1, 0, 0, 'Okla',10274),
+(14873, 1, 0, "Dabu! I will be careful Papa!", 12, 1, 100, 1, 0, 0, 'Okla', 10276),
+(14873, 2, 0, "Ooohh... This rock is nice and colorful. Let's see if I can find more like it...", 12, 1, 100, 1, 0, 0, 'Okla', 10277),
+(14873, 3, 0, "Hmm... That rock is nice, but too small.", 12, 1, 100, 1, 0, 0, 'Okla', 10278),
+(14873, 4, 0, "This is a shiney rock. I'll put it in my bucket. Ok, I just need a few more...", 12, 1, 100, 1, 0, 0, 'Okla', 10279),
+(14873, 5, 0, "I bet my friend Gruk would like this rock for the spear he is making! It's very sharp... I hope he likes it.", 12, 1, 100, 1, 0, 0, 'Okla', 10280),
+(14873, 6, 0, "There... That should be enough rocks to make a necklace. I should probably get home now anyway.", 12, 1, 100, 1, 0, 0, 'Okla', 10281),
+(5907, 0, 0, "Yes you may, Okla. But do not stray too far from home.", 12, 1, 100, 1, 0, 0, 'Kranal Fiss', 10275);
+
+-- Okla SAI
+SET @ENTRY := 14873;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,25,0,100,0,0,0,0,0,53,0,14873,1,0,0,0,1,0,0,0,0,0,0,0,"Okla - On Reset - Start Waypoint"),
+(@ENTRY,0,1,0,40,0,100,0,2,14873,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Okla - On Waypoint 2 Reached - Run Script"),
+(@ENTRY,0,2,0,40,0,100,0,13,14873,0,0,80,@ENTRY*100+01,0,0,0,0,0,1,0,0,0,0,0,0,0,"Okla - On Waypoint 13 Reached - Run Script"),
+(@ENTRY,0,3,0,40,0,100,0,18,14873,0,0,80,@ENTRY*100+02,0,0,0,0,0,1,0,0,0,0,0,0,0,"Okla - On Waypoint 18 Reached - Run Script"),
+(@ENTRY,0,4,0,40,0,100,0,24,14873,0,0,80,@ENTRY*100+03,0,0,0,0,0,1,0,0,0,0,0,0,0,"Okla - On Waypoint 24 Reached - Run Script"),
+(@ENTRY,0,5,0,40,0,100,0,29,14873,0,0,80,@ENTRY*100+04,0,0,0,0,0,1,0,0,0,0,0,0,0,"Okla - On Waypoint 29 Reached - Run Script"),
+(@ENTRY,0,6,0,40,0,100,0,35,14873,0,0,80,@ENTRY*100+05,0,0,0,0,0,1,0,0,0,0,0,0,0,"Okla - On Waypoint 35 Reached - Run Script");
+
+-- Actionlist SAI
+SET @ENTRY := 1487300;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,54,21000,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Pause Waypoint"),
+(@ENTRY,9,1,0,0,0,100,0,5000,5000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 0"),
+(@ENTRY,9,2,0,0,0,100,0,8000,8000,0,0,1,0,0,0,0,0,0,19,5907,50,0,0,0,0,0,"On Script - Say Line 0"),
+(@ENTRY,9,3,0,0,0,100,0,7000,7000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 1");
+
+-- Actionlist SAI
+SET @ENTRY := 1487301;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Pause Waypoint"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 2");
+
+-- Actionlist SAI
+SET @ENTRY := 1487302;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Pause Waypoint"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 3");
+
+-- Actionlist SAI
+SET @ENTRY := 1487303;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Pause Waypoint"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 4");
+
+-- Actionlist SAI
+SET @ENTRY := 1487304;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Pause Waypoint"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 5");
+
+-- Actionlist SAI
+SET @ENTRY := 1487305;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Pause Waypoint"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 6");
+
+DELETE FROM `waypoints` WHERE `entry`=14873;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`) VALUES
+(14873, 1, 270.076, -3036.6, 97.6192),
+(14873, 2, 262.171, -3043.45, 96.5053),
+(14873, 3, 251.328, -3055.55, 96.1454),
+(14873, 4, 246.888, -3070.92, 95.2793),
+(14873, 5, 242.449, -3081.3, 91.82),
+(14873, 6, 232.826, -3106.67, 93.3165),
+(14873, 7, 226.41, -3120.76, 93.3475),
+(14873, 8, 213.921, -3151.01, 91.2851),
+(14873, 9, 221.681, -3147.9, 91.374),
+(14873, 10, 214.549, -3134.64, 91.9876),
+(14873, 11, 210.931, -3139.95, 91.6514),
+(14873, 12, 214.059, -3139.64, 91.7),
+(14873, 13, 213.426, -3131.78, 92.1297),
+(14873, 14, 220.194, -3140.72, 91.7517),
+(14873, 15, 225.395, -3139.1, 92.0847),
+(14873, 16, 220.857, -3140.83, 91.7662),
+(14873, 17, 218.769, -3132.79, 92.4983),
+(14873, 18, 226.814, -3137.56, 92.169),
+(14873, 19, 225.496, -3132.89, 92.7818),
+(14873, 20, 213.603, -3148.39, 91.4489),
+(14873, 21, 219.055, -3151.2, 91.2139),
+(14873, 22, 220.469, -3141.93, 91.6344),
+(14873, 23, 214.852, -3148.32, 91.4558),
+(14873, 24, 218.373, -3144.99, 91.5714),
+(14873, 25, 224.091, -3149.02, 91.2304),
+(14873, 26, 224.591, -3145.02, 91.4801),
+(14873, 27, 219.022, -3147.38, 91.4735),
+(14873, 28, 220.167, -3139.75, 91.8958),
+(14873, 29, 225.033, -3133.14, 92.8028),
+(14873, 30, 222.021, -3128.32, 93.0422),
+(14873, 31, 228.338, -3126.35, 92.9595),
+(14873, 32, 229.495, -3129.22, 92.6818),
+(14873, 33, 232.12, -3128.11, 92.5988),
+(14873, 34, 227.003, -3137.58, 92.1461),
+(14873, 35, 220.002, -3132.38, 92.659),
+(14873, 36, 225.874, -3102.36, 93.6962),
+(14873, 37, 233.086, -3085.54, 91.6788),
+(14873, 38, 235.152, -3069.81, 91.8706),
+(14873, 39, 239.821, -3061.03, 95.4022),
+(14873, 40, 256.123, -3047.91, 96.2473),
+(14873, 41, 267.05, -3039.04, 96.9212),
+(14873, 42, 271.093, -3035.98, 97.6501),
+(14873, 43, 278.975, -3029.68, 97.3919),
+(14873, 44, 280.125, -3029.01, 97.3502);
+
+UPDATE `creature_addon` SET `path_id`=59070 WHERE `guid`=13174;
+UPDATE `creature` SET `MovementType`=2 WHERE `guid`=13174;
+DELETE FROM `waypoint_data` WHERE `id` IN (59070);
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`action`,`action_chance`,`wpguid`) VALUES
+(59070,0,265.967000,-3050.670000,96.921500,0,0,0,100,0),
+(59070,1,263.671661,-3047.959961,96.665161,0,0,0,100,0),
+(59070,2,260.557739,-3038.177002,96.740677,0,0,0,100,0),
+(59070,3,262.354950,-3036.125732,96.990982,0,0,0,100,0),
+(59070,4,261.470215,-3036.779541,96.961708,0,60000,0,100,0),
+(59070,5,259.890106,-3038.696045,96.572845,0,0,0,100,0),
+(59070,6,265.967468,-3050.672363,96.921516,0,0,0,100,0),
+(59070,7,265.967000,-3050.670000,96.921500,0,30000,0,100,0);
+UPDATE `creature` SET `position_x`=280.125, `position_y`=-3029.01, `position_z`=97.3502, `orientation`= 3.764 WHERE `guid`=14873;
+--
+DELETE FROM `waypoint_data` WHERE `id`=1207950;
+DELETE FROM `creature_addon` WHERE `guid`=120795;
+UPDATE `creature` SET `MovementType`=0 WHERE `guid`=120795;
+DELETE FROM `waypoint_scripts` WHERE `guid`=120795;
+
+-- Refurbished Steam Tank SAI
+SET @ENTRY := 29144;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,25,0,100,0,0,0,0,0,53,0,29144,0,0,0,0,1,0,0,0,0,0,0,0,"Refurbished Steam Tank - On Reset - Start Waypoint"),
+(@ENTRY,0,1,0,40,0,100,0,1,29144,0,0,54,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Refurbished Steam Tank - On Waypoint 1 Reached - Pause Waypoint"),
+(@ENTRY,0,2,0,40,0,100,0,2,29144,0,0,54,120000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Refurbished Steam Tank - On Waypoint 2 Reached - Pause Waypoint"),
+(@ENTRY,0,3,0,40,0,100,0,3,29144,0,0,54,5000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Refurbished Steam Tank - On Waypoint 3 Reached - Pause Waypoint"),
+(@ENTRY,0,4,0,40,0,100,0,6,29144,0,0,54,6000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Refurbished Steam Tank - On Waypoint 6 Reached - Pause Waypoint"),
+(@ENTRY,0,5,0,40,0,100,0,10,29144,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Refurbished Steam Tank - On Waypoint 10 Reached - Pause Waypoint"),
+(@ENTRY,0,6,7,40,0,100,0,11,29144,0,0,54,5000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Refurbished Steam Tank - On Waypoint 11 Reached - Pause Waypoint"),
+(@ENTRY,0,7,0,61,0,100,0,11,29144,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Refurbished Steam Tank - On Waypoint 11 Reached - Kill Self"),
+(@ENTRY,0,8,0,6,0,100,0,0,0,0,0,41,3000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Refurbished Steam Tank - On Just Died - Despawn In 3000 ms");
+
+DELETE FROM `waypoints` WHERE `entry`=@ENTRY;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(@ENTRY, 1, -8463.9, 1109.41, 19.1352, 'Refurbished Steam Tank'),
+(@ENTRY, 2, -8463.52, 1112.6, 19.0517, 'Refurbished Steam Tank'),
+(@ENTRY, 3, -8463.23, 1108.18, 19.053, 'Refurbished Steam Tank'),
+(@ENTRY, 4, -8473.35, 1096.63, 18.7345, 'Refurbished Steam Tank'),
+(@ENTRY, 5, -8496.34, 1095.88, 17.9444, 'Refurbished Steam Tank'),
+(@ENTRY, 6, -8499.86, 1132.84, 17.9763, 'Refurbished Steam Tank'),
+(@ENTRY, 7, -8486, 1138.24, 17.9608, 'Refurbished Steam Tank'),
+(@ENTRY, 8, -8462.43, 1136.04, 18.6577, 'Refurbished Steam Tank'),
+(@ENTRY, 9, -8440.65, 1137.48, 18.8719, 'Refurbished Steam Tank'),
+(@ENTRY, 10, -8412.35, 1137.49, 18.0685, 'Refurbished Steam Tank'),
+(@ENTRY, 11, -8412.35, 1137.49, 18.0685, 'Refurbished Steam Tank');
+-- DB/Quest: Assault by Air (H)
+DELETE FROM `creature` WHERE `id`=32225;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES
+(16398, 32225, 571, 1, 169, 0, 0, 7303.23, 1520.81, 323.2961, 1.53589, 300, 0, 0, 63000, 0, 0, 0, 0, 0);
+
+UPDATE `creature_template` SET `spell1`=59880 WHERE `entry`=32227;
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=32225;
+UPDATE `creature_template` SET `speed_run`=3 WHERE `entry`=32225;
+UPDATE `vehicle_template_accessory` SET `minion`=1 WHERE `entry`=32225 AND `seat_id`=0;
+
+DELETE FROM `waypoints` WHERE `entry`=32225;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(32225, 1, 7224.952, 1493.076, 355.6927, 'Skybreaker Troop Transport'),
+(32225, 2, 7158.104, 1468.994, 408.7451, 'Skybreaker Troop Transport'),
+(32225, 3, 7091.476, 1447.724, 454.6882, 'Skybreaker Troop Transport'),
+(32225, 4, 6959.782, 1423.015, 558.3835, 'Skybreaker Troop Transport'),
+(32225, 5, 6779.104, 1463.505, 646.3554, 'Skybreaker Troop Transport'),
+(32225, 6, 6655.649, 1608.774, 709.994, 'Skybreaker Troop Transport'),
+(32225, 7, 6624.22, 1736.658, 728.0214, 'Skybreaker Troop Transport'),
+(32225, 8, 6669.947, 1866.185, 709.688, 'Skybreaker Troop Transport'),
+(32225, 9, 6718.041, 1885.129, 690.6326, 'Skybreaker Troop Transport'),
+(32225, 10, 6795.828, 1838.745, 659.0216, 'Skybreaker Troop Transport'),
+(32225, 11, 6829.202, 1723.054, 616.9384, 'Skybreaker Troop Transport'),
+(32225, 12, 6938.554, 1702.879, 585.9383, 'Skybreaker Troop Transport'),
+(32225, 13, 7024.898, 1752.804, 565.5496, 'Skybreaker Troop Transport'),
+(32225, 14, 7113.707, 1734.315, 556.3559, 'Skybreaker Troop Transport'),
+(32225, 15, 7265.8, 1765.196, 556.3559, 'Skybreaker Troop Transport'),
+(32225, 16, 7302.899, 1853.759, 575.8558, 'Skybreaker Troop Transport'),
+(32225, 17, 7312.44, 1944.328, 581.4116, 'Skybreaker Troop Transport'),
+(32225, 18, 7307.329, 2014.243, 581.4116, 'Skybreaker Troop Transport'),
+(32225, 19, 7253.363, 2115.422, 583.3, 'Skybreaker Troop Transport'),
+(32225, 20, 7193.522, 2155.816, 607.7997, 'Skybreaker Troop Transport'),
+(32225, 21, 7128.84, 2168.484, 642.6707, 'Skybreaker Troop Transport'),
+(32225, 22, 7069.121, 2157.589, 689.7963, 'Skybreaker Troop Transport'),
+(32225, 23, 7024.457, 2135.705, 708.6849, 'Skybreaker Troop Transport'),
+(32225, 24, 6934.063, 2183.969, 750.9397, 'Skybreaker Troop Transport'),
+(32225, 25, 6941.725, 2249.074, 754.6065, 'Skybreaker Troop Transport'),
+(32225, 26, 7072.678, 2295.607, 714.44, 'Skybreaker Troop Transport'),
+(32225, 27, 7260.946, 2257.761, 639.7736, 'Skybreaker Troop Transport'),
+(32225, 28, 7419.038, 2123.693, 587.7736, 'Skybreaker Troop Transport'),
+(32225, 29, 7471.735, 1962.737, 559.6346, 'Skybreaker Troop Transport'),
+(32225, 30, 7436.465, 1818.688, 508.0233, 'Skybreaker Troop Transport'),
+(32225, 31, 7366.372, 1694.51, 469.3012, 'Skybreaker Troop Transport'),
+(32225, 32, 7329.872, 1609.157, 432.2737, 'Skybreaker Troop Transport'),
+(32225, 33, 7296.424, 1556.42, 417.7181, 'Skybreaker Troop Transport'),
+(32225, 34, 7272.382, 1525.835, 411.4405, 'Skybreaker Troop Transport');
+
+-- Skybreaker Suppression Turret SAI
+SET @ENTRY := 32227;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,27,0,100,0,0,0,0,0,45,1,0,0,0,0,0,19,32225,10,0,0,0,0,0,"Skybreaker Suppression Turret - On Passenger Boarded - Set Data 1 0");
+
+-- Skybreaker Troop Transport SAI
+SET @ENTRY := 32225;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,38,0,100,0,1,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Troop Transport - On Data Set 1 0 - Run Script"),
+(@ENTRY,0,1,0,40,0,100,0,9,32225,0,0,11,64631,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Troop Transport - On Waypoint 11 Reached - Cast 'Eject Passenger 3'"),
+(@ENTRY,0,2,0,40,0,100,0,13,32225,0,0,11,64614,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Troop Transport - On Waypoint 16 Reached - Cast 'Eject Passenger 4'"),
+(@ENTRY,0,3,0,40,0,100,0,17,32225,0,0,11,64633,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Troop Transport - On Waypoint 19 Reached - Cast 'Eject Passenger 5'"),
+(@ENTRY,0,4,0,40,0,100,0,22,32225,0,0,11,64634,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Troop Transport - On Waypoint 22 Reached - Cast 'Eject Passenger 6'"),
+(@ENTRY,0,5,0,40,0,100,0,34,32225,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Troop Transport - On Waypoint 32 Reached - Despawn Instant");
+
+-- Actionlist SAI
+SET @ENTRY := 3222500;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,2000,2000,0,0,53,1,32225,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Troop Transport - On Script - Start Waypoint"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Troop Transport - On Script - Set Reactstate Passive"),
+(@ENTRY,9,2,0,0,0,100,0,0,0,0,0,18,131072,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Troop Transport - On Script - Set Flag Pacified"),
+(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,102,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Troop Transport - On Script - Set Health Regeneration Off");
+
+-- Skybreaker Infiltrator SAI
+SET @ENTRY := 32222;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,23,0,100,1,46598,0,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Infiltrator - On Has Aura 'Ride Vehicle Hardcoded' - Run Script (No Repeat)");
+
+-- Actionlist SAI
+SET @ENTRY := 3222200;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,11,60208,0,0,0,0,0,21,20,0,0,0,0,0,0,"Skybreaker Infiltrator - On Script - Cast 'Ally Air Dropoff Kill Credit'"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Infiltrator - On Script - Say Line 0"),
+(@ENTRY,9,2,0,0,0,100,0,100,100,0,0,11,45472,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Infiltrator - On Script - Cast 'Parachute'"),
+(@ENTRY,9,3,0,0,0,100,0,4000,4000,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skybreaker Infiltrator - On Script - Despawn Instant");
+
+DELETE FROM `creature_text` WHERE `entry`=32222;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES
+(32222, 0, 0, 'I''ll kill one just for you.', 12, 0, 100, 0, 0, 0, 'Skybreaker Infiltrator',32532),
+(32222, 0, 1, 'Dropping. Good luck, boys!', 12, 0, 100, 0, 0, 0, 'Skybreaker Infiltrator',32526),
+(32222, 0, 2, 'Thanks for the cover!', 12, 0, 100, 0, 0, 0, 'Skybreaker Infiltrator',32527),
+(32222, 0, 3, 'Destination reached - engaging in scouting mission.', 12, 0, 100, 0, 0, 0, 'Skybreaker Infiltrator',32528),
+(32222, 0, 4, 'Infiltration commencing.', 12, 0, 100, 0, 0, 0, 'Skybreaker Infiltrator',32529);
+
+-- Ymirheim Spear Gun SAI
+SET @ENTRY := 31280;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,1,1,100,0,5000,5000,3000,4000,11,59894,0,0,0,0,0,19,32225,100,0,0,0,0,0,"Ymirheim Spear Gun - Out of Combat - Cast 'Launch Spear' (Phase 1)"),
+(@ENTRY,0,1,0,1,1,100,0,5000,5000,3000,4000,11,59894,0,0,0,0,0,19,32225,100,0,0,0,0,0,"Ymirheim Spear Gun - Out of Combat - Cast 'Launch Spear' (Phase 1)"),
+(@ENTRY,0,2,3,8,0,100,0,59880,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ymirheim Spear Gun - On Spellhit 'Suppression Charge' - Set Event Phase 2"),
+(@ENTRY,0,3,0,61,0,100,0,59880,0,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ymirheim Spear Gun - On Spellhit 'Suppression Charge' - Run Script"),
+(@ENTRY,0,4,0,25,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ymirheim Spear Gun - On Reset - Set Event Phase 1");
+
+-- Actionlist SAI
+SET @ENTRY := 3128000;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,15000,15000,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Event Phase 1");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND `SourceGroup`=32227 AND `SourceEntry`=46598;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(18, 32227, 46598, 0, 0, 9, 0, 13309, 0, 0, 0, 0, 0, '', 'Required quest ''Assault by Ait'' active for spellclick');
+
+
+-- DB/Quest: Assault by Air (A)
+UPDATE `creature_template` SET `spell1`=59880 WHERE `entry`=31884;
+UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `guid`=125330;
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=31881;
+UPDATE `creature_template` SET `speed_run`=3 WHERE `entry`=31881;
+UPDATE `vehicle_template_accessory` SET `minion`=1 WHERE `entry`=31881 AND `seat_id`=0;
+
+DELETE FROM `waypoints` WHERE `entry`=31881;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(31881, 1, 7513.354, 1781.131, 381.561, 'Kor\'kron Troop Transport'),
+(31881, 2, 7508.576, 1843.856, 445.5052, 'Kor\'kron Troop Transport'),
+(31881, 3, 7496.634, 1890.942, 496.6479, 'Kor\'kron Troop Transport'),
+(31881, 4, 7451.161, 1990.051, 581.2389, 'Kor\'kron Troop Transport'),
+(31881, 5, 7372.757, 2143.088, 590.3499, 'Kor\'kron Troop Transport'),
+(31881, 6, 7293.971, 2233.48, 602.4611, 'Kor\'kron Troop Transport'),
+(31881, 7, 7117.833, 2278.535, 605.0721, 'Kor\'kron Troop Transport'),
+(31881, 8, 7017.111, 2263.003, 647.082, 'Kor\'kron Troop Transport'),
+(31881, 9, 6996.222, 2205.772, 679.2115, 'Kor\'kron Troop Transport'),
+(31881, 10, 7061.963, 2173.603, 675.7964, 'Kor\'kron Troop Transport'),
+(31881, 11, 7121.235, 2156.643, 656.629, 'Kor\'kron Troop Transport'),
+(31881, 12, 7217.851, 2134.94, 612.4905, 'Kor\'kron Troop Transport'),
+(31881, 13, 7288.108, 2086.021, 596.8795, 'Kor\'kron Troop Transport'),
+(31881, 14, 7327.417, 1958.794, 585.9348, 'Kor\'kron Troop Transport'),
+(31881, 15, 7298.545, 1875.991, 585.4906, 'Kor\'kron Troop Transport'),
+(31881, 16, 7249.319, 1800.969, 588.4902, 'Kor\'kron Troop Transport'),
+(31881, 17, 7157.543, 1745.975, 588.4902, 'Kor\'kron Troop Transport'),
+(31881, 18, 7067.531, 1718.656, 588.4902, 'Kor\'kron Troop Transport'),
+(31881, 19, 6988.929, 1710.539, 589.5177, 'Kor\'kron Troop Transport'),
+(31881, 20, 6858.088, 1715.7, 617.0735, 'Kor\'kron Troop Transport'),
+(31881, 21, 6789.24, 1811.618, 658.2943, 'Kor\'kron Troop Transport'),
+(31881, 22, 6741.477, 1881.004, 687.6509, 'Kor\'kron Troop Transport'),
+(31881, 23, 6687.517, 1859.595, 701.3486, 'Kor\'kron Troop Transport'),
+(31881, 24, 6683.648, 1766.575, 692.5154, 'Kor\'kron Troop Transport'),
+(31881, 25, 6738.948, 1709.63, 686.7657, 'Kor\'kron Troop Transport'),
+(31881, 26, 6906.804, 1642.973, 664.1547, 'Kor\'kron Troop Transport'),
+(31881, 27, 7009.317, 1640.16, 631.8771, 'Kor\'kron Troop Transport'),
+(31881, 28, 7174.014, 1608.189, 554.7385, 'Kor\'kron Troop Transport'),
+(31881, 29, 7328.232, 1587.251, 465.3495, 'Kor\'kron Troop Transport'),
+(31881, 30, 7449.845, 1582.211, 415.2385, 'Kor\'kron Troop Transport'),
+(31881, 31, 7493.209, 1659.839, 383.9886, 'Kor\'kron Troop Transport'),
+(31881, 32, 7508.813, 1745.664, 371.2109, 'Kor\'kron Troop Transport');
+
+-- Kor'kron Suppression Turret SAI
+SET @ENTRY := 31884;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,27,0,100,0,0,0,0,0,45,1,0,0,0,0,0,19,31881,10,0,0,0,0,0,"Kor'kron Suppression Turret - On Passenger Boarded - Set Data 1 0");
+
+-- Kor'kron Troop Transport SAI
+SET @ENTRY := 31881;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,38,0,100,0,1,0,0,0,80,3188100,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Troop Transport - On Data Set 1 0 - Run Script"),
+(@ENTRY,0,1,0,40,0,100,0,11,31881,0,0,11,64631,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Troop Transport - On Waypoint 2 Reached - Cast 'Dop Passenger3'"),
+(@ENTRY,0,2,0,40,0,100,0,16,31881,0,0,11,64614,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Troop Transport - On Waypoint 2 Reached - Cast 'Dop Passenger4'"),
+(@ENTRY,0,3,0,40,0,100,0,19,31881,0,0,11,64633,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Troop Transport - On Waypoint 2 Reached - Cast 'Dop Passenger5'"),
+(@ENTRY,0,4,0,40,0,100,0,22,31881,0,0,11,64634,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Troop Transport - On Waypoint 2 Reached - Cast 'Dop Passenger6'"),
+(@ENTRY,0,5,0,40,0,100,0,32,31881,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Troop Transport - On Waypoint 32 Reached - Despawn");
+
+-- Actionlist SAI
+SET @ENTRY := 3188100;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,2000,2000,0,0,53,1,31881,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Troop Transport - On Script - Start Waypoint"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Troop Transport - On Script - Set Reactstate Passive"),
+(@ENTRY,9,2,0,0,0,100,0,0,0,0,0,18,131072,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Troop Transport - On Script - Set Flag Pacified"),
+(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,102,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Troop Transport - On Script - Set Health Regeneration Off");
+
+-- Kor'kron Infiltrator SAI
+SET @ENTRY := 31882;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,23,0,100,1,46598,0,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Infiltrator - On Has Aura 'Ride Vehicle Hardcoded' - Run Script (No Repeat)");
+
+-- Actionlist SAI
+SET @ENTRY := 3188200;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,11,59977,0,0,0,0,0,21,20,0,0,0,0,0,0,"Kor'kron Infiltrator - On Script - Cast 'Horde Air Dropoff Kill Credit'"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Infiltrator - On Script - Say Line 0"),
+(@ENTRY,9,2,0,0,0,100,0,100,100,0,0,11,45472,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Infiltrator - On Script - Cast 'Parachute'"),
+(@ENTRY,9,3,0,0,0,100,0,4000,4000,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'kron Infiltrator - On Script - Despawn Instant");
+
+DELETE FROM `creature_text` WHERE `entry`=31882;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES
+(31882, 0, 0, 'I''ll kill one just for you.', 12, 0, 100, 0, 0, 0, 'Kor''kron Infiltrator',32532),
+(31882, 0, 1, 'Dropping. Good luck, boys!', 12, 0, 100, 0, 0, 0, 'Kor''kron Infiltrator',32526),
+(31882, 0, 2, 'Thanks for the cover!', 12, 0, 100, 0, 0, 0, 'Kor''kron Infiltrator',32527),
+(31882, 0, 3, 'Destination reached - engaging in scouting mission.', 12, 0, 100, 0, 0, 0, 'Kor''kron Infiltrator',32528),
+(31882, 0, 4, 'Infiltration commencing.', 12, 0, 100, 0, 0, 0, 'Kor''kron Infiltrator',32529);
+
+-- Ymirheim Spear Gun SAI
+SET @ENTRY := 31280;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,1,1,100,0,5000,5000,3000,4000,11,59894,0,0,0,0,0,19,31881,100,0,0,0,0,0,"Ymirheim Spear Gun - Out of Combat - Cast 'Launch Spear' (Phase 1)"),
+(@ENTRY,0,1,2,8,0,100,0,59880,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ymirheim Spear Gun - On Spellhit 'Suppression Charge' - Set Event Phase 2"),
+(@ENTRY,0,2,0,61,0,100,0,59880,0,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ymirheim Spear Gun - On Spellhit 'Suppression Charge' - Run Script"),
+(@ENTRY,0,3,0,25,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ymirheim Spear Gun - On Reset - Set Event Phase 1");
+
+-- Actionlist SAI
+SET @ENTRY := 3128000;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,15000,15000,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Event Phase 1");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND `SourceGroup`=31884 AND `SourceEntry`=46598;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(18, 31884, 46598, 0, 0, 9, 0, 13310, 0, 0, 0, 0, 0, '', 'Required quest ''Assault by Ait'' active for spellclick');
+--
+-- Melizza Brimbuzzle SAI
+SET @ENTRY := 12277;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,1,19,0,100,0,6132,0,0,0,53,0,@ENTRY*100+00,0,0,0,1,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Quest 'Get Me Out of Here!' Taken - Start Waypoint"),
+(@ENTRY,0,1,12,61,0,100,0,6132,0,0,0,81,0,0,0,0,0,0,10,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Quest 'Get Me Out of Here!' Taken - Set Npc Flag "),
+(@ENTRY,0,2,0,40,0,100,0,3,@ENTRY*100+00,0,0,1,0,0,0,0,0,0,21,20,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 3 Reached - Say Line 0"),
+(@ENTRY,0,3,4,40,0,100,0,58,@ENTRY*100+00,0,0,15,6132,0,0,0,0,0,17,0,30,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 58 Reached - Quest Credit 'Get Me Out of Here!'"),
+(@ENTRY,0,4,5,61,0,100,0,58,@ENTRY*100+00,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 58 Reached - Say Line 1"),
+(@ENTRY,0,5,6,61,0,100,0,58,@ENTRY*100+00,0,0,53,1,@ENTRY*100+01,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 58 Reached - Start Waypoint"),
+(@ENTRY,0,6,0,61,0,100,0,58,@ENTRY*100+00,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 58 Reached - Set Active On"),
+(@ENTRY,0,7,8,40,0,100,0,69,@ENTRY*100+01,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 69 Reached - Pause Waypoint"),
+(@ENTRY,0,8,0,61,0,100,0,69,@ENTRY*100+01,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 69 Reached - Run Script"),
+(@ENTRY,0,9,0,40,0,100,0,93,@ENTRY*100+01,0,0,41,3000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 93 Reached - Despawn In 3000 ms"),
+(@ENTRY,0,10,13,11,0,100,0,0,0,0,0,81,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Respawn - Set Npc Flag Questgiver"),
+(@ENTRY,0,11,0,40,0,100,1,57,@ENTRY*100+00,0,0,80,@ENTRY*100+01,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 57 Reached - Run Script (No Repeat)"),
+(@ENTRY,0,12,0,61,0,100,0,6132,0,0,0,2,250,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Quest 'Get Me Out of Here!' Taken - Set Faction 250"),
+(@ENTRY,0,13,0,61,0,100,0,0,0,0,0,2,474,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Respawn - Set Faction 474");
+
+-- Actionlist SAI
+SET @ENTRY := 1227700;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,3000,3000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 2"),
+(@ENTRY,9,1,0,0,0,100,0,3000,3000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 3"),
+(@ENTRY,9,2,0,0,0,100,0,3000,3000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 4");
+
+-- Actionlist SAI
+SET @ENTRY := 1227701;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,12,4655,7,0,0,0,0,8,0,0,0,-1382.56,2417.06,88.9714,2.46091,"Melizza Brimbuzzle - On Script - Summon Creature 'Maraudine Wrangler'"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,12,4655,7,0,0,0,0,8,0,0,0,-1406.39,2423.48,88.5732,0.20944,"Melizza Brimbuzzle - On Script - Summon Creature 'Maraudine Wrangler'"),
+(@ENTRY,9,2,0,0,0,100,0,0,0,0,0,12,4655,7,0,0,0,0,8,0,0,0,-1394.38,2417.12,88.7675,0.959931,"Melizza Brimbuzzle - On Script - Summon Creature 'Maraudine Wrangler'");
+
+DELETE FROM `creature_text` WHERE `entry`=12277;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES
+(12277, 0, 0, 'Thanks $n. Now let''s get out of here!', 12, 0, 100, 0, 0, 0, 7540, 'Melizza Brimbuzzle'),
+(12277, 1, 0, 'We made it! Thanks again! I''m going to run ahead!', 12, 0, 100, 0, 0, 0, 7544, 'Melizza Brimbuzzle'),
+(12277, 2, 0, 'Hey Hornizz! I''m back! And there are some people behind me who helped me out of a jam.', 12, 0, 100, 0, 0, 0, 7550, 'Melizza Brimbuzzle'),
+(12277, 3, 0, 'We''re going to have to scratch the Maraudines off our list. Too hard to work with...', 12, 0, 100, 0, 0, 0, 7551, 'Melizza Brimbuzzle'),
+(12277, 4, 0, 'Well, I''m off to the Gelkis. They''re not as dumb as the Maraudines, but they''re more reasonable.', 12, 0, 100, 0, 0, 0, 7552, 'Melizza Brimbuzzle');
+
+SET @PATH := 1227700;
+SET @PATH_TWO := 1227701;
+DELETE FROM `waypoints` WHERE `entry` IN (@PATH, @PATH_TWO);
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(@PATH,1,-1155.146,2709.409,111.2361,'Melizza Brimbuzzle'),
+(@PATH,2,-1155.146,2709.409,111.2361,'Melizza Brimbuzzle'),
+(@PATH,3,-1162.785,2712.464,111.5828,'Melizza Brimbuzzle'),
+(@PATH,4,-1162.752,2712.397,111.6417,'Melizza Brimbuzzle'),
+(@PATH,5,-1169.502,2711.397,112.3917,'Melizza Brimbuzzle'),
+(@PATH,6,-1177.48,2710.258,112.1255,'Melizza Brimbuzzle'),
+(@PATH,7,-1199.98,2702.508,111.6255,'Melizza Brimbuzzle'),
+(@PATH,8,-1206.389,2700.128,111.496,'Melizza Brimbuzzle'),
+(@PATH,9,-1248.919,2680.271,111.8919,'Melizza Brimbuzzle'),
+(@PATH,10,-1272.489,2666.548,111.8956,'Melizza Brimbuzzle'),
+(@PATH,11,-1288.82,2646.104,111.7111,'Melizza Brimbuzzle'),
+(@PATH,12,-1290.413,2644.388,111.6542,'Melizza Brimbuzzle'),
+(@PATH,13,-1290.413,2644.388,111.6542,'Melizza Brimbuzzle'),
+(@PATH,14,-1290.413,2644.388,111.6542,'Melizza Brimbuzzle'),
+(@PATH,15,-1309.874,2622.18,111.7776,'Melizza Brimbuzzle'),
+(@PATH,16,-1309.908,2622.186,111.9743,'Melizza Brimbuzzle'),
+(@PATH,17,-1323.898,2605.008,111.8986,'Melizza Brimbuzzle'),
+(@PATH,18,-1336.769,2591.199,111.8607,'Melizza Brimbuzzle'),
+(@PATH,19,-1349.322,2578.486,111.7647,'Melizza Brimbuzzle'),
+(@PATH,20,-1359.602,2564.017,111.4906,'Melizza Brimbuzzle'),
+(@PATH,21,-1361.852,2559.517,110.7406,'Melizza Brimbuzzle'),
+(@PATH,22,-1362.352,2557.767,109.9906,'Melizza Brimbuzzle'),
+(@PATH,23,-1363.102,2556.267,109.4906,'Melizza Brimbuzzle'),
+(@PATH,24,-1364.602,2553.517,108.9906,'Melizza Brimbuzzle'),
+(@PATH,25,-1365.352,2551.767,108.2406,'Melizza Brimbuzzle'),
+(@PATH,26,-1366.102,2550.017,107.7406,'Melizza Brimbuzzle'),
+(@PATH,27,-1366.477,2549.685,107.5719,'Melizza Brimbuzzle'),
+(@PATH,28,-1366.727,2549.185,107.0719,'Melizza Brimbuzzle'),
+(@PATH,29,-1367.227,2547.185,106.8219,'Melizza Brimbuzzle'),
+(@PATH,30,-1367.727,2545.185,106.0719,'Melizza Brimbuzzle'),
+(@PATH,31,-1368.477,2543.435,105.3219,'Melizza Brimbuzzle'),
+(@PATH,32,-1368.977,2541.435,104.5719,'Melizza Brimbuzzle'),
+(@PATH,33,-1369.477,2539.435,103.8219,'Melizza Brimbuzzle'),
+(@PATH,34,-1370.227,2536.685,103.3219,'Melizza Brimbuzzle'),
+(@PATH,35,-1370.977,2534.685,102.5719,'Melizza Brimbuzzle'),
+(@PATH,36,-1371.227,2532.935,102.0719,'Melizza Brimbuzzle'),
+(@PATH,37,-1371.727,2531.185,101.3219,'Melizza Brimbuzzle'),
+(@PATH,38,-1372.227,2529.185,100.8219,'Melizza Brimbuzzle'),
+(@PATH,39,-1372.977,2527.185,100.0719,'Melizza Brimbuzzle'),
+(@PATH,40,-1373.727,2524.435,99.32188,'Melizza Brimbuzzle'),
+(@PATH,41,-1374.227,2522.435,98.57188,'Melizza Brimbuzzle'),
+(@PATH,42,-1374.727,2520.685,97.82188,'Melizza Brimbuzzle'),
+(@PATH,43,-1375.477,2518.685,97.32188,'Melizza Brimbuzzle'),
+(@PATH,44,-1375.639,2518.402,97.00177,'Melizza Brimbuzzle'),
+(@PATH,45,-1375.889,2517.152,96.75177,'Melizza Brimbuzzle'),
+(@PATH,46,-1376.389,2515.152,96.00177,'Melizza Brimbuzzle'),
+(@PATH,47,-1376.889,2513.402,95.25177,'Melizza Brimbuzzle'),
+(@PATH,48,-1378.139,2509.402,93.75177,'Melizza Brimbuzzle'),
+(@PATH,49,-1378.389,2507.652,93.00177,'Melizza Brimbuzzle'),
+(@PATH,50,-1379.139,2504.902,92.50177,'Melizza Brimbuzzle'),
+(@PATH,51,-1379.889,2501.902,91.75177,'Melizza Brimbuzzle'),
+(@PATH,52,-1380.389,2500.152,91.25177,'Melizza Brimbuzzle'),
+(@PATH,53,-1381.389,2496.152,90.50177,'Melizza Brimbuzzle'),
+(@PATH,54,-1381.559,2495.931,90.14986,'Melizza Brimbuzzle'),
+(@PATH,55,-1381.809,2495.431,90.14986,'Melizza Brimbuzzle'),
+(@PATH,56,-1382.309,2491.431,89.64986,'Melizza Brimbuzzle'),
+(@PATH,57,-1385.493,2471.513,89.11208,'Melizza Brimbuzzle'),
+(@PATH,58,-1386.618,2405.71,89.767,'Melizza Brimbuzzle'),
+(@PATH_TWO,1,-1385.368,2401.21,90.267,'Melizza Brimbuzzle'),
+(@PATH_TWO,2,-1383.618,2395.46,90.767,'Melizza Brimbuzzle'),
+(@PATH_TWO,3,-1382.118,2390.71,91.517,'Melizza Brimbuzzle'),
+(@PATH_TWO,4,-1377.252,2375.137,91.91622,'Melizza Brimbuzzle'),
+(@PATH_TWO,5,-1373.759,2355.208,92.06256,'Melizza Brimbuzzle'),
+(@PATH_TWO,6,-1366.36,2323.406,91.9967,'Melizza Brimbuzzle'),
+(@PATH_TWO,7,-1362.618,2277.267,91.79288,'Melizza Brimbuzzle'),
+(@PATH_TWO,8,-1358.118,2257.017,91.54288,'Melizza Brimbuzzle'),
+(@PATH_TWO,9,-1354.14,2239.229,91.62033,'Melizza Brimbuzzle'),
+(@PATH_TWO,10,-1352.89,2229.729,92.12033,'Melizza Brimbuzzle'),
+(@PATH_TWO,11,-1350.869,2214.848,91.63843,'Melizza Brimbuzzle'),
+(@PATH_TWO,12,-1351.869,2210.848,90.88843,'Melizza Brimbuzzle'),
+(@PATH_TWO,13,-1352.119,2209.848,90.13843,'Melizza Brimbuzzle'),
+(@PATH_TWO,14,-1352.619,2208.098,89.13843,'Melizza Brimbuzzle'),
+(@PATH_TWO,15,-1352.869,2207.098,87.88843,'Melizza Brimbuzzle'),
+(@PATH_TWO,16,-1353.119,2206.098,86.38843,'Melizza Brimbuzzle'),
+(@PATH_TWO,17,-1353.369,2205.348,85.38843,'Melizza Brimbuzzle'),
+(@PATH_TWO,18,-1353.619,2204.348,84.38843,'Melizza Brimbuzzle'),
+(@PATH_TWO,19,-1354.119,2202.348,83.63843,'Melizza Brimbuzzle'),
+(@PATH_TWO,20,-1354.369,2201.348,82.88843,'Melizza Brimbuzzle'),
+(@PATH_TWO,21,-1354.619,2200.598,82.13843,'Melizza Brimbuzzle'),
+(@PATH_TWO,22,-1354.869,2199.598,81.38843,'Melizza Brimbuzzle'),
+(@PATH_TWO,23,-1355.119,2198.598,80.63843,'Melizza Brimbuzzle'),
+(@PATH_TWO,24,-1355.119,2197.598,79.88843,'Melizza Brimbuzzle'),
+(@PATH_TWO,25,-1355.619,2195.598,78.88843,'Melizza Brimbuzzle'),
+(@PATH_TWO,26,-1356.119,2193.848,77.88843,'Melizza Brimbuzzle'),
+(@PATH_TWO,27,-1356.619,2191.848,77.13843,'Melizza Brimbuzzle'),
+(@PATH_TWO,28,-1357.619,2188.848,76.38843,'Melizza Brimbuzzle'),
+(@PATH_TWO,29,-1355.239,2198.246,80.43513,'Melizza Brimbuzzle'),
+(@PATH_TWO,30,-1355.489,2197.246,79.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,31,-1355.989,2195.496,78.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,32,-1356.489,2193.496,77.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,33,-1356.989,2191.496,76.93513,'Melizza Brimbuzzle'),
+(@PATH_TWO,34,-1357.739,2188.746,76.18513,'Melizza Brimbuzzle'),
+(@PATH_TWO,35,-1357.989,2187.496,75.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,36,-1358.739,2185.746,75.18513,'Melizza Brimbuzzle'),
+(@PATH_TWO,37,-1359.239,2183.746,74.43513,'Melizza Brimbuzzle'),
+(@PATH_TWO,38,-1359.989,2181.996,73.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,39,-1360.489,2179.996,72.93513,'Melizza Brimbuzzle'),
+(@PATH_TWO,40,-1361.489,2177.246,72.18513,'Melizza Brimbuzzle'),
+(@PATH_TWO,41,-1362.239,2175.246,71.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,42,-1362.739,2173.496,70.93513,'Melizza Brimbuzzle'),
+(@PATH_TWO,43,-1363.239,2171.746,70.43513,'Melizza Brimbuzzle'),
+(@PATH_TWO,44,-1363.739,2169.746,69.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,45,-1364.739,2166.996,68.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,46,-1365.489,2164.996,67.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,47,-1365.989,2163.246,66.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,48,-1366.739,2161.246,65.93513,'Melizza Brimbuzzle'),
+(@PATH_TWO,49,-1367.489,2159.496,64.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,50,-1367.989,2157.496,63.93513,'Melizza Brimbuzzle'),
+(@PATH_TWO,51,-1368.989,2154.746,63.18513,'Melizza Brimbuzzle'),
+(@PATH_TWO,52,-1369.739,2152.746,62.43513,'Melizza Brimbuzzle'),
+(@PATH_TWO,53,-1370.239,2150.996,61.68513,'Melizza Brimbuzzle'),
+(@PATH_TWO,54,-1370.989,2148.996,60.93513,'Melizza Brimbuzzle'),
+(@PATH_TWO,55,-1369.163,2154.362,62.88633,'Melizza Brimbuzzle'),
+(@PATH_TWO,56,-1369.913,2152.612,62.63633,'Melizza Brimbuzzle'),
+(@PATH_TWO,57,-1370.413,2150.612,61.63633,'Melizza Brimbuzzle'),
+(@PATH_TWO,58,-1371.163,2148.862,61.13633,'Melizza Brimbuzzle'),
+(@PATH_TWO,59,-1371.663,2147.612,60.63633,'Melizza Brimbuzzle'),
+(@PATH_TWO,60,-1374.663,2142.362,60.13633,'Melizza Brimbuzzle'),
+(@PATH_TWO,61,-1381.413,2131.612,60.88633,'Melizza Brimbuzzle'),
+(@PATH_TWO,62,-1387.413,2121.362,61.38633,'Melizza Brimbuzzle'),
+(@PATH_TWO,63,-1391.413,2114.362,62.13633,'Melizza Brimbuzzle'),
+(@PATH_TWO,64,-1395.163,2108.362,62.63633,'Melizza Brimbuzzle'),
+(@PATH_TWO,65,-1391.807,2114.246,61.76419,'Melizza Brimbuzzle'),
+(@PATH_TWO,66,-1395.307,2108.246,62.26419,'Melizza Brimbuzzle'),
+(@PATH_TWO,67,-1396.307,2106.496,62.51419,'Melizza Brimbuzzle'),
+(@PATH_TWO,68,-1404.391,2088.967,62.0089,'Melizza Brimbuzzle'),
+(@PATH_TWO,69,-1405.748,2087.39,62.09642,'Melizza Brimbuzzle'),
+(@PATH_TWO,70,-1407.248,2086.89,62.09642,'Melizza Brimbuzzle'),
+(@PATH_TWO,71,-1408.248,2086.89,62.34642,'Melizza Brimbuzzle'),
+(@PATH_TWO,72,-1410.498,2086.39,62.34642,'Melizza Brimbuzzle'),
+(@PATH_TWO,73,-1412.498,2086.39,62.59642,'Melizza Brimbuzzle'),
+(@PATH_TWO,74,-1413.998,2085.39,62.59642,'Melizza Brimbuzzle'),
+(@PATH_TWO,75,-1415.498,2083.39,62.59642,'Melizza Brimbuzzle'),
+(@PATH_TWO,76,-1416.498,2082.39,62.59642,'Melizza Brimbuzzle'),
+(@PATH_TWO,77,-1417.498,2079.39,62.59642,'Melizza Brimbuzzle'),
+(@PATH_TWO,78,-1417.998,2077.39,62.59642,'Melizza Brimbuzzle'),
+(@PATH_TWO,79,-1419.998,2075.14,62.59642,'Melizza Brimbuzzle'),
+(@PATH_TWO,80,-1424.748,2073.14,62.34642,'Melizza Brimbuzzle'),
+(@PATH_TWO,81,-1418.114,2077.1,62.59175,'Melizza Brimbuzzle'),
+(@PATH_TWO,82,-1420.364,2075.35,62.59175,'Melizza Brimbuzzle'),
+(@PATH_TWO,83,-1425.114,2073.1,62.34175,'Melizza Brimbuzzle'),
+(@PATH_TWO,84,-1425.114,2075.1,62.34175,'Melizza Brimbuzzle'),
+(@PATH_TWO,85,-1436.864,2074.35,62.84175,'Melizza Brimbuzzle'),
+(@PATH_TWO,86,-1451.277,2073.542,62.70998,'Melizza Brimbuzzle'),
+(@PATH_TWO,87,-1464.777,2075.542,62.95998,'Melizza Brimbuzzle'),
+(@PATH_TWO,88,-1465.031,2075.661,62.89689,'Melizza Brimbuzzle'),
+(@PATH_TWO,89,-1473.031,2077.161,63.14689,'Melizza Brimbuzzle'),
+(@PATH_TWO,90,-1480.031,2086.411,62.39689,'Melizza Brimbuzzle'),
+(@PATH_TWO,91,-1485.531,2093.411,61.89689,'Melizza Brimbuzzle'),
+(@PATH_TWO,92,-1485.639,2093.875,61.82396,'Melizza Brimbuzzle'),
+(@PATH_TWO,93,-1487.889,2096.375,61.82396,'Melizza Brimbuzzle');
+SET @Oguid=5638; -- 2 free Gob guid set by TC
+DELETE FROM `areatrigger_scripts` WHERE `entry` IN (3746, 3766);
+INSERT INTO `areatrigger_scripts` VALUES (3746,'SmartTrigger'), (3766,'SmartTrigger');
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (3746, 3766) AND `source_type`=2;
+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
+(3746, 2, 0, 0, 46, 0, 100, 0, 3746, 0, 0, 0, 70, 7200, 0, 0, 0, 0, 0, 14, @Oguid+1, 180024, 0, 0, 0, 0, 0, 'Area Trigger 3746 - On Trigger - Respawn Mysterious Deadmines Chest'),
+(3766, 2, 0, 0, 46, 0, 100, 0, 3766, 0, 0, 0, 70, 7200, 0, 0, 0, 0, 0, 14, @Oguid, 180055, 0, 0, 0, 0, 0, 'Area Trigger 3746 - On Trigger - Respawn Mysterious Wailing Caverns');
+DELETE FROM `gameobject` WHERE `id` IN (180055, 180024);
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseId`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES
+(@Oguid,180055,43,1,169,-97.6,173.8,-79,2.08,0,0,0.862404,0.50622,-1,100,1),
+(@Oguid+1,180024,36,1,169,-32.1232,-374.64,59.06,3.0820,0,0,0.879275,-0.476315,-1,100,1);
+DELETE FROM `gameobject_questender` WHERE `id`=180055 AND `quest`=7944;
+INSERT INTO `gameobject_questender` (`id`,`quest`) VALUES (180055,7944);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` IN (3766,3746) AND `SourceId`=2;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(22,1,3746,2,0,28,0,7938,0,0,0,0,'','SAI areatrigger 3746 triggers only if player has the quest 7938'),
+(22,1,3766,2,0,28,0,7944,0,0,0,0,'','SAI areatrigger 3766 triggers only if player has the quest 7944');
+--
+-- Pit-Fighting Spectator SAI
+SET @ENTRY := 26869;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,1,0,100,0,2000,6000,10000,20000,10,4,21,6,11,0,0,1,0,0,0,0,0,0,0,"Pit-Fighting Spectator - Out of Combat - Play Random Emote (4, 21, 6, 11)");
+-- Conquest Hold Legionnaire
+SET @NPC := 116284;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3222.422,`position_y`=-2261.431,`position_z`=112.903 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3222.422,-2261.431,112.903,0,0,0,0,100,0),
+(@PATH,2,3223.03,-2264.1,112.1124,0,0,0,0,100,0),
+(@PATH,3,3223.781,-2267.022,111.1831,0,0,0,0,100,0),
+(@PATH,4,3224.569,-2267.831,111.0135,0,0,0,0,100,0),
+(@PATH,5,3226.668,-2270.648,110.3546,0,0,0,0,100,0),
+(@PATH,6,3229.054,-2274.084,109.3319,0,0,0,0,100,0),
+(@PATH,7,3230.216,-2275.468,109.1555,0,0,0,0,100,0),
+(@PATH,8,3232.466,-2278.367,108.6153,0,0,0,0,100,0),
+(@PATH,9,3234.924,-2280.143,108.2696,0,0,0,0,100,0),
+(@PATH,10,3237.392,-2281.926,108.2696,0,0,0,0,100,0),
+(@PATH,11,3239.848,-2283.7,108.2879,0,0,0,0,100,0),
+(@PATH,12,3240.568,-2283.284,108.2696,0,0,0,0,100,0),
+(@PATH,13,3243.724,-2282.795,108.3946,0,0,0,0,100,0),
+(@PATH,14,3246.881,-2282.306,108.3946,0,0,0,0,100,0),
+(@PATH,15,3250.019,-2281.82,108.5137,0,0,0,0,100,0),
+(@PATH,16,3253.206,-2281.326,108.5008,0,0,0,0,100,0),
+(@PATH,17,3255.859,-2280.714,108.5196,0,0,0,0,100,0),
+(@PATH,18,3258.817,-2279.989,108.4834,0,0,0,0,100,0),
+(@PATH,19,3261.763,-2279.267,108.3458,0,0,0,0,100,0),
+(@PATH,20,3264.564,-2278.554,108.5305,0,0,0,0,100,0),
+(@PATH,21,3267.448,-2277.735,108.8179,0,0,0,0,100,0),
+(@PATH,22,3269.372,-2277.215,109.3157,0,0,0,0,100,0),
+(@PATH,23,3273.088,-2276.127,109.8022,0,0,0,0,100,0),
+(@PATH,24,3277.416,-2276.224,109.3619,0,0,0,0,100,0),
+(@PATH,25,3280.093,-2277.505,108.8861,0,0,0,0,100,0),
+(@PATH,26,3282.834,-2278.816,108.7433,0,0,0,0,100,0),
+(@PATH,27,3285.509,-2280.093,109.0773,0,0,0,0,100,0),
+(@PATH,28,3287.798,-2280.42,109.6238,0,0,0,0,100,0),
+(@PATH,29,3289.805,-2280.55,110.2963,0,0,0,0,100,0),
+(@PATH,30,3291.436,-2282.21,110.212,0,0,0,0,100,0),
+(@PATH,31,3293.136,-2279.585,110.3022,0,0,0,0,100,0),
+(@PATH,32,3294.828,-2276.973,110.6279,0,0,0,0,100,0),
+(@PATH,33,3296.068,-2275.338,110.8585,0,0,0,0,100,0),
+(@PATH,34,3296.431,-2272.337,111.0591,0,0,0,0,100,0),
+(@PATH,35,3296.789,-2269.371,111.363,0,0,0,0,100,0),
+(@PATH,36,3297.156,-2266.315,111.6388,0,0,0,0,100,0),
+(@PATH,37,3297.624,-2263.012,111.854,0,0,0,0,100,0),
+(@PATH,38,3298.611,-2260.142,111.9759,0,0,0,0,100,0),
+(@PATH,39,3299.594,-2257.286,112.3186,0,0,0,0,100,0),
+(@PATH,40,3300.581,-2254.429,112.6177,0,0,0,0,100,0),
+(@PATH,41,3300.73,-2253.996,112.6697,0,0,0,0,100,0),
+(@PATH,42,3300.506,-2254.651,112.5911,0,0,0,0,100,0),
+(@PATH,43,3303.751,-2259.06,112.062,0,0,0,0,100,0),
+(@PATH,44,3303.142,-2262.008,111.7082,0,0,0,0,100,0),
+(@PATH,45,3302.529,-2264.978,111.4768,0,0,0,0,100,0),
+(@PATH,46,3301.917,-2267.939,111.3507,0,0,0,0,100,0),
+(@PATH,47,3301.307,-2270.89,110.9967,0,0,0,0,100,0),
+(@PATH,48,3300.701,-2273.825,110.6447,0,0,0,0,100,0),
+(@PATH,49,3300.092,-2276.787,110.3161,0,0,0,0,100,0),
+(@PATH,50,3297.877,-2280.104,110.3195,0,0,0,0,100,0),
+(@PATH,51,3295.698,-2282.238,110.1211,0,0,0,0,100,0),
+(@PATH,52,3291.665,-2283.44,110.1146,0,0,0,0,100,0),
+(@PATH,53,3288.628,-2283.25,109.6978,0,0,0,0,100,0),
+(@PATH,54,3286.963,-2283.097,109.5514,0,0,0,0,100,0),
+(@PATH,55,3284.762,-2282.979,108.7865,0,0,0,0,100,0),
+(@PATH,56,3281.819,-2282.813,107.6871,0,0,0,0,100,0),
+(@PATH,57,3279.023,-2282.41,106.843,0,0,0,0,100,0),
+(@PATH,58,3273.752,-2281.361,107.249,0,0,0,0,100,0),
+(@PATH,59,3272.823,-2281.124,107.9806,0,0,0,0,100,0),
+(@PATH,60,3269.315,-2280.155,108.8164,0,0,0,0,100,0),
+(@PATH,61,3266.359,-2279.441,108.5643,0,0,0,0,100,0),
+(@PATH,62,3261.786,-2278.462,108.5415,0,0,0,0,100,0),
+(@PATH,63,3260.874,-2277.872,108.6126,0,0,0,0,100,0),
+(@PATH,64,3258.454,-2279.771,108.5095,0,0,0,0,100,0),
+(@PATH,65,3256.032,-2281.672,108.5072,0,0,0,0,100,0),
+(@PATH,66,3253.73,-2283.478,108.3147,0,0,0,0,100,0),
+(@PATH,67,3249.822,-2284.479,108.1946,0,0,0,0,100,0),
+(@PATH,68,3246.836,-2284.902,108.1438,0,0,0,0,100,0),
+(@PATH,69,3243.795,-2285.332,108.0923,0,0,0,0,100,0),
+(@PATH,70,3240.329,-2284.271,108.2195,0,0,0,0,100,0),
+(@PATH,71,3237.559,-2282.833,108.1446,0,0,0,0,100,0),
+(@PATH,72,3234.771,-2281.385,108.2696,0,0,0,0,100,0),
+(@PATH,73,3231.993,-2279.943,108.3994,0,0,0,0,100,0),
+(@PATH,74,3229.22,-2278.504,108.7801,0,0,0,0,100,0),
+(@PATH,75,3226.602,-2277.155,108.8858,0,0,0,0,100,0),
+(@PATH,76,3224.147,-2273.925,109.3004,0,0,0,0,100,0),
+(@PATH,77,3223.178,-2271.634,109.9661,0,0,0,0,100,0),
+(@PATH,78,3222.1,-2269.727,110.5905,0,0,0,0,100,0),
+(@PATH,79,3220.919,-2266.938,111.1347,0,0,0,0,100,0),
+(@PATH,80,3219.873,-2264.861,111.7715,0,0,0,0,100,0),
+(@PATH,81,3219.09,-2262.018,113.0721,0,0,0,0,100,0),
+(@PATH,82,3218.371,-2259.129,113.9729,0,0,0,0,100,0),
+(@PATH,83,3217.72,-2256.449,114.2141,0,0,0,0,100,0),
+(@PATH,84,3217.931,-2257.32,114.1792,0,0,0,0,100,0),
+(@PATH,85,3221.369,-2258.965,113.6241,0,0,0,0,100,0),
+(@PATH,86,3222.448,-2261.465,112.8751,0,0,0,0,100,0);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID`=116284;
+INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
+(116284, 116284, 0, 0, 2, 0, 0),
+(116284, 116285, 3, 90, 0, 0, 0);
+UPDATE `gameobject_template` SET `flags`=34 WHERE `entry`=177192;
+UPDATE `gameobject_template` SET `faction`=114 WHERE `entry` IN(179504,179505);
+-- Grizzlyhills Pathing/Events -1
+SET @NPC := 105919;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2659.377,`position_y`=-2080.199,`position_z`=4.346071 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,2659.377,-2080.199,4.346071,0,0,0,0,100,0),
+(@PATH,2,2666.377,-2073.199,4.346071,0,0,0,0,100,0),
+(@PATH,3,2670.377,-2068.949,4.346071,0,0,0,0,100,0),
+(@PATH,4,2672.989,-2066.296,4.340314,0,0,0,0,100,0),
+(@PATH,5,2675.489,-2062.546,4.340314,0,0,0,0,100,0),
+(@PATH,6,2677.239,-2060.296,4.340314,0,0,0,0,100,0),
+(@PATH,7,2678.989,-2057.796,4.340314,0,0,0,0,100,0),
+(@PATH,8,2677.343,-2060.426,4.340314,0,0,0,0,100,0),
+(@PATH,9,2675.593,-2062.676,4.340314,0,0,0,0,100,0),
+(@PATH,10,2672.564,-2066.647,4.346634,0,0,0,0,100,0),
+(@PATH,11,2670.314,-2068.897,4.346634,0,0,0,0,100,0),
+(@PATH,12,2666.814,-2072.397,4.346634,0,0,0,0,100,0),
+(@PATH,13,2659.411,-2080.233,4.331409,0,0,0,0,100,0),
+(@PATH,14,2654.911,-2084.233,4.331409,0,0,0,0,100,0),
+(@PATH,15,2653.411,-2085.733,4.331409,0,0,0,0,100,0),
+(@PATH,16,2648.899,-2089.858,4.311839,0,0,0,0,100,0),
+(@PATH,17,2646.649,-2091.858,4.311839,0,0,0,0,100,0),
+(@PATH,18,2643.899,-2094.108,4.311839,0,0,0,0,100,0),
+(@PATH,19,2640.707,-2096.753,4.415871,0,0,0,0,100,0),
+(@PATH,20,2638.457,-2098.503,4.415871,0,0,0,0,100,0),
+(@PATH,21,2634.457,-2101.253,5.165871,0,0,0,0,100,0),
+(@PATH,22,2634.269,-2101.723,5.301712,0,0,0,0,100,0),
+(@PATH,23,2632.769,-2102.723,5.551712,0,0,0,0,100,0),
+(@PATH,24,2629.269,-2105.473,6.301712,0,0,0,0,100,0),
+(@PATH,25,2629.244,-2105.614,6.409963,0,0,0,0,100,0),
+(@PATH,26,2633.158,-2102.466,5.38058,0,0,0,0,100,0),
+(@PATH,27,2634.658,-2101.466,5.13058,0,0,0,0,100,0),
+(@PATH,28,2638.408,-2098.466,4.38058,0,0,0,0,100,0);
+
+-- Pathing for Entry: 27501 'TDB FORMAT'
+SET @NPC := 105928;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2650.357,`position_y`=-2025.178,`position_z`=4.323929 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,2650.357,-2025.178,4.323929,0,0,0,0,100,0),
+(@PATH,2,2653.107,-2027.178,4.323929,0,0,0,0,100,0),
+(@PATH,3,2661.607,-2033.178,4.323929,0,0,0,0,100,0),
+(@PATH,4,2664.357,-2035.323,4.346634,0,0,0,0,100,0),
+(@PATH,5,2666.857,-2037.323,4.346634,0,0,0,0,100,0),
+(@PATH,6,2666.913,-2037.288,4.346634,0,0,0,0,100,0),
+(@PATH,7,2664.103,-2035.223,4.346634,0,0,0,0,100,0),
+(@PATH,8,2661.603,-2033.223,4.346634,0,0,0,0,100,0),
+(@PATH,9,2652.902,-2026.893,4.187136,0,0,0,0,100,0),
+(@PATH,10,2650.152,-2024.893,4.187136,0,0,0,0,100,0),
+(@PATH,11,2646.152,-2022.143,4.187136,0,0,0,0,100,0),
+(@PATH,12,2644.652,-2021.143,3.937136,0,0,0,0,100,0),
+(@PATH,13,2641.632,-2018.958,4.027632,0,0,0,0,100,0),
+(@PATH,14,2641.649,-2019.105,3.777639,0,0,0,0,100,0),
+(@PATH,15,2641.879,-2019.022,3.937136,0,0,0,0,100,0),
+(@PATH,16,2644.629,-2021.022,3.937136,0,0,0,0,100,0),
+(@PATH,17,2645.879,-2022.022,4.187136,0,0,0,0,100,0),
+(@PATH,18,2650.129,-2025.022,4.187136,0,0,0,0,100,0);
+
+-- Pathing for Entry: 27501 'TDB FORMAT'
+SET @NPC := 105904;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2606.301,`position_y`=-2092.257,`position_z`=7.300018 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,2606.301,-2092.257,7.300018,0,0,0,0,100,0),
+(@PATH,2,2614.706,-2104.54,7.32203,0,0,0,0,100,0),
+(@PATH,3,2614.56,-2104.616,7.087479,0,0,0,0,100,0),
+(@PATH,4,2614.464,-2104.489,7.307891,0,0,0,0,100,0),
+(@PATH,5,2606.464,-2092.739,7.307891,0,0,0,0,100,0),
+(@PATH,6,2606.129,-2092.514,7.232858,0,0,0,0,100,0),
+(@PATH,7,2605.879,-2092.014,7.232858,0,0,0,0,100,0),
+(@PATH,8,2603.379,-2088.014,6.982858,0,0,0,0,100,0),
+(@PATH,9,2599.288,-2081.792,7.103763,0,0,0,0,100,0),
+(@PATH,10,2596.038,-2076.792,7.103763,0,0,0,0,100,0),
+(@PATH,11,2593.906,-2073.879,6.877389,0,0,0,0,100,0),
+(@PATH,12,2592.156,-2070.879,6.877389,0,0,0,0,100,0),
+(@PATH,13,2591.965,-2070.718,6.863516,0,0,0,0,100,0),
+(@PATH,14,2594.261,-2073.978,6.842519,0,0,0,0,100,0),
+(@PATH,15,2595.761,-2076.728,7.092519,0,0,0,0,100,0),
+(@PATH,16,2599.636,-2081.92,7.189054,0,0,0,0,100,0),
+(@PATH,17,2603.386,-2087.92,7.189054,0,0,0,0,100,0);
+
+-- Westfall Brigade Marine SAI
+SET @ENTRY := 27501;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,1,0,100,0,10000,10000,10000,10000,49,0,0,0,0,0,0,19,27500,10,0,0,0,0,0,"Westfall Brigade Marine - Out of Combat - Start Attacking");
+
+-- Conquest Hold Berserker SAI
+SET @ENTRY := 27500;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=2;
+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,2,0,1,0,100,0,10000,10000,10000,10000,49,0,0,0,0,0,0,19,27501,10,0,0,0,0,0,"Conquest Hold Berserker - Out of Combat - Start Attacking");
+
+UPDATE `creature_template` SET `AIName`="" WHERE `entry`=27131;
+-- Grizzly Bear SAI
+SET @ENTRY := 27131;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,1,0,100,0,10000,15000,10000,15000,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grizzly Bear - Out of Combat - Run Script");
+
+-- Actionlist SAI
+SET @ENTRY := 2713100;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grizzly Bear - On Script - Enable Combat Movement"),
+(@ENTRY,9,1,0,0,0,100,0,1000,1000,0,0,5,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grizzly Bear - On Script - Play Emote 7"),
+(@ENTRY,9,2,0,0,0,100,0,2000,2000,0,0,5,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grizzly Bear - On Script - Play Emote 7"),
+(@ENTRY,9,3,0,0,0,100,0,2000,2000,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grizzly Bear - On Script - Disable Combat Movement"),
+(@ENTRY,9,4,0,0,0,100,0,0,0,0,0,89,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grizzly Bear - On Script - Start Random Movement");
+
+-- allow movement
+UPDATE `smart_scripts` SET `action_param1`=1 WHERE `entryorguid` IN (27259, 26679) AND `source_type`=0 AND `id`=0 AND `link`=0;
+-- Dragonflayer Flamebinder SAI
+SET @ENTRY := 27259;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=14;
+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,14,0,1,0,100,0,5000,8000,5000,8000,11,48213,0,0,0,0,0,19,26785,25,0,0,0,0,0,"Dragonflayer Flamebinder - Out of Combat - Cast 'Dragonflayer Crone Fire'");
+
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=48213;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13, 1, 48213, 0, 0, 31, 0, 3, 26785, 0, 0, 0, 0, '', 'Flame - only targets Bunny');
+
+DELETE FROM `creature_addon` WHERE `guid` IN (103389, 103390, 107363, 110490, 107373, 110493, 11049, 110494, 110492, 116277, 116275, 116274, 116276, 116278, 110489);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(116277,0,0,8,1,0, ''),
+(116275,0,0,8,1,0, ''),
+(116274,0,0,8,1,0, ''),
+(116276,0,0,8,1,0, ''),
+(116278,0,0,8,1,0, ''),
+(110489,0,0,0,1,214, ''),
+(110492,0,0,0,1,214, ''),
+(110494,0,0,0,1,214, ''),
+(110490,0,0,0,1,214, ''),
+(110493,0,0,0,1,214, ''),
+(107363,0,0,1,1,0, ''),
+(103389,0,0,0,1,1, ''),
+(103390,0,0,0,1,1, ''),
+(107373,0,0,1,1,0, '');
+
+-- Graymist Hunter SAI
+SET @ENTRY := 26592;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=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
+(@ENTRY,0,1,0,1,0,100,0,15000,20000,15000,20000,5,53,0,0,0,0,0,1,0,0,0,0,0,0,0,"Graymist Hunter - Out of Combat - Play Emote 53");
+
+-- Pathing for Entry: 26679 'TDB FORMAT'
+SET @NPC := 100911;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4346.669,`position_y`=-2484.654,`position_z`=240.982 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4346.669,-2484.654,240.982,0,0,0,0,100,0),
+(@PATH,2,4347.169,-2484.904,240.982,0,0,0,0,100,0),
+(@PATH,3,4348.169,-2488.654,241.982,0,0,0,0,100,0),
+(@PATH,4,4349.169,-2492.404,242.232,0,0,0,0,100,0),
+(@PATH,5,4350.169,-2495.154,242.982,0,0,0,0,100,0),
+(@PATH,6,4351.169,-2498.904,243.732,0,0,0,0,100,0),
+(@PATH,7,4352.729,-2503.633,244.4913,0,0,0,0,100,0),
+(@PATH,8,4352.479,-2508.633,244.7413,0,0,0,0,100,0),
+(@PATH,9,4352.229,-2516.383,245.4913,0,0,0,0,100,0),
+(@PATH,10,4352.513,-2516.505,245.5218,0,0,0,0,100,0),
+(@PATH,11,4352.513,-2519.755,245.5218,0,0,0,0,100,0),
+(@PATH,12,4353.422,-2530.827,245.4402,0,0,0,0,100,0),
+(@PATH,13,4353.167,-2531.085,245.3185,0,0,0,0,100,0),
+(@PATH,14,4353.443,-2530.941,245.3693,0,0,0,0,100,0),
+(@PATH,15,4352.554,-2519.469,245.4435,0,0,0,0,100,0),
+(@PATH,16,4352.554,-2508.719,244.9435,0,0,0,0,100,0),
+(@PATH,17,4352.496,-2503.444,244.2976,0,0,0,0,100,0),
+(@PATH,18,4351.496,-2499.694,243.5476,0,0,0,0,100,0),
+(@PATH,19,4350.246,-2495.944,243.0476,0,0,0,0,100,0),
+(@PATH,20,4349.746,-2493.194,242.5476,0,0,0,0,100,0),
+(@PATH,21,4348.746,-2490.194,242.0476,0,0,0,0,100,0),
+(@PATH,22,4347.996,-2487.444,241.2976,0,0,0,0,100,0),
+(@PATH,23,4346.94,-2484.907,240.7707,0,0,0,0,100,0),
+(@PATH,24,4343.19,-2483.907,240.2707,0,0,0,0,100,0),
+(@PATH,25,4339.44,-2482.907,239.7707,0,0,0,0,100,0),
+(@PATH,26,4339.217,-2482.614,239.4836,0,0,0,0,100,0),
+(@PATH,27,4337.717,-2482.114,239.2336,0,0,0,0,100,0),
+(@PATH,28,4325.967,-2481.114,238.9836,0,0,0,0,100,0),
+(@PATH,29,4320.836,-2480.163,238.4939,0,0,0,0,100,0),
+(@PATH,30,4327.4,-2469.229,238.7592,0,0,0,0,100,0),
+(@PATH,31,4339.832,-2457.689,239.1528,0,0,0,0,100,0),
+(@PATH,32,4339.467,-2457.954,239.0422,0,0,0,0,100,0),
+(@PATH,33,4339.559,-2457.928,239.3148,0,0,0,0,100,0),
+(@PATH,34,4327.204,-2469.653,238.7065,0,0,0,0,100,0),
+(@PATH,35,4320.694,-2480.362,238.713,0,0,0,0,100,0),
+(@PATH,36,4330.444,-2481.362,239.213,0,0,0,0,100,0),
+(@PATH,37,4337.947,-2482.492,239.5395,0,0,0,0,100,0),
+(@PATH,38,4342.447,-2483.492,240.0395,0,0,0,0,100,0),
+(@PATH,39,4346.447,-2484.492,240.5395,0,0,0,0,100,0);
+
+SET @NPC := 100914;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4316.283,`position_y`=-2489.055,`position_z`=238.5876 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4316.283,-2489.055,238.5876,0,0,0,0,100,0),
+(@PATH,2,4316.529,-2488.824,238.7166,0,0,0,0,100,0),
+(@PATH,3,4320.335,-2479.741,238.3421,0,0,0,0,100,0),
+(@PATH,4,4316.585,-2474.241,237.8421,0,0,0,0,100,0),
+(@PATH,5,4313.78,-2470.097,237.5021,0,0,0,0,100,0),
+(@PATH,6,4309.78,-2469.847,237.0021,0,0,0,0,100,0),
+(@PATH,7,4306.03,-2469.347,236.5021,0,0,0,0,100,0),
+(@PATH,8,4305.914,-2469.415,236.0416,0,0,0,0,100,0),
+(@PATH,9,4303.414,-2469.165,235.5416,0,0,0,0,100,0),
+(@PATH,10,4300.414,-2469.415,235.0416,0,0,0,0,100,0),
+(@PATH,11,4297.414,-2469.915,234.2916,0,0,0,0,100,0),
+(@PATH,12,4294.664,-2470.165,234.0416,0,0,0,0,100,0),
+(@PATH,13,4290.664,-2470.415,233.2916,0,0,0,0,100,0),
+(@PATH,14,4285.664,-2471.165,232.5416,0,0,0,0,100,0),
+(@PATH,15,4285.473,-2471.28,232.3787,0,0,0,0,100,0),
+(@PATH,16,4285.223,-2471.28,232.1287,0,0,0,0,100,0),
+(@PATH,17,4277.473,-2472.28,231.8787,0,0,0,0,100,0),
+(@PATH,18,4273.628,-2472.75,231.6418,0,0,0,0,100,0),
+(@PATH,19,4267.374,-2468.811,231.65,0,0,0,0,100,0),
+(@PATH,20,4263.313,-2458.705,231.5937,0,0,0,0,100,0),
+(@PATH,21,4260.986,-2447.287,231.4928,0,0,0,0,100,0),
+(@PATH,22,4258.986,-2445.537,231.4928,0,0,0,0,100,0),
+(@PATH,23,4257.986,-2444.537,231.4928,0,0,0,0,100,0),
+(@PATH,24,4257.986,-2443.787,231.4928,0,0,0,0,100,0),
+(@PATH,25,4257.486,-2441.787,231.4928,0,0,0,0,100,0),
+(@PATH,26,4257.564,-2441.543,231.4707,0,0,0,0,100,0),
+(@PATH,27,4258.564,-2443.043,231.4707,0,0,0,0,100,0),
+(@PATH,28,4258.814,-2444.543,231.4707,0,0,0,0,100,0),
+(@PATH,29,4258.814,-2445.543,231.4707,0,0,0,0,100,0),
+(@PATH,30,4259.061,-2445.944,231.3457,0,0,0,0,100,0),
+(@PATH,31,4261.061,-2447.694,231.3457,0,0,0,0,100,0),
+(@PATH,32,4263.474,-2458.961,231.6339,0,0,0,0,100,0),
+(@PATH,33,4267.657,-2468.89,231.6431,0,0,0,0,100,0),
+(@PATH,34,4273.792,-2472.652,231.7187,0,0,0,0,100,0),
+(@PATH,35,4284.542,-2471.152,232.2187,0,0,0,0,100,0),
+(@PATH,36,4284.735,-2471.201,232.4085,0,0,0,0,100,0),
+(@PATH,37,4285.485,-2471.201,232.4085,0,0,0,0,100,0),
+(@PATH,38,4289.235,-2470.701,233.1585,0,0,0,0,100,0),
+(@PATH,39,4292.985,-2470.451,233.6585,0,0,0,0,100,0),
+(@PATH,40,4296.985,-2469.951,234.4085,0,0,0,0,100,0),
+(@PATH,41,4299.985,-2469.451,234.9085,0,0,0,0,100,0),
+(@PATH,42,4303.572,-2469.107,235.8506,0,0,0,0,100,0),
+(@PATH,43,4306.572,-2469.357,236.3506,0,0,0,0,100,0),
+(@PATH,44,4311.322,-2469.857,237.1006,0,0,0,0,100,0),
+(@PATH,45,4314.023,-2470.285,237.6709,0,0,0,0,100,0),
+(@PATH,46,4318.273,-2476.535,238.1709,0,0,0,0,100,0),
+(@PATH,47,4320.4,-2480.026,238.3305,0,0,0,0,100,0),
+(@PATH,48,4316.393,-2488.953,238.7333,0,0,0,0,100,0),
+(@PATH,49,4316.283,-2489.055,238.5876,0,0,0,0,100,0);
+
+SET @NPC := 100910;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4338.308,`position_y`=-2566.474,`position_z`=245.7152 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4338.308,-2566.474,245.7152,0,0,0,0,100,0),
+(@PATH,2,4339.808,-2567.724,245.7152,0,0,0,0,100,0),
+(@PATH,3,4341.308,-2568.724,245.7152,0,0,0,0,100,0),
+(@PATH,4,4342.308,-2569.724,245.7152,0,0,0,0,100,0),
+(@PATH,5,4342.308,-2570.724,245.7152,0,0,0,0,100,0),
+(@PATH,6,4345.808,-2573.724,245.7152,0,0,0,0,100,0),
+(@PATH,7,4346.808,-2574.724,245.7152,0,0,0,0,100,0),
+(@PATH,8,4345.922,-2575.817,245.7339,0,0,0,0,100,0),
+(@PATH,9,4344.672,-2574.817,245.7339,0,0,0,0,100,0),
+(@PATH,10,4342.422,-2570.817,245.7339,0,0,0,0,100,0),
+(@PATH,11,4342.422,-2569.817,245.7339,0,0,0,0,100,0),
+(@PATH,12,4341.422,-2568.817,245.7339,0,0,0,0,100,0),
+(@PATH,13,4340.922,-2566.567,245.7339,0,0,0,0,100,0),
+(@PATH,14,4340.74,-2566.308,245.6353,0,0,0,0,100,0),
+(@PATH,15,4337.99,-2566.308,245.6353,0,0,0,0,100,0),
+(@PATH,16,4326.376,-2555.018,245.3248,0,0,0,0,100,0),
+(@PATH,17,4317.626,-2555.518,244.8248,0,0,0,0,100,0),
+(@PATH,18,4313.838,-2555.828,244.4903,0,0,0,0,100,0),
+(@PATH,19,4310.838,-2556.578,243.9903,0,0,0,0,100,0),
+(@PATH,20,4308.088,-2557.078,243.4903,0,0,0,0,100,0),
+(@PATH,21,4305.229,-2558.031,242.7213,0,0,0,0,100,0),
+(@PATH,22,4304.324,-2561.028,243.1423,0,0,0,0,100,0),
+(@PATH,23,4306.574,-2564.278,243.6423,0,0,0,0,100,0),
+(@PATH,24,4309.324,-2568.528,244.1423,0,0,0,0,100,0),
+(@PATH,25,4311.824,-2572.278,244.6423,0,0,0,0,100,0),
+(@PATH,26,4314.824,-2576.528,245.3923,0,0,0,0,100,0),
+(@PATH,27,4319.487,-2583.055,246.6341,0,0,0,0,100,0),
+(@PATH,28,4322.487,-2587.055,247.1341,0,0,0,0,100,0),
+(@PATH,29,4324.737,-2590.055,247.6341,0,0,0,0,100,0),
+(@PATH,30,4327.237,-2593.055,248.1341,0,0,0,0,100,0),
+(@PATH,31,4328.737,-2595.055,248.6341,0,0,0,0,100,0),
+(@PATH,32,4304.205,-2560.936,242.7079,0,0,0,0,100,0),
+(@PATH,33,4305.315,-2557.807,243.0027,0,0,0,0,100,0),
+(@PATH,34,4308.065,-2557.307,243.5027,0,0,0,0,100,0),
+(@PATH,35,4310.815,-2556.557,244.0027,0,0,0,0,100,0),
+(@PATH,36,4314.014,-2555.685,244.613,0,0,0,0,100,0),
+(@PATH,37,4320.764,-2555.435,245.113,0,0,0,0,100,0),
+(@PATH,38,4326.62,-2555.132,245.2907,0,0,0,0,100,0),
+(@PATH,39,4338.271,-2566.441,245.7103,0,0,0,0,100,0);
+
+SET @NPC := 100930;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4243.639,`position_y`=-2493.448,`position_z`=231.605 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4243.639,-2493.448,231.605,0,0,0,0,100,0),
+(@PATH,2,4245.705,-2503.654,231.4428,0,0,0,0,100,0),
+(@PATH,3,4239.67,-2514.717,231.6307,0,0,0,0,100,0),
+(@PATH,4,4239.557,-2514.651,231.5394,0,0,0,0,100,0),
+(@PATH,5,4239.811,-2514.36,231.6327,0,0,0,0,100,0),
+(@PATH,6,4245.605,-2503.552,231.3878,0,0,0,0,100,0),
+(@PATH,7,4243.532,-2493.164,231.6278,0,0,0,0,100,0),
+(@PATH,8,4237.666,-2485.062,231.6341,0,0,0,0,100,0);
+
+SET @NPC := 98081;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3677.196,`position_y`=-3262.262,`position_z`=271.4974 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3677.196,-3262.262,271.4974,0,0,0,0,100,0),
+(@PATH,2,3675.946,-3263.512,270.4974,0,0,0,0,100,0),
+(@PATH,3,3673.446,-3266.012,267.7474,0,0,0,0,100,0),
+(@PATH,4,3672.196,-3267.262,266.4974,0,0,0,0,100,0),
+(@PATH,5,3670.696,-3268.762,264.4974,0,0,0,0,100,0),
+(@PATH,6,3669.344,-3269.899,262.9258,0,0,0,0,100,0),
+(@PATH,7,3665.594,-3268.399,259.1758,0,0,0,0,100,0),
+(@PATH,8,3664.594,-3267.899,258.1758,0,0,0,0,100,0),
+(@PATH,9,3657.594,-3265.399,252.4258,0,0,0,0,100,0),
+(@PATH,10,3656.094,-3264.742,251.3945,0,0,0,0,100,0),
+(@PATH,11,3648.844,-3264.492,245.1445,0,0,0,0,100,0),
+(@PATH,12,3647.094,-3264.242,243.6445,0,0,0,0,100,0),
+(@PATH,13,3642.363,-3263.935,240.8384,0,0,0,0,100,0),
+(@PATH,14,3642.113,-3265.185,239.8384,0,0,0,0,100,0),
+(@PATH,15,3640.613,-3270.685,237.3384,0,0,0,0,100,0),
+(@PATH,16,3638.873,-3276.277,236.2841,0,0,0,0,100,0),
+(@PATH,17,3637.873,-3283.027,235.7841,0,0,0,0,100,0),
+(@PATH,18,3637.623,-3284.527,235.5341,0,0,0,0,100,0),
+(@PATH,19,3637.542,-3284.433,235.5938,0,0,0,0,100,0),
+(@PATH,20,3637.792,-3282.933,235.5938,0,0,0,0,100,0),
+(@PATH,21,3639.209,-3276.042,236.5234,0,0,0,0,100,0),
+(@PATH,22,3640.459,-3271.292,237.2734,0,0,0,0,100,0),
+(@PATH,23,3641.709,-3265.792,239.5234,0,0,0,0,100,0),
+(@PATH,24,3642.543,-3264.088,240.9962,0,0,0,0,100,0),
+(@PATH,25,3646.543,-3264.338,243.2462,0,0,0,0,100,0),
+(@PATH,26,3649.043,-3264.588,245.2462,0,0,0,0,100,0),
+(@PATH,27,3656.203,-3264.957,251.5793,0,0,0,0,100,0),
+(@PATH,28,3657.703,-3265.457,252.5793,0,0,0,0,100,0),
+(@PATH,29,3664.453,-3267.957,258.0793,0,0,0,0,100,0),
+(@PATH,30,3665.453,-3268.457,259.0793,0,0,0,0,100,0),
+(@PATH,31,3669.533,-3269.755,263.1148,0,0,0,0,100,0),
+(@PATH,32,3670.783,-3268.755,264.6148,0,0,0,0,100,0),
+(@PATH,33,3672.283,-3267.255,266.1148,0,0,0,0,100,0),
+(@PATH,34,3673.033,-3266.005,267.8648,0,0,0,0,100,0),
+(@PATH,35,3675.783,-3263.505,270.3648,0,0,0,0,100,0),
+(@PATH,36,3676.181,-3263.232,270.6315,0,0,0,0,100,0),
+(@PATH,37,3677.431,-3261.982,271.8815,0,0,0,0,100,0),
+(@PATH,38,3679.931,-3259.982,274.1315,0,0,0,0,100,0),
+(@PATH,39,3683.181,-3256.982,276.8815,0,0,0,0,100,0),
+(@PATH,40,3683.275,-3257.129,276.9308,0,0,0,0,100,0),
+(@PATH,41,3680.025,-3259.629,274.4308,0,0,0,0,100,0),
+(@PATH,42,3677.151,-3262.089,271.6892,0,0,0,0,100,0);
+
+SET @NPC := 98083;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3608.663,`position_y`=-3311.686,`position_z`=224.8323 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3608.663,-3311.686,224.8323,0,0,0,0,100,0),
+(@PATH,2,3610.913,-3313.436,224.5823,0,0,0,0,100,0),
+(@PATH,3,3612.413,-3314.436,224.5823,0,0,0,0,100,0),
+(@PATH,4,3621.448,-3320.278,226.055,0,0,0,0,100,0),
+(@PATH,5,3624.948,-3320.278,226.555,0,0,0,0,100,0),
+(@PATH,6,3630.948,-3320.278,227.055,0,0,0,0,100,0),
+(@PATH,7,3632.198,-3320.278,227.555,0,0,0,0,100,0),
+(@PATH,8,3631.236,-3320.25,227.2929,0,0,0,0,100,0),
+(@PATH,9,3632.486,-3320.25,227.7929,0,0,0,0,100,0),
+(@PATH,10,3633.486,-3320.25,228.2929,0,0,0,0,100,0),
+(@PATH,11,3637.236,-3317,229.5429,0,0,0,0,100,0),
+(@PATH,12,3637.84,-3316.242,229.9589,0,0,0,0,100,0),
+(@PATH,13,3633.259,-3320.148,227.9277,0,0,0,0,100,0),
+(@PATH,14,3632.259,-3320.148,227.4277,0,0,0,0,100,0),
+(@PATH,15,3631.009,-3320.148,227.1777,0,0,0,0,100,0),
+(@PATH,16,3624.759,-3320.398,226.4277,0,0,0,0,100,0),
+(@PATH,17,3621.314,-3320.251,225.9905,0,0,0,0,100,0),
+(@PATH,18,3613.064,-3315.001,224.7405,0,0,0,0,100,0),
+(@PATH,19,3611.064,-3313.501,224.7405,0,0,0,0,100,0),
+(@PATH,20,3608.404,-3311.755,224.6184,0,0,0,0,100,0),
+(@PATH,21,3605.154,-3300.005,224.3684,0,0,0,0,100,0);
+
+-- drakkari event
+DELETE FROM `creature` where `id` IN (26582, 26583) and `guid` NOT IN (116602);
+
+-- Horrified Drakkari Shaman SAI
+SET @GUID := -116602;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=26583;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID 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
+(@GUID,0,0,0,1,0,100,0,1000,2000,1000,2000,88,11660200,11660201,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Shaman - Out of Combat - Run Random Script"),
+(@GUID,0,1,2,63,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Shaman - On Reset - Set Active On"),
+(@GUID,0,2,3,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Shaman - On Reset - Set Visibility On"),
+(@GUID,0,3,0,61,0,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Shaman - On Reset - Set Reactstate Aggressive");
+
+-- Actionlist SAI
+SET @ENTRY := 11660200;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,12,26583,3,120000,0,0,0,8,0,0,0,4690.051270,-2045.848755,194.348404,3.160445,"On Script - Summon Creature 'Horrified Drakkari Shaman'");
+
+-- Actionlist SAI
+SET @ENTRY := 11660201;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,12,26582,3,120000,0,0,0,8,0,0,0,4690.051270,-2045.848755,194.348404,3.160445,"On Script - Summon Creature 'Horrified Drakkari Warrior'");
+
+-- Horrified Drakkari Shaman SAI
+SET @ENTRY := 26582;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,1,63,0,100,0,1,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Warrior - On Just Created - Set Active On"),
+(@ENTRY,0,1,2,61,0,100,0,1,0,0,0,88,2658200,2658201,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Warrior - On Data Set 1 0 - Run Random Script"),
+(@ENTRY,0,2,0,61,0,100,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Warrior - On Just Created - Say Line 0"),
+(@ENTRY,0,3,0,40,0,100,0,20,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Warrior - On Waypoint 20 Reached - Despawn Instant");
+
+-- Horrified Drakkari Shaman SAI
+SET @ENTRY := 26583;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,1,63,0,100,0,1,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Shaman - On Just Created - Set Active On"),
+(@ENTRY,0,1,2,61,0,100,0,1,0,0,0,88,2658200,2658201,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Shaman - On Just Created - Run Random Script"),
+(@ENTRY,0,2,0,61,0,100,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Shaman - On Just Created - Say Line 0"),
+(@ENTRY,0,3,0,40,0,100,0,20,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Horrified Drakkari Shaman - On Waypoint 20 Reached - Despawn Instant");
+
+-- Actionlist SAI
+SET @ENTRY := 2658200;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,53,1,2658200,0,0,3000,0,0,0,0,0,0,0,0,0,"On Script - Start Waypoint");
+
+-- Actionlist SAI
+SET @ENTRY := 2658201;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+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,9,0,0,0,0,100,0,0,0,0,0,53,1,2658201,0,0,3000,0,0,0,0,0,0,0,0,0,"On Script - Start Waypoint");
+
+DELETE FROM `waypoints` WHERE `entry`=2658200;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`) VALUES
+(2658200, 1, 4680.19, -2044.68, 189.441),
+(2658200, 2, 4662.73, -2045.93, 184.189),
+(2658200, 3, 4651.83, -2051.77, 184.368),
+(2658200, 4, 4643.71, -2060.59, 184.18),
+(2658200, 5, 4635.04, -2061.83, 184.1),
+(2658200, 6, 4617.55, -2061.84, 184.182),
+(2658200, 7, 4596.55, -2061.57, 184.186),
+(2658200, 8, 4579.06, -2061.36, 184.186),
+(2658200, 9, 4562.37, -2062.32, 184.167),
+(2658200, 10, 4551.87, -2062.12, 178.315),
+(2658200, 11, 4534.37, -2062.09, 168.354),
+(2658200, 12, 4523.88, -2061.96, 162.377),
+(2658200, 13, 4509.88, -2062.05, 160.823),
+(2658200, 14, 4498.51, -2063.27, 160.823),
+(2658200, 15, 4490.23, -2069.98, 160.823),
+(2658200, 16, 4492.74, -2078.85, 160.823),
+(2658200, 17, 4496.31, -2094.72, 160.8),
+(2658200, 18, 4506.59, -2103.06, 160.831),
+(2658200, 19, 4518.52, -2110.39, 160.833),
+(2658200, 20, 4533.43, -2119.56, 160.845),
+(2658200, 21, 4545.35, -2130.19, 160.842);
+
+DELETE FROM `waypoints` WHERE `entry`=2658201;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`) VALUES
+(2658201, 1, 4692.36, -2045.14, 195.516),
+(2658201, 2, 4674.86, -2044.91, 186.46),
+(2658201, 3, 4671.36, -2044.89, 185.043),
+(2658201, 4, 4659.89, -2044.58, 184.318),
+(2658201, 5, 4648.06, -2033.35, 184.184),
+(2658201, 6, 4641.49, -2028.73, 183.862),
+(2658201, 7, 4630.25, -2028.22, 184.182),
+(2658201, 8, 4612.76, -2028.2, 184.185),
+(2658201, 9, 4591.76, -2027.91, 184.189),
+(2658201, 10, 4574.26, -2027.67, 184.185),
+(2658201, 11, 4563.76, -2027.47, 184.166),
+(2658201, 12, 4556.77, -2027.4, 180.928),
+(2658201, 13, 4539.27, -2027.25, 170.966),
+(2658201, 14, 4525.27, -2027.07, 162.997),
+(2658201, 15, 4511.28, -2026.61, 160.823),
+(2658201, 16, 4494.03, -2024.8, 160.824),
+(2658201, 17, 4488.19, -2012.02, 161.055),
+(2658201, 18, 4492.56, -1993.64, 160.824),
+(2658201, 19, 4503.51, -1980.34, 160.824),
+(2658201, 20, 4517.17, -1973.46, 160.824);
+
+DELETE FROM `creature_text` WHERE `entry` IN (26583, 26582);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(26583, 0, 0, 'Drak\'Tharon be lost, mon!', 12, 0, 100, 0, 0, 0, 25857, 0, 'Horrified Drakkari'),
+(26583, 0, 1, 'Da Scourge be everywhere, mon!', 12, 0, 100, 0, 0, 0, 25853, 0, 'Horrified Drakkari'),
+(26583, 0, 2, 'Every troll for himself, mon!', 12, 0, 100, 0, 0, 0, 25855, 0, 'Horrified Drakkari'),
+(26583, 0, 3, 'Ruuun!', 12, 0, 100, 0, 0, 0, 25859, 0, 'Horrified Drakkari'),
+--
+(26582, 0, 0, 'Drak\'Tharon be lost, mon!', 12, 0, 100, 0, 0, 0, 25857, 0, 'Horrified Drakkari'),
+(26582, 0, 1, 'Da Scourge be everywhere, mon!', 12, 0, 100, 0, 0, 0, 25853, 0, 'Horrified Drakkari'),
+(26582, 0, 2, 'Every troll for himself, mon!', 12, 0, 100, 0, 0, 0, 25855, 0, 'Horrified Drakkari'),
+(26582, 0, 3, 'Ruuun!', 12, 0, 100, 0, 0, 0, 25859, 0, 'Horrified Drakkari');
+-- DB/Creature: Grizzlyhills Pathing -2
+UPDATE `smart_scripts` SET `action_param6`=2 WHERE `entryorguid` IN (2658200, 2658201) AND `source_type`=9 AND `id`=0 AND `link`=0;
+
+SET @NPC := 99310;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4194.24,`position_y`=-1806.269,`position_z`=200.4735 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4194.24,-1806.269,200.4735,0,0,0,0,100,0),
+(@PATH,2,4197.74,-1808.269,201.2235,0,0,0,0,100,0),
+(@PATH,3,4199.49,-1809.269,201.7235,0,0,0,0,100,0),
+(@PATH,4,4202.99,-1811.269,202.2235,0,0,0,0,100,0),
+(@PATH,5,4209.49,-1815.269,202.9735,0,0,0,0,100,0),
+(@PATH,6,4226.4,-1825.46,203.2541,0,0,0,0,100,0),
+(@PATH,7,4227.65,-1833.96,202.7541,0,0,0,0,100,0),
+(@PATH,8,4228.602,-1839.474,202.2388,0,0,0,0,100,0),
+(@PATH,9,4242.543,-1857.213,202.6918,0,0,0,0,100,0),
+(@PATH,10,4242.543,-1863.963,203.1918,0,0,0,0,100,0),
+(@PATH,11,4242.595,-1859.661,202.7076,0,0,0,0,100,0),
+(@PATH,12,4242.467,-1856.869,202.4443,0,0,0,0,100,0),
+(@PATH,13,4238.217,-1851.369,201.9443,0,0,0,0,100,0),
+(@PATH,14,4228.504,-1839.239,202.5002,0,0,0,0,100,0),
+(@PATH,15,4227.504,-1832.739,203.0002,0,0,0,0,100,0),
+(@PATH,16,4226.358,-1825.27,203.1885,0,0,0,0,100,0),
+(@PATH,17,4208.108,-1814.52,202.6885,0,0,0,0,100,0),
+(@PATH,18,4200.608,-1810.02,201.9385,0,0,0,0,100,0),
+(@PATH,19,4198.108,-1808.52,201.1885,0,0,0,0,100,0),
+(@PATH,20,4194.608,-1806.52,200.6885,0,0,0,0,100,0),
+(@PATH,21,4190.358,-1803.77,199.9385,0,0,0,0,100,0);
+
+SET @NPC := 99309;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4163.295,`position_y`=-1958.695,`position_z`=208.3958 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4163.295,-1958.695,208.3958,0,0,0,0,100,0),
+(@PATH,2,4167.545,-1960.945,208.8958,0,0,0,0,100,0),
+(@PATH,3,4189.578,-1972.83,209.2269,0,0,0,0,100,0),
+(@PATH,4,4193.578,-1973.83,208.7269,0,0,0,0,100,0),
+(@PATH,5,4189.997,-1972.962,209.24,0,0,0,0,100,0),
+(@PATH,6,4164.317,-1959.296,208.4842,0,0,0,0,100,0),
+(@PATH,7,4163.099,-1958.743,208.3662,0,0,0,0,100,0),
+(@PATH,8,4157.599,-1963.243,209.1162,0,0,0,0,100,0),
+(@PATH,9,4154.599,-1965.743,209.8662,0,0,0,0,100,0),
+(@PATH,10,4151.599,-1968.243,210.3662,0,0,0,0,100,0),
+(@PATH,11,4148.349,-1970.743,210.8662,0,0,0,0,100,0),
+(@PATH,12,4143.349,-1974.993,211.3662,0,0,0,0,100,0),
+(@PATH,13,4136.349,-1980.993,212.1162,0,0,0,0,100,0),
+(@PATH,14,4134.099,-1982.743,212.6162,0,0,0,0,100,0),
+(@PATH,15,4133.807,-1983.081,212.7842,0,0,0,0,100,0),
+(@PATH,16,4137.057,-1980.331,212.0342,0,0,0,0,100,0),
+(@PATH,17,4143.807,-1974.581,211.2842,0,0,0,0,100,0),
+(@PATH,18,4149.057,-1970.331,210.5342,0,0,0,0,100,0),
+(@PATH,19,4152.807,-1967.081,210.0342,0,0,0,0,100,0),
+(@PATH,20,4155.057,-1965.331,209.5342,0,0,0,0,100,0),
+(@PATH,21,4159.057,-1962.081,209.0342,0,0,0,0,100,0);
+
+SET @NPC := 99308;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4257.948,`position_y`=-1914.651,`position_z`=201.9758 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4257.948,-1914.651,201.9758,0,0,0,0,100,0),
+(@PATH,2,4257.902,-1914.741,202.4635,0,0,0,0,100,0),
+(@PATH,3,4257.152,-1923.741,202.9635,0,0,0,0,100,0),
+(@PATH,4,4256.652,-1929.491,203.4635,0,0,0,0,100,0),
+(@PATH,5,4256.402,-1934.241,203.9635,0,0,0,0,100,0),
+(@PATH,6,4255.238,-1946.397,204.331,0,0,0,0,100,0),
+(@PATH,7,4252.988,-1961.897,204.831,0,0,0,0,100,0),
+(@PATH,8,4252.238,-1966.897,205.331,0,0,0,0,100,0),
+(@PATH,9,4252.688,-1964.002,204.8374,0,0,0,0,100,0),
+(@PATH,10,4254.188,-1953.252,204.5874,0,0,0,0,100,0),
+(@PATH,11,4255.508,-1946.051,204.2277,0,0,0,0,100,0),
+(@PATH,12,4256.758,-1930.551,203.4777,0,0,0,0,100,0),
+(@PATH,13,4257.008,-1925.551,202.9777,0,0,0,0,100,0),
+(@PATH,14,4257.508,-1919.551,202.4777,0,0,0,0,100,0),
+(@PATH,15,4257.833,-1914.49,202.1853,0,0,0,0,100,0);
+
+SET @NPC := 104074;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4245.058,`position_y`=-2021.197,`position_z`=237.4276 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4245.058,-2021.197,237.4276,0,0,0,0,100,0),
+(@PATH,2,4245.791,-2017.078,233.2036,0,0,0,0,100,0),
+(@PATH,3,4246.791,-2007.328,223.2036,0,0,0,0,100,0),
+(@PATH,4,4247.152,-2007.004,222.8537,0,0,0,0,100,0),
+(@PATH,5,4247.402,-2005.004,220.8537,0,0,0,0,100,0),
+(@PATH,6,4248.152,-1999.504,215.8537,0,0,0,0,100,0),
+(@PATH,7,4249.402,-1990.004,207.3537,0,0,0,0,100,0),
+(@PATH,8,4249.673,-1989.776,207.2351,0,0,0,0,100,0),
+(@PATH,9,4249.673,-1988.776,207.2351,0,0,0,0,100,0),
+(@PATH,10,4250.423,-1976.026,206.7351,0,0,0,0,100,0),
+(@PATH,11,4250.069,-1981.066,206.8915,0,0,0,0,100,0),
+(@PATH,12,4248.495,-1989.926,206.7487,0,0,0,0,100,0),
+(@PATH,13,4247.745,-1999.926,215.9987,0,0,0,0,100,0),
+(@PATH,14,4247.169,-2005.335,221.2139,0,0,0,0,100,0),
+(@PATH,15,4246.919,-2007.335,223.2139,0,0,0,0,100,0),
+(@PATH,16,4245.507,-2017.251,233.4465,0,0,0,0,100,0);
+
+DELETE FROM `creature_addon` WHERE `guid`=110106;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(110106,0,0,0,1,69, '');
+
+SET @NPC := 10299;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3333.925,`position_y`=-1773.206,`position_z`=88.87373 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3333.925,-1773.206,88.87373,0,0,0,0,100,0),
+(@PATH,2,3334.675,-1774.456,88.37373,0,0,0,0,100,0),
+(@PATH,3,3335.175,-1775.456,88.37373,0,0,0,0,100,0),
+(@PATH,4,3337.425,-1775.956,88.62373,0,0,0,0,100,0),
+(@PATH,5,3338.675,-1779.706,89.12373,0,0,0,0,100,0),
+(@PATH,6,3339.705,-1778.929,89.08168,0,0,0,0,100,0),
+(@PATH,7,3339.705,-1775.929,88.58168,0,0,0,0,100,0),
+(@PATH,8,3339.705,-1774.679,88.33168,0,0,0,0,100,0),
+(@PATH,9,3339.705,-1771.679,87.83168,0,0,0,0,100,0),
+(@PATH,10,3339.705,-1770.929,87.58168,0,0,0,0,100,0),
+(@PATH,11,3339.705,-1766.679,87.33168,0,0,0,0,100,0),
+(@PATH,12,3341.205,-1761.679,88.08168,0,0,0,0,100,0),
+(@PATH,13,3340.286,-1761.39,87.88223,0,0,0,0,100,0),
+(@PATH,14,3357.286,-1763.39,89.13223,0,0,0,0,100,0),
+(@PATH,15,3358.286,-1763.39,89.38223,0,0,0,0,100,0),
+(@PATH,16,3358.156,-1762.816,89.31908,0,0,0,0,100,0),
+(@PATH,17,3357.656,-1762.816,89.06908,0,0,0,0,100,0),
+(@PATH,18,3357.156,-1762.816,89.31908,0,0,0,0,100,0),
+(@PATH,19,3340.241,-1761.592,87.80875,0,0,0,0,100,0),
+(@PATH,20,3339.741,-1764.592,87.55875,0,0,0,0,100,0),
+(@PATH,21,3339.741,-1766.592,87.30875,0,0,0,0,100,0),
+(@PATH,22,3339.741,-1770.842,87.55875,0,0,0,0,100,0),
+(@PATH,23,3339.741,-1774.592,88.30875,0,0,0,0,100,0),
+(@PATH,24,3339.741,-1778.842,89.05875,0,0,0,0,100,0),
+(@PATH,25,3335.925,-1777.206,88.87373,0,0,0,0,100,0),
+(@PATH,26,3334.675,-1775.206,88.37373,0,0,0,0,100,0);
+
+SET @NPC := 103003;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3392.038,`position_y`=-1786.48,`position_z`=99.89154 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3392.038,-1786.48,99.89154,0,0,0,0,100,0),
+(@PATH,2,3393.788,-1785.98,99.64154,0,0,0,0,100,0),
+(@PATH,3,3395.788,-1784.48,99.64154,0,0,0,0,100,0),
+(@PATH,4,3398.038,-1784.48,99.64154,0,0,0,0,100,0),
+(@PATH,5,3400.038,-1783.73,99.39154,0,0,0,0,100,0),
+(@PATH,6,3408.288,-1780.23,99.14154,0,0,0,0,100,0),
+(@PATH,7,3410.538,-1780.23,99.14154,0,0,0,0,100,0),
+(@PATH,8,3412.538,-1780.23,99.39154,0,0,0,0,100,0),
+(@PATH,9,3414.538,-1780.23,99.39154,0,0,0,0,100,0),
+(@PATH,10,3416.788,-1780.23,99.64154,0,0,0,0,100,0),
+(@PATH,11,3418.788,-1780.23,99.64154,0,0,0,0,100,0),
+(@PATH,12,3418.788,-1782.48,100.8915,0,0,0,0,100,0),
+(@PATH,13,3418.288,-1782.98,101.1415,0,0,0,0,100,0),
+(@PATH,14,3418.538,-1786.48,102.1415,0,0,0,0,100,0),
+(@PATH,15,3418.788,-1788.48,102.1415,0,0,0,0,100,0),
+(@PATH,16,3418.788,-1790.23,102.6415,0,0,0,0,100,0),
+(@PATH,17,3417.788,-1790.73,103.1415,0,0,0,0,100,0),
+(@PATH,18,3412.288,-1793.98,103.1415,0,0,0,0,100,0),
+(@PATH,19,3409.038,-1795.23,103.1415,0,0,0,0,100,0),
+(@PATH,20,3402.038,-1798.23,103.1415,0,0,0,0,100,0),
+(@PATH,21,3405.601,-1802.971,103.1744,0,0,0,0,100,0),
+(@PATH,22,3412.601,-1804.221,103.1744,0,0,0,0,100,0),
+(@PATH,23,3414.101,-1804.471,102.1744,0,0,0,0,100,0),
+(@PATH,24,3414.601,-1803.471,102.1744,0,0,0,0,100,0),
+(@PATH,25,3415.601,-1801.721,101.9244,0,0,0,0,100,0),
+(@PATH,26,3415.601,-1799.721,101.9244,0,0,0,0,100,0),
+(@PATH,27,3416.601,-1798.721,101.6744,0,0,0,0,100,0),
+(@PATH,28,3420.351,-1795.471,101.4244,0,0,0,0,100,0),
+(@PATH,29,3422.351,-1791.721,101.1744,0,0,0,0,100,0),
+(@PATH,30,3423.851,-1789.471,101.1744,0,0,0,0,100,0),
+(@PATH,31,3423.851,-1787.471,100.6744,0,0,0,0,100,0),
+(@PATH,32,3423.851,-1785.471,100.4244,0,0,0,0,100,0),
+(@PATH,33,3423.851,-1783.221,99.92442,0,0,0,0,100,0),
+(@PATH,34,3422.851,-1781.721,99.42442,0,0,0,0,100,0),
+(@PATH,35,3421.851,-1781.721,99.42442,0,0,0,0,100,0),
+(@PATH,36,3420.851,-1781.721,99.67442,0,0,0,0,100,0),
+(@PATH,37,3418.851,-1780.221,99.67442,0,0,0,0,100,0),
+(@PATH,38,3416.601,-1780.221,99.67442,0,0,0,0,100,0),
+(@PATH,39,3414.601,-1780.221,99.42442,0,0,0,0,100,0),
+(@PATH,40,3412.601,-1780.221,99.42442,0,0,0,0,100,0),
+(@PATH,41,3410.351,-1780.221,99.17442,0,0,0,0,100,0),
+(@PATH,42,3408.351,-1780.221,99.17442,0,0,0,0,100,0),
+(@PATH,43,3404.601,-1783.221,99.92442,0,0,0,0,100,0),
+(@PATH,44,3403.101,-1783.971,99.67442,0,0,0,0,100,0),
+(@PATH,45,3402.101,-1783.971,99.42442,0,0,0,0,100,0),
+(@PATH,46,3401.101,-1783.971,99.42442,0,0,0,0,100,0),
+(@PATH,47,3400.101,-1783.971,99.42442,0,0,0,0,100,0),
+(@PATH,48,3397.851,-1784.471,99.67442,0,0,0,0,100,0),
+(@PATH,49,3395.851,-1784.471,99.67442,0,0,0,0,100,0),
+(@PATH,50,3393.851,-1784.471,99.42442,0,0,0,0,100,0);
+
+SET @NPC := 103000;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3389.137,`position_y`=-1830.333,`position_z`=103.4552 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3389.137,-1830.333,103.4552,0,0,0,0,100,0),
+(@PATH,2,3389.637,-1832.583,102.9552,0,0,0,0,100,0),
+(@PATH,3,3383.887,-1839.083,102.9552,0,0,0,0,100,0),
+(@PATH,4,3382.887,-1840.083,102.4552,0,0,0,0,100,0),
+(@PATH,5,3382.387,-1840.583,102.7052,0,0,0,0,100,0),
+(@PATH,6,3382.387,-1841.583,102.7052,0,0,0,0,100,0),
+(@PATH,7,3378.887,-1844.833,103.4552,0,0,0,0,100,0),
+(@PATH,8,3376.137,-1847.833,103.9552,0,0,0,0,100,0),
+(@PATH,9,3375.137,-1848.833,104.2052,0,0,0,0,100,0),
+(@PATH,10,3374.137,-1849.833,104.2052,0,0,0,0,100,0),
+(@PATH,11,3372.387,-1852.083,104.7052,0,0,0,0,100,0),
+(@PATH,12,3372.262,-1852.324,105.0966,0,0,0,0,100,0),
+(@PATH,13,3371.512,-1853.574,105.3466,0,0,0,0,100,0),
+(@PATH,14,3393.262,-1859.574,105.8466,0,0,0,0,100,0),
+(@PATH,15,3397.262,-1860.824,106.5966,0,0,0,0,100,0),
+(@PATH,16,3399.262,-1861.324,106.8466,0,0,0,0,100,0),
+(@PATH,17,3403.012,-1862.324,107.5966,0,0,0,0,100,0),
+(@PATH,18,3406.762,-1863.574,108.5966,0,0,0,0,100,0),
+(@PATH,19,3382.792,-1856.847,105.1871,0,0,0,0,100,0),
+(@PATH,20,3392.687,-1859.487,105.7214,0,0,0,0,100,0),
+(@PATH,21,3396.437,-1860.737,106.4714,0,0,0,0,100,0),
+(@PATH,22,3399.187,-1861.237,107.2214,0,0,0,0,100,0),
+(@PATH,23,3402.937,-1862.237,107.7214,0,0,0,0,100,0),
+(@PATH,24,3406.937,-1863.487,108.7214,0,0,0,0,100,0),
+(@PATH,25,3408.163,-1863.834,108.8378,0,0,0,0,100,0),
+(@PATH,26,3406.163,-1863.334,108.0878,0,0,0,0,100,0),
+(@PATH,27,3402.413,-1862.084,107.3378,0,0,0,0,100,0),
+(@PATH,28,3398.663,-1861.084,106.8378,0,0,0,0,100,0),
+(@PATH,29,3394.663,-1860.084,105.8378,0,0,0,0,100,0),
+(@PATH,30,3388.163,-1858.334,105.0878,0,0,0,0,100,0),
+(@PATH,31,3376.036,-1851.585,104.1596,0,0,0,0,100,0),
+(@PATH,32,3377.786,-1847.835,103.6596,0,0,0,0,100,0),
+(@PATH,33,3379.536,-1844.335,103.1596,0,0,0,0,100,0),
+(@PATH,34,3381.036,-1841.085,102.6596,0,0,0,0,100,0),
+(@PATH,35,3382.036,-1839.835,102.6596,0,0,0,0,100,0),
+(@PATH,36,3383.036,-1839.085,102.9096,0,0,0,0,100,0),
+(@PATH,37,3389.537,-1832.41,102.813,0,0,0,0,100,0),
+(@PATH,38,3389.037,-1829.91,102.813,0,0,0,0,100,0),
+(@PATH,39,3388.787,-1827.91,104.813,0,0,0,0,100,0),
+(@PATH,40,3386.787,-1816.66,111.313,0,0,0,0,100,0),
+(@PATH,41,3386.537,-1815.41,112.063,0,0,0,0,100,0),
+(@PATH,42,3386.537,-1813.41,113.313,0,0,0,0,100,0),
+(@PATH,43,3386.537,-1812.41,113.813,0,0,0,0,100,0),
+(@PATH,44,3386.367,-1811.625,114.3062,0,0,0,0,100,0),
+(@PATH,45,3386.617,-1813.375,113.3062,0,0,0,0,100,0),
+(@PATH,46,3386.867,-1814.375,112.5562,0,0,0,0,100,0),
+(@PATH,47,3387.117,-1816.875,111.3062,0,0,0,0,100,0),
+(@PATH,48,3388.867,-1827.875,104.8062,0,0,0,0,100,0);
+
+UPDATE `smart_scripts` SET `action_param1`=1 WHERE `entryorguid`=26447 AND `source_type`=0 AND `id`=0 AND `link`=0;
+
+SET @NPC := 102007;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4364.09,`position_y`=-3079.468,`position_z`=339.3658 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4364.09,-3079.468,339.3658,0,0,0,0,100,0),
+(@PATH,2,4367.34,-3080.468,339.6158,0,0,0,0,100,0),
+(@PATH,3,4367.589,-3080.702,339.5166,0,0,0,0,100,0),
+(@PATH,4,4363.933,-3079.255,339.4127,0,0,0,0,100,0),
+(@PATH,5,4359.433,-3077.505,336.4127,0,0,0,0,100,0),
+(@PATH,6,4355.786,-3075.964,334.2474,0,0,0,0,100,0),
+(@PATH,7,4355.695,-3075.981,334.1053,0,0,0,0,100,0),
+(@PATH,8,4356.195,-3076.231,334.3553,0,0,0,0,100,0),
+(@PATH,9,4359.195,-3077.231,336.3553,0,0,0,0,100,0),
+(@PATH,10,4364.154,-3079.562,339.3983,0,0,0,0,100,0),
+(@PATH,11,4367.404,-3080.312,339.6483,0,0,0,0,100,0),
+(@PATH,12,4367.589,-3080.702,339.5166,0,0,0,0,100,0),
+(@PATH,13,4363.904,-3079.155,339.4361,0,0,0,0,100,0),
+(@PATH,14,4359.404,-3077.405,336.4361,0,0,0,0,100,0);
+
+DELETE FROM `creature_addon` WHERE `guid` IN (111265,111249,111251,111254,111253,111287,111250,111252,111256, 111257, 111255, 111258);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(111255,0,0,3,1,0, ''),
+(111258,0,0,3,1,0, ''),
+(111257,0,0,3,1,0, ''),
+(111256,0,0,3,1,0, ''),
+(111265,0,0,3,1,0, ''),
+(111252,0,0,3,1,0, ''),
+(111250,0,0,3,1,0, ''),
+(111287,0,0,3,1,0, ''),
+(111253,0,0,3,1,0, ''),
+(111254,0,0,3,1,0, ''),
+(111251,0,0,3,1,0, ''),
+(111249,0,0,3,1,0, '');
+
+SET @NPC := 111286;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4542.684,`position_y`=-3543.378,`position_z`=229.5949 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4542.684,-3543.378,229.5949,0,0,0,0,100,0),
+(@PATH,2,4538.324,-3550.24,230.4706,0,0,0,0,100,0),
+(@PATH,3,4538.574,-3554.24,230.9706,0,0,0,0,100,0),
+(@PATH,4,4538.824,-3559.99,231.4706,0,0,0,0,100,0),
+(@PATH,5,4538.906,-3559.937,231.3715,0,0,0,0,100,0),
+(@PATH,6,4538.906,-3560.937,231.8715,0,0,0,0,100,0),
+(@PATH,7,4558.198,-3552.972,231.0125,0,0,0,0,100,0),
+(@PATH,8,4556.198,-3549.472,230.5125,0,0,0,0,100,0),
+(@PATH,9,4553.948,-3546.472,229.7625,0,0,0,0,100,0),
+(@PATH,10,4551.948,-3543.222,229.5125,0,0,0,0,100,0),
+(@PATH,11,4542.659,-3543.267,229.5627,0,0,0,0,100,0);
+
+SET @NPC := 111288;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4520.46,`position_y`=-3406.525,`position_z`=227.3326 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4520.46,-3406.525,227.3326,0,0,0,0,100,0),
+(@PATH,2,4521.017,-3406.375,227.0677,0,0,0,0,100,0),
+(@PATH,3,4520.318,-3406.741,227.3123,0,0,0,0,100,0),
+(@PATH,4,4517.467,-3403.935,227.3069,0,0,0,0,100,0),
+(@PATH,5,4526.76,-3393.349,227.3997,0,0,0,0,100,0),
+(@PATH,6,4531.26,-3395.099,227.8997,0,0,0,0,100,0),
+(@PATH,7,4531.282,-3395.075,227.8239,0,0,0,0,100,0),
+(@PATH,8,4533.532,-3395.825,228.3239,0,0,0,0,100,0),
+(@PATH,9,4532.032,-3397.075,228.0739,0,0,0,0,100,0),
+(@PATH,10,4527.532,-3400.825,227.3239,0,0,0,0,100,0),
+(@PATH,11,4520.34,-3406.549,227.3216,0,0,0,0,100,0),
+(@PATH,12,4517.471,-3403.86,227.3069,0,0,0,0,100,0),
+(@PATH,13,4526.883,-3393.393,227.3997,0,0,0,0,100,0),
+(@PATH,14,4531.383,-3394.893,227.8997,0,0,0,0,100,0),
+(@PATH,15,4531.462,-3395.123,227.7483,0,0,0,0,100,0),
+(@PATH,16,4533.462,-3395.873,228.4983,0,0,0,0,100,0),
+(@PATH,17,4531.962,-3397.123,227.9983,0,0,0,0,100,0),
+(@PATH,18,4527.462,-3400.623,227.2483,0,0,0,0,100,0),
+(@PATH,19,4520.34,-3406.627,227.3305,0,0,0,0,100,0),
+(@PATH,20,4517.294,-3403.789,227.3069,0,0,0,0,100,0),
+(@PATH,21,4526.909,-3393.429,227.3997,0,0,0,0,100,0),
+(@PATH,22,4531.409,-3394.929,227.8997,0,0,0,0,100,0);
+
+SET @NPC := 111289;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4484.351,`position_y`=-3478.285,`position_z`=227.3069 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4484.351,-3478.285,227.3069,0,0,0,0,100,0),
+(@PATH,2,4480.057,-3487.22,227.2323,0,0,0,0,100,0),
+(@PATH,3,4472.557,-3489.22,227.7323,0,0,0,0,100,0),
+(@PATH,4,4472.306,-3489.237,227.8791,0,0,0,0,100,0),
+(@PATH,5,4470.556,-3489.737,227.6291,0,0,0,0,100,0),
+(@PATH,6,4462.207,-3481.591,227.8329,0,0,0,0,100,0),
+(@PATH,7,4464.199,-3484.106,227.8086,0,0,0,0,100,0),
+(@PATH,8,4476.075,-3486.219,227.4328,0,0,0,0,100,0),
+(@PATH,9,4480.054,-3487.25,227.2926,0,0,0,0,100,0),
+(@PATH,10,4472.554,-3489.25,227.7926,0,0,0,0,100,0),
+(@PATH,11,4470.448,-3489.726,227.6761,0,0,0,0,100,0),
+(@PATH,12,4461.976,-3481.571,227.8154,0,0,0,0,100,0),
+(@PATH,13,4466.938,-3472.407,227.8242,0,0,0,0,100,0),
+(@PATH,14,4479.269,-3468.501,227.1355,0,0,0,0,100,0),
+(@PATH,15,4484.383,-3478.306,227.3069,0,0,0,0,100,0),
+(@PATH,16,4479.968,-3487.13,227.2323,0,0,0,0,100,0),
+(@PATH,17,4472.468,-3489.13,227.7323,0,0,0,0,100,0);
+
+SET @NPC := 103184;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4462.269,`position_y`=-3450.493,`position_z`=229.296 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4462.269,-3450.493,229.296,0,0,0,0,100,0),
+(@PATH,2,4459.769,-3447.243,230.296,0,0,0,0,100,0),
+(@PATH,3,4458.269,-3445.243,231.046,0,0,0,0,100,0),
+(@PATH,4,4457.019,-3443.493,231.796,0,0,0,0,100,0),
+(@PATH,5,4455.269,-3441.243,232.546,0,0,0,0,100,0),
+(@PATH,6,4453.519,-3438.743,233.046,0,0,0,0,100,0),
+(@PATH,7,4452.269,-3437.243,233.796,0,0,0,0,100,0),
+(@PATH,8,4452.268,-3436.947,233.8038,0,0,0,0,100,0),
+(@PATH,9,4451.268,-3435.697,234.0538,0,0,0,0,100,0),
+(@PATH,10,4456.768,-3431.197,233.5538,0,0,0,0,100,0),
+(@PATH,11,4463.518,-3425.947,232.8038,0,0,0,0,100,0),
+(@PATH,12,4466.768,-3423.447,232.3038,0,0,0,0,100,0),
+(@PATH,13,4471.518,-3419.947,232.0538,0,0,0,0,100,0),
+(@PATH,14,4467.077,-3423.216,232.6244,0,0,0,0,100,0),
+(@PATH,15,4463.827,-3425.716,232.8744,0,0,0,0,100,0),
+(@PATH,16,4458.577,-3429.716,233.6244,0,0,0,0,100,0),
+(@PATH,17,4452.327,-3434.716,234.1244,0,0,0,0,100,0),
+(@PATH,18,4452.155,-3435.054,234.091,0,0,0,0,100,0),
+(@PATH,19,4451.155,-3435.804,234.091,0,0,0,0,100,0),
+(@PATH,20,4452.905,-3438.304,233.341,0,0,0,0,100,0),
+(@PATH,21,4454.905,-3440.554,232.841,0,0,0,0,100,0),
+(@PATH,22,4455.905,-3442.304,232.091,0,0,0,0,100,0),
+(@PATH,23,4457.155,-3443.804,231.591,0,0,0,0,100,0),
+(@PATH,24,4458.905,-3446.054,230.841,0,0,0,0,100,0),
+(@PATH,25,4460.655,-3448.304,229.841,0,0,0,0,100,0),
+(@PATH,26,4462.905,-3451.554,229.091,0,0,0,0,100,0);
+
+SET @NPC := 103186;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4494.403,`position_y`=-3398.471,`position_z`=228.9183 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,4494.403,-3398.471,228.9183,0,0,0,0,100,0),
+(@PATH,2,4497.653,-3396.221,229.6683,0,0,0,0,100,0),
+(@PATH,3,4500.653,-3394.221,230.1683,0,0,0,0,100,0),
+(@PATH,4,4509.161,-3388.243,230.0648,0,0,0,0,100,0),
+(@PATH,5,4526.161,-3376.743,230.3148,0,0,0,0,100,0),
+(@PATH,6,4529.797,-3374.429,230.5572,0,0,0,0,100,0),
+(@PATH,7,4532.547,-3377.179,230.0572,0,0,0,0,100,0),
+(@PATH,8,4531.893,-3376.673,230.1904,0,0,0,0,100,0),
+(@PATH,9,4529.376,-3374.406,230.6659,0,0,0,0,100,0),
+(@PATH,10,4525.376,-3377.156,230.1659,0,0,0,0,100,0),
+(@PATH,11,4516.626,-3383.156,229.6659,0,0,0,0,100,0),
+(@PATH,12,4508.783,-3388.445,229.8696,0,0,0,0,100,0),
+(@PATH,13,4503.033,-3392.445,230.1196,0,0,0,0,100,0),
+(@PATH,14,4497.533,-3396.195,229.6196,0,0,0,0,100,0),
+(@PATH,15,4494.283,-3398.445,228.8696,0,0,0,0,100,0);
+
+SET @NPC := 102291;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3636.139,`position_y`=-4596.764,`position_z`=191.9429 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3636.139,-4596.764,191.9429,0,0,0,0,100,0),
+(@PATH,2,3635.861,-4596.798,191.7083,0,0,0,0,100,0),
+(@PATH,3,3635.853,-4596.449,191.8018,0,0,0,0,100,0),
+(@PATH,4,3625.146,-4589.744,191.7298,0,0,0,0,100,0),
+(@PATH,5,3624.396,-4588.744,191.7298,0,0,0,0,100,0),
+(@PATH,6,3623.646,-4587.744,191.9798,0,0,0,0,100,0),
+(@PATH,7,3623.146,-4586.994,192.7298,0,0,0,0,100,0),
+(@PATH,8,3622.646,-4586.244,193.2298,0,0,0,0,100,0),
+(@PATH,9,3619.531,-4582.521,193.1351,0,0,0,0,100,0),
+(@PATH,10,3608.531,-4574.021,193.6351,0,0,0,0,100,0),
+(@PATH,11,3607.281,-4573.271,192.6351,0,0,0,0,100,0),
+(@PATH,12,3606.781,-4572.771,192.6351,0,0,0,0,100,0),
+(@PATH,13,3606.531,-4572.521,192.3851,0,0,0,0,100,0),
+(@PATH,14,3606.273,-4572.244,192.437,0,0,0,0,100,0),
+(@PATH,15,3604.773,-4570.994,192.687,0,0,0,0,100,0),
+(@PATH,16,3603.523,-4569.494,193.187,0,0,0,0,100,0),
+(@PATH,17,3602.023,-4566.994,194.187,0,0,0,0,100,0),
+(@PATH,18,3600.023,-4563.744,194.687,0,0,0,0,100,0),
+(@PATH,19,3597.773,-4560.494,195.437,0,0,0,0,100,0),
+(@PATH,20,3596.023,-4557.994,196.187,0,0,0,0,100,0),
+(@PATH,21,3593.575,-4554.499,197.0962,0,0,0,0,100,0),
+(@PATH,22,3591.325,-4550.999,197.8462,0,0,0,0,100,0),
+(@PATH,23,3589.575,-4547.999,198.3462,0,0,0,0,100,0),
+(@PATH,24,3587.575,-4544.499,199.0962,0,0,0,0,100,0),
+(@PATH,25,3587.266,-4544.312,199.2521,0,0,0,0,100,0),
+(@PATH,26,3586.766,-4543.312,199.2521,0,0,0,0,100,0),
+(@PATH,27,3583.266,-4534.312,199.7521,0,0,0,0,100,0),
+(@PATH,28,3581.901,-4530.598,199.9242,0,0,0,0,100,0),
+(@PATH,29,3577.257,-4510.44,199.8448,0,0,0,0,100,0),
+(@PATH,30,3576.757,-4505.69,199.3448,0,0,0,0,100,0),
+(@PATH,31,3576.196,-4499.946,199.2152,0,0,0,0,100,0),
+(@PATH,32,3580.946,-4493.946,199.7152,0,0,0,0,100,0),
+(@PATH,33,3581.288,-4493.67,199.6084,0,0,0,0,100,0),
+(@PATH,34,3581.538,-4493.42,199.6084,0,0,0,0,100,0),
+(@PATH,35,3586.788,-4484.17,199.1084,0,0,0,0,100,0),
+(@PATH,36,3588.606,-4481.567,199.091,0,0,0,0,100,0),
+(@PATH,37,3594.356,-4476.567,198.341,0,0,0,0,100,0),
+(@PATH,38,3596.606,-4474.567,197.841,0,0,0,0,100,0),
+(@PATH,39,3596,-4475.001,198.0385,0,0,0,0,100,0),
+(@PATH,40,3593,-4477.751,198.5385,0,0,0,0,100,0),
+(@PATH,41,3588.387,-4481.783,199.0264,0,0,0,0,100,0),
+(@PATH,42,3582.387,-4491.783,199.5264,0,0,0,0,100,0),
+(@PATH,43,3582.222,-4492.081,199.736,0,0,0,0,100,0),
+(@PATH,44,3581.222,-4493.581,199.486,0,0,0,0,100,0),
+(@PATH,45,3576.117,-4500.31,199.3681,0,0,0,0,100,0),
+(@PATH,46,3577.448,-4510.77,199.8773,0,0,0,0,100,0),
+(@PATH,47,3582.276,-4530.902,199.8257,0,0,0,0,100,0),
+(@PATH,48,3585.526,-4540.152,199.3257,0,0,0,0,100,0),
+(@PATH,49,3587.005,-4543.549,199.229,0,0,0,0,100,0),
+(@PATH,50,3589.755,-4548.549,198.229,0,0,0,0,100,0),
+(@PATH,51,3592.005,-4551.799,197.729,0,0,0,0,100,0),
+(@PATH,52,3593.605,-4554.598,197.1403,0,0,0,0,100,0),
+(@PATH,53,3595.355,-4557.098,196.3903,0,0,0,0,100,0),
+(@PATH,54,3596.855,-4559.598,195.6403,0,0,0,0,100,0),
+(@PATH,55,3598.355,-4562.098,195.1403,0,0,0,0,100,0),
+(@PATH,56,3600.355,-4565.348,194.6403,0,0,0,0,100,0),
+(@PATH,57,3602.105,-4567.848,193.8903,0,0,0,0,100,0),
+(@PATH,58,3603.605,-4570.348,193.1403,0,0,0,0,100,0),
+(@PATH,59,3604.866,-4572.453,192.3813,0,0,0,0,100,0),
+(@PATH,60,3606.116,-4573.453,192.3813,0,0,0,0,100,0),
+(@PATH,61,3606.366,-4573.703,192.8813,0,0,0,0,100,0),
+(@PATH,62,3607.866,-4574.703,193.6313,0,0,0,0,100,0),
+(@PATH,63,3619.845,-4582.56,193.2473,0,0,0,0,100,0),
+(@PATH,64,3622.345,-4585.81,192.9973,0,0,0,0,100,0),
+(@PATH,65,3623.095,-4586.81,192.7473,0,0,0,0,100,0),
+(@PATH,66,3623.845,-4587.56,191.9973,0,0,0,0,100,0),
+(@PATH,67,3624.595,-4588.81,191.7473,0,0,0,0,100,0),
+(@PATH,68,3624.654,-4589.03,191.5894,0,0,0,0,100,0),
+(@PATH,69,3625.404,-4589.78,191.5894,0,0,0,0,100,0),
+(@PATH,70,3636.153,-4596.696,191.9285,0,0,0,0,100,0);
+UPDATE `creature_text` SET `emote`=25 WHERE `entry`=21797 AND `groupid`=0 AND `id`=0;
+UPDATE `creature_template` SET `InhabitType`=4, `flags_extra`=128 WHERE `entry`=21876;
+UPDATE `creature_template` SET `flags_extra`=128 WHERE `entry`=21872;
+
+UPDATE `creature_template` SET `spell1`=37729, `spell2`=37727, `spell3`=39658, `spell4`=37728 WHERE `entry`=21867;
+
+DELETE FROM `creature_text` WHERE `entry`in(21877,21872,21867);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(21877, 0, 0, 'Your pathetic attempt to escape will be short lived, Gorefiend. Let the $g boy:girl, go and submit! Even with your armor and weapons, you cannot defeat the ancients!', 12, 0, 100, 1, 0, 0, 19504, 0, 'Karsius the Ancient Watcher to Player'),
+(21877, 1, 0, 'What ... have you done...', 14, 0, 100, 0, 0, 0, 19506, 0, 'Karsius the Ancient Watcher to Player'),
+(21867, 0, 0, 'We will meet again... Someday.', 12, 0, 100, 273, 0, 0, 19508, 0, 'Teron Gorefiend'),
+(21867, 1, 0, 'Death incarnate has been released upon the world once more! Teron Gorefiend has returned...', 14, 0, 100, 22, 0, 0, 19509, 0, 'Teron Gorefiend'),
+(21872, 0, 0, 'Waste no time, fool! Use our power to kill those that stand in our way! Destroy Karsius before you are subdued!', 15, 0, 100, 1, 0, 0, 19503, 0, 'The Voice of Gorefiend');
+
+UPDATE `creature_template` SET `ainame`='SmartAI', `scriptname`='' WHERE `entry` IN(21797,21876,21877,21867);
+
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid` IN(21797,21876,21877,21867);
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN(2179700,2179701);
+
+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
+(21797, 0, 0, 1, 19, 0, 100, 0, 10645, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Quest \'Teron Gorefiend, I am...\' Taken - Store Targetlist'),
+(21797, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2179700, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Quest \'Teron Gorefiend, I am...\' Taken - Run Script'),
+(21797, 0, 2, 3, 19, 0, 100, 0, 10639, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Quest \'Teron Gorefiend, I am...\' Taken - Store Targetlist'),
+(21797, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2179700, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Quest \'Teron Gorefiend, I am...\' Taken - Run Script'),
+(21797, 0, 4, 0, 38, 0, 100, 0, 1, 1, 0, 0, 80, 2179701, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Data Set - Run Script 2'),
+(21797, 0, 5, 0, 40, 0, 100, 0, 3, 21867, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Reached WP7 - Despawn'),
+(21797, 0, 6, 7, 6, 0, 100, 0, 0, 0, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, 21877, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Death - Set Data 2 2 on Karsius the Ancient Watcher'),
+(21797, 0, 7, 8, 61, 0, 100, 0, 0, 0, 0, 0, 28, 37782, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - Just Died - Remove Aura Disembodied Spirit'),
+(21797, 0, 8, 0, 61, 0, 100, 0, 0, 0, 0, 0, 28, 37748, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - Just Died - Remove Aura Teron Gorefiend'),
+
+(21876, 0, 0, 1, 11, 0, 100, 1, 0, 0, 0, 0, 11, 37761, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Chain of Shadows - On Respawn - Cast \'Ancient Draenei Warden\''),
+(21876, 0, 1, 0, 61, 0, 100, 1, 0, 0, 0, 0, 17, 333, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Chain of Shadows - On Respawn - Set Emote State 333'),
+(21876, 0, 2, 0, 1, 0, 33, 0, 8000, 21000, 8000, 21000, 11, 37784, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Chain of Shadows - OOC - Cast Enforced Submission'),
+(21876, 0, 3, 0, 1, 0,100, 1, 0, 0, 0, 0, 11, 37784, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Chain of Shadows - OOC - Cast Enforced Submission (No Repeat)'),
+(21877, 0, 1, 0, 11, 0, 100, 1, 0, 0, 0, 0, 17, 333, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - On Respawn - Set Emote State 333'),
+(21877, 0, 2, 0, 1, 0, 100, 0, 3000, 3000, 3000, 3000, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - OOC - Set Unit Flags'),
+(21877, 0, 3, 4, 6, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 9, 21876, 0, 200, 0, 0, 0, 0, 'Karsius the Ancient Watcher - On Death - Despawn Chain of Shadows'),
+(21877, 0, 4, 5, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 21867, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - On Death - Set Data'),
+(21877, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 5000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - On Death - Despawn'),
+(21877, 0, 6, 0, 1, 0, 100, 0, 3000, 3000, 3000, 3000, 19, 768, 0, 0, 0, 0, 0, 19, 21867, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - OOC - Set Unit Flags'),
+(21877, 0, 7, 8, 7, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 9, 21876, 0, 200, 0, 0, 0, 0, 'Karsius the Ancient Watcher - On Evade Despawn'),
+(21877, 0, 8, 9, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 21797, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - Despawn Ancient Shadowmoon Spirit'),
+(21877, 0, 9, 10, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 21867, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - Despawn Ancient Shadowmoon Spirit'),
+(21877, 0, 10, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - Despawn Ancient Shadowmoon Spirit'),
+(21877, 0, 11, 12, 6, 0, 100, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - Just Died - Say Line 1'),
+(21877, 0, 12, 13, 61, 0, 100, 0, 0, 0, 0, 0, 28, 37782, 0, 0, 0, 0, 0, 21, 100, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - Just Died - Remove Aura Disembodied Spirit'),
+(21877, 0, 13, 0, 61, 0, 100, 0, 0, 0, 0, 0, 28, 37748, 0, 0, 0, 0, 0, 21, 100, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - Just Died - Remove Aura Teron Gorefiend'),
+(21877, 0, 14, 0, 38, 0, 100, 0, 2, 2, 0, 0, 24, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Karsius the Ancient Watcher - On Data Set 2 2 - Evade'),
+(2179701, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script 2 - Evade'),
+(2179701, 9, 1, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 43, 0, 10720, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script 2 - Mount'),
+(2179701, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script 2 - Say Line 0'), -- 13:51:07.500
+(2179701, 9, 3, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script 2 - Say Line 1'), -- 13:51:10.750
+(2179701, 9, 4, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 53, 1, 21867, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script 2 - Start WP'),
+(2179700, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script - Say Line 0'), -- 13:49:05.750
+(2179700, 9, 1, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 36, 21867, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script - Change Entry'), -- 13:49:09.266
+(2179700, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 18, 256, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script - Set Unit Flags'), -- 13:49:09.266
+(2179700, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script - Add Aura Disembodied Spirit'), -- 13:49:09.266
+(2179700, 9, 4, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 75, 37782, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script - Invoker Cast - Teron Gorefiend'), -- 13:49:10.235
+(2179700, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 85, 37769, 2, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script - Invoker Cast - Teron Gorefiend'), -- 13:49:10.235
+(2179700, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 37728, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script - Cast - Haste'), -- 13:49:10.235
+(2179700, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 21876, 1, 300000, 0, 0, 0, 8, 0, 0, 0, -4524.726, 1009.763, 21.32487, 2.024582, 'Ancient Shadowmoon Spirit - On Script - Summon Creature \'Chain of Shadows\''), -- 13:49:12.782
+(2179700, 9, 8, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 21876, 1, 300000, 0, 0, 0, 8, 0, 0, 0, -4515.913, 1020.078, 23.67377, 2.722714, 'Ancient Shadowmoon Spirit - On Script - Summon Creature \'Chain of Shadows\''), -- 13:49:12.782
+(2179700, 9, 9, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 21876, 1, 300000, 0, 0, 0, 8, 0, 0, 0, -4515.165, 1033.106, 20.71271, 3.176499, 'Ancient Shadowmoon Spirit - On Script - Summon Creature \'Chain of Shadows\''), -- 13:49:12.782
+(2179700, 9, 10, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 21876, 1, 300000, 0, 0, 0, 8, 0, 0, 0, -4525, 1045.415, 19.89447, 4.153883, 'Ancient Shadowmoon Spirit - On Script - Summon Creature \'Chain of Shadows\''), -- 13:49:12.782
+(2179700, 9, 11, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 21876, 1, 300000, 0, 0, 0, 8, 0, 0, 0, -4537.54, 1049.356, 18.74087, 4.415683, 'Ancient Shadowmoon Spirit - On Script - Summon Creature \'Chain of Shadows\''), -- 13:49:12.782
+(2179700, 9, 12, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 21876, 1, 300000, 0, 0, 0, 8, 0, 0, 0, -4551.174, 1044.113, 16.52099, 5.218534, 'Ancient Shadowmoon Spirit - On Script - Summon Creature \'Chain of Shadows\''), -- 13:49:12.782
+(2179700, 9, 13, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 21876, 1, 300000, 0, 0, 0, 8, 0, 0, 0, -4523.753, 1062.352, 24.30409, 4.433136, 'Ancient Shadowmoon Spirit - On Script - Summon Creature \'Chain of Shadows\''), -- 13:49:12.782
+(2179700, 9, 14, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 21876, 1, 300000, 0, 0, 0, 8, 0, 0, 0, -4509.667, 1047.063, 26.45817, 3.787364, 'Ancient Shadowmoon Spirit - On Script - Summon Creature \'Chain of Shadows\''), -- 13:49:12.782
+(2179700, 9, 15, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 21876, 1, 300000, 0, 0, 0, 8, 0, 0, 0, -4504.674, 1020.563, 33.07281, 2.932153, 'Ancient Shadowmoon Spirit - On Script - Summon Creature \'Chain of Shadows\''), -- 13:49:12.782
+(2179700, 9, 16, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 12, 21877, 1, 300000, 0, 0, 0, 8, 0, 0, 0, -4535.794, 1029.284, 8.836361, 3.787364, 'Ancient Shadowmoon Spirit - On Script - Summon Creature \'Karsius the Ancient Watcher\''), -- 13:49:12.782
+(2179700, 9, 17, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 21877, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script - Say Line 0 on \'Karsius the Ancient Watcher\''), -- 13:49:12.782
+(2179700, 9, 18, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 21872, 0, 0, 0, 0, 0, 0, 'Ancient Shadowmoon Spirit - On Script - Say Line 0 on The Voice of Gorefiend'); -- 13:49:21.016
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`IN(37748,37784);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13, 1, 37748, 0, 0, 31, 0, 3, 21867, 0, 0, 0, 0, '', 'Teron Gorefiend (effects 1 & 2) target teron gorefiend'),
+(13, 6, 37748, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Teron Gorefiend (effect 2 & 3) targets player'),
+(13, 1, 37784, 0, 0, 31, 0, 3, 21867, 0, 0, 0, 0, '', 'Enforced Submission Targets Teron Gorefiend'),
+(13, 1, 37784, 0, 1, 31, 0, 3, 21797, 0, 0, 0, 0, '', 'Enforced Submission Targets Ancient Shadowmoon Spirit');
+
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=37748;
+UPDATE `quest_template_addon` SET `SourceSpellID`=0 WHERE `ID` IN(10645,10639);
+
+DELETE FROM `creature_template_addon` WHERE `entry` IN (21876,21877,21797,21867);
+INSERT INTO `creature_template_addon` (`entry`, `mount`, `bytes1`, `bytes2`, `auras`) VALUES
+(21876, 0, 0x0, 0x1, '37761'), -- 21876 - 37761
+(21877, 0, 0x0, 0x1, '37497'), -- 21877
+(21797, 0, 0x0, 0x1, '37509'), -- 21797 - 37509
+(21867, 0, 0x0, 0x1, '37509'); -- 21867 - 37509 10720
+
+UPDATE `creature_template` SET `unit_flags`=768 WHERE `entry`=21876;
+UPDATE `creature_template` SET `faction`=1821, `unit_flags`=33536 WHERE `entry`=21877;
+UPDATE `creature_template` SET `faction`=35, `unit_flags`=768 WHERE `entry`=21867;
+
+DELETE FROM `waypoints` WHERE `entry`=21867;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(21867, 1, -4519.978, 1004.27, 12.49499, 'Teron Gorefiend'),
+(21867, 2, -4520.013, 995.0764, 11.57806, 'Teron Gorefiend'),
+(21867, 3, -4518.75, 968.75, 12.04559, 'Teron Gorefiend'),
+(21867, 4, -4512.086, 938.8976, 2.529049, 'Teron Gorefiend');
+--
+DELETE FROM `skill_fishing_base_level` WHERE `entry`=4722;
+INSERT INTO `skill_fishing_base_level` (`entry`, `skill`) VALUES (4722,430);
+--
+UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`="" WHERE `entry` IN (19991);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (19991) 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
+(19991, 0, 0, 0, 4, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Bloodmaul Brute - On Death - Say text 1'),
+(19991, 0, 1, 0, 0, 0, 100, 0, 2000, 5000, 4000, 5000, 11, 15496, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Bloodmaul Brute - IC - cast Cleave'),
+(19991, 0, 2, 0, 0, 0, 100, 0, 5000, 10000, 8000, 12000, 11, 37577, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,0,'Bloodmaul Brute - IC - debilitating-strike'),
+(19991, 0, 3, 0, 0, 0, 100, 1, 15000, 20000, 10000, 15000, 11, 34932, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Bloodmaul Brute - IC - Bloodmaul Buzz'),
+(19991, 0, 4, 5, 2, 0, 100, 1, 0, 20, 1, 1, 11, 8599, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Bloodmaul Brute - Heath pct - cast Enrage'),
+(19991, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Bloodmaul Brute - Heath pct - say text 3');
+--
+-- Argent Champion SAI mechanic
+SET @Arg_Champion := 33707;
+SET @Script := 3370700;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`IN (@Arg_Champion, 33518);
+UPDATE `creature_template_addon` SET `auras`='63501 62852 64723' WHERE `entry`= @Arg_Champion;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Arg_Champion, 33518) AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=@Script;
+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
+(@Arg_Champion,0,0,0,25,0,100,0,0,0,0,0,28,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - On Reset - Remove auras from Defend'),
+(@Arg_Champion,0,1,0,63,0,100,0,0,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - Just created - Call timed actionlist'),
+(@Arg_Champion,0,2,0,52,0,100,0,0,@Arg_Champion,0,0,11,63010,0,0,0,0,0,7,0,0,0,0,0,0,0,'Arg Champion - On text over - Cast Charge'),
+(@Arg_Champion,0,3,0,0,0,100,0,0,0,1500,4000,11,62544,0,0,0,0,0,2,0,0,0,0,0,0,0,'Arg Champion - IC - Cast Thrust'),
+(@Arg_Champion,0,4,0,9,0,100,0,5,5,4000,7000,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Arg Champion - On more than 5 yard range - Cast Shield-Breaker'),
+(@Arg_Champion,0,5,0,0,0,100,0,9000,11000,9000,10000,46,20,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - IC - Move forward 20 yards'),
+(@Arg_Champion,0,6,7,9,0,100,0,9,15,3000,3000,11,63010,0,0,0,0,0,2,0,0,0,0,0,0,0,'Arg Champion - On 10-12 yard range - Cast Charge'),
+(@Arg_Champion,0,7,0,61,0,100,0,0,0,0,0,11,62575,0,0,0,0,0,2,0,0,0,0,0,0,0,'Arg Champion - Linked with previous event - Cast Shield-Breaker'),
+(@Arg_Champion,0,8,9,2,0,100,1,1,6,60000,60000,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - On HP% between 1% and 6% - Change faction to 35'),
+(@Arg_Champion,0,9,10,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,19,33518,100,0,0,0,0,0,'Arg Champion - On HP% between 1% and 6% - set data'),
+(@Arg_Champion,0,10,11,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,21,50,0,0,0,0,0,0,'Arg Champion - Linked with previous event - Say text'),
+(@Arg_Champion,0,11,0,61,0,100,0,0,0,0,0,41,3000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - Linked with previous event - Despawn in 3 sec'),
+(@Arg_Champion,0,12,13,5,0,100,0,60000,60000,1,0,1,1,0,0,0,0,0,21,50,0,0,0,0,0,0,'Arg Champion - On player killed - Say text'),
+(@Arg_Champion,0,13,0,61,0,100,0,0,0,0,0,41,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - Linked with previous event - Despawn in 1 ms'),
+-- Timed actionlist 1
+(@Script,9,0,0,0,0,100,0,0,0,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - Script 1 - Set run ON'),
+(@Script,9,1,0,0,0,100,0,0,0,0,0,42,0,1,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - Script 1 - Set INVINCIBILITY'),
+(@Script,9,2,0,0,0,100,0,0,0,0,0,11,62719,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - Script 1 - Cast Defend on self/Layer 1/'),
+(@Script,9,3,0,0,0,100,0,0,0,0,0,11,62719,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - Script 1 - Cast Defend on self/Layer 2/'),
+(@Script,9,4,0,0,0,100,0,0,0,0,0,11,62719,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - Script 1 - Cast Defend on self/Layer 3/'),
+(@Script,9,5,0,0,0,100,0,0,0,0,0,69,0,0,0,0,0,0,8,0,0,0,8562.076172, 1115.047119, 556.787231, 2.587977,'Arg Champion - Script 1 - Move to pos'),
+(@Script,9,6,0,0,0,100,0,0,0,0,0,59,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - Script 1 - Set run Off'),
+(@Script,9,7,0,0,0,100,0,0,0,0,0,11,64223,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - Script 1 - Cast aura TriggerS for Defend /10 sec one/'),
+(@Script,9,8,0,0,0,100,0,3500,3500,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arg Champion - Script 1 - Change faction to 14'),
+(@Script,9,9,0,0,0,100,0,0,0,0,0,1,0,1500,0,0,0,0,21,50,0,0,0,0,0,0,'Arg Champion - Script 1 - Say text'),
+(33518, 0, 0, 1, 62, 0, 100, 0, 10343, 0, 0, 0, 11, 63171, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Squire Danny -On gossip select, summons Argent Champion" ),
+(33518, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Squire Danny - On gossip select - Close gossip" ),
+(33518, 0, 2, 0, 61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Squire Danny - Linked with previous event - store target'),
+(33518, 0, 3, 0, 38,0,100,0,0,1,0,0,85,63516,0,0,0,0,0,12,1,0,0,0,0,0,0,'Squire Danny - On data set - cast quest credit');
+
+-- Argent Champions texts
+DELETE FROM `creature_text` WHERE `entry`= @Arg_Champion;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@Arg_Champion,0,1,'Ready yourself!',12,0,100,1,1000,0,'Argent Champion',33753),
+(@Arg_Champion,0,2,'Prepare yourself!',12,0,100,1,1000,0,'Argent Champion',33750),
+(@Arg_Champion,0,3,'On your guard!',12,0,100,1,1000,0,'Argent Champion',33752),
+(@Arg_Champion,0,4,'On your guard!',12,0,100,1,1000,0,'Argent Champion',33756),
+(@Arg_Champion,0,5,'Let it begin!',12,0,100,1,1000,0,'Argent Champion',33758),
+(@Arg_Champion,0,6,'Argent Champion is looking winded!',12,0,100,1,1000,0,'Argent Champion',0),
+(@Arg_Champion,1,7,'Victory is mine!',12,0,100,1,1000,0,'Argent Champion',33771),
+(@Arg_Champion,1,8,'It seems you still need more practice. Perhaps another time.',12,0,100,1,1000,0,'Argent Champion',33763),
+(@Arg_Champion,1,9,'I have won. Better luck another time, friend.',12,0,100,1,1000,0,'Argent Champion',33773),
+(@Arg_Champion,1,10,'I am afraid you will need more practice to defeat me.',12,0,100,1,1000,0,'Argent Champion',33772),
+(@Arg_Champion,2,11,'I yield to you.',12,0,100,1,1000,0,'Argent Champion',33767),
+(@Arg_Champion,2,12,'That was a well fought battle. I yield to you.',12,0,100,1,1000,0,'Argent Champion',33776),
+(@Arg_Champion,2,13,'It would seem I underestimated your skills. Well done..',12,0,100,1,1000,0,'Argent Champion',33768),
+(@Arg_Champion,2,14,'I have been defeated. Good fight!',12,0,100,1,1000,0,'Argent Champion',33868);
+
+DELETE FROM `spell_target_position` WHERE `id`=63137;
+INSERT INTO `spell_target_position` (`id`, `EffectIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`) VALUES
+(63137, 0, 571, 8542.52, 1083.690, 556.406);
+--
+DELETE FROM `spell_group` WHERE `id`=1121;
+INSERT INTO `spell_group` (`id`, `spell_id`) VALUES
+(1121,3671),
+(1121,3672),
+(1121,3673);
+
+DELETE FROM `spell_group_stack_rules` WHERE `group_id`=1121;
+INSERT INTO `spell_group_stack_rules` (`group_id`, `stack_rule`) VALUES
+(1121,1);
+--
+UPDATE `gossip_menu_option` SET `action_menu_id`=943 WHERE `menu_id`=942 AND `id`=0;
+UPDATE `gossip_menu_option` SET `action_menu_id`=944 WHERE `menu_id`=942 AND `id`=1;
+DELETE FROM `gossip_menu` WHERE `entry` IN (944,943);
+INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (943,1521),(944,1646);
+--
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (12222);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (12222) 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
+(12222, 0, 0, 0, 0, 0, 100, 0, 4000, 6000, 7000, 10000, 11, 26419, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,0,'Creeping Sludge - IC - Cast Acid Spray'),
+(12222, 0, 1, 0, 25, 0, 100, 0, 0, 0, 0, 0, 75, 22638, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,'Creeping Sludge - On reset - Add Poison Shock');
+--
+UPDATE `smart_scripts` SET `event_type`=61, `event_param1`=0, `event_param2`=0, `event_param3`=0, `event_param4`=0, `action_param1`=10000 WHERE `entryorguid`=28156 AND `source_type`=0 AND `id`=3;
+UPDATE `smart_scripts` SET `link`=3 WHERE `entryorguid`=28156 AND `source_type`=0 AND `id`=2;
+UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=28156 AND `source_type`=0 AND `id`=0;
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=51276;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13,1,51276,0,0,31,0,3,28156,0,0,0,0,'','Incinerate Corpse can be used only on Defeated Argent Footman.');
+--
+UPDATE `npc_text` SET `BroadcastTextId0`= 33761 WHERE `id`=14391;
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=4007;
+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`, `OptionBroadcastTextID`)VALUES
+(4007,0,3,"I would like training.",5,16,0,0,0,0,'', 2603),
+(4007,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,'', 8271),
+(4007,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,'',33762);
+DELETE FROM `gossip_menu` WHERE `Entry`=4007 AND `text_id` IN (4999, 5000);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (4007, 4999), (4007, 5000);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=4007;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(14, 4007, 4999, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is a hunter', 0),
+(14, 4007, 5000, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is not a hunter', 1),
+(15, 4007, 0, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0),
+(15, 4007, 1, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0),
+(15, 4007, 2, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=4534;
+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`, `OptionBroadcastTextID`)VALUES
+(4534,0,3,"I would like training.",5,16,0,0,0,0,'', 2603),
+(4534,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,'', 8271),
+(4534,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,'',33762);
+DELETE FROM `gossip_menu` WHERE `Entry`=4534 AND `text_id` IN (563, 562);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (4534, 563), (4534, 562);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=4534;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(14, 4534, 562, 0, 15, 128, 0, 0, 0, '', 'Show gossip text if player is a Mage', 0),
+(14, 4534, 563, 0, 15, 128, 0, 0, 0, '', 'Show gossip text if player is not a Mage', 1),
+(15, 4534, 0, 0, 15, 128, 0, 0, 0, '', 'Show gossip option if player is a Mage', 0),
+(15, 4534, 1, 0, 15, 128, 0, 0, 0, '', 'Show gossip option if player is a Mage', 0),
+(15, 4534, 2, 0, 15, 128, 0, 0, 0, '', 'Show gossip option if player is a Mage', 0);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=4092;
+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`, `OptionBroadcastTextID`)VALUES
+(4092,0,3,"I would like training.",5,16,0,0,0,0,'', 2603),
+(4092,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,'', 8271),
+(4092,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,'',33762);
+DELETE FROM `gossip_menu` WHERE `Entry`=4092 AND `text_id` IN (4867, 4993);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (4092, 4867), (4092, 4993);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=4621;
+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`, `OptionBroadcastTextID`)VALUES
+(4621,0,3,"I would like training.",5,16,0,0,0,0,'', 2603),
+(4621,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,'', 8271),
+(4621,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,'',33762);
+DELETE FROM `gossip_menu` WHERE `Entry`=4621 AND `text_id` IN (4994, 4993);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (4621, 4994), (4621, 4993);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=4621;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(14, 4621, 4994, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is a hunter', 0),
+(14, 4621, 4993, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is not a hunter', 1),
+(15, 4621, 0, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0),
+(15, 4621, 1, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0),
+(15, 4621, 2, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=4694;
+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`, `OptionBroadcastTextID`)VALUES
+(4694,0,3,"I would like training.",5,16,0,0,0,0,'', 2603),
+(4694,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,'', 8271),
+(4694,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,'',33762);
+DELETE FROM `gossip_menu` WHERE `Entry`=4694 AND `text_id` IN (6160, 4993);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (4694, 6160), (4694, 4993);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=4694;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(14, 4694, 6160, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is a hunter', 0),
+(14, 4694, 4993, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is not a hunter', 1),
+(15, 4694, 0, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0),
+(15, 4694, 1, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0),
+(15, 4694, 2, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=4826;
+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`, `OptionBroadcastTextID`)VALUES
+(4826,0,3,"I would like training.",5,16,0,0,0,0,'', 2603);
+DELETE FROM `gossip_menu` WHERE `Entry`=4826 AND `text_id` IN (5884, 5883);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (4826, 5884), (4826, 5883);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=4826;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(14, 4826, 5884, 0, 15, 128, 0, 0, 0, '', 'Show gossip text if player is a Mage', 0),
+(14, 4826, 5883, 0, 15, 128, 0, 0, 0, '', 'Show gossip text if player is not a Mage', 1),
+(15, 4826, 0, 0, 15, 128, 0, 0, 0, '', 'Show gossip option if player is a Mage', 0);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=4674;
+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`, `OptionBroadcastTextID`)VALUES
+(4674,0,3,"I would like training.",5,16,0,0,0,0,'', 2603),
+(4674,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,'', 8271),
+(4674,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,'',33762);
+DELETE FROM `gossip_menu` WHERE `Entry`=4674 AND `text_id` IN (4999, 5000);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (4674, 4999), (4674, 5000);
+
+UPDATE `creature_template` SET `gossip_menu_id`= 4007 WHERE `entry`=1231;
+UPDATE `creature_template` SET `gossip_menu_id`= 4534 WHERE `entry`=3047;
+UPDATE `creature_template` SET `gossip_menu_id`= 4092 WHERE `entry`=3963;
+UPDATE `creature_template` SET `gossip_menu_id`= 4621 WHERE `entry`=4138;
+UPDATE `creature_template` SET `gossip_menu_id`= 4694 WHERE `entry`=5501;
+UPDATE `creature_template` SET `gossip_menu_id`= 4826 WHERE `entry`=5958;
+UPDATE `creature_template` SET `gossip_menu_id`= 4092 WHERE `entry`=8308;
+UPDATE `creature_template` SET `gossip_menu_id`= 4674 WHERE `entry`=10930;
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup` IN (4092, 4674);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(14, 4092, 4867, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is a hunter', 0),
+(14, 4092, 4993, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is not a hunter', 1),
+(15, 4092, 0, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0),
+(15, 4092, 1, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0),
+(15, 4092, 2, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0),
+(14, 4674, 4999, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is a hunter', 0),
+(14, 4674, 5000, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is not a hunter', 1),
+(15, 4674, 0, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0),
+(15, 4674, 1, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0),
+(15, 4674, 2, 0, 15, 4, 0, 0, 0, '', 'Show gossip option if player is a hunter', 0);
+--
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=21221;
+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`, `OptionBroadcastTextID`)VALUES
+(21221,0,3,"I would like training.",5,16,0,0,0,0,'', 2603),
+(21221,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,'', 8271),
+(21221,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,'',33762 );
+DELETE FROM `gossip_menu` WHERE `Entry`=21221 AND `text_id`=4793;
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (21221, 4793);
+UPDATE `npc_text` SET `BroadcastTextId0`=3275 WHERE `id`=1124;
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=21221;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(14, 21221, 1124, 0, 15, 8, 0, 0, 0, '', 'Show gossip text if player is a Rogue'),
+(14, 21221, 4793, 0, 15, 1527, 0, 0, 0, '', 'Show gossip text if player is not a Rogue'),
+(15, 21221, 0, 0, 15, 8, 0, 0, 0, '', 'Show gossip option if player is a rogue'),
+(15, 21221, 1, 0, 15, 8, 0, 0, 0, '', 'Show gossip option if player is a rogue'),
+(15, 21221, 2, 0, 15, 8, 0, 0, 0, '', 'Show gossip option if player is a rogue');
+--
+DELETE FROM `pool_template` WHERE `entry` IN (11635, 11636, 11637, 11638);
+INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES
+(11635, 1, 'Defenders at Bloodmyst Isle 1'),
+(11636, 1, 'Defenders at Bloodmyst Isle 2'),
+(11637, 1, 'Defenders at Bloodmyst Isle 3'),
+(11638, 1, 'Defenders at Bloodmyst Isle 4');
+
+DELETE FROM `pool_creature` WHERE `pool_entry` IN (11635, 11636, 11637, 11638);
+INSERT INTO `pool_creature` (`guid`, `pool_entry`, `chance`, `description`) VALUES
+(63725, 11635, 0, 'Defenders at Bloodmyst Isle 1'),
+(84397, 11635, 0, 'Defenders at Bloodmyst Isle 1'),
+(63726, 11636, 0, 'Defenders at Bloodmyst Isle 2'),
+(84395, 11636, 0, 'Defenders at Bloodmyst Isle 2'),
+(63724, 11637, 0, 'Defenders at Bloodmyst Isle 3'),
+(84396, 11637, 0, 'Defenders at Bloodmyst Isle 3'),
+(63727, 11638, 0, 'Defenders at Bloodmyst Isle 4'),
+(84428, 11638, 0, 'Defenders at Bloodmyst Isle 4');
+--
+SET @ENTRY := 18636;
+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,25,0,100,6,0,0,0,0,11,30991,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cast Stealth on Reset'),
+(@ENTRY,0,1,0,9,0,100,6,0,8,0,0,11,30986,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cast Cheap Shot on Close'),
+(@ENTRY,0,2,0,67,0,100,6,9000,12000,0,0,11,30992,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cast Backstab'),
+(@ENTRY,0,3,0,0,0,100,6,2000,4500,12000,20000,11,30981,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cast Crippling Poison'),
+(@ENTRY,0,4,0,0,0,100,6,8000,11000,22000,25000,11,36974,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cast Wound Poison');
+
+SET @ENTRY := 17695;
+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,25,0,100,6,0,0,0,0,11,30991,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cast Stealth on Reset'),
+(@ENTRY,0,1,0,9,0,100,6,0,8,0,0,11,30986,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cast Cheap Shot on Close'),
+(@ENTRY,0,2,0,67,0,100,6,9000,12000,0,0,11,30992,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cast Backstab'),
+(@ENTRY,0,3,0,0,0,100,6,2000,4500,12000,20000,11,30981,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cast Crippling Poison'),
+(@ENTRY,0,4,0,0,0,100,6,8000,11000,22000,25000,11,36974,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cast Wound Poison');
+
+-- Void Traveler
+SET @ENTRY := 19226;
+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,0,0,100,2,2000,4500,12000,20000,11,33783,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cast Empowering Shadows'),
+(@ENTRY,0,1,0,0,0,100,4,2000,4500,12000,20000,11,39364,0,0,0,0,0,2,0,0,0,0,0,0,0,'Cast Empowering Shadows'),
+(@ENTRY,0,2,0,0,0,100,6,5000,9000,18000,25000,11,33846,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cast Shadow Nova');
+--
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (37748) AND `SourceGroup`=6;
diff --git a/sql/updates/world/2015_11_01_14_world_2015_08_21_01.sql b/sql/updates/world/2015_11_01_14_world_2015_08_21_01.sql
new file mode 100644
index 00000000000..794e03cd0d3
--- /dev/null
+++ b/sql/updates/world/2015_11_01_14_world_2015_08_21_01.sql
@@ -0,0 +1,2 @@
+DELETE FROM `command` WHERE `name` = 'debug loadcells';
+INSERT INTO `command` (`name`, `permission`, `help`) VALUES ('debug loadcells', 835, 'Syntax: .debug loadcells [mapId]\nLoads all cells for debugging purposes');
diff --git a/sql/updates/world/2015_11_01_15_world_2015_08_23_00.sql b/sql/updates/world/2015_11_01_15_world_2015_08_23_00.sql
new file mode 100644
index 00000000000..7d5863dcce8
--- /dev/null
+++ b/sql/updates/world/2015_11_01_15_world_2015_08_23_00.sql
@@ -0,0 +1,150 @@
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=58694;
+
+DELETE FROM `spell_script_names` WHERE `ScriptName` IN (
+'spell_cyanigosa_arcane_vacuum',
+'spell_ichoron_splatter',
+'spell_ichoron_protective_bubble',
+'spell_ichoron_drained',
+'spell_ichoron_merge',
+'spell_moragg_ray',
+'spell_moragg_ray_of_pain',
+'spell_moragg_ray_of_suffering',
+'spell_xevozz_summon_ethereal_sphere',
+'spell_violet_hold_destroy_door_seal',
+'spell_violet_hold_portal_periodic',
+'spell_violet_hold_teleport_player',
+'spell_crystal_activation'
+);
+INSERT INTO `spell_script_names`(`spell_id`,`ScriptName`) values
+(58694,'spell_cyanigosa_arcane_vacuum'),
+(54259,'spell_ichoron_splatter'),
+(54306,'spell_ichoron_protective_bubble'),
+(59820,'spell_ichoron_drained'),
+(54269,'spell_ichoron_merge'),
+(54438,'spell_moragg_ray'),
+(54442,'spell_moragg_ray'),
+(59523,'spell_moragg_ray'),
+(59524,'spell_moragg_ray'),
+(58040,'spell_violet_hold_destroy_door_seal'),
+(58008,'spell_violet_hold_portal_periodic'),
+(62138,'spell_violet_hold_teleport_player');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 and `SourceEntry` IN (57912, 57930, 58152, 54258, 54264, 54265, 54266, 54267, 54269);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13,1,57912,0,0,31,0,3,29425,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,57930,0,0,31,0,3,30857,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,0,31,0,3,30661,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,1,31,0,3,30662,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,2,31,0,3,30663,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,3,31,0,3,30664,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,4,31,0,3,30665,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,5,31,0,3,30666,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,6,31,0,3,30667,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,7,31,0,3,30668,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,8,31,0,3,30918,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,9,31,0,3,30961,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,10,31,0,3,30962,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,11,31,0,3,30963,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,12,31,0,3,31007,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,13,31,0,3,31008,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,14,31,0,3,31009,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,15,31,0,3,31010,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,16,31,0,3,31118,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,58152,0,17,31,0,3,32191,0,0,0,0,'','Defense System - Arcane Lightning'),
+(13,1,54258,0,0,31,0,3,29326,102906,0,0,0,'','Ichoron - Water Globule'),
+(13,1,54264,0,0,31,0,3,29326,102905,0,0,0,'','Ichoron - Water Globule'),
+(13,1,54265,0,0,31,0,3,29326,102904,0,0,0,'','Ichoron - Water Globule'),
+(13,1,54266,0,0,31,0,3,29326,102901,0,0,0,'','Ichoron - Water Globule'),
+(13,1,54267,0,0,31,0,3,29326,102902,0,0,0,'','Ichoron - Water Globule'),
+(13,1,54269,0,0,31,0,3,29313,0,0,0,0,'','Ichoron - Merge');
+
+UPDATE `creature_template` SET `gossip_menu_id`=9997 WHERE `entry`=30658;
+
+UPDATE `gossip_menu_option` SET `action_menu_id`=9998 WHERE `menu_id`=9997;
+
+UPDATE `creature_template` SET `ScriptName`='npc_violet_hold_teleportation_portal' WHERE `entry`=30679;
+UPDATE `creature_template` SET `ScriptName`='npc_violet_hold_teleportation_portal_elite' WHERE `entry`=32174;
+UPDATE `creature_template` SET `ScriptName`='npc_violet_hold_teleportation_portal_intro' WHERE `entry`=31011;
+
+UPDATE `creature_template` SET `ScriptName`='npc_violet_hold_defense_system' WHERE `entry`=30837;
+
+UPDATE `creature_template` SET `unit_flags`=832 WHERE `entry` IN (31134, 31506); -- Cyanigosa
+
+UPDATE `creature_template` SET `speed_walk`=2.22222/2.5, `speed_run`=8.0/7.0, `unit_flags`=768 WHERE `entry` IN (31079, 31492); -- Azure Saboteur
+
+UPDATE `creature_template` SET `speed_walk`=4.0/2.5, `speed_run`=12.0/7.0, `unit_flags`=832 WHERE `entry` IN (29266, 31511, 32231, 32552); -- Xevozz
+UPDATE `creature_template` SET `speed_walk`=3.0/2.5, `speed_run`=3.0/7.0 WHERE `entry` IN (29271, 31514, 32582, 32583); -- Ethereal Sphere
+UPDATE `creature_template` SET `speed_walk`=4.0/2.5, `speed_run`=12.0/7.0, `unit_flags`=832 WHERE `entry` IN (29312, 31509, 32237, 32553); -- Lavanthor
+UPDATE `creature_template` SET `speed_walk`=4.0/2.5, `speed_run`=12.0/7.0, `unit_flags`=832 WHERE `entry` IN (29313, 31508, 32234, 32554); -- Ichoron
+UPDATE `creature_template` SET `speed_walk`=4.0/2.5, `speed_run`=4.0/7.0, `unit_flags`=33587200 WHERE `entry` IN (29321, 31515); -- Ichor Globule
+UPDATE `creature_template` SET `speed_walk`=4.0/2.5, `speed_run`=12.0/7.0, `unit_flags`=832 WHERE `entry` IN (29314, 31512, 32230, 32555); -- Zuramat
+UPDATE `creature_template` SET `speed_walk`=4.0/2.5, `speed_run`=10.0/7.0, `unit_flags`=33600 WHERE `entry` IN (29315, 31507, 32226, 32550); -- Erekem
+UPDATE `creature_template` SET `speed_walk`=4.0/2.5, `speed_run`=10.0/7.0, `unit_flags`=33600 WHERE `entry` IN (29395, 31513, 32228, 32549); -- Erekem Guard
+UPDATE `creature_template` SET `speed_walk`=4.0/2.5, `speed_run`=12.0/7.0, `unit_flags`=33600 WHERE `entry` IN (29316, 31510, 32235, 32551); -- Moragg
+
+UPDATE `creature_template` SET `minlevel`=77, `maxlevel`=77, `ScriptName`='boss_xevozz' WHERE `entry`=32231; -- Xevozz
+UPDATE `creature_template` SET `minlevel`=77, `maxlevel`=77, `ScriptName`='boss_lavanthor' WHERE `entry`=32237; -- Lavanthor
+UPDATE `creature_template` SET `minlevel`=77, `maxlevel`=77, `ScriptName`='boss_ichoron' WHERE `entry`=32234; -- Ichoron
+UPDATE `creature_template` SET `minlevel`=77, `maxlevel`=77, `ScriptName`='boss_zuramat' WHERE `entry`=32230; -- Zuramat
+UPDATE `creature_template` SET `minlevel`=77, `maxlevel`=77, `ScriptName`='boss_erekem' WHERE `entry`=32226; -- Erekem
+UPDATE `creature_template` SET `minlevel`=76, `maxlevel`=76, `ScriptName`='npc_erekem_guard' WHERE `entry`=32228; -- Erekem Guard
+UPDATE `creature_template` SET `minlevel`=77, `maxlevel`=77, `ScriptName`='boss_moragg' WHERE `entry`=32235; -- Moragg
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (29364, 29365); -- Void Sentry
+UPDATE `creature_template` SET `flags_extra`=0, `AIName`='', `ScriptName`='npc_void_sentry' WHERE `entry`=29364; -- Void Sentry
+UPDATE `creature_template` SET `AIName`='' WHERE `entry`=29365; -- Void Sentry
+UPDATE `creature_template` SET `unit_flags`=0, `unit_flags2`=0 WHERE `entry` IN (29364, 31518);
+UPDATE `creature_template` SET `unit_flags`=33554432, `unit_flags2`=2080 WHERE `entry` IN (29365, 31519); -- Void Sentry
+
+UPDATE `creature_template` SET `flags_extra`=`flags_extra`|0x1 WHERE `entry` IN (32552, 32553, 32554, 32555, 32550, 32551);
+UPDATE `creature_template` SET `mechanic_immune_mask`=536941137 WHERE `entry` IN (32231, 32552, 32237, 32553, 32234, 32554, 32230, 32555, 32226, 32550, 32228, 32549, 32235, 32551);
+
+UPDATE `creature_template` SET `InhabitType`=4, `flags_extra`=128 WHERE `entry`=30837;
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (29326, 30896);
+UPDATE `creature` SET `modelid`=0, `spawndist`=0, `MovementType`=0 WHERE `id` IN (29326, 30896);
+
+UPDATE `creature_template` SET `AIName`='' WHERE `entry` IN (32226,32228,32230,32231,32234,32235,32237);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (32226,32228,32230,32231,32234,32235,32237);
+
+DELETE FROM `creature_template_addon` WHERE `entry` IN (30837, 30896, 31079, 29364, 29365, 31518, 31519);
+INSERT INTO `creature_template_addon` (`entry`, `mount`, `bytes1`, `bytes2`, `auras`) VALUES
+(30837, 0, 0x3000000, 0x1, '57886 57887'),
+(30896, 0, 0x3000000, 0x1, ''),
+(31079, 0, 0x0, 0x1, '31635'),
+(29364, 0, 0x0, 0x1, '54351 54341'),
+(29365, 0, 0x0, 0x1, '54351 54342'),
+(31518, 0, 0x0, 0x1, '54351 54341'),
+(31519, 0, 0x0, 0x1, '54351 59747');
+
+DELETE FROM `creature_text` WHERE `entry` IN (30658, 32204, 29271);
+DELETE FROM `creature_text` WHERE `entry`=29313 AND `groupid`=7;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(30658, 0, 0, 'Prison guards, we are leaving! These adventurers are taking over! Go go go!', 14, 0, 100, 5, 0, 0, 31474, 3, 'Lieutenant Sinclari - Intro 1'),
+(30658, 1, 0, 'I''m locking the door. Good luck, and thank you for doing this.', 12, 0, 100, 396, 0, 0, 31475, 3, 'Lieutenant Sinclari - Intro 2'),
+(30658, 2, 0, 'You did it! You held the Blue Dragonflight back and defeated their commander. Amazing work!', 12, 0, 100, 396, 0, 0, 31694, 3, 'Lieutenant Sinclari - Outro'),
+
+(32204, 0, 0, 'An elite Blue Dragonflight squad appears from the portal!', 41, 0, 100, 0, 0, 0, 32994, 3, 'Lieutenant Sinclari - Blue Dragonflight squad'),
+(32204, 1, 0, 'A Portal Guardian defends the new portal!', 41, 0, 100, 0, 0, 0, 32995, 3, 'Lieutenant Sinclari - Portal Guardian'),
+(32204, 2, 0, 'A Portal Keeper emerges from the portal!', 41, 0, 100, 0, 0, 0, 32996, 3, 'Lieutenant Sinclari - Portal Keeper'),
+(32204, 3, 0, 'Adventurers, the door is beginning to weaken!', 14, 0, 100, 0, 0, 0, 32557, 3, 'Lieutenant Sinclari - Door weaken'),
+(32204, 4, 0, 'Only half of the door seal''s strength remains! You must fight on!', 14, 0, 100, 0, 0, 0, 32558, 3, 'Lieutenant Sinclari - Half Door Seal reains'),
+(32204, 5, 0, 'The door seal is about to collapse! All is lost if the Blue Dragonflight breaks through the door!', 14, 0, 100, 0, 0, 0, 32559, 3, 'Lieutenant Sinclari - Door Seal broken'),
+
+(29313, 7, 0, '%s''s Protective Bubble shatters!', 41, 0, 100, 0, 0, 0, 30086, 0, 'Ichoron - Emote Shatter'),
+
+(29271, 0, 0, '%s begins to summon!', 41, 0, 100, 0, 0, 0, 30087, 3, 'Ethereal Sphere');
+
+UPDATE `creature_text` SET `sound`=14499 WHERE `entry`=29266 AND `groupid`=0;
+UPDATE `creature_text` SET `emote`=396 WHERE `entry`=29266 AND `groupid`=3;
+UPDATE `creature_text` SET `emote`=15 WHERE `entry`=29315 AND `groupid`=3;
+UPDATE `creature_text` SET `emote`=396 WHERE `entry`=31134 AND `groupid`=3;
+
+DELETE FROM `spell_target_position` WHERE `ID` IN (54102, 54137, 54138, 61337, 61338, 61339, 62139);
+INSERT INTO `spell_target_position` (`ID`, `EffectIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `VerifiedBuild`) VALUES
+(54102, 0, 608, 1854.36, 802.65, 44.3, 12340),
+(54137, 0, 608, 1899.18, 824.7, 38.72333, 12340),
+(54138, 0, 608, 1891.42, 788.04, 38.64, 12340),
+(61337, 0, 608, 1854.36, 802.65, 44.3, 12340),
+(61338, 0, 608, 1899.18, 824.7, 38.72333, 12340),
+(61339, 0, 608, 1891.42, 788.04, 38.64, 12340),
+(62139, 0, 608, 1857.24, 803.877, 44.0085, 12340);
diff --git a/sql/updates/world/2015_11_01_16_world.sql b/sql/updates/world/2015_11_01_16_world.sql
new file mode 100644
index 00000000000..d18e5bc02d9
--- /dev/null
+++ b/sql/updates/world/2015_11_01_16_world.sql
@@ -0,0 +1,779 @@
+--
+SET @OGUID:=78023;
+DELETE FROM `game_event_gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+385 AND `eventEntry`=12;
+DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+385;
+INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `PhaseGroup`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
+(@OGUID+0,180406, 530, 1, 0, 169, 10006.97, -7223.957, 38.252, 3.839725, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+1,180410, 530, 1, 0, 169, 10017.58, -7218.51, 32.9932, 2.303831, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+2,180411, 530, 1, 0, 169, 10001.91, -7204.366, 43.59731, 4.76475, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: -1)
+(@OGUID+3,180410, 530, 1, 0, 169, 9963.57, -7252.031, 33.84737, 2.268925, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+4,180410, 530, 1, 0, 169, 9961.773, -7253.525, 33.84737, 2.321287, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+5,180410, 530, 1, 0, 169, 9965.425, -7250.459, 34.04182, 2.321287, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+6, 180410, 530, 1, 0, 169, 9966.247, -7242.492, 33.60432, 3.874631, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+7, 180410, 530, 1, 0, 169, 10024.43, -7212.82, 32.86126, 2.234018, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+8, 180410, 530, 1, 0, 169, 10020.63, -7200.405, 33.09042, 4.101525, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+9, 180405, 530, 1, 0, 169, 9823.148, -7386.113, 20.45557, 0.9948372, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+10,1180407, 530, 1, 0, 169, 9812.965, -7409.957, 13.62506, 0.4886912, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+11,1180427, 530, 1, 0, 169, 9682.321, -7432.618, 23.67524, 5.637414, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: -1)
+(@OGUID+12,1180426, 530, 1, 0, 169, 9685.572, -7441.069, 23.97384, 5.026549, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: -1)
+(@OGUID+13,1180426, 530, 1, 0, 169, 9686.853, -7440.715, 20.77245, 6.108654, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: -1)
+(@OGUID+14,1180427, 530, 1, 0, 169, 9686.702, -7436.893, 20.72384, 1.780234, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: -1)
+(@OGUID+15,1180426, 530, 1, 0, 169, 9684.29, -7437.083, 23.16829, 1.97222, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: -1)
+(@OGUID+16,1180427, 530, 1, 0, 169, 9682.661, -7437.406, 19.14746, 6.056293, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: -1)
+(@OGUID+17,1180427, 530, 1, 0, 169, 9682.217, -7440.542, 23.70301, 0.2617982, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: -1)
+(@OGUID+18,1180426, 530, 1, 0, 169, 9681.567, -7440.406, 21.67523, 2.35619, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: -1)
+(@OGUID+19,1180427, 530, 1, 0, 169, 9688.92, -7439.088, 24.64051, 5.846854, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: -1)
+(@OGUID+20,1180415, 530, 1, 0, 169, 9726.541, -7459.687, 14.03802, 2.513274, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+21,1180415, 530, 1, 0, 169, 9646.93, -7446.186, 14.02778, 1.274088, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+22,1180415, 530, 1, 0, 169, 9763.853, -7467.264, 13.57424, 2.18166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+23,1180415, 530, 1, 0, 169, 9721.928, -7473.809, 14.03804, 5.497789, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+24,1180415, 530, 1, 0, 169, 9763.872, -7469.173, 13.57424, 1.954769, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+25,1180415, 530, 1, 0, 169, 9642.902, -7441.372, 14.02778, 4.485497, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+26,1180415, 530, 1, 0, 169, 9706.262, -7464.713, 14.03802, 3.019413, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+27,1180415, 530, 1, 0, 169, 9722.172, -7455.784, 14.03802, 5.061456, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+28,1180415, 530, 1, 0, 169, 9637.544, -7439.558, 14.02778, 2.129301, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+29,1180415, 530, 1, 0, 169, 9708.006, -7469.922, 14.03803, 1.047198, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+30,1180415, 530, 1, 0, 169, 9717.246, -7454.905, 14.03803, 0.4886912, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+31,1180415, 530, 1, 0, 169, 9707.984, -7459.522, 14.03802, 0.4886912, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+32,1180415, 530, 1, 0, 169, 9726.428, -7470.03, 14.03803, 5.567601, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+33,1180415, 530, 1, 0, 169, 9763.653, -7472.03, 13.57424, 6.19592, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+34,1180415, 530, 1, 0, 169, 9712.377, -7473.811, 14.03804, 5.550147, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+35,1180415, 530, 1, 0, 169, 9728.004, -7464.864, 14.03802, 1.012289, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+36,1180415, 530, 1, 0, 169, 9712.409, -7455.581, 14.03802, 0.3316107, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+37,1180415, 530, 1, 0, 169, 9717.181, -7474.624, 14.03804, 4.293513, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+38,1180415, 530, 1, 0, 169, 9660.289, -7459.098, 14.02777, 2.82743, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+39,1180415, 530, 1, 0, 169, 9661.99, -7464.522, 14.02777, 0.8377575, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+40,1180415, 530, 1, 0, 169, 9655.606, -7455.169, 14.02777, 2.111848, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+41,1180415, 530, 1, 0, 169, 9649.94, -7453.708, 14.02778, 1.710422, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+42,1180415, 530, 1, 0, 169, 9641.782, -7259.7, 14.81578, 5.689774, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+43,1180406, 530, 1, 0, 169, 9607.743, -7398.093, 13.61317, 0.3141584, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+44,1180415, 530, 1, 0, 169, 9628.13, -7445.979, 14.02779, 0.5235979, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+45,1180415, 530, 1, 0, 169, 9632.113, -7441.426, 14.02779, 1.850049, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+46,1180415, 530, 1, 0, 169, 9660.25, -7470.04, 14.02776, 0.4188786, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+47,1180415, 530, 1, 0, 169, 9638.744, -7460.21, 15.98692, 4.782203, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+48,1180415, 530, 1, 0, 169, 9641.474, -7463.021, 16.38364, 0.122173, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+49,1180415, 530, 1, 0, 169, 9640.314, -7461.316, 17.30185, 6.056293, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+50,1180415, 530, 1, 0, 169, 9638.427, -7461.016, 18.32743, 0.8901166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+51,1180415, 530, 1, 0, 169, 9638.209, -7462.663, 18.66362, 0.087266, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+52,1180415, 530, 1, 0, 169, 9637.09, -7461.913, 18.66316, 1.780234, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+53,1180415, 530, 1, 0, 169, 9640.428, -7464.382, 15.98692, 3.647741, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+54,1180415, 530, 1, 0, 169, 9641.477, -7465.749, 15.98692, 0.087266, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+55,1180415, 530, 1, 0, 169, 9639.198, -7461.872, 15.98692, 2.897245, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+56,1180415, 530, 1, 0, 169, 9624.851, -7453.41, 14.02778, 3.228859, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+57,1180415, 530, 1, 0, 169, 9637.354, -7461.244, 15.98692, 3.455756, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+58,1180415, 530, 1, 0, 169, 9639.954, -7462.725, 16.84003, 1.186823, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+59,1180415, 530, 1, 0, 169, 9635.964, -7460.174, 15.97606, 3.804818, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+60,1180415, 530, 1, 0, 169, 9635.571, -7461.838, 15.98692, 1.745327, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+61,1180415, 530, 1, 0, 169, 9639.138, -7462.302, 17.97781, 6.161013, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+62,1180415, 530, 1, 0, 169, 9635.984, -7466.34, 18.39254, 4.136433, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+63,1180415, 530, 1, 0, 169, 9633.069, -7464.283, 15.98692, 3.47321, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+64,1180415, 530, 1, 0, 169, 9634.456, -7463.351, 15.98692, 1.06465, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+65,1180415, 530, 1, 0, 169, 9635.389, -7467.68, 17.8932, 2.897245, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+66,1180415, 530, 1, 0, 169, 9637.663, -7466.748, 18.66317, 1.343901, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+67,1180415, 530, 1, 0, 169, 9633.908, -7461.739, 15.98692, 0.9075702, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+68,1180415, 530, 1, 0, 169, 9634.506, -7465.276, 16.39715, 2.740162, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+69,1180415, 530, 1, 0, 169, 9637.328, -7468.691, 15.98692, 4.520406, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+70,1180415, 530, 1, 0, 169, 9638.302, -7467.272, 15.98692, 1.483528, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+71,1180415, 530, 1, 0, 169, 9635.129, -7466.257, 17.33418, 2.321287, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+72,1180415, 530, 1, 0, 169, 9649.725, -7475.164, 14.02777, 4.677484, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+73,1180415, 530, 1, 0, 169, 9634.771, -7467.749, 15.98692, 5.044002, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+74,1180415, 530, 1, 0, 169, 9639.864, -7467.848, 15.98692, 0.8726639, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+75,1180415, 530, 1, 0, 169, 9636.4, -7467.287, 15.98692, 1.710422, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+76,1180415, 530, 1, 0, 169, 9639.832, -7466.174, 15.98692, 3.159062, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+77,1180415, 530, 1, 0, 169, 9655.462, -7473.856, 14.02776, 3.787367, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+78,1180415, 530, 1, 0, 169, 9633.779, -7466.766, 16.85439, 0.5410506, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+79,1180415, 530, 1, 0, 169, 9654.685, -7494.923, 20.20687, 4.171338, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+80,1180415, 530, 1, 0, 169, 9642.694, -7487.412, 14.02775, 1.53589, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+81,1180415, 530, 1, 0, 169, 9708.024, -7495.3, 20.21482, 2.268925, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+82,1180405, 530, 1, 0, 169, 9677.399, -7499.985, 15.73777, 0.2094394, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+83,1180407, 530, 1, 0, 169, 9687.479, -7494.583, 15.76028, 3.630291, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+84,1180411, 530, 1, 0, 169, 9694.27, -7498.087, 19.95394, 4.71239, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: -1)
+(@OGUID+85,1180415, 530, 1, 0, 169, 9714.893, -7495.471, 20.20084, 0.1745321, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+86,1180406, 530, 1, 0, 169, 9689.191, -7499.704, 15.73832, 0.2617982, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+87,1180415, 530, 1, 0, 169, 9705.337, -7495.149, 20.22054, 2.408554, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+88,1180406, 530, 1, 0, 169, 9679.796, -7494.525, 15.75649, 3.38594, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+89,1180415, 530, 1, 0, 169, 9646.641, -7482.605, 14.02776, 5.98648, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+90,1180411, 530, 1, 0, 169, 9672.331, -7497.908, 19.90336, 5.515242, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: -1)
+(@OGUID+91,1180415, 530, 1, 0, 169, 9619.048, -7454.828, 14.02777, 3.124123, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+92,1180415, 530, 1, 0, 169, 9711.266, -7495.455, 20.2082, 1.692969, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+93,1180415, 530, 1, 0, 169, 9658.174, -7494.944, 20.21395, 0.8726639, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+94,1180407, 530, 1, 0, 169, 9697.96, -7500.003, 15.73456, 5.93412, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+95,1180415, 530, 1, 0, 169, 9661.191, -7494.833, 20.22025, 0.1919852, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+96,1180415, 530, 1, 0, 169, 9614.421, -7458.695, 14.02777, 0.7504908, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+97,1180411, 530, 1, 0, 169, 9683.252, -7498, 21.73868, 5.253442, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: -1)
+(@OGUID+98,1180415, 530, 1, 0, 169, 9612.596, -7464.159, 14.02776, 2.460913, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+99,1180415, 530, 1, 0, 169, 9624.603, -7474.983, 14.02777, 3.717554, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+100,180415, 530, 1, 0, 169, 9718.226, -7495.425, 20.1941, 5.602507, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+101,180415, 530, 1, 0, 169, 9651.492, -7494.754, 20.20044, 5.375615, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+102,180415, 530, 1, 0, 169, 9708.641, -7508.83, 20.19345, 0.3665176, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+103,180415, 530, 1, 0, 169, 9614.337, -7469.526, 14.02776, 2.600535, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+104,180415, 530, 1, 0, 169, 9767.092, -7472.754, 13.57029, 0.802851, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+105,180415, 530, 1, 0, 169, 9627.683, -7482.578, 14.02777, 1.361356, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+106,180415, 530, 1, 0, 169, 9618.941, -7473.685, 14.02776, 0.7853968, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+107,180415, 530, 1, 0, 169, 9648.458, -7494.752, 20.19428, 4.34587, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+108,180415, 530, 1, 0, 169, 9631.637, -7487.333, 14.02776, 3.630291, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+109,180415, 530, 1, 0, 169, 9657.274, -7508.259, 20.19345, 0, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+110,180415, 530, 1, 0, 169, 9637.185, -7488.979, 14.02775, 4.590216, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+111,180407, 530, 1, 0, 169, 9668.626, -7499.798, 15.73456, 0.8552105, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+112,180415, 530, 1, 0, 169, 9708.441, -7511.002, 20.19343, 2.094393, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+113,180415, 530, 1, 0, 169, 9658.278, -7510.662, 20.19343, 2.775069, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+114,180415, 530, 1, 0, 169, 9767.192, -7475.003, 13.54758, 0.3665176, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+115,180415, 530, 1, 0, 169, 9747.169, -7504.403, 13.82745, 2.565632, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+116,180415, 530, 1, 0, 169, 9708.247, -7520.514, 20.1934, 5.009095, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+117,180411, 530, 1, 0, 169, 9768.593, -7495.143, 22.07407, 4.276057, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: -1)
+(@OGUID+118,180415, 530, 1, 0, 169, 9770.302, -7477.873, 13.54952, 6.178466, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+119,180415, 530, 1, 0, 169, 9708.587, -7514.249, 20.19342, 3.839725, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+120,180405, 530, 1, 0, 169, 9771.71, -7476.252, 13.54952, 1.553341, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+121,180405, 530, 1, 0, 169, 9765.729, -7484.294, 13.51967, 5.061456, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+122,180415, 530, 1, 0, 169, 9745.084, -7507.751, 13.84984, 1.256636, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+123,180415, 530, 1, 0, 169, 9708.395, -7517.227, 20.19341, 0.8377575, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+124,180406, 530, 1, 0, 169, 9766.075, -7491.438, 13.51901, 4.939284, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+125,180415, 530, 1, 0, 169, 9767.161, -7488.73, 13.5172, 2.321287, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+126,180415, 530, 1, 0, 169, 9767.326, -7477.913, 13.5208, 2.391098, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+127,180415, 530, 1, 0, 169, 9770.485, -7489.105, 13.54949, 5.777041, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+128,180415, 530, 1, 0, 169, 9770.472, -7486.432, 13.54949, 3.42085, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+129,180415, 530, 1, 0, 169, 9766.888, -7486.758, 13.51768, 3.351047, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+130,180411, 530, 1, 0, 169, 9768.688, -7480.606, 22.21311, 2.286379, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: -1)
+(@OGUID+131,180415, 530, 1, 0, 169, 9770.341, -7492.48, 13.5495, 5.078908, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+132,180415, 530, 1, 0, 169, 9770.315, -7483.281, 13.5495, 5.462882, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+133,180407, 530, 1, 0, 169, 9806.146, -7483.15, 13.54675, 5.113817, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+134,180405, 530, 1, 0, 169, 9828.603, -7428.656, 13.619, 3.281239, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+135,180405, 530, 1, 0, 169, 9771.549, -7499.522, 13.54952, 2.268925, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+136,180415, 530, 1, 0, 169, 9770.2, -7497.835, 13.54952, 1.117009, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+137,180415, 530, 1, 0, 169, 9767.045, -7497.897, 13.52364, 2.949595, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+138,180415, 530, 1, 0, 169, 9763.943, -7503.117, 13.57326, 5.393069, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+139,180415, 530, 1, 0, 169, 9760.557, -7504.637, 13.84737, 2.670348, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+140,180407, 530, 1, 0, 169, 9822.736, -7460.87, 14.96318, 4.433136, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+141,180415, 530, 1, 0, 169, 9767.044, -7502.682, 13.56838, 4.904376, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+142,180415, 530, 1, 0, 169, 9828.7, -7444.441, 15.47772, 3.560473, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+143,180406, 530, 1, 0, 169, 9806.036, -7492.882, 13.54704, 4.991644, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+144,180472, 530, 1, 0, 169, 9828.494, -7448.282, 18.26859, 5.009095, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: -1)
+(@OGUID+145,180472, 530, 1, 0, 169, 9834.405, -7383.108, 18.10079, 0.383971, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: -1)
+(@OGUID+146,180406, 530, 1, 0, 169, 9850.404, -7388.42, 13.64399, 0.5759573, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+147,180415, 530, 1, 0, 169, 9864.481, -7406.846, 17.2591, 4.537859, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+148,180415, 530, 1, 0, 169, 9873.646, -7397.968, 17.17783, 6.073746, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+149,180415, 530, 1, 0, 169, 9871.325, -7404.424, 17.25784, 1.117009, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+150,180407, 530, 1, 0, 169, 9864.585, -7372.301, 20.45062, 4.694937, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+151,180472, 530, 1, 0, 169, 9874.94, -7450.112, 18.36826, 6.248279, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: -1)
+(@OGUID+152,180406, 530, 1, 0, 169, 9876.843, -7387.032, 20.45033, 0.3665176, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+153,180407, 530, 1, 0, 169, 9912.188, -7409.072, 13.64037, 1.500983, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+154,180405, 530, 1, 0, 169, 9899.083, -7405.358, 13.6274, 5.044002, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+155,180415, 530, 1, 0, 169, 9841.817, -7508.129, 19.64095, 3.926996, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+156,180415, 530, 1, 0, 169, 9849.061, -7502.075, -4.007756, 1.762782, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+157,180415, 530, 1, 0, 169, 9852.741, -7502.268, -4.003982, 4.380776, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+158,180415, 530, 1, 0, 169, 9847.087, -7501.374, 19.64914, 4.537859, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+159,180415, 530, 1, 0, 169, 9855.832, -7499.758, 14.95692, 3.47321, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+160,180415, 530, 1, 0, 169, 9844.303, -7503.149, 19.64698, 5.061456, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+161,180415, 530, 1, 0, 169, 9850.985, -7500.915, 19.68542, 3.822273, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+162,180415, 530, 1, 0, 169, 9850.927, -7498.934, 14.93043, 1.483528, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+163,180415, 530, 1, 0, 169, 9841.513, -7507.542, -4.000395, 1.099556, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+164,180405, 530, 1, 0, 169, 9881.052, -7461.776, 18.23401, 3.211419, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+165,180415, 530, 1, 0, 169, 9855.014, -7501.309, 19.67005, 0.1919852, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+166,180415, 530, 1, 0, 169, 9845.86, -7499.851, 14.9349, 4.71239, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+167,180415, 530, 1, 0, 169, 9863.115, -7510.865, -3.999226, 2.146753, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+168,180415, 530, 1, 0, 169, 9836.048, -7510.821, -4.0007, 0.2792516, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+169,180415, 530, 1, 0, 169, 9857.706, -7503.155, 19.66912, 4.34587, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+170,180407, 530, 1, 0, 169, 9911.933, -7454.624, 3.859614, 4.66003, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+171,180415, 530, 1, 0, 169, 9861.13, -7509.801, -3.999039, 1.675514, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+172,180415, 530, 1, 0, 169, 9860.067, -7508.15, 19.66097, 2.321287, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+173,180415, 530, 1, 0, 169, 9838.981, -7510.788, -3.999198, 2.18166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+174,180415, 530, 1, 0, 169, 9860.134, -7507.262, -3.999874, 1.378809, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+175,180415, 530, 1, 0, 169, 9841.044, -7509.531, -3.99918, 0.8377575, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+176,180415, 530, 1, 0, 169, 9866.301, -7510.897, -4.000865, 5.427975, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+177,180415, 530, 1, 0, 169, 9850.412, -7576.229, 20.30321, 2.82743, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+178,180415, 530, 1, 0, 169, 9859.636, -7571.133, 20.36898, 2.775069, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+179,180415, 530, 1, 0, 169, 9840.057, -7565.67, 20.272, 1.396262, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+180,180415, 530, 1, 0, 169, 9855.566, -7556.837, 20.22193, 6.056293, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+181,180415, 530, 1, 0, 169, 9855.622, -7574.95, 20.33961, 5.689774, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+182,180415, 530, 1, 0, 169, 9841.286, -7570.885, 20.31774, 1.919862, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+183,180415, 530, 1, 0, 169, 9850.589, -7555.328, 20.28959, 3.944446, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+184,180415, 530, 1, 0, 169, 9860.757, -7565.826, 20.21995, 1.221729, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+185,180415, 530, 1, 0, 169, 9845.252, -7556.721, 20.27281, 1.029743, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+186,180415, 530, 1, 0, 169, 9859.213, -7560.637, 20.16981, 6.03884, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+187,180415, 530, 1, 0, 169, 9845.12, -7574.828, 20.32867, 5.270896, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+188,180415, 530, 1, 0, 169, 9841.471, -7560.367, 20.30399, 0.4712385, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+189,180415, 530, 1, 0, 169, 9708.164, -7523.533, 20.19339, 1.797689, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+190,180415, 530, 1, 0, 169, 9708.63, -7525.708, 20.19339, 5.462882, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+191,180415, 530, 1, 0, 169, 9689.424, -7526.101, 18.17952, 0, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+192,180415, 530, 1, 0, 169, 9698.255, -7529.269, 18.1807, 1.186823, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+193,180415, 530, 1, 0, 169, 9699.27, -7531.121, 18.17952, 1.570796, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+194,180415, 530, 1, 0, 169, 9688.258, -7524.131, 18.17952, 1.466076, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+195,180415, 530, 1, 0, 169, 9696.238, -7528.111, 18.18006, 1.518436, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+196,180415, 530, 1, 0, 169, 9699.441, -7533.089, 18.18734, 0.9599299, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+197,180415, 530, 1, 0, 169, 9686.209, -7523.117, 18.17953, 0.4188786, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+198,180415, 530, 1, 0, 169, 9680.044, -7523.145, 18.17953, 1.989672, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+199,180415, 530, 1, 0, 169, 9689.915, -7528.086, 18.18014, 3.543024, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+200,180415, 530, 1, 0, 169, 9677.983, -7524.141, 18.17953, 4.677484, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+201,180415, 530, 1, 0, 169, 9676.573, -7530.896, 18.18807, 3.490667, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+202,180415, 530, 1, 0, 169, 9669.972, -7528.087, 18.18037, 3.194002, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+203,180415, 530, 1, 0, 169, 9658.169, -7523.246, 20.19338, 3.38594, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+204,180415, 530, 1, 0, 169, 9666.942, -7531.015, 18.18179, 3.298687, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+205,180415, 530, 1, 0, 169, 9658.161, -7520.05, 20.19339, 5.602507, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+206,180415, 530, 1, 0, 169, 9676.96, -7525.968, 18.17952, 3.787367, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+207,180415, 530, 1, 0, 169, 9690.021, -7531.793, 18.19084, 5.113817, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+208,180415, 530, 1, 0, 169, 9658.127, -7516.909, 20.19341, 0.157079, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+209,180415, 530, 1, 0, 169, 9687.82, -7536.056, 18.20918, 1.186823, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+210,180415, 530, 1, 0, 169, 9677.461, -7536.019, 18.20867, 3.47321, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+211,180415, 530, 1, 0, 169, 9676.623, -7527.953, 18.17995, 5.759588, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+212,180415, 530, 1, 0, 169, 9658.238, -7513.847, 20.19342, 5.724681, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+213,180415, 530, 1, 0, 169, 9668.019, -7529.09, 18.17951, 4.502952, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+214,180415, 530, 1, 0, 169, 9657.903, -7525.752, 20.19338, 4.729844, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+215,180415, 530, 1, 0, 169, 9666.733, -7532.866, 18.1876, 0.6283169, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+216,180415, 530, 1, 0, 169, 9555.557, -7451.346, 15.48449, 4.799657, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+217,180415, 530, 1, 0, 169, 9566.941, -7457.089, 15.52037, 6.230826, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+218,180415, 530, 1, 0, 169, 9567.046, -7447.51, 15.51974, 2.513274, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+219,180415, 530, 1, 0, 169, 9566.97, -7453.825, 15.51949, 1.605702, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+220,180415, 530, 1, 0, 169, 9566.997, -7451.406, 15.51957, 0.3665176, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+221,180415, 530, 1, 0, 169, 9568.402, -7426.109, 19.47399, 4.101525, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+222,180415, 530, 1, 0, 169, 9567.152, -7445.854, 15.52034, 0.6108634, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+223,180472, 530, 1, 0, 169, 9563.636, -7502.269, 21.49481, 4.607672, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: -1)
+(@OGUID+224,180415, 530, 1, 0, 169, 9566.976, -7449.656, 15.51938, 2.33874, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+225,180415, 530, 1, 0, 169, 9566.942, -7455.471, 15.51938, 2.373644, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+226,180405, 530, 1, 0, 169, 9563.622, -7483.452, 15.5327, 4.276057, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+227,180415, 530, 1, 0, 169, 9567.161, -7443.97, 15.52034, 0.2268925, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+228,180406, 530, 1, 0, 169, 9562.59, -7505.374, 16.25697, 4.782203, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+229,180415, 530, 1, 0, 169, 9567.133, -7442.481, 15.5201, 5.951575, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+230,180415, 530, 1, 0, 169, 9565.785, -7425.961, 19.47643, 1.448622, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+231,180410, 530, 1, 0, 169, 9540.223, -7450.809, 17.51837, 0.01745246, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+232,180415, 530, 1, 0, 169, 9567.209, -7426.12, 19.47489, 6.178466, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+233,180415, 530, 1, 0, 169, 9541.864, -7425.773, 19.47651, 0.5410506, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+234,180415, 530, 1, 0, 169, 9563.859, -7424.643, 19.47689, 3.857183, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+235,180410, 530, 1, 0, 169, 9540.258, -7448.014, 17.50896, 0.05235888, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+236,180472, 530, 1, 0, 169, 9564.246, -7412.431, 27.42245, 4.450591, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: -1)
+(@OGUID+237,180410, 530, 1, 0, 169, 9550.316, -7412.965, 20.95277, 4.782203, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+238,180415, 530, 1, 0, 169, 9544.101, -7423.859, 19.47693, 4.310966, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+239,180415, 530, 1, 0, 169, 9563.4, -7423.909, 19.47697, 5.201083, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+240,180410, 530, 1, 0, 169, 9540.216, -7453.866, 17.47302, 0.03490625, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+241,180415, 530, 1, 0, 169, 9543.036, -7424.986, 19.47662, 3.717554, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+242,180415, 530, 1, 0, 169, 9564.668, -7425.304, 19.47664, 0.5061446, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+243,180407, 530, 1, 0, 169, 9567.768, -7397.515, 16.85042, 4.991644, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+244,180406, 530, 1, 0, 169, 9567.915, -7416.937, 19.47392, 5.166176, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+245,180410, 530, 1, 0, 169, 9553.402, -7413.04, 20.98712, 4.694937, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+246,180407, 530, 1, 0, 169, 9543.043, -7483.666, 15.53269, 2.565632, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+247,180415, 530, 1, 0, 169, 9540.23, -7425.866, 19.4752, 0.4712385, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+248,180472, 530, 1, 0, 169, 9519.833, -7433.035, 19.3605, 0.2094394, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: -1)
+(@OGUID+249,180415, 530, 1, 0, 169, 9539.083, -7425.975, 19.47459, 4.398232, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+250,180407, 530, 1, 0, 169, 9540.185, -7417.852, 19.4752, 2.111848, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+251,180405, 530, 1, 0, 169, 9557.853, -7400.035, 16.83773, 2.670348, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+252,180410, 530, 1, 0, 169, 9543.699, -7412.968, 20.87036, 4.729844, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+253,180406, 530, 1, 0, 169, 9508.441, -7424.596, 14.1965, 3.68265, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+254,180410, 530, 1, 0, 169, 9538.562, -7415.213, 20.94702, 0, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+255,180405, 530, 1, 0, 169, 9523.479, -7423.124, 14.25087, 4.625124, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+256,180410, 530, 1, 0, 169, 9540.664, -7412.908, 20.89148, 4.747296, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: -1)
+(@OGUID+257,180406, 530, 1, 0, 169, 9539.319, -7392.822, 16.82288, 1.186823, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+258,180472, 530, 1, 0, 169, 9554.567, -7389.99, 21.68028, 0.6632232, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: -1)
+(@OGUID+259,180415, 530, 1, 0, 169, 9487.291, -7422.018, 14.81501, 4.625124, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+260,180415, 530, 1, 0, 169, 9484.362, -7445.353, 14.90302, 3.996807, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+261,180415, 530, 1, 0, 169, 9480.708, -7432.739, 14.90301, 2.408554, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+262,180415, 530, 1, 0, 169, 9476.451, -7449.176, 14.90303, 0.6632232, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+263,180407, 530, 1, 0, 169, 9494.879, -7428.358, 17.09135, 3.281239, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+264,180415, 530, 1, 0, 169, 9492.825, -7419.987, 14.81502, 2.164206, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+265,180415, 530, 1, 0, 169, 9476.508, -7431.844, 14.90302, 1.483528, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+266,180415, 530, 1, 0, 169, 9467.375, -7440.646, 14.90301, 2.932139, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+267,180415, 530, 1, 0, 169, 9472.466, -7432.785, 14.90301, 4.747296, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+268,180415, 530, 1, 0, 169, 9482.682, -7420.492, 14.81501, 2.809975, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+269,180415, 530, 1, 0, 169, 9484.56, -7436.282, 14.90301, 3.246347, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+270,180415, 530, 1, 0, 169, 9468.686, -7445.147, 14.90302, 0.4014249, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+271,180415, 530, 1, 0, 169, 9496.979, -7414.939, 14.81503, 1.413715, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+272,180415, 530, 1, 0, 169, 9472.42, -7448.443, 14.90303, 3.543024, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+273,180415, 530, 1, 0, 169, 9485.846, -7440.649, 14.90301, 0.2967052, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+274,180415, 530, 1, 0, 169, 9497.751, -7409.99, 14.81504, 4.71239, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+275,180415, 530, 1, 0, 169, 9480.601, -7448.55, 14.90303, 4.049168, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+276,180415, 530, 1, 0, 169, 9497.879, -7397.243, 14.81503, 5.044002, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+277,180415, 530, 1, 0, 169, 9468.706, -7436.143, 14.90301, 4.834563, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+278,180415, 530, 1, 0, 169, 9497.823, -7404.051, 14.81503, 5.061456, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+279,180405, 530, 1, 0, 169, 9728.203, -7077.669, 16.74163, 5.497789, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+280,180405, 530, 1, 0, 169, 9731.667, -7093.845, 16.69393, 4.834563, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+281,180406, 530, 1, 0, 169, 9649.085, -7055.952, 18.9854, 6.143561, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+282,180405, 530, 1, 0, 169, 9630.405, -7055.748, 18.99824, 0.6806767, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+283,180407, 530, 1, 0, 169, 9625.018, -7048.128, 16.5235, 2.35619, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+284,180407, 530, 1, 0, 169, 9452.534, -7117.212, 17.60469, 1.239183, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+285, 180415, 530, 1, 0, 169, 9471.1, -6788.781, 18.13373, 0.4014249, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+286, 180415, 530, 1, 0, 169, 9476.353, -6788.941, 18.10409, 0.9424766, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+287, 180405, 530, 1, 0, 169, 9477.764, -6788.119, 16.49356, 2.722713, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+288, 180415, 530, 1, 0, 169, 9478.772, -6793.347, 18.11179, 4.101525, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+289, 180415, 530, 1, 0, 169, 9540.375, -6792.719, 18.12548, 5.305802, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+290, 180406, 530, 1, 0, 169, 9543.698, -6778.754, 15.11356, 5.654869, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 0)
+(@OGUID+291, 180415, 530, 1, 0, 169, 9543.889, -6783.125, 17.3731, 0.1919852, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+292, 180415, 530, 1, 0, 169, 9544.979, -6778.125, 16.53427, 2.042035, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+293, 180415, 530, 1, 0, 169, 9543.481, -6796.776, 18.1165, 3.595379, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+294, 180405, 530, 1, 0, 169, 9542.096, -6797.444, 16.47561, 5.794494, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+295, 180415, 530, 1, 0, 169, 9541.747, -6787.827, 17.90674, 5.358162, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+296, 180415, 530, 1, 0, 169, 8744.743, -6707.795, 71.16882, 6.178466, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+297, 180407, 530, 1, 0, 169, 8752.958, -6701.513, 70.30769, 0.8552105, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+298, 180415, 530, 1, 0, 169, 8732.847, -6664.828, 71.75481, 5.759588, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+299, 180415, 530, 1, 0, 169, 8761.782, -6686.872, 71.60171, 2.984498, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+300, 180407, 530, 1, 0, 169, 8727.983, -6662.12, 70.34041, 0.9948372, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+301, 180415, 530, 1, 0, 169, 8748.609, -6711.054, 71.06712, 2.111848, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+302, 180415, 530, 1, 0, 169, 8759.109, -6691.253, 71.28538, 2.495818, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+303, 180406, 530, 1, 0, 169, 8749.692, -6699.78, 69.26237, 5.637414, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 0)
+(@OGUID+304, 180415, 530, 1, 0, 169, 8739.994, -6664.781, 71.07558, 4.276057, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+305, 180415, 530, 1, 0, 169, 8757.932, -6701.396, 71.16756, 1.954769, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+306, 180405, 530, 1, 0, 169, 8723.28, -6666.225, 70.24129, 1.134463, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+307, 180415, 530, 1, 0, 169, 8753.414, -6709.49, 71.1883, 0.5585039, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+308, 180415, 530, 1, 0, 169, 8726.561, -6687.083, 72.62592, 3.228859, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+309, 180405, 530, 1, 0, 169, 8753.743, -6699.585, 70.3749, 4.363324, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+310, 180415, 530, 1, 0, 169, 8723.233, -6681.452, 71.84742, 0.6981314, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+311, 180405, 530, 1, 0, 169, 8719.521, -6656.928, 93.42024, 0.9948372, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+312, 180415, 530, 1, 0, 169, 8700.916, -6674.799, 72.0319, 1.518436, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3462)
+(@OGUID+313, 180415, 530, 1, 0, 169, 8706.488, -6662.007, 71.92754, 5.777041, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3462)
+(@OGUID+314, 180406, 530, 1, 0, 169, 8705.386, -6687.072, 70.4631, 2.408554, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 3462)
+(@OGUID+315, 180411, 530, 1, 0, 169, 8717.235, -6634.217, 81.3668, 2.844883, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 3462)
+(@OGUID+316, 180415, 530, 1, 0, 169, 8702.579, -6665.299, 71.93767, 1.151916, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3462)
+(@OGUID+317, 180415, 530, 1, 0, 169, 8701.252, -6679.795, 72.46958, 0.9773831, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3462)
+(@OGUID+318, 180407, 530, 1, 0, 169, 8706.709, -6692.784, 70.40144, 2.146753, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 3462)
+(@OGUID+319, 180411, 530, 1, 0, 169, 8692.95, -6653.304, 81.65059, 3.298687, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 3462)
+(@OGUID+320, 180415, 530, 1, 0, 169, 8698.946, -6684.249, 72.75284, 3.263772, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3462)
+(@OGUID+321, 180411, 530, 1, 0, 169, 8690.379, -6624.208, 81.74379, 5.323256, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 3462)
+(@OGUID+322, 180407, 530, 1, 0, 169, 8698.128, -6633.019, 82.70164, 4.171338, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 3462)
+(@OGUID+323, 180406, 530, 1, 0, 169, 8704.135, -6639.711, 82.70164, 1.134463, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 3462)
+(@OGUID+324, 180411, 530, 1, 0, 169, 8714.333, -6651.519, 81.38808, 1.97222, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 3462)
+(@OGUID+325, 180405, 530, 1, 0, 169, 8679.956, -6613.042, 93.42129, 5.759588, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 3462)
+(@OGUID+326, 180405, 530, 1, 0, 169, 8683.743, -6621.233, 70.36587, 4.06662, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 3462)
+(@OGUID+327, 180406, 530, 1, 0, 169, 8688.724, -6616.967, 70.36587, 3.892087, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 3462)
+(@OGUID+328, 180415, 530, 1, 0, 169, 7605.088, -6811.049, 84.1159, 0.3141584, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+329, 180415, 530, 1, 0, 169, 7612.11, -6804.234, 81.90377, 4.991644, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+330, 180415, 530, 1, 0, 169, 7612.021, -6828.266, 83.9107, 5.550147, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+331, 180415, 530, 1, 0, 169, 7566.673, -6821.13, 88.05801, 4.415683, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+332, 180427, 530, 1, 0, 169, 7573.918, -6803.229, 94.8674, 5.445428, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: 0)
+(@OGUID+333, 180415, 530, 1, 0, 169, 7567.127, -6817.865, 88.0573, 2.076939, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+334, 180427, 530, 1, 0, 169, 7569.024, -6809.578, 94.50038, 5.602507, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: 0)
+(@OGUID+335, 180426, 530, 1, 0, 169, 7569.082, -6825.991, 89.69709, 3.508117, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: 0)
+(@OGUID+336, 180415, 530, 1, 0, 169, 7602.116, -6828.639, 86.01514, 3.735006, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+337, 180427, 530, 1, 0, 169, 7574.768, -6814.038, 95.28167, 1.623156, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: 0)
+(@OGUID+338, 180405, 530, 1, 0, 169, 7577.568, -6858.068, 93.35548, 3.019413, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+339, 180426, 530, 1, 0, 169, 7572.743, -6822.458, 90.08892, 2.007128, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: 0)
+(@OGUID+340, 180407, 530, 1, 0, 169, 7576.379, -6780.385, 87.40021, 2.216565, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+341, 180426, 530, 1, 0, 169, 7572.007, -6815.111, 93.45477, 3.054327, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: 0)
+(@OGUID+342, 180415, 530, 1, 0, 169, 7567.2, -6819.601, 88.05785, 3.717554, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+343, 180427, 530, 1, 0, 169, 7589.011, -6833.851, 98.97574, 2.792518, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: 0)
+(@OGUID+344, 180407, 530, 1, 0, 169, 7572.278, -6819.3, 86.66614, 1.919862, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+345, 180426, 530, 1, 0, 169, 7571.846, -6841.222, 98.84716, 0.6283169, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: 0)
+(@OGUID+346, 180415, 530, 1, 0, 169, 7562.185, -6823.288, 88.05971, 5.445428, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+347, 180427, 530, 1, 0, 169, 7567.376, -6835.135, 98.69683, 5.777041, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: 0)
+(@OGUID+348, 180415, 530, 1, 0, 169, 7561.724, -6814.664, 88.05759, 0.087266, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+349, 180415, 530, 1, 0, 169, 7565.117, -6815.148, 88.05692, 2.44346, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+350, 180415, 530, 1, 0, 169, 7558.944, -6816.728, 88.05735, 0.802851, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+351, 180405, 530, 1, 0, 169, 7566.199, -6800.06, 87.48344, 1.570796, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+352, 180415, 530, 1, 0, 169, 7563.428, -6814.641, 88.05914, 4.747296, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+353, 180415, 530, 1, 0, 169, 7559.307, -6821.544, 88.05991, 0.5934101, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+354, 180415, 530, 1, 0, 169, 7558.512, -6820.009, 88.05814, 6.248279, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+355, 180426, 530, 1, 0, 169, 7560.972, -6804.747, 97.29667, 0.4886912, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: 0)
+(@OGUID+356, 180415, 530, 1, 0, 169, 7565.508, -6822.448, 88.05878, 2.879789, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+357, 180426, 530, 1, 0, 169, 7567.499, -6812.465, 101.9166, 0.4886912, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: 0)
+(@OGUID+358, 180415, 530, 1, 0, 169, 7566.346, -6816.298, 88.0579, 6.108654, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+359, 180407, 530, 1, 0, 169, 7571.595, -6855.143, 93.3475, 2.967041, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+360, 180415, 530, 1, 0, 169, 7564.033, -6823.213, 88.05829, 2.583081, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+361, 180415, 530, 1, 0, 169, 7560.621, -6822.766, 88.05952, 5.777041, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+362, 180426, 530, 1, 0, 169, 7564.719, -6828.118, 96.17546, 0.9948372, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: 0)
+(@OGUID+363, 180426, 530, 1, 0, 169, 7560.467, -6812.441, 96.04751, 1.919862, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: 0)
+(@OGUID+364, 180415, 530, 1, 0, 169, 7560.125, -6815.4, 88.05717, 5.515242, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+365, 180426, 530, 1, 0, 169, 7547.692, -6814.104, 93.27422, 5.846854, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: 0)
+(@OGUID+366, 180406, 530, 1, 0, 169, 7552.977, -6801.014, 87.09279, 4.991644, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 0)
+(@OGUID+367, 180426, 530, 1, 0, 169, 7547.643, -6825.288, 94.40193, 0.8901166, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: 0)
+(@OGUID+368, 180427, 530, 1, 0, 169, 7558.28, -6809.564, 94.68667, 5.270896, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: 0)
+(@OGUID+369, 180415, 530, 1, 0, 169, 7546.278, -6830.885, 88.81131, 4.625124, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+370, 180426, 530, 1, 0, 169, 7557.047, -6828.95, 95.44633, 2.286379, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: 0)
+(@OGUID+371, 180415, 530, 1, 0, 169, 7555.831, -6833.354, 89.27995, 5.323256, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+372, 180415, 530, 1, 0, 169, 7558.429, -6818.413, 88.05863, 3.019413, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+373, 180405, 530, 1, 0, 169, 7552.512, -6816.896, 86.9488, 4.956738, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+374, 180411, 530, 1, 0, 169, 7557.601, -6889.191, 103.978, 4.520406, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 0)
+(@OGUID+375, 180427, 530, 1, 0, 169, 7542.735, -6808.821, 93.34179, 5.532695, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: 0)
+(@OGUID+376, 180427, 530, 1, 0, 169, 7538.969, -6832.844, 96.30994, 2.932139, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: 0)
+(@OGUID+377, 180411, 530, 1, 0, 169, 7552.211, -6766.903, 96.95532, 1.97222, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 0)
+(@OGUID+378, 180406, 530, 1, 0, 169, 7512.574, -6856.683, 84.62782, 4.206246, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 3488)
+(@OGUID+379, 180415, 530, 1, 0, 169, 7506.477, -6809.167, 81.56933, 5.881761, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3488)
+(@OGUID+380, 180415, 530, 1, 0, 169, 7516.309, -6806.774, 83.16227, 1.343901, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3488)
+(@OGUID+381, 186720, 530, 1, 0, 169, 9225.462, -6765.234, 26.05804, 5.794494, 0, 0, 0, 1, 120, 255, 1), -- 186720 (Area: 0)
+(@OGUID+382, 186720, 530, 1, 0, 169, 9229.307, -6780.561, 27.05395, 1.082103, 0, 0, 0, 1, 120, 255, 1), -- 186720 (Area: 0)
+(@OGUID+383, 186720, 530, 1, 0, 169, 9224.697, -6771.005, 27.25945, 0.06981169, 0, 0, 0, 1, 120, 255, 1), -- 186720 (Area: 0)
+(@OGUID+384, 186720, 530, 1, 0, 169, 9224.153, -6777.715, 28.38528, 0.6632232, 0, 0, 0, 1, 120, 255, 1), -- 186720 (Area: 0)
+(@OGUID+385, 186234, 530, 1, 0, 169, 9235.062, -6770.263, 24.79453, 2.792518, 0, 0, 0, 1, 120, 255, 1); -- 186234 (Area: 0)
+
+INSERT INTO `game_event_gameobject` (`eventEntry`, `guid`) VALUES
+(12, @OGUID+0),
+(12, @OGUID+1),
+(12, @OGUID+2),
+(12, @OGUID+3),
+(12, @OGUID+4),
+(12, @OGUID+5),
+(12, @OGUID+6),
+(12, @OGUID+7),
+(12, @OGUID+8),
+(12, @OGUID+9),
+(12, @OGUID+10),
+(12, @OGUID+11),
+(12, @OGUID+12),
+(12, @OGUID+13),
+(12, @OGUID+14),
+(12, @OGUID+15),
+(12, @OGUID+16),
+(12, @OGUID+17),
+(12, @OGUID+18),
+(12, @OGUID+19),
+(12, @OGUID+20),
+(12, @OGUID+21),
+(12, @OGUID+22),
+(12, @OGUID+23),
+(12, @OGUID+24),
+(12, @OGUID+25),
+(12, @OGUID+26),
+(12, @OGUID+27),
+(12, @OGUID+28),
+(12, @OGUID+29),
+(12, @OGUID+30),
+(12, @OGUID+31),
+(12, @OGUID+32),
+(12, @OGUID+33),
+(12, @OGUID+34),
+(12, @OGUID+35),
+(12, @OGUID+36),
+(12, @OGUID+37),
+(12, @OGUID+38),
+(12, @OGUID+39),
+(12, @OGUID+40),
+(12, @OGUID+41),
+(12, @OGUID+42),
+(12, @OGUID+43),
+(12, @OGUID+44),
+(12, @OGUID+45),
+(12, @OGUID+46),
+(12, @OGUID+47),
+(12, @OGUID+48),
+(12, @OGUID+49),
+(12, @OGUID+50),
+(12, @OGUID+51),
+(12, @OGUID+52),
+(12, @OGUID+53),
+(12, @OGUID+54),
+(12, @OGUID+55),
+(12, @OGUID+56),
+(12, @OGUID+57),
+(12, @OGUID+58),
+(12, @OGUID+59),
+(12, @OGUID+60),
+(12, @OGUID+61),
+(12, @OGUID+62),
+(12, @OGUID+63),
+(12, @OGUID+64),
+(12, @OGUID+65),
+(12, @OGUID+66),
+(12, @OGUID+67),
+(12, @OGUID+68),
+(12, @OGUID+69),
+(12, @OGUID+70),
+(12, @OGUID+71),
+(12, @OGUID+72),
+(12, @OGUID+73),
+(12, @OGUID+74),
+(12, @OGUID+75),
+(12, @OGUID+76),
+(12, @OGUID+77),
+(12, @OGUID+78),
+(12, @OGUID+79),
+(12, @OGUID+80),
+(12, @OGUID+81),
+(12, @OGUID+82),
+(12, @OGUID+83),
+(12, @OGUID+84),
+(12, @OGUID+85),
+(12, @OGUID+86),
+(12, @OGUID+87),
+(12, @OGUID+88),
+(12, @OGUID+89),
+(12, @OGUID+90),
+(12, @OGUID+91),
+(12, @OGUID+92),
+(12, @OGUID+93),
+(12, @OGUID+94),
+(12, @OGUID+95),
+(12, @OGUID+96),
+(12, @OGUID+97),
+(12, @OGUID+98),
+(12, @OGUID+99),
+(12, @OGUID+100),
+(12, @OGUID+101),
+(12, @OGUID+102),
+(12, @OGUID+103),
+(12, @OGUID+104),
+(12, @OGUID+105),
+(12, @OGUID+106),
+(12, @OGUID+107),
+(12, @OGUID+108),
+(12, @OGUID+109),
+(12, @OGUID+110),
+(12, @OGUID+111),
+(12, @OGUID+112),
+(12, @OGUID+113),
+(12, @OGUID+114),
+(12, @OGUID+115),
+(12, @OGUID+116),
+(12, @OGUID+117),
+(12, @OGUID+118),
+(12, @OGUID+119),
+(12, @OGUID+120),
+(12, @OGUID+121),
+(12, @OGUID+122),
+(12, @OGUID+123),
+(12, @OGUID+124),
+(12, @OGUID+125),
+(12, @OGUID+126),
+(12, @OGUID+127),
+(12, @OGUID+128),
+(12, @OGUID+129),
+(12, @OGUID+130),
+(12, @OGUID+131),
+(12, @OGUID+132),
+(12, @OGUID+133),
+(12, @OGUID+134),
+(12, @OGUID+135),
+(12, @OGUID+136),
+(12, @OGUID+137),
+(12, @OGUID+138),
+(12, @OGUID+139),
+(12, @OGUID+140),
+(12, @OGUID+141),
+(12, @OGUID+142),
+(12, @OGUID+143),
+(12, @OGUID+144),
+(12, @OGUID+145),
+(12, @OGUID+146),
+(12, @OGUID+147),
+(12, @OGUID+148),
+(12, @OGUID+149),
+(12, @OGUID+150),
+(12, @OGUID+151),
+(12, @OGUID+152),
+(12, @OGUID+153),
+(12, @OGUID+154),
+(12, @OGUID+155),
+(12, @OGUID+156),
+(12, @OGUID+157),
+(12, @OGUID+158),
+(12, @OGUID+159),
+(12, @OGUID+160),
+(12, @OGUID+161),
+(12, @OGUID+162),
+(12, @OGUID+163),
+(12, @OGUID+164),
+(12, @OGUID+165),
+(12, @OGUID+166),
+(12, @OGUID+167),
+(12, @OGUID+168),
+(12, @OGUID+169),
+(12, @OGUID+170),
+(12, @OGUID+171),
+(12, @OGUID+172),
+(12, @OGUID+173),
+(12, @OGUID+174),
+(12, @OGUID+175),
+(12, @OGUID+176),
+(12, @OGUID+177),
+(12, @OGUID+178),
+(12, @OGUID+179),
+(12, @OGUID+180),
+(12, @OGUID+181),
+(12, @OGUID+182),
+(12, @OGUID+183),
+(12, @OGUID+184),
+(12, @OGUID+185),
+(12, @OGUID+186),
+(12, @OGUID+187),
+(12, @OGUID+188),
+(12, @OGUID+189),
+(12, @OGUID+190),
+(12, @OGUID+191),
+(12, @OGUID+192),
+(12, @OGUID+193),
+(12, @OGUID+194),
+(12, @OGUID+195),
+(12, @OGUID+196),
+(12, @OGUID+197),
+(12, @OGUID+198),
+(12, @OGUID+199),
+(12, @OGUID+200),
+(12, @OGUID+201),
+(12, @OGUID+202),
+(12, @OGUID+203),
+(12, @OGUID+204),
+(12, @OGUID+205),
+(12, @OGUID+206),
+(12, @OGUID+207),
+(12, @OGUID+208),
+(12, @OGUID+209),
+(12, @OGUID+210),
+(12, @OGUID+211),
+(12, @OGUID+212),
+(12, @OGUID+213),
+(12, @OGUID+214),
+(12, @OGUID+215),
+(12, @OGUID+216),
+(12, @OGUID+217),
+(12, @OGUID+218),
+(12, @OGUID+219),
+(12, @OGUID+220),
+(12, @OGUID+221),
+(12, @OGUID+222),
+(12, @OGUID+223),
+(12, @OGUID+224),
+(12, @OGUID+225),
+(12, @OGUID+226),
+(12, @OGUID+227),
+(12, @OGUID+228),
+(12, @OGUID+229),
+(12, @OGUID+230),
+(12, @OGUID+231),
+(12, @OGUID+232),
+(12, @OGUID+233),
+(12, @OGUID+234),
+(12, @OGUID+235),
+(12, @OGUID+236),
+(12, @OGUID+237),
+(12, @OGUID+238),
+(12, @OGUID+239),
+(12, @OGUID+240),
+(12, @OGUID+241),
+(12, @OGUID+242),
+(12, @OGUID+243),
+(12, @OGUID+244),
+(12, @OGUID+245),
+(12, @OGUID+246),
+(12, @OGUID+247),
+(12, @OGUID+248),
+(12, @OGUID+249),
+(12, @OGUID+250),
+(12, @OGUID+251),
+(12, @OGUID+252),
+(12, @OGUID+253),
+(12, @OGUID+254),
+(12, @OGUID+255),
+(12, @OGUID+256),
+(12, @OGUID+257),
+(12, @OGUID+258),
+(12, @OGUID+259),
+(12, @OGUID+260),
+(12, @OGUID+261),
+(12, @OGUID+262),
+(12, @OGUID+263),
+(12, @OGUID+264),
+(12, @OGUID+265),
+(12, @OGUID+266),
+(12, @OGUID+267),
+(12, @OGUID+268),
+(12, @OGUID+269),
+(12, @OGUID+270),
+(12, @OGUID+271),
+(12, @OGUID+272),
+(12, @OGUID+273),
+(12, @OGUID+274),
+(12, @OGUID+275),
+(12, @OGUID+276),
+(12, @OGUID+277),
+(12, @OGUID+278),
+(12, @OGUID+279),
+(12, @OGUID+280),
+(12, @OGUID+281),
+(12, @OGUID+282),
+(12, @OGUID+283),
+(12, @OGUID+284),
+(12, @OGUID+285),
+(12, @OGUID+286),
+(12, @OGUID+287),
+(12, @OGUID+288),
+(12, @OGUID+289),
+(12, @OGUID+290),
+(12, @OGUID+291),
+(12, @OGUID+292),
+(12, @OGUID+293),
+(12, @OGUID+294),
+(12, @OGUID+295),
+(12, @OGUID+296),
+(12, @OGUID+297),
+(12, @OGUID+298),
+(12, @OGUID+299),
+(12, @OGUID+300),
+(12, @OGUID+301),
+(12, @OGUID+302),
+(12, @OGUID+303),
+(12, @OGUID+304),
+(12, @OGUID+305),
+(12, @OGUID+306),
+(12, @OGUID+307),
+(12, @OGUID+308),
+(12, @OGUID+309),
+(12, @OGUID+310),
+(12, @OGUID+311),
+(12, @OGUID+312),
+(12, @OGUID+313),
+(12, @OGUID+314),
+(12, @OGUID+315),
+(12, @OGUID+316),
+(12, @OGUID+317),
+(12, @OGUID+318),
+(12, @OGUID+319),
+(12, @OGUID+320),
+(12, @OGUID+321),
+(12, @OGUID+322),
+(12, @OGUID+323),
+(12, @OGUID+324),
+(12, @OGUID+325),
+(12, @OGUID+326),
+(12, @OGUID+327),
+(12, @OGUID+328),
+(12, @OGUID+329),
+(12, @OGUID+330),
+(12, @OGUID+331),
+(12, @OGUID+332),
+(12, @OGUID+333),
+(12, @OGUID+334),
+(12, @OGUID+335),
+(12, @OGUID+336),
+(12, @OGUID+337),
+(12, @OGUID+338),
+(12, @OGUID+339),
+(12, @OGUID+340),
+(12, @OGUID+341),
+(12, @OGUID+342),
+(12, @OGUID+343),
+(12, @OGUID+344),
+(12, @OGUID+345),
+(12, @OGUID+346),
+(12, @OGUID+347),
+(12, @OGUID+348),
+(12, @OGUID+349),
+(12, @OGUID+350),
+(12, @OGUID+351),
+(12, @OGUID+352),
+(12, @OGUID+353),
+(12, @OGUID+354),
+(12, @OGUID+355),
+(12, @OGUID+356),
+(12, @OGUID+357),
+(12, @OGUID+358),
+(12, @OGUID+359),
+(12, @OGUID+360),
+(12, @OGUID+361),
+(12, @OGUID+362),
+(12, @OGUID+363),
+(12, @OGUID+364),
+(12, @OGUID+365),
+(12, @OGUID+366),
+(12, @OGUID+367),
+(12, @OGUID+368),
+(12, @OGUID+369),
+(12, @OGUID+370),
+(12, @OGUID+371),
+(12, @OGUID+372),
+(12, @OGUID+373),
+(12, @OGUID+374),
+(12, @OGUID+375),
+(12, @OGUID+376),
+(12, @OGUID+377),
+(12, @OGUID+378),
+(12, @OGUID+379),
+(12, @OGUID+380),
+(12, @OGUID+381),
+(12, @OGUID+382),
+(12, @OGUID+383),
+(12, @OGUID+384),
+(12, @OGUID+385);
diff --git a/sql/updates/world/2015_11_01_17_world.sql b/sql/updates/world/2015_11_01_17_world.sql
new file mode 100644
index 00000000000..b8232e90215
--- /dev/null
+++ b/sql/updates/world/2015_11_01_17_world.sql
@@ -0,0 +1,94 @@
+--
+SET @OGUID:=78023;
+DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+10 AND @OGUID+99;
+INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `PhaseGroup`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
+(@OGUID+10, 180407, 530, 1, 0, 169, 9812.965, -7409.957, 13.62506, 0.4886912, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+11, 180427, 530, 1, 0, 169, 9682.321, -7432.618, 23.67524, 5.637414, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: -1)
+(@OGUID+12, 180426, 530, 1, 0, 169, 9685.572, -7441.069, 23.97384, 5.026549, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: -1)
+(@OGUID+13, 180426, 530, 1, 0, 169, 9686.853, -7440.715, 20.77245, 6.108654, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: -1)
+(@OGUID+14, 180427, 530, 1, 0, 169, 9686.702, -7436.893, 20.72384, 1.780234, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: -1)
+(@OGUID+15, 180426, 530, 1, 0, 169, 9684.29, -7437.083, 23.16829, 1.97222, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: -1)
+(@OGUID+16, 180427, 530, 1, 0, 169, 9682.661, -7437.406, 19.14746, 6.056293, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: -1)
+(@OGUID+17, 180427, 530, 1, 0, 169, 9682.217, -7440.542, 23.70301, 0.2617982, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: -1)
+(@OGUID+18, 180426, 530, 1, 0, 169, 9681.567, -7440.406, 21.67523, 2.35619, 0, 0, 0, 1, 120, 255, 1), -- 180426 (Area: -1)
+(@OGUID+19, 180427, 530, 1, 0, 169, 9688.92, -7439.088, 24.64051, 5.846854, 0, 0, 0, 1, 120, 255, 1), -- 180427 (Area: -1)
+(@OGUID+20, 180415, 530, 1, 0, 169, 9726.541, -7459.687, 14.03802, 2.513274, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+21, 180415, 530, 1, 0, 169, 9646.93, -7446.186, 14.02778, 1.274088, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+22, 180415, 530, 1, 0, 169, 9763.853, -7467.264, 13.57424, 2.18166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+23, 180415, 530, 1, 0, 169, 9721.928, -7473.809, 14.03804, 5.497789, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+24, 180415, 530, 1, 0, 169, 9763.872, -7469.173, 13.57424, 1.954769, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+25, 180415, 530, 1, 0, 169, 9642.902, -7441.372, 14.02778, 4.485497, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+26, 180415, 530, 1, 0, 169, 9706.262, -7464.713, 14.03802, 3.019413, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+27, 180415, 530, 1, 0, 169, 9722.172, -7455.784, 14.03802, 5.061456, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+28, 180415, 530, 1, 0, 169, 9637.544, -7439.558, 14.02778, 2.129301, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+29, 180415, 530, 1, 0, 169, 9708.006, -7469.922, 14.03803, 1.047198, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+30, 180415, 530, 1, 0, 169, 9717.246, -7454.905, 14.03803, 0.4886912, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+31, 180415, 530, 1, 0, 169, 9707.984, -7459.522, 14.03802, 0.4886912, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+32, 180415, 530, 1, 0, 169, 9726.428, -7470.03, 14.03803, 5.567601, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+33, 180415, 530, 1, 0, 169, 9763.653, -7472.03, 13.57424, 6.19592, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+34, 180415, 530, 1, 0, 169, 9712.377, -7473.811, 14.03804, 5.550147, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+35, 180415, 530, 1, 0, 169, 9728.004, -7464.864, 14.03802, 1.012289, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+36, 180415, 530, 1, 0, 169, 9712.409, -7455.581, 14.03802, 0.3316107, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+37, 180415, 530, 1, 0, 169, 9717.181, -7474.624, 14.03804, 4.293513, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+38, 180415, 530, 1, 0, 169, 9660.289, -7459.098, 14.02777, 2.82743, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+39, 180415, 530, 1, 0, 169, 9661.99, -7464.522, 14.02777, 0.8377575, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+40, 180415, 530, 1, 0, 169, 9655.606, -7455.169, 14.02777, 2.111848, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+41, 180415, 530, 1, 0, 169, 9649.94, -7453.708, 14.02778, 1.710422, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+42, 180415, 530, 1, 0, 169, 9641.782, -7259.7, 14.81578, 5.689774, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+43, 180406, 530, 1, 0, 169, 9607.743, -7398.093, 13.61317, 0.3141584, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+44, 180415, 530, 1, 0, 169, 9628.13, -7445.979, 14.02779, 0.5235979, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+45, 180415, 530, 1, 0, 169, 9632.113, -7441.426, 14.02779, 1.850049, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+46, 180415, 530, 1, 0, 169, 9660.25, -7470.04, 14.02776, 0.4188786, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+47, 180415, 530, 1, 0, 169, 9638.744, -7460.21, 15.98692, 4.782203, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+48, 180415, 530, 1, 0, 169, 9641.474, -7463.021, 16.38364, 0.122173, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+49, 180415, 530, 1, 0, 169, 9640.314, -7461.316, 17.30185, 6.056293, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+50, 180415, 530, 1, 0, 169, 9638.427, -7461.016, 18.32743, 0.8901166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+51, 180415, 530, 1, 0, 169, 9638.209, -7462.663, 18.66362, 0.087266, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+52, 180415, 530, 1, 0, 169, 9637.09, -7461.913, 18.66316, 1.780234, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+53, 180415, 530, 1, 0, 169, 9640.428, -7464.382, 15.98692, 3.647741, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+54, 180415, 530, 1, 0, 169, 9641.477, -7465.749, 15.98692, 0.087266, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+55, 180415, 530, 1, 0, 169, 9639.198, -7461.872, 15.98692, 2.897245, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+56, 180415, 530, 1, 0, 169, 9624.851, -7453.41, 14.02778, 3.228859, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+57, 180415, 530, 1, 0, 169, 9637.354, -7461.244, 15.98692, 3.455756, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+58, 180415, 530, 1, 0, 169, 9639.954, -7462.725, 16.84003, 1.186823, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+59, 180415, 530, 1, 0, 169, 9635.964, -7460.174, 15.97606, 3.804818, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+60, 180415, 530, 1, 0, 169, 9635.571, -7461.838, 15.98692, 1.745327, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+61, 180415, 530, 1, 0, 169, 9639.138, -7462.302, 17.97781, 6.161013, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+62, 180415, 530, 1, 0, 169, 9635.984, -7466.34, 18.39254, 4.136433, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+63, 180415, 530, 1, 0, 169, 9633.069, -7464.283, 15.98692, 3.47321, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+64, 180415, 530, 1, 0, 169, 9634.456, -7463.351, 15.98692, 1.06465, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+65, 180415, 530, 1, 0, 169, 9635.389, -7467.68, 17.8932, 2.897245, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+66, 180415, 530, 1, 0, 169, 9637.663, -7466.748, 18.66317, 1.343901, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+67, 180415, 530, 1, 0, 169, 9633.908, -7461.739, 15.98692, 0.9075702, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+68, 180415, 530, 1, 0, 169, 9634.506, -7465.276, 16.39715, 2.740162, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+69, 180415, 530, 1, 0, 169, 9637.328, -7468.691, 15.98692, 4.520406, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+70, 180415, 530, 1, 0, 169, 9638.302, -7467.272, 15.98692, 1.483528, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+71, 180415, 530, 1, 0, 169, 9635.129, -7466.257, 17.33418, 2.321287, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+72, 180415, 530, 1, 0, 169, 9649.725, -7475.164, 14.02777, 4.677484, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+73, 180415, 530, 1, 0, 169, 9634.771, -7467.749, 15.98692, 5.044002, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+74, 180415, 530, 1, 0, 169, 9639.864, -7467.848, 15.98692, 0.8726639, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+75, 180415, 530, 1, 0, 169, 9636.4, -7467.287, 15.98692, 1.710422, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+76, 180415, 530, 1, 0, 169, 9639.832, -7466.174, 15.98692, 3.159062, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+77, 180415, 530, 1, 0, 169, 9655.462, -7473.856, 14.02776, 3.787367, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+78, 180415, 530, 1, 0, 169, 9633.779, -7466.766, 16.85439, 0.5410506, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+79, 180415, 530, 1, 0, 169, 9654.685, -7494.923, 20.20687, 4.171338, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+80, 180415, 530, 1, 0, 169, 9642.694, -7487.412, 14.02775, 1.53589, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+81, 180415, 530, 1, 0, 169, 9708.024, -7495.3, 20.21482, 2.268925, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+82, 180405, 530, 1, 0, 169, 9677.399, -7499.985, 15.73777, 0.2094394, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+83, 180407, 530, 1, 0, 169, 9687.479, -7494.583, 15.76028, 3.630291, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+84, 180411, 530, 1, 0, 169, 9694.27, -7498.087, 19.95394, 4.71239, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: -1)
+(@OGUID+85, 180415, 530, 1, 0, 169, 9714.893, -7495.471, 20.20084, 0.1745321, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+86, 180406, 530, 1, 0, 169, 9689.191, -7499.704, 15.73832, 0.2617982, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+87, 180415, 530, 1, 0, 169, 9705.337, -7495.149, 20.22054, 2.408554, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+88, 180406, 530, 1, 0, 169, 9679.796, -7494.525, 15.75649, 3.38594, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+89, 180415, 530, 1, 0, 169, 9646.641, -7482.605, 14.02776, 5.98648, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+90, 180411, 530, 1, 0, 169, 9672.331, -7497.908, 19.90336, 5.515242, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: -1)
+(@OGUID+91, 180415, 530, 1, 0, 169, 9619.048, -7454.828, 14.02777, 3.124123, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+92, 180415, 530, 1, 0, 169, 9711.266, -7495.455, 20.2082, 1.692969, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+93, 180415, 530, 1, 0, 169, 9658.174, -7494.944, 20.21395, 0.8726639, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+94, 180407, 530, 1, 0, 169, 9697.96, -7500.003, 15.73456, 5.93412, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+95, 180415, 530, 1, 0, 169, 9661.191, -7494.833, 20.22025, 0.1919852, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+96, 180415, 530, 1, 0, 169, 9614.421, -7458.695, 14.02777, 0.7504908, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+97, 180411, 530, 1, 0, 169, 9683.252, -7498, 21.73868, 5.253442, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: -1)
+(@OGUID+98, 180415, 530, 1, 0, 169, 9612.596, -7464.159, 14.02776, 2.460913, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+99, 180415, 530, 1, 0, 169, 9624.603, -7474.983, 14.02777, 3.717554, 0, 0, 0, 1, 120, 255, 1); -- 180415 (Area: -1)
diff --git a/sql/updates/world/2015_11_04_00_world.sql b/sql/updates/world/2015_11_04_00_world.sql
new file mode 100644
index 00000000000..42469b5b4f7
--- /dev/null
+++ b/sql/updates/world/2015_11_04_00_world.sql
@@ -0,0 +1,8 @@
+--
+SET @Cucumber := 38933;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Cucumber AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Cucumber*100 AND `source_type` = 9;
+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
+(@Cucumber, 0, 0, 0, 73, 0, 100, 0, 0, 0, 0, 0, 80, @Cucumber*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cucumber - On Spell_Clic - Action list'),
+(@Cucumber*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 83, 16777216, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cucumberl - Action list - Remove npc_flag'),
+(@Cucumber*100, 9, 1, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cucumber - Action list - Despawn');
diff --git a/sql/updates/world/2015_11_05_00_world_2015_10_04_04.sql b/sql/updates/world/2015_11_05_00_world_2015_10_04_04.sql
new file mode 100644
index 00000000000..dda9747be6f
--- /dev/null
+++ b/sql/updates/world/2015_11_05_00_world_2015_10_04_04.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `creature` SET `spawndist`=0,`MovementType`=0 WHERE `id`=34319;
diff --git a/sql/updates/world/2015_11_05_01_world_2015_10_04_05.sql b/sql/updates/world/2015_11_05_01_world_2015_10_04_05.sql
new file mode 100644
index 00000000000..5ce8c03278d
--- /dev/null
+++ b/sql/updates/world/2015_11_05_01_world_2015_10_04_05.sql
@@ -0,0 +1,204 @@
+--
+-- Hrothgar Landing Fixups
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=34879;
+
+DELETE FROM `creature` WHERE `guid` IN (52041,52042,52043,53107,53767,12483);
+DELETE FROM `creature_addon` WHERE `guid` IN (52041,52042,52043,53107,53767,12483);
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(52041, 34852, 571, 1, 169, 9990.989, 1252.2, 72.15693, 0, 120, 0, 0),
+(52042, 34852, 571, 1, 169, 9977.433, 1207.604, 56.32283, 0, 120, 0, 0),
+(52043, 34852, 571, 1, 169, 10013.58, 1270.264, 70.93209, 0, 120, 0, 0),
+(53107, 34852, 571, 1, 169, 10051.8, 1186.913, 69.17319, 0, 120, 0, 0),
+(53767, 34852, 571, 1, 169, 10063.12, 1209.752, 73.48428, 0, 120, 0, 0),
+(12483, 34852, 571, 1, 169, 10115.9, 1189.974, 81.12413, 0, 120, 0, 0);
+
+UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=10051.27,`position_y`=1216.898,`position_z`=69.68569,`orientation`=2.460914 WHERE `guid`=53109;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=10110.92,`position_y`=1218.408,`position_z`=78.9978,`orientation`=0.6283185 WHERE `guid`=53113;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=10096.75,`position_y`=1190.5,`position_z`=79.6442,`orientation`=6.195919 WHERE `guid`=53041;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=9951.683,`position_y`=1201.502,`position_z`=52.69936,`orientation`=5.585053 WHERE `guid`=53114;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=9928.953,`position_y`=1172.898,`position_z`=51.50733,`orientation`=3.054326 WHERE `guid`=53224;
+
+DELETE FROM `creature_addon` WHERE `guid` IN (53041,53114,53109,53113);
+INSERT INTO `creature_addon` (`guid`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (53041,0,256,0, ''),(53114,1,1,0, ''),(53109,0,1,234, ''),(53113,0,256,0, '');
+
+-- Pathing for Kvaldir Reaver Entry: 34838 'TDB FORMAT'
+SET @NPC := 52038;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=10347.37,`position_y`=803.1042,`position_z`=77.75536 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,10347.37,803.1042,77.75536,0,0,0,0,100,0),
+(@PATH,2,10367.6,818.8438,84.29758,0,0,0,0,100,0),
+(@PATH,3,10383.35,834.6024,92.76371,0,0,0,0,100,0),
+(@PATH,4,10395.81,846.125,99.77592,0,0,0,0,100,0),
+(@PATH,5,10405.93,863.6893,107.7268,0,0,0,0,100,0),
+(@PATH,6,10405.98,875.375,111.8353,0,0,0,0,100,0),
+(@PATH,7,10408.97,888.6285,116.7162,0,0,0,0,100,0),
+(@PATH,8,10414.13,900.0261,121.0533,0,0,0,0,100,0),
+(@PATH,9,10415.96,910.5504,123.9247,0,0,0,0,100,0),
+(@PATH,10,10414.13,900.0261,121.0533,0,0,0,0,100,0),
+(@PATH,11,10408.97,888.6285,116.7162,0,0,0,0,100,0),
+(@PATH,12,10405.98,875.375,111.8353,0,0,0,0,100,0),
+(@PATH,13,10405.93,863.6893,107.7268,0,0,0,0,100,0),
+(@PATH,14,10395.81,846.125,99.77592,0,0,0,0,100,0),
+(@PATH,15,10383.35,834.6024,92.76371,0,0,0,0,100,0),
+(@PATH,16,10367.6,818.8438,84.29758,0,0,0,0,100,0);
+
+-- Pathing for Kvaldir Reaver Entry: 34838 'TDB FORMAT'
+SET @NPC := 52039;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=10238.24,`position_y`=782.2483,`position_z`=71.30614 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,10238.24,782.2483,71.30614,0,0,0,0,100,0),
+(@PATH,2,10263.58,779.5504,72.51409,0,0,0,0,100,0),
+(@PATH,3,10288.04,780.6441,74.41165,0,0,0,0,100,0),
+(@PATH,4,10303.06,778.2899,74.40554,0,0,0,0,100,0),
+(@PATH,5,10317.63,777.9688,74.40554,0,0,0,0,100,0),
+(@PATH,6,10330.9,782.1233,74.53054,0,0,0,0,100,0),
+(@PATH,7,10340.32,781.7136,74.69975,0,0,0,0,100,0),
+(@PATH,8,10330.9,782.1233,74.53054,0,0,0,0,100,0),
+(@PATH,9,10317.63,777.9688,74.40554,0,0,0,0,100,0),
+(@PATH,10,10303.06,778.2899,74.40554,0,0,0,0,100,0),
+(@PATH,11,10288.04,780.6441,74.41165,0,0,0,0,100,0),
+(@PATH,12,10263.58,779.5504,72.51409,0,0,0,0,100,0);
+
+-- Pathing for Kvaldir Reaver Entry: 34838 'TDB FORMAT'
+SET @NPC := 52604;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=10163.75,`position_y`=843.0364,`position_z`=42.24613 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,10163.75,843.0364,42.24613,0,0,0,0,100,0),
+(@PATH,2,10170.49,831.2708,47.18571,0,0,0,0,100,0),
+(@PATH,3,10181.2,816.316,52.61528,0,0,0,0,100,0),
+(@PATH,4,10192.17,799.5977,57.89101,0,0,0,0,100,0),
+(@PATH,5,10203.03,791.2552,62.39041,0,0,0,0,100,0),
+(@PATH,6,10213.43,785.3785,65.56143,0,0,0,0,100,0),
+(@PATH,7,10224.06,785.1649,68.88577,0,0,0,0,100,0),
+(@PATH,8,10213.43,785.3785,65.56143,0,0,0,0,100,0),
+(@PATH,9,10203.03,791.2552,62.39041,0,0,0,0,100,0),
+(@PATH,10,10192.28,799.4097,57.93019,0,0,0,0,100,0),
+(@PATH,11,10181.2,816.316,52.61528,0,0,0,0,100,0),
+(@PATH,12,10170.49,831.2708,47.18571,0,0,0,0,100,0);
+
+-- Pathing for Kvaldir Reaver Entry: 34838 'TDB FORMAT'
+SET @NPC := 52045;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=10151.62,`position_y`=744.2795,`position_z`=66.60175 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,10151.62,744.2795,66.60175,0,0,0,0,100,0),
+(@PATH,2,10160.01,748.9653,66.73127,0,0,0,0,100,0),
+(@PATH,3,10170,758.5295,66.86421,0,0,0,0,100,0),
+(@PATH,4,10177.37,775.2413,63.86098,0,0,0,0,100,0),
+(@PATH,5,10186.68,792.9365,58.51601,0,0,0,0,100,0),
+(@PATH,6,10177.37,775.2413,63.86098,0,0,0,0,100,0),
+(@PATH,7,10170,758.5295,66.86421,0,0,0,0,100,0),
+(@PATH,8,10160.01,748.9653,66.73127,0,0,0,0,100,0);
+
+-- Pathing for Kvaldir Reaver Entry: 34838 'TDB FORMAT'
+SET @NPC := 53134;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=10135.21,`position_y`=1210.611,`position_z`=79.11204 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,10135.21,1210.611,79.11204,0,0,0,0,100,0),
+(@PATH,2,10143.43,1207.156,79.93629,0,0,0,0,100,0),
+(@PATH,3,10151.32,1200.924,83.26014,0,0,0,0,100,0),
+(@PATH,4,10160.9,1196.632,81.05866,0,0,0,0,100,0),
+(@PATH,5,10167.02,1193.387,78.56778,0,0,0,0,100,0),
+(@PATH,6,10172.88,1190.09,76.37518,0,0,0,0,100,0),
+(@PATH,7,10167.02,1193.387,78.56778,0,0,0,0,100,0),
+(@PATH,8,10160.9,1196.631,81.06026,0,0,0,0,100,0),
+(@PATH,9,10151.32,1200.924,83.26014,0,0,0,0,100,0),
+(@PATH,10,10143.43,1207.156,79.93629,0,0,0,0,100,0);
+
+-- Pathing for Kvaldir Reaver Entry: 34838 'TDB FORMAT'
+SET @NPC := 53108;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=9980.583,`position_y`=1195.92,`position_z`=54.3329 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,9980.583,1195.92,54.3329,0,0,0,0,100,0),
+(@PATH,2,9986.409,1177.829,50.95467,0,0,0,0,100,0),
+(@PATH,3,9977.379,1170.333,47.40315,0,0,0,0,100,0),
+(@PATH,4,9968.799,1153.069,42.6813,0,0,0,0,100,0),
+(@PATH,5,9968.064,1136.25,37.7756,0,0,0,0,100,0),
+(@PATH,6,9967.274,1118.092,32.56385,0,0,0,0,100,0),
+(@PATH,7,9969.733,1107.026,29.42457,0,0,0,0,100,0),
+(@PATH,8,9969.542,1093.946,25.73834,0,0,0,0,100,0),
+(@PATH,9,9969.849,1082.082,23.47699,0,0,0,0,100,0),
+(@PATH,10,9970.052,1073.906,21.76483,0,0,0,0,100,0),
+(@PATH,11,9969.849,1082.082,23.47699,0,0,0,0,100,0),
+(@PATH,12,9969.542,1093.946,25.73834,0,0,0,0,100,0),
+(@PATH,13,9969.732,1106.946,29.36329,0,0,0,0,100,0),
+(@PATH,14,9967.274,1118.092,32.56385,0,0,0,0,100,0),
+(@PATH,15,9968.064,1136.25,37.7756,0,0,0,0,100,0),
+(@PATH,16,9968.799,1153.069,42.6813,0,0,0,0,100,0),
+(@PATH,17,9977.379,1170.333,47.40315,0,0,0,0,100,0),
+(@PATH,18,9986.482,1177.609,51.15157,0,0,0,0,100,0);
+
+-- Pathing for Kvaldir Reaver Entry: 34838 'TDB FORMAT'
+SET @NPC := 53099;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=9975.161,`position_y`=1041.323,`position_z`=16.6497 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,9975.161,1041.323,16.6497,0,0,0,0,100,0),
+(@PATH,2,9988.208,1029.54,13.30617,0,0,0,0,100,0),
+(@PATH,3,10005.18,1011.085,9.467186,0,0,0,0,100,0),
+(@PATH,4,10021.29,994.6493,6.951415,0,0,0,0,100,0),
+(@PATH,5,10047,976.625,6.902773,0,0,0,0,100,0),
+(@PATH,6,10066.32,965.4705,10.23769,0,0,0,0,100,0),
+(@PATH,7,10047,976.625,6.902773,0,0,0,0,100,0),
+(@PATH,8,10021.29,994.6493,6.951415,0,0,0,0,100,0),
+(@PATH,9,10005.19,1011.068,9.509178,0,0,0,0,100,0),
+(@PATH,10,9988.272,1029.477,13.34639,0,0,0,0,100,0);
+
+-- Pathing for Kvaldir Reaver Entry: 34838 'TDB FORMAT'
+SET @NPC := 53112;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=10003.86,`position_y`=1191.727,`position_z`=58.1468 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,10003.86,1191.727,58.1468,0,0,0,0,100,0),
+(@PATH,2,10019.43,1197.052,61.09853,0,0,0,0,100,0),
+(@PATH,3,10034.4,1198.321,64.06003,0,0,0,0,100,0),
+(@PATH,4,10053.43,1195.531,69.2673,0,0,0,0,100,0),
+(@PATH,5,10066.09,1187.489,73.69296,0,0,0,0,100,0),
+(@PATH,6,10071.19,1179.259,75.82832,0,0,0,0,100,0),
+(@PATH,7,10066.11,1187.476,73.49924,0,0,0,0,100,0),
+(@PATH,8,10053.45,1195.518,69.44296,0,0,0,0,100,0),
+(@PATH,9,10034.4,1198.321,64.06003,0,0,0,0,100,0),
+(@PATH,10,10019.43,1197.052,61.09853,0,0,0,0,100,0);
+
+-- Kvaldir Reaver SAI
+SET @ENTRY := 34838;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,0,0,100,0,0,0,9000,11000,11,49922,0,0,0,0,0,2,0,0,0,0,0,0,0,"Kvaldir Reaver - In Combat - Cast 'Wave Crash'");
+
+-- Kvaldir Mist Binder SAI
+SET @ENTRY := 34839;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,0,0,100,0,6000,6000,12000,15000,11,49816,0,0,0,0,0,2,0,0,0,0,0,0,0,"Kvaldir Mist Binder - In Combat - Cast 'Mist of Strangulation'");
diff --git a/sql/updates/world/2015_11_05_02_world_2015_10_05_00.sql b/sql/updates/world/2015_11_05_02_world_2015_10_05_00.sql
new file mode 100644
index 00000000000..5f17920a9f5
--- /dev/null
+++ b/sql/updates/world/2015_11_05_02_world_2015_10_05_00.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `quest_request_items` SET `CompletionText` = 'Did you find Fizzle, $N? He, and rest of the Burning Blade, must be scoured from our lands!' WHERE `ID` = 806;
diff --git a/sql/updates/world/2015_11_05_03_world_2015_10_06_00.sql b/sql/updates/world/2015_11_05_03_world_2015_10_06_00.sql
new file mode 100644
index 00000000000..2ff13df720c
--- /dev/null
+++ b/sql/updates/world/2015_11_05_03_world_2015_10_06_00.sql
@@ -0,0 +1,31 @@
+--
+SET @ENTRY := 37230;
+SET @CGUID := 45827;
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+3;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, @ENTRY, 631, 3, 169, -368.000, 2316.687, 234.047, 2.792558, 7200, 0, 0),
+(@CGUID+1, @ENTRY, 631, 3, 169, -511.493, 2318.217, 234.045, 0.483487, 7200, 0, 0),
+(@CGUID+2, @ENTRY, 631, 3, 169, -516.336, 2108.577, 234.049, 5.733871, 7200, 0, 0),
+(@CGUID+3, @ENTRY, 631, 3, 169, -353.894, 2111.659, 234.043, 3.711472, 7200, 0, 0);
+
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (@ENTRY, 38444);
+DELETE FROM `creature_template_addon` WHERE `entry` IN (@ENTRY, 38444);
+INSERT INTO `creature_template_addon` (`entry`, `mount`, `bytes1`, `bytes2`, `auras`) VALUES
+(@ENTRY, 0, 0x3000000, 0x1, ''),
+(38444, 0, 0x3000000, 0x1, '');
+
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,25,0,100,30,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Spire Frostwyrm - on Reset - Set invisible"),
+(@ENTRY,0,1,2,10,0,100,31,0,100,1000,1000,47,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Spire Frostwyrm - OOC_LOS - SET visible"),
+(@ENTRY,0,2,0,61,0,100,31,0,0,0,0,49,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Spire Frostwyrm - OOC_LOS - Start Attack"),
+(@ENTRY,0,3,0,4,0,100,30,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Spire Frostwyrm - On aggro - Say text"),
+(@ENTRY,0,4,0,33,0,100,31,100,30000,0,0,91,2,3,0,0,0,0,1,0,0,0,0,0,0,0,"Spire Frostwyrm - On target damaged - Remove Flag Hover"),
+(@ENTRY,0,5,0,0,0,100,30,10000,13000,13000,16000,11,70362,0,0,0,0,0,5,0,0,0,0,0,0,0,"Spire Frostwyrm - IC - Cast Blizzard"),
+(@ENTRY,0,6,0,0,0,100,30,8000,10000,3000,6000,11,70361,0,0,0,0,0,2,0,0,0,0,0,0,0,"Spire Frostwyrm - IC - Cast Cleave"),
+(@ENTRY,0,7,0,0,0,100,30,13000,15000,6000,9000,11,70116,0,0,0,0,0,2,0,0,0,0,0,0,0,"Spire Frostwyrm - IC - Cast Frost Breath");
+
+DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `TextRange`, `comment`) VALUES
+(@ENTRY, 0, 0, 'A screeching cry pierces the air above!', 41, 0, 100, 0, 0, 0, 37161, 1, 'Spire Frostwyrm to Player');
diff --git a/sql/updates/world/2015_11_05_04_world_2015_10_06_01.sql b/sql/updates/world/2015_11_05_04_world_2015_10_06_01.sql
new file mode 100644
index 00000000000..385c5f019bf
--- /dev/null
+++ b/sql/updates/world/2015_11_05_04_world_2015_10_06_01.sql
@@ -0,0 +1,31 @@
+-- Sheddle Glossgleam
+UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry`=194115;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=29703;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (194115) AND `source_type`=1;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (29703) AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (2970300, 19411500) AND `source_type`=9;
+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
+(194115, 1, 0, 0, 64, 0, 100, 0, 0, 0, 0, 0, 80, 19411500, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Shoeshine Seat - On Gossip hello - Action list'),
+(19411500, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Shoeshine Seat - Action list - Store target'),
+(19411500, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 100, 1, 0, 0, 0, 0, 0, 19, 29703, 20, 0, 0, 0, 0, 0, 'Shoeshine Seat - Action list - Send Target'),
+(19411500, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 29703, 20, 0, 0, 0, 0, 0, 'Shoeshine Seat - Action list - Set Data'),
+(29703, 0, 0, 0, 38, 0, 100, 0, 1, 1, 13000, 13000, 80, 2970300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Sheddle Glossgleam - On Data set - Action list'),
+(2970300, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Sheddle Glossgleam - Action list - Say text'),
+(2970300, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Sheddle Glossgleam - Action list - Set run off'),
+(2970300, 9, 2, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 5810.110, 676.122, 658.0285, 5.002982, 'Sheddle Glossgleam- Action list - Move to pos'),
+(2970300, 9, 3, 0, 0, 0, 100, 0, 1200, 1200, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 5810.110, 676.122, 658.0285, 5.002982, 'Sheddle Glossgleam - Action list - Set Orientation'),
+(2970300, 9, 4, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 11, 68442, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Sheddle Glossgleam - Action list - Cast Kneel'),
+(2970300, 9, 5, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 28, 68442, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Sheddle Glossgleam - Action list - Remove Kneel aura'),
+(2970300, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 62089, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Sheddle Glossgleam - Action list - Cast Shiny Shoes'),
+(2970300, 9, 7, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'Sheddle Glossgleam - Action list - Say text'),
+(2970300, 9, 8, 0, 0, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 5812.08, 676.872, 658.112, 3.071780, 'Sheddle Glossgleam - Action list - Move to pos'),
+(2970300, 9, 9, 0, 0, 0, 100, 0, 1200, 1200, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 5812.08, 676.872, 658.112, 3.071780, 'Sheddle Glossgleam - Action list - Set Orientation');
+
+DELETE FROM `creature_text` WHERE `entry` IN (29703);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(29703,0,0,'Need a shoeshine, $c?',12,0,100,0,0,0, 'Sheddle Glossgleam',33178),
+(29703,0,1,'One shoeshine coming up!',12,0,100,0,0,0, 'Sheddle Glossgleam',33180),
+(29703,0,2,'Let me shine your shoes, $c.',12,0,100,0,0,0, 'Sheddle Glossgleam',33181),
+(29703,1,0,'Take care of that shine, $c.',12,0,100,0,0,0, 'Sheddle Glossgleam',33179),
+(29703,1,1,'Shiny!',12,0,100,0,0,0, 'Sheddle Glossgleam',33182),
+(29703,1,2,'Another shiny, happy person. Take care, $c!',12,0,100,0,0,0, 'Sheddle Glossgleam',33183);
diff --git a/sql/updates/world/2015_11_05_05_world_2015_10_08_00.sql b/sql/updates/world/2015_11_05_05_world_2015_10_08_00.sql
new file mode 100644
index 00000000000..633ade27863
--- /dev/null
+++ b/sql/updates/world/2015_11_05_05_world_2015_10_08_00.sql
@@ -0,0 +1,21 @@
+-- Pathing for Anub'ar Warrior Entry: 28732 'TDB FORMAT'
+SET @NPC := 127230;
+SET @NPC1 := 127339;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=536.2838,`position_y`=747.2582,`position_z`=790.701 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=534.9068,`position_y`=742.6521,`position_z`=789.386 WHERE `guid`=@NPC1;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@NPC1);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''),(@NPC1,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,536.2838,747.2582,790.701,0,0,0,0,100,0),
+(@PATH,2,553.5668,733.7203,777.5034,0,0,0,0,100,0),
+(@PATH,3,536.2838,747.2582,790.701,0,0,0,0,100,0),
+(@PATH,4,507.5956,755.1626,808.8735,0,0,0,0,100,0),
+(@PATH,5,488.8975,758.9921,818.0986,0,0,0,0,100,0),
+(@PATH,6,507.5956,755.1626,808.8735,0,0,0,0,100,0);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@NPC1,4,90,2,2,5);
diff --git a/sql/updates/world/2015_11_05_06_world_2015_10_08_01.sql b/sql/updates/world/2015_11_05_06_world_2015_10_08_01.sql
new file mode 100644
index 00000000000..6b162ee4393
--- /dev/null
+++ b/sql/updates/world/2015_11_05_06_world_2015_10_08_01.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `gameobject_template` SET `faction`=0 WHERE `entry`=177219;
diff --git a/sql/updates/world/2015_11_05_07_world_2015_10_10_04.sql b/sql/updates/world/2015_11_05_07_world_2015_10_10_04.sql
new file mode 100644
index 00000000000..b1bab808d96
--- /dev/null
+++ b/sql/updates/world/2015_11_05_07_world_2015_10_10_04.sql
@@ -0,0 +1,2 @@
+--
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=344 AND `id`=1;
diff --git a/sql/updates/world/2015_11_05_08_world_2015_10_11_02.sql b/sql/updates/world/2015_11_05_08_world_2015_10_11_02.sql
new file mode 100644
index 00000000000..ee0beb9387b
--- /dev/null
+++ b/sql/updates/world/2015_11_05_08_world_2015_10_11_02.sql
@@ -0,0 +1,20 @@
+-- Gameobject list for Molten Core
+SET @OGUID := 56280;
+DELETE FROM `gameobject` WHERE `guid` IN (43162,43163,43164,43165,35665);
+DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID AND @OGUID+14;
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`zoneId`,`areaId`,`spawnMask`,`phaseId`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES
+(@OGUID+0,176951,409,2717,0,1,169,601.6724,-1174.613,-196.0725,3.141593,0,0,-1,0,120,255,1), -- Rune of Koro
+(@OGUID+1,176952,409,2717,0,1,169,748.8392,-985.1598,-178.2831,3.141593,0,0,-1,0,120,255,1), -- Rune of Zeth
+(@OGUID+2,176953,409,2717,0,1,169,583.7003,-806.7377,-204.9614,3.141593,0,0,-1,0,120,255,1), -- Rune of Mazj
+(@OGUID+3,176954,409,2717,0,1,169,795.5356,-974.2527,-207.7883,3.141593,0,0,-1,0,120,255,1), -- Rune of Theri
+(@OGUID+4,176955,409,2717,0,1,169,694.2289,-495.5984,-214.3294,3.141593,0,0,-1,0,120,255,1), -- Rune of Blaz
+(@OGUID+5,176956,409,2717,0,1,169,1132.106,-1017.273,-186.4936,3.141593,0,0,-1,0,120,255,1), -- Rune of Kress
+(@OGUID+6,176957,409,2717,0,1,169,897.0577,-551.5464,-203.9534,3.141593,0,0,-1,0,120,255,1), -- Rune of Mohn
+(@OGUID+7,177000,409,2717,0,1,169,736.6626,-1176.569,-119.7984,3.141593,0,0,-1,0,120,255,1), -- Hot Coal
+(@OGUID+8,178187,409,2717,0,1,169,601.6724,-1174.613,-196.0725,3.141593,0,0,-1,0,120,255,1), -- Molten Core Circle SULFURON
+(@OGUID+9,178188,409,2717,0,1,169,748.8392,-985.1598,-178.2831,3.141593,0,0,-1,0,120,255,1), -- Molten Core Circle BARON
+(@OGUID+10,178189,409,2717,0,1,169,583.7003,-806.7377,-204.9614,3.141593,0,0,-1,0,120,255,1), -- Molten Core Circle SHAZZRAH
+(@OGUID+11,178190,409,2717,0,1,169,795.5356,-974.2527,-207.7883,3.141593,0,0,-1,0,120,255,1), -- Molten Core Circle GOLEMAGG
+(@OGUID+12,178191,409,2717,0,1,169,694.2289,-495.5984,-214.3294,3.141593,0,0,-1,0,120,255,1), -- Molten Core Circle GARR
+(@OGUID+13,178192,409,2717,0,1,169,1132.106,-1017.273,-186.4936,3.141593,0,0,-1,0,120,255,1), -- Molten Core Circle MAGMADAR
+(@OGUID+14,178193,409,2717,0,1,169,897.0577,-551.5464,-203.9534,3.141593,0,0,-1,0,120,255,1); -- Molten Core Circle GEHENNAS
diff --git a/sql/updates/world/2015_11_05_09_world_2015_10_11_03.sql b/sql/updates/world/2015_11_05_09_world_2015_10_11_03.sql
new file mode 100644
index 00000000000..247b55c3e22
--- /dev/null
+++ b/sql/updates/world/2015_11_05_09_world_2015_10_11_03.sql
@@ -0,0 +1,786 @@
+-- Add missing Firesworn spawn
+SET @CGUID := 16399;
+DELETE FROM `creature` WHERE `guid`=@CGUID;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID, 12099, 409, 1, 169, 698.831, -507.815, -214.691, 1.832596, 7200, 0, 0);
+
+-- Garr movement/formation fixup
+UPDATE `creature` SET `spawndist`=10,`MovementType`=1 WHERE `guid`=56609;
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (56609);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(56609,56609,0,0,2,0,0),
+(56609,56610,10,45,2,0,0),
+(56609,56616,10,90,2,0,0),
+(56609,56619,10,135,2,0,0),
+(56609,56620,10,180,2,0,0),
+(56609,56622,10,225,2,0,0),
+(56609,56626,10,270,2,0,0),
+(56609,56628,10,315,2,0,0),
+(56609,@CGUID,10,360,2,0,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56742;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=619.3152,`position_y`=-1131.169,`position_z`=-201.6246 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,619.3152,-1131.169,-201.6246,0,0,0,0,100,0),
+(@PATH,2,635.5156,-1094.704,-196.7484,0,0,0,0,100,0),
+(@PATH,3,637.1269,-1060.913,-199.2417,0,0,0,0,100,0),
+(@PATH,4,635.5156,-1094.704,-196.7484,0,0,0,0,100,0),
+(@PATH,5,619.3152,-1131.169,-201.6246,0,0,0,0,100,0),
+(@PATH,6,610.0372,-1155.73,-198.8285,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56743;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1039.667,`position_y`=-791.0968,`position_z`=-151.0096 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,1039.667,-791.0968,-151.0096,0,0,0,0,100,0),
+(@PATH,2,1026.315,-767.8003,-156.6493,0,0,0,0,100,0),
+(@PATH,3,1038.774,-761.6977,-152.658,0,0,0,0,100,0),
+(@PATH,4,1064.627,-748.9409,-151.7516,0,0,0,0,100,0),
+(@PATH,5,1038.774,-761.6977,-152.658,0,0,0,0,100,0),
+(@PATH,6,1026.315,-767.8003,-156.6493,0,0,0,0,100,0),
+(@PATH,7,1039.641,-791.0518,-150.9892,0,0,0,0,100,0),
+(@PATH,8,1051.314,-799.6896,-151.9713,0,0,0,0,100,0),
+(@PATH,9,1040.764,-815.1115,-152.1656,0,0,0,0,100,0),
+(@PATH,10,1051.314,-799.6896,-151.9713,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56744;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=862.4832,`position_y`=-1025.388,`position_z`=-193.7729 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,862.4832,-1025.388,-193.7729,0,0,0,0,100,0),
+(@PATH,2,837.9779,-1005.705,-203.4326,0,0,0,0,100,0),
+(@PATH,3,811.0497,-995.4718,-207.7699,0,0,0,0,100,0),
+(@PATH,4,837.9779,-1005.705,-203.4326,0,0,0,0,100,0),
+(@PATH,5,862.4832,-1025.388,-193.7729,0,0,0,0,100,0),
+(@PATH,6,867.8922,-1050.318,-187.0417,0,0,0,0,100,0),
+(@PATH,7,872.7313,-1072.91,-180.5435,0,0,0,0,100,0),
+(@PATH,8,866.1934,-1092.763,-172.8487,0,0,0,0,100,0),
+(@PATH,9,852.0717,-1110.005,-164.8026,0,0,0,0,100,0),
+(@PATH,10,839.597,-1126.927,-156.889,0,0,0,0,100,0),
+(@PATH,11,809.0994,-1147.87,-152.4792,0,0,0,0,100,0),
+(@PATH,12,797.6674,-1151.59,-151.2095,0,0,0,0,100,0),
+(@PATH,13,786.1231,-1142.027,-149.5751,0,0,0,0,100,0),
+(@PATH,14,751.8342,-1124.252,-144.3583,0,0,0,0,100,0),
+(@PATH,15,726.2703,-1123.733,-140.4308,0,0,0,0,100,0),
+(@PATH,16,705.0751,-1129.982,-137.4043,0,0,0,0,100,0),
+(@PATH,17,688.8096,-1145.377,-132.6487,0,0,0,0,100,0),
+(@PATH,18,681.356,-1157.213,-129.4221,0,0,0,0,100,0),
+(@PATH,19,678.912,-1171.258,-124.9925,0,0,0,0,100,0),
+(@PATH,20,687.782,-1186.916,-122.3317,0,0,0,0,100,0),
+(@PATH,21,702.4774,-1195.069,-120.2255,0,0,0,0,100,0),
+(@PATH,22,687.7936,-1186.922,-122.3323,0,0,0,0,100,0),
+(@PATH,23,678.912,-1171.258,-124.9925,0,0,0,0,100,0),
+(@PATH,24,681.356,-1157.213,-129.4221,0,0,0,0,100,0),
+(@PATH,25,688.8096,-1145.377,-132.6487,0,0,0,0,100,0),
+(@PATH,26,705.0751,-1129.982,-137.4043,0,0,0,0,100,0),
+(@PATH,27,726.2703,-1123.733,-140.4308,0,0,0,0,100,0),
+(@PATH,28,751.8342,-1124.252,-144.3583,0,0,0,0,100,0),
+(@PATH,29,786.1231,-1142.027,-149.5751,0,0,0,0,100,0),
+(@PATH,30,797.6674,-1151.59,-151.2095,0,0,0,0,100,0),
+(@PATH,31,809.0994,-1147.87,-152.4792,0,0,0,0,100,0),
+(@PATH,32,839.597,-1126.927,-156.889,0,0,0,0,100,0),
+(@PATH,33,852.0717,-1110.005,-164.8026,0,0,0,0,100,0),
+(@PATH,34,866.1934,-1092.763,-172.8487,0,0,0,0,100,0),
+(@PATH,35,872.7313,-1072.91,-180.5435,0,0,0,0,100,0),
+(@PATH,36,867.8922,-1050.318,-187.0417,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56745;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=820.8864,`position_y`=-1133.536,`position_z`=-153.9561 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,820.8864,-1133.536,-153.9561,0,0,0,0,100,0),
+(@PATH,2,811.4623,-1112.419,-155.1721,0,0,0,0,100,0),
+(@PATH,3,791.674,-1098.377,-157.4893,0,0,0,0,100,0),
+(@PATH,4,756.4903,-1086.385,-165.0273,0,0,0,0,100,0),
+(@PATH,5,713.1385,-1077.042,-178.4627,0,0,0,0,100,0),
+(@PATH,6,666.2255,-1071.984,-188.5744,0,0,0,0,100,0),
+(@PATH,7,713.1385,-1077.042,-178.4627,0,0,0,0,100,0),
+(@PATH,8,756.4903,-1086.385,-165.0273,0,0,0,0,100,0),
+(@PATH,9,791.674,-1098.377,-157.4893,0,0,0,0,100,0),
+(@PATH,10,811.4623,-1112.419,-155.1721,0,0,0,0,100,0),
+(@PATH,11,820.8864,-1133.536,-153.9561,0,0,0,0,100,0),
+(@PATH,12,807.4134,-1143.589,-152.2109,0,0,0,0,100,0),
+(@PATH,13,788.3813,-1136.843,-150.0572,0,0,0,0,100,0),
+(@PATH,14,774.8284,-1122.117,-148.7992,0,0,0,0,100,0),
+(@PATH,15,753.0598,-1112.579,-145.9724,0,0,0,0,100,0),
+(@PATH,16,723.3937,-1111.516,-142.1575,0,0,0,0,100,0),
+(@PATH,17,692.8207,-1125.591,-137.05,0,0,0,0,100,0),
+(@PATH,18,670.802,-1153.978,-128.2815,0,0,0,0,100,0),
+(@PATH,19,669.009,-1180.974,-123.0805,0,0,0,0,100,0),
+(@PATH,20,670.802,-1153.978,-128.2815,0,0,0,0,100,0),
+(@PATH,21,692.8207,-1125.591,-137.05,0,0,0,0,100,0),
+(@PATH,22,723.3937,-1111.516,-142.1575,0,0,0,0,100,0),
+(@PATH,23,753.0598,-1112.579,-145.9724,0,0,0,0,100,0),
+(@PATH,24,774.8284,-1122.117,-148.7992,0,0,0,0,100,0),
+(@PATH,25,788.3813,-1136.843,-150.0572,0,0,0,0,100,0),
+(@PATH,26,807.4134,-1143.589,-152.2109,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56746;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=706.5988,`position_y`=-608.756,`position_z`=-209.7862 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,706.5988,-608.756,-209.7862,0,0,0,0,100,0),
+(@PATH,2,694.3823,-643.1285,-209.7859,0,0,0,0,100,0),
+(@PATH,3,691.9941,-667.7454,-209.6549,0,0,0,0,100,0),
+(@PATH,4,712.6238,-699.4688,-209.7263,0,0,0,0,100,0),
+(@PATH,5,696.8894,-727.3798,-209.4279,0,0,0,0,100,0),
+(@PATH,6,672.7046,-770.8894,-209.0702,0,0,0,0,100,0),
+(@PATH,7,696.8894,-727.3798,-209.4279,0,0,0,0,100,0),
+(@PATH,8,712.6238,-699.4688,-209.7263,0,0,0,0,100,0),
+(@PATH,9,691.9941,-667.7454,-209.6549,0,0,0,0,100,0),
+(@PATH,10,694.3823,-643.1285,-209.7859,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56667;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=716.2954,`position_y`=-563.1713,`position_z`=-215.2122 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,716.2954,-563.1713,-215.2122,0,0,0,0,100,0),
+(@PATH,2,730.72,-541.2038,-216.5207,0,0,0,0,100,0),
+(@PATH,3,751.7352,-537.1676,-215.0087,0,0,0,0,100,0),
+(@PATH,4,782.8221,-568.6121,-213.2396,0,0,0,0,100,0),
+(@PATH,5,826.4692,-557.4173,-206.1204,0,0,0,0,100,0),
+(@PATH,6,862.7628,-559.3347,-203.8248,0,0,0,0,100,0),
+(@PATH,7,897.3094,-575.2031,-203.7624,0,0,0,0,100,0),
+(@PATH,8,928.274,-599.9254,-203.4944,0,0,0,0,100,0),
+(@PATH,9,976.9997,-588.0521,-203.566,0,0,0,0,100,0),
+(@PATH,10,1013.348,-611.7108,-198.8222,0,0,0,0,100,0),
+(@PATH,11,1031.784,-628.6943,-189.8679,0,0,0,0,100,0),
+(@PATH,12,1054.582,-638.4258,-174.0191,0,0,0,0,100,0),
+(@PATH,13,1082.93,-658.8265,-159.5947,0,0,0,0,100,0),
+(@PATH,14,1102.016,-688.0265,-153.0321,0,0,0,0,100,0),
+(@PATH,15,1095.611,-709.971,-151.2729,0,0,0,0,100,0),
+(@PATH,16,1102.016,-688.0265,-153.0321,0,0,0,0,100,0),
+(@PATH,17,1082.93,-658.8265,-159.5947,0,0,0,0,100,0),
+(@PATH,18,1054.582,-638.4258,-174.0191,0,0,0,0,100,0),
+(@PATH,19,1031.784,-628.6943,-189.8679,0,0,0,0,100,0),
+(@PATH,20,1013.348,-611.7108,-198.8222,0,0,0,0,100,0),
+(@PATH,21,976.9997,-588.0521,-203.566,0,0,0,0,100,0),
+(@PATH,22,928.274,-599.9254,-203.4944,0,0,0,0,100,0),
+(@PATH,23,897.3094,-575.2031,-203.7624,0,0,0,0,100,0),
+(@PATH,24,862.7628,-559.3347,-203.8248,0,0,0,0,100,0),
+(@PATH,25,826.4692,-557.4173,-206.1204,0,0,0,0,100,0),
+(@PATH,26,782.8221,-568.6121,-213.2396,0,0,0,0,100,0),
+(@PATH,27,751.7352,-537.1676,-215.0087,0,0,0,0,100,0),
+(@PATH,28,730.72,-541.2038,-216.5207,0,0,0,0,100,0),
+(@PATH,29,716.2954,-563.1713,-215.2122,0,0,0,0,100,0),
+(@PATH,30,710.9113,-588.9549,-211.3497,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56668;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=746.1315,`position_y`=-1006.086,`position_z`=-177.4375 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,746.1315,-1006.086,-177.4375,0,0,0,0,100,0),
+(@PATH,2,733.2838,-1027.083,-177.5541,0,0,0,0,100,0),
+(@PATH,3,695.6022,-1035.41,-182.9091,0,0,0,0,100,0),
+(@PATH,4,652.9347,-1047.064,-195.1933,0,0,0,0,100,0),
+(@PATH,5,695.6022,-1035.41,-182.9091,0,0,0,0,100,0),
+(@PATH,6,733.2838,-1027.083,-177.5541,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56669;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=819.1058,`position_y`=-631.4754,`position_z`=-202.4386 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,819.1058,-631.4754,-202.4386,0,0,0,0,100,0),
+(@PATH,2,842.2988,-620.2899,-203.6502,0,0,0,0,100,0),
+(@PATH,3,863.2007,-606.6663,-201.9657,0,0,0,0,100,0),
+(@PATH,4,880.7169,-589.9871,-203.5187,0,0,0,0,100,0),
+(@PATH,5,891.5865,-563.1656,-204.1768,0,0,0,0,100,0),
+(@PATH,6,880.7169,-589.9871,-203.5187,0,0,0,0,100,0),
+(@PATH,7,863.2007,-606.6663,-201.9657,0,0,0,0,100,0),
+(@PATH,8,842.2988,-620.2899,-203.6502,0,0,0,0,100,0),
+(@PATH,9,819.1058,-631.4754,-202.4386,0,0,0,0,100,0),
+(@PATH,10,801.1528,-637.2293,-203.2919,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56670;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=640.3456,`position_y`=-838.7157,`position_z`=-208.4006 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,640.3456,-838.7157,-208.4006,0,0,0,0,100,0),
+(@PATH,2,606.3914,-839.9142,-207.404,0,0,0,0,100,0),
+(@PATH,3,580.7532,-839.1719,-206.0227,0,0,0,0,100,0),
+(@PATH,4,571.1739,-823.5732,-206.9356,0,0,0,0,100,0),
+(@PATH,5,568.275,-805.6725,-206.7511,0,0,0,0,100,0),
+(@PATH,6,574.7719,-784.4373,-207.1243,0,0,0,0,100,0),
+(@PATH,7,568.275,-805.6725,-206.7511,0,0,0,0,100,0),
+(@PATH,8,571.1739,-823.5732,-206.9356,0,0,0,0,100,0),
+(@PATH,9,580.7532,-839.1719,-206.0227,0,0,0,0,100,0),
+(@PATH,10,606.3914,-839.9142,-207.404,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56671;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=693.7902,`position_y`=-895.4052,`position_z`=-199.3317 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,693.7902,-895.4052,-199.3317,0,0,0,0,100,0),
+(@PATH,2,676.3041,-859.0721,-207.3966,0,0,0,0,100,0),
+(@PATH,3,660.5331,-846.3304,-208.582,0,0,0,0,100,0),
+(@PATH,4,676.3041,-859.0721,-207.3966,0,0,0,0,100,0),
+(@PATH,5,693.7902,-895.4052,-199.3317,0,0,0,0,100,0),
+(@PATH,6,709.7253,-933.0809,-191.2163,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56672;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=708.7521,`position_y`=-494.4869,`position_z`=-213.9441 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,708.7521,-494.4869,-213.9441,0,0,0,0,100,0),
+(@PATH,2,706.8069,-515.2225,-215.4603,0,0,0,0,100,0),
+(@PATH,3,695.7981,-526.2382,-214.3069,0,0,0,0,100,0),
+(@PATH,4,671.7322,-532.863,-210.5322,0,0,0,0,100,0),
+(@PATH,5,695.7981,-526.2382,-214.3069,0,0,0,0,100,0),
+(@PATH,6,706.8069,-515.2225,-215.4603,0,0,0,0,100,0),
+(@PATH,7,708.7521,-494.4869,-213.9441,0,0,0,0,100,0),
+(@PATH,8,706.4074,-474.3789,-211.1673,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56673;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=723.8314,`position_y`=-518.3099,`position_z`=-217.6104 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,723.8314,-518.3099,-217.6104,0,0,0,0,100,0),
+(@PATH,2,706.7125,-535.8472,-216.7189,0,0,0,0,100,0),
+(@PATH,3,685.7861,-543.6451,-211.2004,0,0,0,0,100,0),
+(@PATH,4,667.6307,-538.1242,-209.9916,0,0,0,0,100,0),
+(@PATH,5,685.7861,-543.6451,-211.2004,0,0,0,0,100,0),
+(@PATH,6,706.7125,-535.8472,-216.7189,0,0,0,0,100,0),
+(@PATH,7,723.8314,-518.3099,-217.6104,0,0,0,0,100,0),
+(@PATH,8,728.2719,-487.4919,-212.95,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56674;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=831.386,`position_y`=-627.8932,`position_z`=-203.1487 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,831.386,-627.8932,-203.1487,0,0,0,0,100,0),
+(@PATH,2,856.4564,-617.9056,-202.1571,0,0,0,0,100,0),
+(@PATH,3,899.6118,-613.5433,-202.2377,0,0,0,0,100,0),
+(@PATH,4,936.2535,-612.5002,-203.6217,0,0,0,0,100,0),
+(@PATH,5,975.1815,-641.0467,-201.5775,0,0,0,0,100,0),
+(@PATH,6,1002.311,-661.9902,-194.1922,0,0,0,0,100,0),
+(@PATH,7,1024.067,-684.3118,-173.4296,0,0,0,0,100,0),
+(@PATH,8,1042.016,-695.8206,-163.7581,0,0,0,0,100,0),
+(@PATH,9,1058.163,-706.0782,-156.6107,0,0,0,0,100,0),
+(@PATH,10,1068.566,-742.8318,-151.7328,0,0,0,0,100,0),
+(@PATH,11,1117.097,-744.479,-145.6289,0,0,0,0,100,0),
+(@PATH,12,1149.458,-726.4506,-133.8044,0,0,0,0,100,0),
+(@PATH,13,1175.513,-702.1757,-130.9873,0,0,0,0,100,0),
+(@PATH,14,1200.504,-670.9343,-128.5453,0,0,0,0,100,0),
+(@PATH,15,1202.953,-639.3985,-126.1688,0,0,0,0,100,0),
+(@PATH,16,1188.303,-614.0296,-121.8816,0,0,0,0,100,0),
+(@PATH,17,1164.196,-595.4036,-115.7764,0,0,0,0,100,0),
+(@PATH,18,1155.213,-574.8707,-113.3766,0,0,0,0,100,0),
+(@PATH,19,1164.196,-595.4036,-115.7764,0,0,0,0,100,0),
+(@PATH,20,1188.303,-614.0296,-121.8816,0,0,0,0,100,0),
+(@PATH,21,1202.953,-639.3985,-126.1688,0,0,0,0,100,0),
+(@PATH,22,1200.504,-670.9343,-128.5453,0,0,0,0,100,0),
+(@PATH,23,1175.589,-702.0806,-130.9749,0,0,0,0,100,0),
+(@PATH,24,1149.458,-726.4506,-133.8044,0,0,0,0,100,0),
+(@PATH,25,1117.097,-744.479,-145.6289,0,0,0,0,100,0),
+(@PATH,26,1068.566,-742.8318,-151.7328,0,0,0,0,100,0),
+(@PATH,27,1058.163,-706.0782,-156.6107,0,0,0,0,100,0),
+(@PATH,28,1042.016,-695.8206,-163.7581,0,0,0,0,100,0),
+(@PATH,29,1024.226,-684.4753,-173.2943,0,0,0,0,100,0),
+(@PATH,30,1002.311,-661.9902,-194.1922,0,0,0,0,100,0),
+(@PATH,31,975.1815,-641.0467,-201.5775,0,0,0,0,100,0),
+(@PATH,32,936.2535,-612.5002,-203.6217,0,0,0,0,100,0),
+(@PATH,33,899.6118,-613.5433,-202.2377,0,0,0,0,100,0),
+(@PATH,34,856.4564,-617.9056,-202.1571,0,0,0,0,100,0),
+(@PATH,35,831.386,-627.8932,-203.1487,0,0,0,0,100,0),
+(@PATH,36,816.5816,-641.0675,-203.8891,0,0,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56675;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1144.05,`position_y`=-662.6844,`position_z`=-131.4626 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,1144.05,-662.6844,-131.4626,0,0,0,0,100,0),
+(@PATH,2,1160.286,-696.8795,-132.4863,0,0,0,0,100,0),
+(@PATH,3,1129.031,-721.049,-139.5804,0,0,0,0,100,0),
+(@PATH,4,1118.512,-712.1383,-144.2585,0,0,0,0,100,0),
+(@PATH,5,1104.687,-722.1303,-146.9832,0,0,0,0,100,0),
+(@PATH,6,1090.824,-731.3634,-149.9868,0,0,0,0,100,0),
+(@PATH,7,1070.791,-717.5623,-153.4831,0,0,0,0,100,0),
+(@PATH,8,1080.754,-681.5721,-159.8726,0,0,0,0,100,0),
+(@PATH,9,1081.626,-681.3043,-159.6755,0,12000,0,0,100,0),
+(@PATH,10,1079.369,-678.5401,-160.8983,0,10000,0,0,100,0),
+(@PATH,11,1081.374,-680.3018,-159.9551,0,1000,0,0,100,0),
+(@PATH,12,1080.824,-681.4283,-159.8819,0,2000,0,0,100,0),
+(@PATH,13,1081.491,-679.0739,-160.1742,0,1000,0,0,100,0),
+(@PATH,14,1079.343,-678.3975,-160.9352,0,5000,0,0,100,0),
+(@PATH,15,1081.436,-676.3215,-160.7577,0,8000,0,0,100,0),
+(@PATH,16,1080.754,-681.5721,-159.8726,0,1000,0,0,100,0),
+(@PATH,17,1077.228,-678.6388,-161.4971,0,1000,0,0,100,0),
+(@PATH,18,1077.687,-678.7886,-161.3334,0,1000,0,0,100,0),
+(@PATH,19,1079.716,-679.3854,-160.6235,0,10000,0,0,100,0),
+(@PATH,20,1081.338,-682.8629,-159.4373,0,10000,0,0,100,0),
+(@PATH,21,1079.463,-680.3129,-160.5056,0,1000,0,0,100,0),
+(@PATH,22,1080.754,-681.5721,-159.8726,0,1000,0,0,100,0),
+(@PATH,23,1080.708,-679.2873,-160.3567,0,1000,0,0,100,0),
+(@PATH,24,1082.191,-681.9566,-159.3777,0,9000,0,0,100,0),
+(@PATH,25,1079.69,-678.5046,-160.8126,0,8000,0,0,100,0),
+(@PATH,26,1080.177,-679.1766,-160.5332,0,1000,0,0,100,0),
+(@PATH,27,1078.341,-677.3896,-161.4327,0,9000,0,0,100,0),
+(@PATH,28,1079.791,-676.366,-161.2243,0,1000,0,0,100,0),
+(@PATH,29,1078.341,-677.3896,-161.4327,0,1000,0,0,100,0),
+(@PATH,30,1081.163,-683.5833,-159.3395,0,7000,0,0,100,0),
+(@PATH,31,1080.636,-682.1011,-159.7975,0,1000,0,0,100,0),
+(@PATH,32,1081.985,-678.5395,-160.1417,0,2000,0,0,100,0),
+(@PATH,33,1081.526,-679.8784,-159.9983,0,1000,0,0,100,0),
+(@PATH,34,1080.778,-681.3652,-159.9082,0,1000,0,0,100,0),
+(@PATH,35,1079.221,-677.4147,-161.1729,0,1000,0,0,100,0),
+(@PATH,36,1079.501,-678.1235,-160.946,0,2000,0,0,100,0),
+(@PATH,37,1080.827,-681.6636,-159.8325,0,6000,0,0,100,0),
+(@PATH,38,1085.063,-680.338,-158.8806,0,8000,0,0,100,0),
+(@PATH,39,1079.092,-677.261,-161.242,0,1000,0,0,100,0),
+(@PATH,40,1079.541,-677.6991,-161.0217,0,1000,0,0,100,0),
+(@PATH,41,1081.284,-682.4361,-159.5412,0,2000,0,0,100,0),
+(@PATH,42,1080.757,-681.0048,-159.9885,0,1000,0,0,100,0),
+(@PATH,43,1083.066,-680.2807,-159.4699,0,6000,0,0,100,0),
+(@PATH,44,1081.552,-677.1035,-160.5629,0,1000,0,0,100,0),
+(@PATH,45,1081.611,-680.4688,-159.852,0,11000,0,0,100,0),
+(@PATH,46,1080.048,-679.4224,-160.5198,0,7000,0,0,100,0),
+(@PATH,47,1082.761,-681.9189,-159.2203,0,11000,0,0,100,0),
+(@PATH,48,1078.952,-678.8635,-160.9521,0,8000,0,0,100,0),
+(@PATH,49,1081.18,-681.5133,-159.7614,0,1000,0,0,100,0),
+(@PATH,50,1080.676,-681.3997,-159.9307,0,11000,0,0,100,0),
+(@PATH,51,1078.617,-679.6107,-160.8951,0,1000,0,0,100,0),
+(@PATH,52,1081.279,-680.4371,-159.9548,0,1000,0,0,100,0),
+(@PATH,53,1078.764,-677.3422,-161.3203,0,1000,0,0,100,0),
+(@PATH,54,1080.66,-681.4279,-159.9294,0,2000,0,0,100,0),
+(@PATH,55,1080.101,-708.452,-154.2289,0,1000,0,0,100,0),
+(@PATH,56,1084.528,-731.8951,-151.0118,0,0,0,0,100,0),
+(@PATH,57,1093.696,-748.0836,-149.2619,0,0,0,0,100,0),
+(@PATH,58,1110.641,-738.1426,-146.5005,0,0,0,0,100,0),
+(@PATH,59,1115.694,-716.585,-144.6347,0,0,0,0,100,0),
+(@PATH,60,1148.22,-713.5815,-132.988,0,0,0,0,100,0),
+(@PATH,61,1161.699,-694.4932,-132.2003,0,0,0,0,100,0),
+(@PATH,62,1149.113,-669.7729,-130.3396,0,0,0,0,100,0),
+(@PATH,63,1142.684,-647.411,-131.9233,0,0,0,0,100,0),
+(@PATH,64,1142.684,-647.411,-131.9233,1.53589,60000,0,0,100,0);
+
+-- Pathing for Core Hound Entry: 11673 'TDB FORMAT'
+SET @NPC := 56676;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=820.1378,`position_y`=-991.096,`position_z`=-207.1345 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,820.1378,-991.096,-207.1345,0,0,0,0,100,0),
+(@PATH,2,815.0589,-979.8468,-208.6176,0,0,0,0,100,0),
+(@PATH,3,820.1378,-991.096,-207.1345,0,0,0,0,100,0),
+(@PATH,4,837.5117,-1001.866,-203.9284,0,0,0,0,100,0),
+(@PATH,5,875.2714,-1009.17,-195.7951,0,0,0,0,100,0),
+(@PATH,6,884.1406,-1024.13,-192.9333,0,0,0,0,100,0),
+(@PATH,7,875.2714,-1009.17,-195.7951,0,0,0,0,100,0),
+(@PATH,8,837.5117,-1001.866,-203.9284,0,0,0,0,100,0);
+
+-- Pathing for Baron Geddon Entry: 12056 'TDB FORMAT'
+SET @NPC := 56655;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=747.5466,`position_y`=-981.676,`position_z`=-178.401 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,747.5466,-981.676,-178.401,0,0,1,0,100,0),
+(@PATH,2,739.986,-953.2151,-185.7548,0,0,1,0,100,0),
+(@PATH,3,716.3201,-910.8809,-193.1546,0,0,1,0,100,0),
+(@PATH,4,701.403,-887.8356,-199.5063,0,0,1,0,100,0),
+(@PATH,5,675.8235,-847.7932,-208.2585,0,0,1,0,100,0),
+(@PATH,6,639.0753,-830.6404,-208.4202,0,0,1,0,100,0),
+(@PATH,7,611.1107,-828.0424,-207.401,0,0,1,0,100,0),
+(@PATH,8,591.2252,-811.5459,-205.4029,0,0,1,0,100,0),
+(@PATH,9,608.8426,-787.6771,-207.4771,0,0,1,0,100,0),
+(@PATH,10,643.6417,-778.0462,-208.7169,0,0,1,0,100,0),
+(@PATH,11,664.3234,-786.412,-208.9517,0,0,1,0,100,0),
+(@PATH,12,661.6707,-816.6882,-208.705,0,0,1,0,100,0),
+(@PATH,13,678.5975,-847.099,-208.2891,0,0,1,0,100,0),
+(@PATH,14,699.6382,-878.082,-201.5386,0,0,1,0,100,0),
+(@PATH,15,718.3248,-907.4992,-193.3159,0,0,1,0,100,0),
+(@PATH,16,740.3997,-949.3792,-186.3494,0,0,1,0,100,0),
+(@PATH,17,746.6027,-966.5585,-181.5636,0,0,1,0,100,0);
+
+-- Pathing for Shazzrah Entry: 12264 'TDB FORMAT'
+SET @NPC := 56608;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=587.3033,`position_y`=-801.9748,`position_z`=-205.1575 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,587.3033,-801.9748,-205.1575,0,0,0,0,100,0),
+(@PATH,2,588.8104,-806.2665,-205.0612,0,0,0,0,100,0),
+(@PATH,3,587.384,-811.3304,-205.1067,0,0,0,0,100,0),
+(@PATH,4,583.1524,-811.6958,-205.1573,0,0,0,0,100,0),
+(@PATH,5,579.2105,-806.6736,-205.2536,0,0,0,0,100,0),
+(@PATH,6,579.0768,-804.3456,-205.2396,0,0,0,0,100,0),
+(@PATH,7,580.0167,-800.6034,-205.4058,0,0,0,0,100,0),
+(@PATH,8,583.49,-799.7552,-205.3562,0,0,0,0,100,0);
+
+-- Pathing for Lucifron Entry: 12118 'TDB FORMAT'
+SET @NPC := 56605;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1037.022,`position_y`=-986.3419,`position_z`=-181.5163 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,1037.022,-986.3419,-181.5163,0,0,0,0,100,0),
+(@PATH,2,1053.15,-990.7546,-182.6615,0,0,0,0,100,0),
+(@PATH,3,1070.411,-1006.765,-185.5444,0,0,0,0,100,0),
+(@PATH,4,1053.299,-990.8936,-182.7192,0,0,0,0,100,0),
+(@PATH,5,1037.022,-986.3419,-181.5163,0,0,0,0,100,0),
+(@PATH,6,1014.705,-978.6508,-181.182,0,0,0,0,100,0),
+(@PATH,7,1007.782,-958.0884,-180.174,0,0,0,0,100,0),
+(@PATH,8,1000.203,-955.4069,-179.5825,0,0,0,0,100,0),
+(@PATH,9,1007.782,-958.0884,-180.174,0,0,0,0,100,0),
+(@PATH,10,1014.45,-978.5632,-181.1854,0,0,0,0,100,0);
+-- Lucifron formation fixup
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (56605);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(56605,56605,0,0,2,0,0),
+(56605,56606,4,90,2,3,8),
+(56605,56607,4,270,2,3,8);
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1035.672,`position_y`=-989.7419,`position_z`=-181.7763 WHERE `guid`=56606;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1038.512,`position_y`=-982.9519,`position_z`=-181.2578 WHERE `guid`=56607;
+DELETE FROM `waypoint_data` WHERE `id` IN (566060,566070);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56656;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1028.491,`position_y`=-908.0417,`position_z`=-161.3687 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,1028.491,-908.0417,-161.3687,0,0,1,0,100,0),
+(@PATH,2,1041.238,-888.9818,-158.3343,0,0,1,0,100,0),
+(@PATH,3,1061.057,-900.0848,-159.2599,0,0,1,0,100,0),
+(@PATH,4,1071.243,-893.1624,-156.4947,0,0,1,0,100,0),
+(@PATH,5,1041.238,-888.9818,-158.3343,0,0,1,0,100,0),
+(@PATH,6,1028.491,-908.0417,-161.3687,0,0,1,0,100,0),
+(@PATH,7,1008.565,-890.0919,-165.3463,0,0,1,0,100,0),
+(@PATH,8,980.3823,-904.361,-171.1376,0,0,1,0,100,0),
+(@PATH,9,966.753,-899.8453,-175.7252,0,0,1,0,100,0),
+(@PATH,10,957.4196,-885.538,-173.7588,0,0,1,0,100,0),
+(@PATH,11,980.3823,-904.361,-171.1376,0,0,1,0,100,0),
+(@PATH,12,1008.565,-890.0919,-165.3463,0,0,1,0,100,0);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56657;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=748.5151,`position_y`=-725.4263,`position_z`=-211.9395 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,748.5151,-725.4263,-211.9395,0,0,1,0,100,0),
+(@PATH,2,739.7422,-763.3509,-218.9724,0,0,1,0,100,0),
+(@PATH,3,737.3899,-809.9995,-225.6305,0,0,1,0,100,0),
+(@PATH,4,745.2436,-850.8501,-223.6281,0,0,1,0,100,0),
+(@PATH,5,737.3899,-809.9995,-225.6305,0,0,1,0,100,0),
+(@PATH,6,739.7422,-763.3509,-218.9724,0,0,1,0,100,0),
+(@PATH,7,748.5151,-725.4263,-211.9395,0,0,1,0,100,0),
+(@PATH,8,764.8676,-686.4996,-212.5972,0,0,1,0,100,0);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56658;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=975.5094,`position_y`=-589.3787,`position_z`=-203.781 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,975.5094,-589.3787,-203.781,0,0,1,0,100,0),
+(@PATH,2,958.4057,-595.7327,-203.9931,0,0,1,0,100,0),
+(@PATH,3,950.7159,-608.6719,-202.882,0,0,1,0,100,0),
+(@PATH,4,957.0149,-625.9316,-203.259,0,0,1,0,100,0),
+(@PATH,5,980.0177,-632.2986,-203.5142,0,0,1,0,100,0),
+(@PATH,6,990.2437,-625.777,-200.7675,0,0,1,0,100,0),
+(@PATH,7,998.6928,-609.5692,-202.0619,0,0,1,0,100,0),
+(@PATH,8,989.8893,-595.9269,-203.2261,0,0,1,0,100,0);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56659;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=864.6398,`position_y`=-983.1211,`position_z`=-199.6699 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,864.6398,-983.1211,-199.6699,0,0,1,0,100,0),
+(@PATH,2,875.8871,-1014.841,-194.9043,0,0,1,0,100,0),
+(@PATH,3,891.3988,-1050.081,-187.1399,0,0,1,0,100,0),
+(@PATH,4,891.1622,-1067.062,-182.6621,0,0,1,0,100,0),
+(@PATH,5,883.1496,-1090.733,-176.0342,0,0,1,0,100,0),
+(@PATH,6,870.0406,-1110.407,-169.6678,0,0,1,0,100,0),
+(@PATH,7,855.7172,-1121.873,-161.9807,0,0,1,0,100,0),
+(@PATH,8,839.0113,-1128.492,-156.5452,0,0,1,0,100,0),
+(@PATH,9,819.8719,-1143.5,-153.6145,0,0,1,0,100,0),
+(@PATH,10,809.326,-1150.683,-152.5631,0,0,1,0,100,0),
+(@PATH,11,791.812,-1152.45,-150.4214,0,0,1,0,100,0),
+(@PATH,12,787.2233,-1123.192,-150.5524,0,0,1,0,100,0),
+(@PATH,13,757.2313,-1129.672,-145.1273,0,0,1,0,100,0),
+(@PATH,14,723.393,-1106.211,-143.0938,0,0,1,0,100,0),
+(@PATH,15,701.5763,-1137.426,-135.6903,0,0,1,0,100,0),
+(@PATH,16,666.1591,-1162.693,-126.0165,0,0,1,0,100,0),
+(@PATH,17,693.4008,-1186.742,-120.9137,0,0,1,0,100,0),
+(@PATH,18,717.1637,-1193.438,-118.9491,0,0,1,0,100,0),
+(@PATH,19,736.2715,-1211.634,-118.8998,0,0,1,0,100,0),
+(@PATH,20,759.3818,-1228.879,-119.2757,0,0,1,0,100,0),
+(@PATH,21,736.2715,-1211.634,-118.8998,0,0,1,0,100,0),
+(@PATH,22,717.1637,-1193.438,-118.9491,0,0,1,0,100,0),
+(@PATH,23,693.4008,-1186.742,-120.9137,0,0,1,0,100,0),
+(@PATH,24,666.1591,-1162.693,-126.0165,0,0,1,0,100,0),
+(@PATH,25,701.5763,-1137.426,-135.6903,0,0,1,0,100,0),
+(@PATH,26,723.393,-1106.211,-143.0938,0,0,1,0,100,0),
+(@PATH,27,757.2313,-1129.672,-145.1273,0,0,1,0,100,0),
+(@PATH,28,787.2233,-1123.192,-150.5524,0,0,1,0,100,0),
+(@PATH,29,791.812,-1152.45,-150.4214,0,0,1,0,100,0),
+(@PATH,30,809.326,-1150.683,-152.5631,0,0,1,0,100,0),
+(@PATH,31,819.8719,-1143.5,-153.6145,0,0,1,0,100,0),
+(@PATH,32,839.0113,-1128.492,-156.5452,0,0,1,0,100,0),
+(@PATH,33,855.7172,-1121.873,-161.9807,0,0,1,0,100,0),
+(@PATH,34,870.0406,-1110.407,-169.6678,0,0,1,0,100,0),
+(@PATH,35,883.1496,-1090.733,-176.0342,0,0,1,0,100,0),
+(@PATH,36,891.1622,-1067.062,-182.6621,0,0,1,0,100,0),
+(@PATH,37,891.3988,-1050.081,-187.1399,0,0,1,0,100,0),
+(@PATH,38,875.8871,-1014.841,-194.9043,0,0,1,0,100,0),
+(@PATH,39,864.6398,-983.1211,-199.6699,0,0,1,0,100,0);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56660;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=912.38,`position_y`=-812.9961,`position_z`=-227.3731 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,912.38,-812.9961,-227.3731,0,0,1,0,100,0),
+(@PATH,2,917.8469,-848.5494,-219.4701,0,0,1,0,100,0),
+(@PATH,3,913.7874,-875.5369,-214.22,0,0,1,0,100,0),
+(@PATH,4,890.5936,-905.0054,-222.0683,0,0,1,0,100,0),
+(@PATH,5,860.6026,-921.1229,-225.7609,0,0,1,0,100,0),
+(@PATH,6,816.981,-920.8954,-225.8454,0,0,1,0,100,0),
+(@PATH,7,782.662,-911.1868,-222.6471,0,0,1,0,100,0),
+(@PATH,8,816.9766,-920.8942,-225.8542,0,0,1,0,100,0),
+(@PATH,9,860.6026,-921.1229,-225.7609,0,0,1,0,100,0),
+(@PATH,10,890.5936,-905.0054,-222.0683,0,0,1,0,100,0),
+(@PATH,11,913.7874,-875.5369,-214.22,0,0,1,0,100,0),
+(@PATH,12,917.8469,-848.5494,-219.4701,0,0,1,0,100,0),
+(@PATH,13,912.38,-812.9961,-227.3731,0,0,1,0,100,0),
+(@PATH,14,909.2687,-788.947,-226.9377,0,0,1,0,100,0),
+(@PATH,15,895.7159,-764.4568,-224.3548,0,0,1,0,100,0),
+(@PATH,16,879.3519,-761.3517,-224.0491,0,0,1,0,100,0),
+(@PATH,17,865.0396,-765.1099,-224.75,0,0,1,0,100,0),
+(@PATH,18,884.0205,-803.6951,-226.6926,0,0,1,0,100,0),
+(@PATH,19,889.6862,-825.1835,-227.3351,0,0,1,0,100,0),
+(@PATH,20,865.6118,-779.7151,-225.9819,0,0,1,0,100,0),
+(@PATH,21,865.0396,-765.1099,-224.75,0,0,1,0,100,0),
+(@PATH,22,879.3519,-761.3517,-224.0491,0,0,1,0,100,0),
+(@PATH,23,895.7159,-764.4568,-224.3548,0,0,1,0,100,0),
+(@PATH,24,909.2687,-788.947,-226.9377,0,0,1,0,100,0);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56661;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1031.916,`position_y`=-889.574,`position_z`=-160.0134 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,1031.916,-889.574,-160.0134,0,0,1,0,100,0),
+(@PATH,2,1069.734,-893.855,-156.7931,0,0,1,0,100,0),
+(@PATH,3,1031.916,-889.574,-160.0134,0,0,1,0,100,0),
+(@PATH,4,996.8139,-897.9012,-168.1947,0,0,1,0,100,0),
+(@PATH,5,962.845,-884.6795,-173.6825,0,0,1,0,100,0),
+(@PATH,6,987.062,-893.2951,-169.7379,0,0,1,0,100,0),
+(@PATH,7,1001.684,-886.9771,-167.0547,0,0,1,0,100,0),
+(@PATH,8,1008.282,-863.9785,-164.7876,0,0,1,0,100,0),
+(@PATH,9,987.062,-893.2951,-169.7379,0,0,1,0,100,0),
+(@PATH,10,962.845,-884.6795,-173.6825,0,0,1,0,100,0),
+(@PATH,11,996.8139,-897.9012,-168.1947,0,0,1,0,100,0);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56662;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1068.962,`position_y`=-696.559,`position_z`=-157.781 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,1068.962,-696.559,-157.781,0,0,1,0,100,0),
+(@PATH,2,1053.966,-737.0459,-151.7794,0,0,1,0,100,0),
+(@PATH,3,1059.624,-760.5685,-151.586,0,0,1,0,100,0),
+(@PATH,4,1084.683,-739.8831,-150.7728,0,0,1,0,100,0),
+(@PATH,5,1099.292,-778.5201,-151.1692,0,0,1,0,100,0),
+(@PATH,6,1125.305,-739.6833,-142.7612,0,0,1,0,100,0),
+(@PATH,7,1159.508,-719.2535,-133.2384,0,0,1,0,100,0),
+(@PATH,8,1192.168,-686.1762,-128.7967,0,0,1,0,100,0),
+(@PATH,9,1211.332,-653.7628,-127.9139,0,0,1,0,100,0),
+(@PATH,10,1187.516,-611.0389,-121.1588,0,0,1,0,100,0),
+(@PATH,11,1148.847,-599.9906,-114.898,0,0,1,0,100,0),
+(@PATH,12,1187.516,-611.0389,-121.1588,0,0,1,0,100,0),
+(@PATH,13,1211.332,-653.7628,-127.9139,0,0,1,0,100,0),
+(@PATH,14,1192.168,-686.1762,-128.7967,0,0,1,0,100,0),
+(@PATH,15,1159.508,-719.2535,-133.2384,0,0,1,0,100,0),
+(@PATH,16,1125.392,-739.6312,-142.7302,0,0,1,0,100,0),
+(@PATH,17,1099.292,-778.5201,-151.1692,0,0,1,0,100,0),
+(@PATH,18,1084.683,-739.8831,-150.7728,0,0,1,0,100,0),
+(@PATH,19,1059.654,-760.5442,-151.592,0,0,1,0,100,0),
+(@PATH,20,1053.966,-737.0459,-151.7794,0,0,1,0,100,0),
+(@PATH,21,1068.962,-696.559,-157.781,0,0,1,0,100,0),
+(@PATH,22,1046.413,-674.9515,-169.5157,0,0,1,0,100,0),
+(@PATH,23,1023.84,-646.451,-189.8513,0,0,1,0,100,0),
+(@PATH,24,1046.413,-674.9515,-169.5157,0,0,1,0,100,0);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56664;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=759.9225,`position_y`=-689.7131,`position_z`=-212.5623 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,759.9225,-689.7131,-212.5623,0,0,1,0,100,0),
+(@PATH,2,779.0322,-680.1849,-213.9095,0,0,1,0,100,0),
+(@PATH,3,800.4368,-665.5578,-208.9407,0,0,1,0,100,0),
+(@PATH,4,807.4164,-656.269,-206.1155,0,0,1,0,100,0),
+(@PATH,5,779.0322,-680.1849,-213.9095,0,0,1,0,100,0),
+(@PATH,6,759.9225,-689.7131,-212.5623,0,0,1,0,100,0),
+(@PATH,7,753.9745,-704.1632,-211.753,0,0,1,0,100,0),
+(@PATH,8,758.8966,-684.4725,-212.381,0,0,1,0,100,0),
+(@PATH,9,780.8896,-669.565,-211.4591,0,0,1,0,100,0),
+(@PATH,10,791.4582,-652.981,-207.6324,0,0,1,0,100,0),
+(@PATH,11,758.8966,-684.4725,-212.381,0,0,1,0,100,0),
+(@PATH,12,753.9745,-704.1632,-211.753,0,0,1,0,100,0);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56665;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1035.173,`position_y`=-854.7958,`position_z`=-158.8589 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,1035.173,-854.7958,-158.8589,0,0,1,0,100,0),
+(@PATH,2,1057.385,-862.5274,-159.6177,0,0,1,0,100,0),
+(@PATH,3,995.0676,-853.4235,-165.4317,0,0,1,0,100,0);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56740;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=667.9337,`position_y`=-1066.047,`position_z`=-188.3889 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,667.9337,-1066.047,-188.3889,0,0,1,0,100,0),
+(@PATH,2,619.8726,-1066.64,-199.7958,0,0,1,0,100,0),
+(@PATH,3,613.3337,-1099.887,-198.7582,0,0,1,0,100,0),
+(@PATH,4,591.3667,-1135.207,-200.2088,0,0,1,0,100,0),
+(@PATH,5,578.8029,-1173.733,-194.7558,0,0,1,0,100,0),
+(@PATH,6,591.5503,-1192.438,-195.7943,0,0,1,0,100,0),
+(@PATH,7,608.195,-1194.054,-195.7651,0,0,1,0,100,0),
+(@PATH,8,623.8442,-1186.21,-195.8348,0,0,1,0,100,0),
+(@PATH,9,628.4896,-1171.869,-194.5435,0,0,1,0,100,0),
+(@PATH,10,628.3709,-1151.011,-197.0152,0,0,1,0,100,0),
+(@PATH,11,626.806,-1131.724,-200.8709,0,0,1,0,100,0),
+(@PATH,12,645.6395,-1106.676,-196.4797,0,0,1,0,100,0);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56741;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1055.823,`position_y`=-833.2653,`position_z`=-154.468 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,1055.823,-833.2653,-154.468,0,0,0,0,100,0),
+(@PATH,2,1032.143,-826.1788,-154.2626,0,0,0,0,100,0),
+(@PATH,3,1015.666,-808.7546,-148.7213,0,0,0,0,100,0),
+(@PATH,4,1032.143,-826.1788,-154.2626,0,0,0,0,100,0);
+
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56789;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=679.1953,`position_y`=-847.3836,`position_z`=-208.2482 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,679.1953,-847.3836,-208.2482,0,0,1,0,100,0),
+(@PATH,2,676.7046,-829.8509,-208.8353,0,0,1,0,100,0),
+(@PATH,3,665.002,-813.2372,-208.774,0,0,1,0,100,0),
+(@PATH,4,681.6021,-776.7833,-209.1657,0,0,1,0,100,0),
+(@PATH,5,686.1985,-738.5436,-209.2948,0,0,1,0,100,0),
+(@PATH,6,707.9111,-711.0708,-209.5187,0,0,1,0,100,0),
+(@PATH,7,708.2624,-692.8405,-209.5718,0,0,1,0,100,0),
+(@PATH,8,690.2739,-662.6287,-209.6574,0,0,1,0,100,0),
+(@PATH,9,708.2625,-692.8368,-209.5175,0,0,1,0,100,0),
+(@PATH,10,707.9111,-711.0708,-209.5187,0,0,1,0,100,0),
+(@PATH,11,686.1985,-738.5436,-209.2948,0,0,1,0,100,0),
+(@PATH,12,681.6021,-776.7833,-209.1657,0,0,1,0,100,0),
+(@PATH,13,665.002,-813.2372,-208.774,0,0,1,0,100,0),
+(@PATH,14,676.7046,-829.8509,-208.8353,0,0,1,0,100,0),
+(@PATH,15,679.1953,-847.3836,-208.2482,0,0,1,0,100,0),
+(@PATH,16,696.5482,-855.4606,-206.0954,0,0,1,0,100,0),
+(@PATH,17,710.7119,-882.6242,-198.953,0,0,1,0,100,0),
+(@PATH,18,714.8118,-907.6405,-193.7685,0,0,1,0,100,0),
+(@PATH,19,735.3042,-937.3447,-188.4066,0,0,1,0,100,0),
+(@PATH,20,714.8118,-907.6405,-193.7685,0,0,1,0,100,0),
+(@PATH,21,710.7119,-882.6242,-198.953,0,0,1,0,100,0),
+(@PATH,22,697.0541,-866.1818,-204.0854,0,0,1,0,100,0);
diff --git a/sql/updates/world/2015_11_05_10_world_2015_10_11_04.sql b/sql/updates/world/2015_11_05_10_world_2015_10_11_04.sql
new file mode 100644
index 00000000000..17664992c98
--- /dev/null
+++ b/sql/updates/world/2015_11_05_10_world_2015_10_11_04.sql
@@ -0,0 +1,2 @@
+-- Lothos Riftwaker SAI Spell fix
+UPDATE `smart_scripts` SET `action_param2`=2 WHERE `entryorguid`=14387;
diff --git a/sql/updates/world/2015_11_05_11_world_2015_10_12_00.sql b/sql/updates/world/2015_11_05_11_world_2015_10_12_00.sql
new file mode 100644
index 00000000000..122dba5d4db
--- /dev/null
+++ b/sql/updates/world/2015_11_05_11_world_2015_10_12_00.sql
@@ -0,0 +1,16 @@
+--
+DELETE FROM `gameobject` WHERE `guid` IN (5514,5515,5516,5517,5518,5519,5520,5521,5522,5523,5524,5525,5526,5527,5528);
+INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `VerifiedBuild`) VALUES
+(5514, 191517, 571, 0, 0, 1, 169, 6255.64, -1185.84, 425.924, 2.12057, 0, 0, 0, 1, 300, 100, 1, 0),
+(5515, 1732, 0, 0, 0, 1, 169, -9255, -2735, 89.702, 0.436, 0, 0, 0.216439, 0.976296, 900, 100, 1, 0),
+(5516, 1732, 0, 0, 0, 1, 169, -3149, -3275, 63.632, 0.262, 0, 0, 0, 0, 900, 100, 1, 0),
+(5518, 1732, 0, 0, 0, 1, 169, -9853.86, 1406.45, 38.028, 1.826, 0, 0, 0.95848, 0.285161, 900, 100, 1, 0),
+(5519, 1732, 0, 0, 0, 1, 169, -9835.8, 1394.81, 38.405, 0.106, 0, 0, 0, 0, 900, 100, 1, 0),
+(5520, 1732, 0, 0, 0, 1, 169, -9854.17, 1391.69, 38.7294, 3.244, 0, 0, 0, 0, 900, 100, 1, 0),
+(5522, 1732, 1, 0, 0, 1, 169, -1521, 1964.46, 67.374, 1.85, 0, 0, 0.798635, 0.601815, 900, 100, 1, 0),
+(5523, 1732, 0, 0, 0, 1, 169, -9847.12, 1399.89, 37.1306, 3.397, 0, 0, 0.95848, 0.285161, 900, 100, 1, 0),
+(5524, 1732, 0, 0, 0, 1, 169, -1123, -1277, 66.215, 3.817, 0, 0, 0.943491, -0.331398, 900, 100, 1, 0),
+(5525, 1732, 1, 0, 0, 1, 169, 2508.13, -1446, 172.044, -2, 0, 0, 0, 0, 900, 100, 1, 0),
+(5526, 2054, 0, 0, 0, 1, 169, -8850, -1905, 125.96, 4.143, 0, 0, 0, 0, 900, 100, 1, 0),
+(5527, 1732, 0, 0, 0, 1, 169, -9828, 1415.7, 37.242, 2.663, 0, 0, 0, 0, 900, 100, 1, 0),
+(5528, 1732, 0, 0, 0, 1, 169, -9843, 1386.87, 39.012, 4.783, 0, 0, 0, 0, 900, 100, 1, 0);
diff --git a/sql/updates/world/2015_11_06_00_world_2015_10_11_00.sql b/sql/updates/world/2015_11_06_00_world_2015_10_11_00.sql
new file mode 100644
index 00000000000..dbad0438ed3
--- /dev/null
+++ b/sql/updates/world/2015_11_06_00_world_2015_10_11_00.sql
@@ -0,0 +1,2 @@
+--
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (29865,-29865,55053,-55053);
diff --git a/sql/updates/world/2015_11_06_01_world_2015_10_14_01.sql b/sql/updates/world/2015_11_06_01_world_2015_10_14_01.sql
new file mode 100644
index 00000000000..5b72a9af236
--- /dev/null
+++ b/sql/updates/world/2015_11_06_01_world_2015_10_14_01.sql
@@ -0,0 +1,34 @@
+-- Pathing for Lava Surger Entry: 12101 'TDB FORMAT'
+SET @NPC := 56666;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=679.1953,`position_y`=-847.3836,`position_z`=-208.2482 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,679.1953,-847.3836,-208.2482,0,0,1,0,100,0),
+(@PATH,2,676.7046,-829.8509,-208.8353,0,0,1,0,100,0),
+(@PATH,3,665.002,-813.2372,-208.774,0,0,1,0,100,0),
+(@PATH,4,681.6021,-776.7833,-209.1657,0,0,1,0,100,0),
+(@PATH,5,686.1985,-738.5436,-209.2948,0,0,1,0,100,0),
+(@PATH,6,707.9111,-711.0708,-209.5187,0,0,1,0,100,0),
+(@PATH,7,708.2624,-692.8405,-209.5718,0,0,1,0,100,0),
+(@PATH,8,690.2739,-662.6287,-209.6574,0,0,1,0,100,0),
+(@PATH,9,708.2625,-692.8368,-209.5175,0,0,1,0,100,0),
+(@PATH,10,707.9111,-711.0708,-209.5187,0,0,1,0,100,0),
+(@PATH,11,686.1985,-738.5436,-209.2948,0,0,1,0,100,0),
+(@PATH,12,681.6021,-776.7833,-209.1657,0,0,1,0,100,0),
+(@PATH,13,665.002,-813.2372,-208.774,0,0,1,0,100,0),
+(@PATH,14,676.7046,-829.8509,-208.8353,0,0,1,0,100,0),
+(@PATH,15,679.1953,-847.3836,-208.2482,0,0,1,0,100,0),
+(@PATH,16,696.5482,-855.4606,-206.0954,0,0,1,0,100,0),
+(@PATH,17,710.7119,-882.6242,-198.953,0,0,1,0,100,0),
+(@PATH,18,714.8118,-907.6405,-193.7685,0,0,1,0,100,0),
+(@PATH,19,735.3042,-937.3447,-188.4066,0,0,1,0,100,0),
+(@PATH,20,714.8118,-907.6405,-193.7685,0,0,1,0,100,0),
+(@PATH,21,710.7119,-882.6242,-198.953,0,0,1,0,100,0),
+(@PATH,22,697.0541,-866.1818,-204.0854,0,0,1,0,100,0);
+
+UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=696.6885,`position_y`=-852.352,`position_z`=-206.5962,`orientation`=3.674797 WHERE `guid`=56789;
+DELETE FROM `creature_addon` WHERE `guid`=56789;
+DELETE FROM `waypoint_data` WHERE `id`=567890;
diff --git a/sql/updates/world/2015_11_06_02_world_2015_10_14_02.sql b/sql/updates/world/2015_11_06_02_world_2015_10_14_02.sql
new file mode 100644
index 00000000000..44b00fceb04
--- /dev/null
+++ b/sql/updates/world/2015_11_06_02_world_2015_10_14_02.sql
@@ -0,0 +1,5 @@
+--
+DELETE FROM `creature_addon` WHERE `guid` IN (56606,56607);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(56606,566050,0,0,1,0, ''),
+(56607,566050,0,0,1,0, '');
diff --git a/sql/updates/world/2015_11_06_03_world_2015_10_14_03.sql b/sql/updates/world/2015_11_06_03_world_2015_10_14_03.sql
new file mode 100644
index 00000000000..e91d340d043
--- /dev/null
+++ b/sql/updates/world/2015_11_06_03_world_2015_10_14_03.sql
@@ -0,0 +1,7 @@
+--
+-- Fix up some errors in Vekniss Hive Crawler Entry: 15240 pathing
+UPDATE `creature` SET `position_x`=-8259.721,`position_y`=1343.373,`position_z`=-84.4428 WHERE `guid`=87942;
+UPDATE `creature` SET `position_x`=-8524.316,`position_y`=1389.612,`position_z`=-57.2656 WHERE `guid`=87944;
+DELETE FROM `creature_addon` WHERE `guid` IN (87940,87942,87944);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(87940,879390,0,0,1,0, ''),(87942,879410,0,0,1,0, ''),(87944,879430,0,0,1,0, '');
diff --git a/sql/updates/world/2015_11_06_04_world_2015_10_14_04.sql b/sql/updates/world/2015_11_06_04_world_2015_10_14_04.sql
new file mode 100644
index 00000000000..70585dfb213
--- /dev/null
+++ b/sql/updates/world/2015_11_06_04_world_2015_10_14_04.sql
@@ -0,0 +1,781 @@
+--
+-- Add missing critters to AQ40
+SET @CGUID := 87830;
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+62;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 4076, 531, 1, 1, -7993.61, 1277.031, -73.53455, 1.856409, 7200, 5, 1),
+(@CGUID+1, 4076, 531, 1, 1, -8071.965, 1231.468, -91.46188, 1.903564, 7200, 5, 1),
+(@CGUID+2, 4076, 531, 1, 1, -8308.057, 1858.822, -1.610428, 5.606663, 7200, 5, 1),
+(@CGUID+3, 4076, 531, 1, 1, -8414.608, 2051.612, 9.279689, 3.343741, 7200, 5, 1),
+(@CGUID+4, 4076, 531, 1, 1, -8416.188, 2076.555, 116.1282, 2.943876, 7200, 5, 1),
+(@CGUID+5, 4076, 531, 1, 1, -8430.81, 2030.658, 116.1034, 4.016187, 7200, 5, 1),
+(@CGUID+6, 4076, 531, 1, 1, -8693.907, 1563.222, -80.14254, 3.734258, 7200, 5, 1),
+(@CGUID+7, 4076, 531, 1, 1, -8710.091, 1659.989, -84.65031, 5.40056, 7200, 5, 1),
+(@CGUID+8, 4076, 531, 1, 1, -8855.175, 1535.051, -95.46984, 1.537807, 7200, 5, 1),
+(@CGUID+9, 4076, 531, 1, 1, -8869.176, 1416.73, -93.07328, 5.271091, 7200, 5, 1),
+(@CGUID+10, 4076, 531, 1, 1, -8904.052, 1863.421, -21.88551, 1.61788, 7200, 5, 1),
+(@CGUID+11, 4076, 531, 1, 1, -9068.005, 1884.902, -43.82254, 2.850689, 7200, 5, 1),
+(@CGUID+12, 4076, 531, 1, 1, -9117.436, 1379.472, -106.4541, 5.968285, 7200, 5, 1),
+(@CGUID+13, 4076, 531, 1, 1, -9174.12, 2027.797, -60.80634, 0.08407046, 7200, 5, 1),
+(@CGUID+14, 4076, 531, 1, 1, -9184.257, 1699.096, -50.83805, 3.615798, 7200, 5, 1),
+(@CGUID+15, 15475, 531, 1, 1, -7914.396, 1445.457, -67.39938, 3.58752, 7200, 5, 1),
+(@CGUID+16, 15475, 531, 1, 1, -7953.215, 1524.226, -62.41693, 3.258193, 7200, 5, 1),
+(@CGUID+17, 15475, 531, 1, 1, -8012.04, 1604.964, -59.16104, 1.007754, 7200, 5, 1),
+(@CGUID+18, 15475, 531, 1, 1, -8034.017, 1565.151, -65.11945, 1.29113, 7200, 5, 1),
+(@CGUID+19, 15475, 531, 1, 1, -8039.968, 1175.328, -90.4319, 1.981047, 7200, 5, 1),
+(@CGUID+20, 15475, 531, 1, 1, -8101.441, 1152.044, -90.54535, 1.581657, 7200, 5, 1),
+(@CGUID+21, 15475, 531, 1, 1, -8108.146, 1662.778, -48.41492, 3.097694, 7200, 5, 1),
+(@CGUID+22, 15475, 531, 1, 1, -8298.537, 1722.821, -16.17212, 4.068121, 7200, 5, 1),
+(@CGUID+23, 15475, 531, 1, 1, -8371.146, 2061.964, 9.355958, 0.2580761, 7200, 5, 1),
+(@CGUID+24, 15475, 531, 1, 1, -8386.911, 1898.422, 2.752187, 6.2749, 7200, 5, 1),
+(@CGUID+25, 15475, 531, 1, 1, -8432.691, 2079.264, 116.1293, 0.4680386, 7200, 5, 1),
+(@CGUID+26, 15475, 531, 1, 1, -8492.966, 1962.474, 62.38858, 4.436271, 7200, 5, 1),
+(@CGUID+27, 15475, 531, 1, 1, -8557.565, 2140.73, -6.423177, 1.536374, 7200, 5, 1),
+(@CGUID+28, 15475, 531, 1, 1, -8558.164, 1398.536, -61.02413, 1.319915, 7200, 5, 1),
+(@CGUID+29, 15475, 531, 1, 1, -8586.941, 1998.362, -1.80591, 3.095486, 7200, 5, 1),
+(@CGUID+30, 15475, 531, 1, 1, -8606.187, 1636.149, -89.51112, 2.737563, 7200, 5, 1),
+(@CGUID+31, 15475, 531, 1, 1, -8627.807, 1908.553, 108.5656, 3.843493, 7200, 5, 1),
+(@CGUID+32, 15475, 531, 1, 1, -8943.605, 1438.669, -92.41223, 3.784467, 7200, 5, 1),
+(@CGUID+33, 15475, 531, 1, 1, -9096.328, 2109.297, -60.5332, 5.777769, 7200, 5, 1),
+(@CGUID+34, 15475, 531, 1, 1, -9116.301, 1796.602, -42.21427, 1.827075, 7200, 5, 1),
+(@CGUID+35, 15475, 531, 1, 1, -9118.708, 2143.711, -62.06357, 2.151066, 7200, 5, 1),
+(@CGUID+36, 15475, 531, 1, 1, -9142.719, 2103.468, -65.14211, 1.267552, 7200, 5, 1),
+(@CGUID+37, 15475, 531, 1, 1, -9180.303, 1493.747, -94.91629, 0.3170593, 7200, 5, 1),
+(@CGUID+38, 15475, 531, 1, 1, -9196.674, 2084.258, -63.99967, 2.517623, 7200, 5, 1),
+(@CGUID+39, 15475, 531, 1, 1, -9234.575, 2114.615, -66.58328, 3.193953, 7200, 5, 1),
+(@CGUID+40, 15476, 531, 1, 1, -7921.302, 1372.589, -75.91825, 4.972216, 7200, 5, 1),
+(@CGUID+41, 15476, 531, 1, 1, -8125.222, 1185.706, -90.46516, 3.404643, 7200, 5, 1),
+(@CGUID+42, 15476, 531, 1, 1, -8136.203, 1621.301, -45.78866, 0.4527432, 7200, 5, 1),
+(@CGUID+43, 15476, 531, 1, 1, -8219.493, 1287.494, -90.73062, 5.135323, 7200, 5, 1),
+(@CGUID+44, 15476, 531, 1, 1, -8231.996, 1730.547, -23.7835, 1.56798, 7200, 5, 1),
+(@CGUID+45, 15476, 531, 1, 1, -8282.225, 1654.54, -30.92528, 3.785695, 7200, 5, 1),
+(@CGUID+46, 15476, 531, 1, 1, -8343.887, 1800.739, -1.62698, 0.4436055, 7200, 5, 1),
+(@CGUID+47, 15476, 531, 1, 1, -8354.889, 1950.469, -1.990107, 2.945138, 7200, 5, 1),
+(@CGUID+48, 15476, 531, 1, 1, -8402.777, 2032.242, 116.1043, 1.83938, 7200, 5, 1),
+(@CGUID+49, 15476, 531, 1, 1, -8530.837, 1987.527, 19.45868, 1.684378, 7200, 5, 1),
+(@CGUID+50, 15476, 531, 1, 1, -8571.373, 1981.646, -2.622002, 1.976356, 7200, 5, 1),
+(@CGUID+51, 15476, 531, 1, 1, -8584.706, 2161.053, -6.459295, 1.208772, 7200, 5, 1),
+(@CGUID+52, 15476, 531, 1, 1, -8604.21, 2111.618, -5.873696, 1.306837, 7200, 5, 1),
+(@CGUID+53, 15476, 531, 1, 1, -8786.167, 1550.577, -94.0428, 4.411382, 7200, 5, 1),
+(@CGUID+54, 15476, 531, 1, 1, -8795.048, 1985.752, -20.00344, 4.738873, 7200, 5, 1),
+(@CGUID+55, 15476, 531, 1, 1, -8902.53, 1530.709, -94.36566, 4.301609, 7200, 5, 1),
+(@CGUID+56, 15476, 531, 1, 1, -9003.465, 1871.428, -42.74734, 5.304233, 7200, 5, 1),
+(@CGUID+57, 15476, 531, 1, 1, -9087.258, 1473.547, -105.3523, 0.5530397, 7200, 5, 1),
+(@CGUID+58, 15476, 531, 1, 1, -9107.258, 2057.86, -61.6295, 2.819984, 7200, 5, 1),
+(@CGUID+59, 15476, 531, 1, 1, -9163.185, 2056.463, -63.7112, 3.981431, 7200, 5, 1),
+(@CGUID+60, 15476, 531, 1, 1, -9207.206, 2138.979, -67.99921, 3.086965, 7200, 5, 1),
+(@CGUID+61, 15476, 531, 1, 1, -9223.008, 2041.489, -62.08887, 0.8683821, 7200, 5, 1),
+(@CGUID+62, 15476, 531, 1, 1, -9243.944, 2079.562, -64.68581, 1.411943, 7200, 5, 1);
+
+-- Ahn'Qiraj Trigger
+SET @CGUID := 87639;
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+6;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 15426, 531, 1, 1, -8336.388, 2176.261, 127.9972, 2.129302, 7200, 0, 0),
+(@CGUID+1, 15426, 531, 1, 1, -8163.713, 2179.064, 130.4213, 5.51524, 7200, 0, 0),
+(@CGUID+2, 15426, 531, 1, 1, -8313.152, 2045.799, 137.8285, 4.18879, 7200, 0, 0),
+(@CGUID+3, 15426, 531, 1, 1, -8651.198, 2071.601, 20.505, 2.495821, 7200, 0, 0),
+(@CGUID+4, 15426, 531, 1, 1, -8337.532, 1731.16, 31.24248, 5.951573, 7200, 0, 0),
+(@CGUID+5, 15426, 531, 1, 1, -7994.346, 1000.059, 2.599343, 2.600541, 7200, 0, 0),
+(@CGUID+6, 15426, 531, 1, 1, -8983.974, 1392.379, -82.83119, 3.630285, 7200, 0, 0);
+
+-- OLDWorld Trigger (DO NOT DELETE)
+SET @CGUID := 87646;
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+1;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 15384, 531, 1, 1, -8546.249, 1987.516, -96.43676, 0.3316126, 7200, 0, 0),
+(@CGUID+1, 15384, 531, 1, 1, -8576.694, 1987.583, 100.3037, 0.4712389, 7200, 0, 0);
+
+-- Anubisath Warder
+SET @CGUID := 87654;
+DELETE FROM `creature` WHERE `guid` IN (88020,88021,88064);
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+3;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 15311, 531, 1, 1, -8909.497, 1860.686, -22.37387, 3.176499, 7200, 0, 0),
+(@CGUID+1, 15311, 531, 1, 1, -8997.906, 1920.162, -43.96503, 4.29351, 7200, 0, 0),
+(@CGUID+2, 15311, 531, 1, 1, -9083.562, 1767.909, -42.79126, 3.228859, 7200, 0, 0),
+(@CGUID+3, 15311, 531, 1, 1, -9133.911, 1813.15, -42.73888, 5.131268, 7200, 0, 0);
+
+-- Obsidian Nullifier
+SET @CGUID := 88022;
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+7;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 15312, 531, 1, 1, -8913.266, 1875.202, -22.02199, 3.176499, 7200, 0, 0),
+(@CGUID+1, 15312, 531, 1, 1, -8918.995, 1846.376, -23.08899, 2.617994, 7200, 0, 0),
+(@CGUID+2, 15312, 531, 1, 1, -8995.444, 1903.269, -41.87885, 3.752458, 7200, 0, 0),
+(@CGUID+3, 15312, 531, 1, 1, -9016.395, 1920.327, -44.30135, 4.572762, 7200, 0, 0),
+(@CGUID+4, 15312, 531, 1, 1, -9087.13, 1781.5, -42.47464, 3.577925, 7200, 0, 0),
+(@CGUID+5, 15312, 531, 1, 1, -9090.95, 1755.96, -41.99282, 2.86234, 7200, 0, 0),
+(@CGUID+6, 15312, 531, 1, 1, -9122.171, 1809.711, -42.50865, 4.433136, 7200, 0, 0),
+(@CGUID+7, 15312, 531, 1, 1, -9140.379, 1802.046, -42.01139, 5.480334, 7200, 0, 0);
+
+-- Pathing for OLDWorld Trigger (DO NOT DELETE) Entry: 15384 'TDB FORMAT'
+SET @NPC := 87647;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8577.317,`position_y`=1988.112,`position_z`=101.2204 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8577.317,1988.112,101.2204,0,0,0,0,100,0),
+(@PATH,2,-8578.001,1987.128,101.2204,0,0,0,0,100,0);
+
+DELETE FROM `creature_template_addon` WHERE `entry` IN (15312);
+INSERT INTO `creature_template_addon` (`entry`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (15312,0,1,0, '19818');
+
+UPDATE `creature` SET `spawntimesecs`=0 WHERE `id`=15300;
+
+-- Remove over spawned Vekniss Stinger
+DELETE FROM `creature` WHERE `guid` IN (88006,88007,88011,88012,88013);
+-- Remove over spawned Vekniss Wasp
+DELETE FROM `creature` WHERE `guid` BETWEEN 87977 AND 87989;
+DELETE FROM `creature` WHERE `guid` IN (88000,88001,88004,88005,88009,88010);
+-- Remove over spawned Anubisath Swarmguard
+DELETE FROM `creature` WHERE `guid` IN (87999,88002,88003,88008);
+
+UPDATE `creature_template` SET `InhabitType`=7 WHERE `entry` IN (15235,15236,15249);
+-- Anubisath Swarmguard spawns should be Qiraji Lasher
+UPDATE `creature` SET `id`=15249 WHERE `guid` IN (87994,87995,87996);
+
+-- Pathing for Vekniss Stinger Entry: 15235 'TDB FORMAT'
+SET @NPC := 87990;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8563.52,`position_y`=1739.6,`position_z`=-90.46359 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8563.52,`position_y`=1739.6,`position_z`=-90.46359 WHERE `guid`=87962; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8563.52,`position_y`=1739.6,`position_z`=-90.46359 WHERE `guid`=87963; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8563.52,`position_y`=1739.6,`position_z`=-90.46359 WHERE `guid`=87994; -- Qiraji Lasher
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,87962,87963,87994);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(87962,@PATH,0,0,1,0, ''),(87963,@PATH,0,0,1,0, ''),(87994,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8563.52,1739.6,-90.46359,0,0,1,0,100,0),
+(@PATH,2,-8548.448,1731.575,-91.82451,0,0,1,0,100,0),
+(@PATH,3,-8542.137,1699.376,-90.39761,0,0,1,0,100,0),
+(@PATH,4,-8558.685,1666.235,-90.69133,0,0,1,0,100,0),
+(@PATH,5,-8585.775,1654.991,-89.79728,0,0,1,0,100,0),
+(@PATH,6,-8613.518,1668.712,-90.51443,0,0,1,0,100,0),
+(@PATH,7,-8622.457,1691.902,-91.26654,0,0,1,0,100,0),
+(@PATH,8,-8645.388,1710.061,-90.06686,0,0,1,0,100,0),
+(@PATH,9,-8635.841,1744.949,-91.82065,0,0,1,0,100,0),
+(@PATH,10,-8617.822,1770.243,-90.46841,0,0,1,0,100,0),
+(@PATH,11,-8635.841,1744.949,-91.82065,0,0,1,0,100,0),
+(@PATH,12,-8645.388,1710.061,-90.06686,0,0,1,0,100,0),
+(@PATH,13,-8622.457,1691.902,-91.26654,0,0,1,0,100,0),
+(@PATH,14,-8613.518,1668.712,-90.51443,0,0,1,0,100,0),
+(@PATH,15,-8585.775,1654.991,-89.79728,0,0,1,0,100,0),
+(@PATH,16,-8558.685,1666.235,-90.69133,0,0,1,0,100,0),
+(@PATH,17,-8542.137,1699.376,-90.39761,0,0,1,0,100,0),
+(@PATH,18,-8548.448,1731.575,-91.82451,0,0,1,0,100,0),
+(@PATH,19,-8563.52,1739.6,-90.46359,0,0,1,0,100,0),
+(@PATH,20,-8580.759,1732.139,-91.39182,0,0,1,0,100,0),
+(@PATH,21,-8595.639,1703.542,-91.69364,0,0,1,0,100,0),
+(@PATH,22,-8598.313,1670.841,-90.63684,0,0,1,0,100,0),
+(@PATH,23,-8596.669,1642.029,-89.56214,0,0,1,0,100,0),
+(@PATH,24,-8602.972,1615.217,-88.6513,0,0,1,0,100,0),
+(@PATH,25,-8605.679,1582.754,-82.176,0,0,1,0,100,0),
+(@PATH,26,-8617.505,1563.513,-79.12038,0,0,1,0,100,0),
+(@PATH,27,-8621.844,1547.022,-76.55392,0,0,1,0,100,0),
+(@PATH,28,-8617.5,1516.144,-70.19933,0,0,1,0,100,0),
+(@PATH,29,-8625.505,1479.613,-68.04492,0,0,1,0,100,0),
+(@PATH,30,-8614.832,1443.637,-66.69106,0,0,1,0,100,0),
+(@PATH,31,-8600.255,1422.463,-65.39139,0,0,1,0,100,0),
+(@PATH,32,-8611.4,1385.665,-69.80731,0,0,1,0,100,0),
+(@PATH,33,-8623.595,1364.614,-69.91782,0,0,1,0,100,0),
+(@PATH,34,-8604.512,1328.141,-69.94511,0,0,1,0,100,0),
+(@PATH,35,-8589.592,1311.021,-69.10871,0,0,1,0,100,0),
+(@PATH,36,-8604.512,1328.141,-69.94511,0,0,1,0,100,0),
+(@PATH,37,-8623.595,1364.614,-69.91782,0,0,1,0,100,0),
+(@PATH,38,-8611.4,1385.665,-69.80731,0,0,1,0,100,0),
+(@PATH,39,-8600.255,1422.463,-65.39139,0,0,1,0,100,0),
+(@PATH,40,-8614.832,1443.637,-66.69106,0,0,1,0,100,0),
+(@PATH,41,-8625.505,1479.613,-68.04492,0,0,1,0,100,0),
+(@PATH,42,-8617.5,1516.144,-70.19933,0,0,1,0,100,0),
+(@PATH,43,-8621.844,1547.022,-76.55392,0,0,1,0,100,0),
+(@PATH,44,-8617.505,1563.513,-79.12038,0,0,1,0,100,0),
+(@PATH,45,-8605.679,1582.754,-82.176,0,0,1,0,100,0),
+(@PATH,46,-8602.972,1615.217,-88.6513,0,0,1,0,100,0),
+(@PATH,47,-8596.669,1642.029,-89.56214,0,0,1,0,100,0),
+(@PATH,48,-8598.313,1670.841,-90.63684,0,0,1,0,100,0),
+(@PATH,49,-8595.639,1703.542,-91.69364,0,0,1,0,100,0),
+(@PATH,50,-8580.759,1732.139,-91.39182,0,0,1,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,87962,6,90,2,10,35),
+(@NPC,87963,6,270,2,10,35),
+(@NPC,87994,6,360,2,0,0);
+
+-- Pathing for Vekniss Stinger Entry: 15235 'TDB FORMAT'
+SET @NPC := 87991;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8635.931,`position_y`=1406.936,`position_z`=-69.83319 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8635.931,`position_y`=1406.936,`position_z`=-69.83319 WHERE `guid`=87964; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8635.931,`position_y`=1406.936,`position_z`=-69.83319 WHERE `guid`=87965; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8635.931,`position_y`=1406.936,`position_z`=-69.83319 WHERE `guid`=87966; -- Vekniss Wasp
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,87964,87965,87966);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(87964,@PATH,0,0,1,0, ''),(87965,@PATH,0,0,1,0, ''),(87966,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8635.931,1406.936,-69.83319,0,0,1,0,100,0),
+(@PATH,2,-8663.641,1389.05,-69.89677,0,0,1,0,100,0),
+(@PATH,3,-8685.819,1364.188,-69.32112,0,0,1,0,100,0),
+(@PATH,4,-8654.888,1363.939,-69.89539,0,0,1,0,100,0),
+(@PATH,5,-8628.978,1372.13,-69.89567,0,0,1,0,100,0),
+(@PATH,6,-8610.717,1381.386,-69.89604,0,0,1,0,100,0),
+(@PATH,7,-8594.859,1388.721,-68.43361,0,0,1,0,100,0),
+(@PATH,8,-8570.96,1400.338,-62.98791,0,0,1,0,100,0),
+(@PATH,9,-8592.089,1370.82,-68.49156,0,0,1,0,100,0),
+(@PATH,10,-8597.555,1344.224,-69.9974,0,0,1,0,100,0),
+(@PATH,11,-8601.242,1313.158,-69.77949,0,0,1,0,100,0),
+(@PATH,12,-8600.213,1300.66,-68.76534,0,0,1,0,100,0),
+(@PATH,13,-8601.242,1313.158,-69.77949,0,0,1,0,100,0),
+(@PATH,14,-8597.555,1344.224,-69.9974,0,0,1,0,100,0),
+(@PATH,15,-8592.089,1370.82,-68.49156,0,0,1,0,100,0),
+(@PATH,16,-8570.96,1400.338,-62.98791,0,0,1,0,100,0),
+(@PATH,17,-8594.859,1388.721,-68.43361,0,0,1,0,100,0),
+(@PATH,18,-8610.717,1381.386,-69.89604,0,0,1,0,100,0),
+(@PATH,19,-8628.978,1372.13,-69.89567,0,0,1,0,100,0),
+(@PATH,20,-8654.888,1363.939,-69.89539,0,0,1,0,100,0),
+(@PATH,21,-8685.696,1364.187,-69.33382,0,0,1,0,100,0),
+(@PATH,22,-8663.641,1389.05,-69.89677,0,0,1,0,100,0),
+(@PATH,23,-8635.931,1406.936,-69.83319,0,0,1,0,100,0),
+(@PATH,24,-8618.646,1426.418,-67.81181,0,0,1,0,100,0),
+(@PATH,25,-8609.056,1445.661,-65.29099,0,0,1,0,100,0),
+(@PATH,26,-8629.429,1440.835,-68.46561,0,0,1,0,100,0),
+(@PATH,27,-8650.575,1437.557,-69.80312,0,0,1,0,100,0),
+(@PATH,28,-8680.427,1427.707,-69.89879,0,0,1,0,100,0),
+(@PATH,29,-8711.025,1419.595,-69.8176,0,0,1,0,100,0),
+(@PATH,30,-8712.949,1440.549,-69.93085,0,0,1,0,100,0),
+(@PATH,31,-8684.471,1454.425,-69.90324,0,0,1,0,100,0),
+(@PATH,32,-8667.691,1471.393,-69.88974,0,0,1,0,100,0),
+(@PATH,33,-8638.46,1491.58,-69.76362,0,0,1,0,100,0),
+(@PATH,34,-8621.95,1510.354,-69.86166,0,0,1,0,100,0),
+(@PATH,35,-8649.152,1507.348,-68.94562,0,0,1,0,100,0),
+(@PATH,36,-8685.408,1502.433,-69.90717,0,0,1,0,100,0),
+(@PATH,37,-8724.848,1499.006,-68.85789,0,0,1,0,100,0),
+(@PATH,38,-8685.408,1502.433,-69.90717,0,0,1,0,100,0),
+(@PATH,39,-8649.152,1507.348,-68.94562,0,0,1,0,100,0),
+(@PATH,40,-8621.95,1510.354,-69.86166,0,0,1,0,100,0),
+(@PATH,41,-8638.389,1491.629,-69.73217,0,0,1,0,100,0),
+(@PATH,42,-8667.691,1471.393,-69.88974,0,0,1,0,100,0),
+(@PATH,43,-8684.471,1454.425,-69.90324,0,0,1,0,100,0),
+(@PATH,44,-8712.949,1440.549,-69.93085,0,0,1,0,100,0),
+(@PATH,45,-8711.025,1419.595,-69.8176,0,0,1,0,100,0),
+(@PATH,46,-8680.427,1427.707,-69.89879,0,0,1,0,100,0),
+(@PATH,47,-8650.575,1437.557,-69.80312,0,0,1,0,100,0),
+(@PATH,48,-8629.429,1440.835,-68.46561,0,0,1,0,100,0),
+(@PATH,49,-8609.056,1445.661,-65.29099,0,0,1,0,100,0),
+(@PATH,50,-8618.646,1426.418,-67.81181,0,0,1,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,87964,6,90,2,12,37),
+(@NPC,87965,6,270,2,12,37),
+(@NPC,87966,6,360,2,0,0);
+
+-- Pathing for Vekniss Stinger Entry: 15235 'TDB FORMAT'
+SET @NPC := 87992;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8623.98,`position_y`=1334.81,`position_z`=-69.86489 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8623.98,`position_y`=1334.81,`position_z`=-69.86489 WHERE `guid`=87967; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8623.98,`position_y`=1334.81,`position_z`=-69.86489 WHERE `guid`=87968; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8623.98,`position_y`=1334.81,`position_z`=-69.86489 WHERE `guid`=87969; -- Vekniss Wasp
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,87967,87968,87969);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(87967,@PATH,0,0,1,0, ''),(87968,@PATH,0,0,1,0, ''),(87969,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8623.98,1334.81,-69.86489,0,0,1,0,100,0),
+(@PATH,2,-8634.258,1313.449,-68.89619,0,0,1,0,100,0),
+(@PATH,3,-8623.98,1334.81,-69.86489,0,0,1,0,100,0),
+(@PATH,4,-8609.494,1363.034,-69.90972,0,0,1,0,100,0),
+(@PATH,5,-8586.571,1399.059,-66.1879,0,0,1,0,100,0),
+(@PATH,6,-8578.356,1419.405,-61.01471,0,0,1,0,100,0),
+(@PATH,7,-8597.195,1413.111,-66.22318,0,0,1,0,100,0),
+(@PATH,8,-8624.466,1398.803,-69.8503,0,0,1,0,100,0),
+(@PATH,9,-8649.411,1383.114,-69.89638,0,0,1,0,100,0),
+(@PATH,10,-8670.308,1369.943,-69.89581,0,0,1,0,100,0),
+(@PATH,11,-8689.218,1363.772,-68.88567,0,0,1,0,100,0),
+(@PATH,12,-8680.373,1391.337,-69.88323,0,0,1,0,100,0),
+(@PATH,13,-8667.099,1414.957,-69.89799,0,0,1,0,100,0),
+(@PATH,14,-8650.532,1430.125,-69.78033,0,0,1,0,100,0),
+(@PATH,15,-8628.963,1440.418,-68.43501,0,0,1,0,100,0),
+(@PATH,16,-8603.716,1459.491,-63.19542,0,0,1,0,100,0),
+(@PATH,17,-8634.405,1457.036,-68.30659,0,0,1,0,100,0),
+(@PATH,18,-8659.28,1457.645,-69.87594,0,0,1,0,100,0),
+(@PATH,19,-8685.762,1457.884,-69.90578,0,0,1,0,100,0),
+(@PATH,20,-8710.759,1451.817,-70.05974,0,0,1,0,100,0),
+(@PATH,21,-8733.675,1458.389,-69.94682,0,0,1,0,100,0),
+(@PATH,22,-8711.259,1475.931,-69.84384,0,0,1,0,100,0),
+(@PATH,23,-8684.056,1485.012,-69.90536,0,0,1,0,100,0),
+(@PATH,24,-8658.634,1491.176,-70.00501,0,0,1,0,100,0),
+(@PATH,25,-8643.371,1495.58,-69.92625,0,0,1,0,100,0),
+(@PATH,26,-8628.882,1499.146,-68.3502,0,0,1,0,100,0),
+(@PATH,27,-8652.819,1508.739,-68.82653,0,0,1,0,100,0),
+(@PATH,28,-8680.034,1515.398,-69.43343,0,0,1,0,100,0),
+(@PATH,29,-8713.806,1523.833,-70.50439,0,0,1,0,100,0),
+(@PATH,30,-8680.034,1515.398,-69.43343,0,0,1,0,100,0),
+(@PATH,31,-8652.98,1508.779,-68.82138,0,0,1,0,100,0),
+(@PATH,32,-8628.882,1499.146,-68.3502,0,0,1,0,100,0),
+(@PATH,33,-8643.371,1495.58,-69.92625,0,0,1,0,100,0),
+(@PATH,34,-8658.634,1491.176,-70.00501,0,0,1,0,100,0),
+(@PATH,35,-8684.056,1485.012,-69.90536,0,0,1,0,100,0),
+(@PATH,36,-8711.231,1475.952,-69.84595,0,0,1,0,100,0),
+(@PATH,37,-8733.675,1458.389,-69.94682,0,0,1,0,100,0),
+(@PATH,38,-8710.759,1451.817,-70.05974,0,0,1,0,100,0),
+(@PATH,39,-8685.762,1457.884,-69.90578,0,0,1,0,100,0),
+(@PATH,40,-8659.28,1457.645,-69.87594,0,0,1,0,100,0),
+(@PATH,41,-8634.405,1457.036,-68.30659,0,0,1,0,100,0),
+(@PATH,42,-8603.716,1459.491,-63.19542,0,0,1,0,100,0),
+(@PATH,43,-8628.963,1440.418,-68.43501,0,0,1,0,100,0),
+(@PATH,44,-8650.532,1430.125,-69.78033,0,0,1,0,100,0),
+(@PATH,45,-8667.099,1414.957,-69.89799,0,0,1,0,100,0),
+(@PATH,46,-8680.373,1391.337,-69.88323,0,0,1,0,100,0),
+(@PATH,47,-8689.218,1363.772,-68.88567,0,0,1,0,100,0),
+(@PATH,48,-8670.308,1369.943,-69.89581,0,0,1,0,100,0),
+(@PATH,49,-8649.411,1383.114,-69.89638,0,0,1,0,100,0),
+(@PATH,50,-8624.466,1398.803,-69.8503,0,0,1,0,100,0),
+(@PATH,51,-8597.195,1413.111,-66.22318,0,0,1,0,100,0),
+(@PATH,52,-8578.356,1419.405,-61.01471,0,0,1,0,100,0),
+(@PATH,53,-8586.571,1399.059,-66.1879,0,0,1,0,100,0),
+(@PATH,54,-8609.494,1363.034,-69.90972,0,0,1,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,87967,6,90,2,2,29),
+(@NPC,87968,6,270,2,2,29),
+(@NPC,87969,6,360,2,0,0);
+
+-- Pathing for Vekniss Stinger Entry: 15235 'TDB FORMAT'
+SET @NPC := 87993;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8627.878,`position_y`=1556.896,`position_z`=-77.69943 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8627.878,`position_y`=1556.896,`position_z`=-77.69943 WHERE `guid`=87970; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8627.878,`position_y`=1556.896,`position_z`=-77.69943 WHERE `guid`=87971; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8627.878,`position_y`=1556.896,`position_z`=-77.69943 WHERE `guid`=87995; -- Qiraji Lasher
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,87970,87971,87995);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(87970,@PATH,0,0,1,0, ''),(87971,@PATH,0,0,1,0, ''),(87995,@PATH,0,0,1,0, '');
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8627.878,1556.896,-77.69943,0,0,1,0,100,0),
+(@PATH,2,-8605.357,1575.12,-80.19345,0,0,1,0,100,0),
+(@PATH,3,-8612.334,1613.268,-88.55583,0,0,1,0,100,0),
+(@PATH,4,-8586.318,1634.416,-89.21418,0,0,1,0,100,0),
+(@PATH,5,-8576.596,1669.095,-90.36967,0,0,1,0,100,0),
+(@PATH,6,-8584.211,1701.455,-91.66071,0,0,1,0,100,0),
+(@PATH,7,-8570.804,1737.575,-90.75662,0,0,1,0,100,0),
+(@PATH,8,-8581.879,1760.92,-91.87544,0,0,1,0,100,0),
+(@PATH,9,-8589.551,1734.61,-90.93699,0,0,1,0,100,0),
+(@PATH,10,-8588.171,1710.714,-91.73016,0,0,1,0,100,0),
+(@PATH,11,-8596.261,1697.514,-91.66012,0,0,1,0,100,0),
+(@PATH,12,-8605.489,1655.251,-89.98928,0,0,1,0,100,0),
+(@PATH,13,-8632.322,1660.238,-89.734,0,0,1,0,100,0),
+(@PATH,14,-8677.901,1675.274,-88.18523,0,0,1,0,100,0),
+(@PATH,15,-8718.77,1662.168,-84.18893,0,0,1,0,100,0),
+(@PATH,16,-8690.873,1675.741,-85.92585,0,0,1,0,100,0),
+(@PATH,17,-8653.208,1690.787,-90.23106,0,0,1,0,100,0),
+(@PATH,18,-8620.695,1704.375,-90.88026,0,0,1,0,100,0),
+(@PATH,19,-8593.161,1708.36,-91.68605,0,0,1,0,100,0),
+(@PATH,20,-8571.983,1710.358,-91.63534,0,0,1,0,100,0),
+(@PATH,21,-8537.26,1707.522,-90.49876,0,0,1,0,100,0),
+(@PATH,22,-8571.903,1710.365,-91.61901,0,0,1,0,100,0),
+(@PATH,23,-8593.161,1708.36,-91.68605,0,0,1,0,100,0),
+(@PATH,24,-8620.695,1704.375,-90.88026,0,0,1,0,100,0),
+(@PATH,25,-8653.208,1690.787,-90.23106,0,0,1,0,100,0),
+(@PATH,26,-8690.873,1675.741,-85.92585,0,0,1,0,100,0),
+(@PATH,27,-8718.77,1662.168,-84.18893,0,0,1,0,100,0),
+(@PATH,28,-8677.901,1675.274,-88.18523,0,0,1,0,100,0),
+(@PATH,29,-8632.322,1660.238,-89.734,0,0,1,0,100,0),
+(@PATH,30,-8605.489,1655.251,-89.98928,0,0,1,0,100,0),
+(@PATH,31,-8596.261,1697.514,-91.66012,0,0,1,0,100,0),
+(@PATH,32,-8588.171,1710.714,-91.73016,0,0,1,0,100,0),
+(@PATH,33,-8589.551,1734.61,-90.93699,0,0,1,0,100,0),
+(@PATH,34,-8581.879,1760.92,-91.87544,0,0,1,0,100,0),
+(@PATH,35,-8570.804,1737.575,-90.75662,0,0,1,0,100,0),
+(@PATH,36,-8584.211,1701.455,-91.66071,0,0,1,0,100,0),
+(@PATH,37,-8576.596,1669.095,-90.36967,0,0,1,0,100,0),
+(@PATH,38,-8586.318,1634.416,-89.21418,0,0,1,0,100,0),
+(@PATH,39,-8612.334,1613.268,-88.55583,0,0,1,0,100,0),
+(@PATH,40,-8605.357,1575.12,-80.19345,0,0,1,0,100,0),
+(@PATH,41,-8627.878,1556.896,-77.69943,0,0,1,0,100,0),
+(@PATH,42,-8615.41,1527.631,-72.21809,0,0,1,0,100,0),
+(@PATH,43,-8621.278,1502.706,-68.84049,0,0,1,0,100,0),
+(@PATH,44,-8613.856,1468.638,-65.51812,0,0,1,0,100,0),
+(@PATH,45,-8611.396,1441.914,-66.07516,0,0,1,0,100,0),
+(@PATH,46,-8648.351,1425.724,-69.76824,0,0,1,0,100,0),
+(@PATH,47,-8690.109,1425.443,-69.89849,0,0,1,0,100,0),
+(@PATH,48,-8688.043,1466.35,-69.90285,0,0,1,0,100,0),
+(@PATH,49,-8686.704,1491.772,-69.90602,0,0,1,0,100,0),
+(@PATH,50,-8703.396,1513.316,-68.86869,0,0,1,0,100,0),
+(@PATH,51,-8699.363,1545.228,-73.52942,0,0,1,0,100,0),
+(@PATH,52,-8696.403,1571.755,-83.60843,0,0,1,0,100,0),
+(@PATH,53,-8705.782,1534.327,-70.82861,0,0,1,0,100,0),
+(@PATH,54,-8684.076,1503.377,-69.9073,0,0,1,0,100,0),
+(@PATH,55,-8677.442,1474.101,-69.88051,0,0,1,0,100,0),
+(@PATH,56,-8685.396,1458.496,-69.90556,0,0,1,0,100,0),
+(@PATH,57,-8672.833,1442.362,-69.90025,0,0,1,0,100,0),
+(@PATH,58,-8671.919,1416.88,-69.89809,0,0,1,0,100,0),
+(@PATH,59,-8658.405,1396.628,-69.89714,0,0,1,0,100,0),
+(@PATH,60,-8652.979,1366.002,-69.89549,0,0,1,0,100,0),
+(@PATH,61,-8631.563,1350.226,-69.90196,0,0,1,0,100,0),
+(@PATH,62,-8621.747,1329.126,-69.84866,0,0,1,0,100,0),
+(@PATH,63,-8600.984,1321.89,-69.9459,0,0,1,0,100,0),
+(@PATH,64,-8581.273,1314.304,-68.56961,0,0,1,0,100,0),
+(@PATH,65,-8600.984,1321.89,-69.9459,0,0,1,0,100,0),
+(@PATH,66,-8621.747,1329.126,-69.84866,0,0,1,0,100,0),
+(@PATH,67,-8631.563,1350.226,-69.90196,0,0,1,0,100,0),
+(@PATH,68,-8652.979,1366.002,-69.89549,0,0,1,0,100,0),
+(@PATH,69,-8658.405,1396.628,-69.89714,0,0,1,0,100,0),
+(@PATH,70,-8671.919,1416.88,-69.89809,0,0,1,0,100,0),
+(@PATH,71,-8672.833,1442.362,-69.90025,0,0,1,0,100,0),
+(@PATH,72,-8685.396,1458.496,-69.90556,0,0,1,0,100,0),
+(@PATH,73,-8677.442,1474.101,-69.88051,0,0,1,0,100,0),
+(@PATH,74,-8684.076,1503.377,-69.9073,0,0,1,0,100,0),
+(@PATH,75,-8705.782,1534.327,-70.82861,0,0,1,0,100,0),
+(@PATH,76,-8696.403,1571.755,-83.60843,0,0,1,0,100,0),
+(@PATH,77,-8699.363,1545.228,-73.52942,0,0,1,0,100,0),
+(@PATH,78,-8703.396,1513.316,-68.86869,0,0,1,0,100,0),
+(@PATH,79,-8686.704,1491.772,-69.90602,0,0,1,0,100,0),
+(@PATH,80,-8688.043,1466.35,-69.90285,0,0,1,0,100,0),
+(@PATH,81,-8690.109,1425.443,-69.89849,0,0,1,0,100,0),
+(@PATH,82,-8648.351,1425.724,-69.76824,0,0,1,0,100,0),
+(@PATH,83,-8611.396,1441.914,-66.07516,0,0,1,0,100,0),
+(@PATH,84,-8613.856,1468.638,-65.51812,0,0,1,0,100,0),
+(@PATH,85,-8621.252,1502.585,-68.85918,0,0,1,0,100,0),
+(@PATH,86,-8615.41,1527.631,-72.21809,0,0,1,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,87970,6,90,2,21,64),
+(@NPC,87971,6,270,2,21,64),
+(@NPC,87995,6,360,2,0,0);
+
+-- Pathing for Vekniss Stinger Entry: 15235 'TDB FORMAT'
+SET @NPC := 87997;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8632.927,`position_y`=1329.29,`position_z`=-69.79494 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8632.927,`position_y`=1329.29,`position_z`=-69.79494 WHERE `guid`=87972; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8632.927,`position_y`=1329.29,`position_z`=-69.79494 WHERE `guid`=87973; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8632.927,`position_y`=1329.29,`position_z`=-69.79494 WHERE `guid`=87996; -- Qiraji Lasher
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,87972,87973,87996);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(87972,@PATH,0,0,1,0, ''),(87973,@PATH,0,0,1,0, ''),(87996,@PATH,0,0,1,0, '');
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8632.927,1329.29,-69.79494,0,0,1,0,100,0),
+(@PATH,2,-8652.701,1333.004,-68.40736,0,0,1,0,100,0),
+(@PATH,3,-8680.63,1356.865,-69.12091,0,0,1,0,100,0),
+(@PATH,4,-8665.341,1388.947,-69.89678,0,0,1,0,100,0),
+(@PATH,5,-8671.486,1426.792,-69.89878,0,0,1,0,100,0),
+(@PATH,6,-8697.307,1425.366,-69.90847,0,0,1,0,100,0),
+(@PATH,7,-8717.54,1450.804,-70.15675,0,0,1,0,100,0),
+(@PATH,8,-8685.707,1480.185,-69.88573,0,0,1,0,100,0),
+(@PATH,9,-8687.312,1502.292,-69.90711,0,0,1,0,100,0),
+(@PATH,10,-8710.659,1518.567,-69.73161,0,0,1,0,100,0),
+(@PATH,11,-8706.653,1553.953,-76.87526,0,0,1,0,100,0),
+(@PATH,12,-8693.664,1593.24,-87.52875,0,0,1,0,100,0),
+(@PATH,13,-8682.797,1563.556,-79.95404,0,0,1,0,100,0),
+(@PATH,14,-8670.129,1531.131,-69.25419,0,0,1,0,100,0),
+(@PATH,15,-8650.239,1513.957,-68.97311,0,0,1,0,100,0),
+(@PATH,16,-8628.124,1493.124,-68.32035,0,0,1,0,100,0),
+(@PATH,17,-8614.616,1451.34,-66.25972,0,0,1,0,100,0),
+(@PATH,18,-8606.941,1423.058,-66.755,0,0,1,0,100,0),
+(@PATH,19,-8578.108,1397.931,-64.62989,0,0,1,0,100,0),
+(@PATH,20,-8581,1380.874,-67.55366,0,0,1,0,100,0),
+(@PATH,21,-8606.554,1354.503,-69.90284,0,0,1,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,87972,6,90,2,0,0),
+(@NPC,87973,6,270,2,0,0),
+(@NPC,87996,6,360,2,0,0);
+
+-- Pathing for Vekniss Stinger Entry: 15235 'TDB FORMAT'
+SET @NPC := 87998;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8602.222,`position_y`=1420.14,`position_z`=-66.16376 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8602.222,`position_y`=1420.14,`position_z`=-66.16376 WHERE `guid`=87974; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8602.222,`position_y`=1420.14,`position_z`=-66.16376 WHERE `guid`=87975; -- Vekniss Wasp
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8602.222,`position_y`=1420.14,`position_z`=-66.16376 WHERE `guid`=87976; -- Vekniss Wasp
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,87974,87975,87976);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(87974,@PATH,0,0,1,0, ''),(87975,@PATH,0,0,1,0, ''),(87976,@PATH,0,0,1,0, '');
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8602.222,1420.14,-66.16376,0,0,1,0,100,0),
+(@PATH,2,-8600.822,1382.153,-68.87067,0,0,1,0,100,0),
+(@PATH,3,-8579.124,1346.505,-68.48977,0,0,1,0,100,0),
+(@PATH,4,-8572.202,1326.875,-67.66993,0,0,1,0,100,0),
+(@PATH,5,-8585.142,1302.318,-68.76385,0,0,1,0,100,0),
+(@PATH,6,-8619.394,1300.438,-68.81915,0,0,1,0,100,0),
+(@PATH,7,-8646.751,1323.468,-68.54993,0,0,1,0,100,0),
+(@PATH,8,-8662.735,1341.994,-68.51302,0,0,1,0,100,0),
+(@PATH,9,-8690.161,1374.271,-69.59505,0,0,1,0,100,0),
+(@PATH,10,-8711.819,1409.641,-69.78663,0,0,1,0,100,0),
+(@PATH,11,-8720.594,1446.922,-70.16204,0,0,1,0,100,0),
+(@PATH,12,-8720.908,1475.034,-69.86876,0,0,1,0,100,0),
+(@PATH,13,-8716.834,1490.991,-69.79664,0,0,1,0,100,0),
+(@PATH,14,-8692.722,1513.566,-69.40113,0,0,1,0,100,0),
+(@PATH,15,-8657.146,1508.662,-69.40543,0,0,1,0,100,0),
+(@PATH,16,-8636.427,1495.452,-69.00857,0,0,1,0,100,0),
+(@PATH,17,-8608.235,1466.913,-64.1589,0,0,1,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,87974,6,90,2,0,0),
+(@NPC,87975,6,270,2,0,0),
+(@NPC,87976,6,360,2,0,0);
+
+-- Fankriss the Unyielding respawn linking
+DELETE FROM `linked_respawn` WHERE `linkedGuid`=87911;
+INSERT INTO `linked_respawn` (`guid`,`linkedGuid`,`linkType`) VALUES
+(87901,87911,0),(87902,87911,0),(87903,87911,0),(87904,87911,0),(87905,87911,0),(87906,87911,0),
+(87678,87911,0),(87679,87911,0),(87680,87911,0),(87681,87911,0),(87682,87911,0),(87683,87911,0),
+(87685,87911,0),(87686,87911,0),(87687,87911,0),(87688,87911,0),(87689,87911,0),(87690,87911,0),
+(87692,87911,0),(87694,87911,0),(87695,87911,0),(87696,87911,0),(87697,87911,0),(87698,87911,0),
+(87699,87911,0),(87700,87911,0),(87702,87911,0),(87703,87911,0),(87704,87911,0),(87705,87911,0),
+(87706,87911,0),(87707,87911,0),(87708,87911,0),(87710,87911,0),(87711,87911,0),(87712,87911,0),
+(87713,87911,0),(87714,87911,0),(87715,87911,0),(87716,87911,0),(87717,87911,0),(87718,87911,0),
+(87719,87911,0),(87720,87911,0),(87721,87911,0),(87725,87911,0),(87726,87911,0),(87727,87911,0),
+(87728,87911,0),(87729,87911,0),(87730,87911,0),(87731,87911,0),(87732,87911,0),(87733,87911,0),
+(87734,87911,0),(87735,87911,0),(87736,87911,0),(87737,87911,0),(87738,87911,0),(87739,87911,0),
+(87740,87911,0),(87741,87911,0),(87742,87911,0),(87743,87911,0),(87745,87911,0),(87747,87911,0),
+(87748,87911,0),(87749,87911,0),(87750,87911,0),(87751,87911,0),(87752,87911,0),(87753,87911,0),
+(87754,87911,0),(87755,87911,0),(87756,87911,0),(87757,87911,0),(87758,87911,0),(87759,87911,0),
+(87760,87911,0),(87761,87911,0),(87762,87911,0),(87763,87911,0),(87764,87911,0),(87765,87911,0),
+(87767,87911,0),(87770,87911,0),(87772,87911,0),(87774,87911,0),(87776,87911,0),(87777,87911,0),
+(87778,87911,0),(87779,87911,0),(87780,87911,0),(87781,87911,0),(87782,87911,0),(87784,87911,0),
+(87786,87911,0),(87788,87911,0),(87789,87911,0),(87790,87911,0),(87791,87911,0),(87793,87911,0),
+(87794,87911,0),(87795,87911,0),(87797,87911,0),(87799,87911,0),(87800,87911,0),(87801,87911,0),
+(87802,87911,0),(87803,87911,0),(87805,87911,0),(87807,87911,0),(87808,87911,0),(87809,87911,0),
+(87811,87911,0),(87812,87911,0),(87813,87911,0),(87814,87911,0),(87815,87911,0),(87816,87911,0),
+(87817,87911,0),(87818,87911,0),(87819,87911,0),(87820,87911,0),(87821,87911,0),(87822,87911,0),
+(87823,87911,0),(87824,87911,0),(87826,87911,0),(87828,87911,0),(87829,87911,0);
+
+-- Princess Huhuran respawn linking
+DELETE FROM `linked_respawn` WHERE `linkedGuid`=88014;
+INSERT INTO `linked_respawn` (`guid`,`linkedGuid`,`linkType`) VALUES
+(87939,88014,0),(87940,88014,0),(87941,88014,0),(87942,88014,0),(87943,88014,0),(87944,88014,0),
+(87990,88014,0),(87991,88014,0),(87992,88014,0),(87993,88014,0),(87997,88014,0),(87998,88014,0),
+(87962,88014,0),(87963,88014,0),(87964,88014,0),(87965,88014,0),(87966,88014,0),(87967,88014,0),
+(87968,88014,0),(87969,88014,0),(87970,88014,0),(87971,88014,0),(87972,88014,0),(87973,88014,0),
+(87974,88014,0),(87975,88014,0),(87976,88014,0),(87994,88014,0),(87995,88014,0),(87996,88014,0);
+
+-- Remove underspawning of Qiraji Scarab
+DELETE FROM `creature` WHERE `guid` BETWEEN 87572 AND 87594;
+
+-- Qiraji Scarab
+SET @CGUID := 144235;
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+96;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 15316, 531, 1, 1, -8718.273, 1668.985, -83.24529, 6.276577, 7200, 0, 0),
+(@CGUID+1, 15316, 531, 1, 1, -8752.732, 1622.762, -82.50239, 3.85716, 7200, 0, 0),
+(@CGUID+2, 15316, 531, 1, 1, -8848.825, 1543.332, -95.77992, 0.3748086, 7200, 0, 0),
+(@CGUID+3, 15316, 531, 1, 1, -8852.401, 1221.99, -104.3232, 5.082306, 7200, 0, 0),
+(@CGUID+4, 15316, 531, 1, 1, -8856.361, 1231.608, -104.3222, 0.03505083, 7200, 0, 0),
+(@CGUID+5, 15316, 531, 1, 1, -8857.818, 1211.251, -104.301, 1.676702, 7200, 0, 0),
+(@CGUID+6, 15316, 531, 1, 1, -8861.068, 1221.99, -104.3127, 5.777609, 7200, 0, 0),
+(@CGUID+7, 15316, 531, 1, 1, -8861.551, 1424.439, -91.73545, 4.751832, 7200, 0, 0),
+(@CGUID+8, 15316, 531, 1, 1, -8861.7, 1215.009, -104.3096, 4.039688, 7200, 0, 0),
+(@CGUID+9, 15316, 531, 1, 1, -8895.811, 1440.09, -90.5479, 6.037028, 7200, 0, 0),
+(@CGUID+10, 15316, 531, 1, 1, -8903.062, 1233.613, -112.2933, 3.425546, 7200, 0, 0),
+(@CGUID+11, 15316, 531, 1, 1, -8913.198, 1239.525, -112.2094, 5.026548, 7200, 0, 0),
+(@CGUID+12, 15316, 531, 1, 1, -8914.45, 1228.33, -112.2933, 2.326542, 7200, 0, 0),
+(@CGUID+13, 15316, 531, 1, 1, -8915.258, 1169.887, -112.3025, 3.203353, 7200, 0, 0),
+(@CGUID+14, 15316, 531, 1, 1, -8915.822, 1271.88, -112.2893, 5.160469, 7200, 0, 0),
+(@CGUID+15, 15316, 531, 1, 1, -8916.75, 1288.38, -112.2935, 0.1507932, 7200, 0, 0),
+(@CGUID+16, 15316, 531, 1, 1, -8921.445, 1263.286, -112.2916, 1.408914, 7200, 0, 0),
+(@CGUID+17, 15316, 531, 1, 1, -8921.779, 1299.67, -112.2189, 6.108652, 7200, 0, 0),
+(@CGUID+18, 15316, 531, 1, 1, -8922.732, 1187.455, -112.2936, 5.639871, 7200, 0, 0),
+(@CGUID+19, 15316, 531, 1, 1, -8923.949, 1172.429, -112.3033, 5.763388, 7200, 0, 0),
+(@CGUID+20, 15316, 531, 1, 1, -8924.408, 1272.34, -112.2882, 5.481043, 7200, 0, 0),
+(@CGUID+21, 15316, 531, 1, 1, -8926.774, 1237.892, -112.2923, 2.316605, 7200, 0, 0),
+(@CGUID+22, 15316, 531, 1, 1, -8927.355, 1291.111, -112.2965, 2.028318, 7200, 0, 0),
+(@CGUID+23, 15316, 531, 1, 1, -8928.101, 1227.168, -112.2921, 3.446646, 7200, 0, 0),
+(@CGUID+24, 15316, 531, 1, 1, -8928.22, 1368.938, -104.2533, 0.8451178, 7200, 0, 0),
+(@CGUID+25, 15316, 531, 1, 1, -8933.846, 1249.548, -112.2922, 2.21655, 7200, 0, 0),
+(@CGUID+26, 15316, 531, 1, 1, -8935.909, 1189.324, -112.2886, 5.859407, 7200, 0, 0),
+(@CGUID+27, 15316, 531, 1, 1, -8939.716, 1163.848, -112.2995, 0.5001168, 7200, 0, 0),
+(@CGUID+28, 15316, 531, 1, 1, -8942.026, 1261.226, -112.2923, 5.235967, 7200, 0, 0),
+(@CGUID+29, 15316, 531, 1, 1, -8943.135, 1192.366, -112.2916, 5.814977, 7200, 0, 0),
+(@CGUID+30, 15316, 531, 1, 1, -8951.372, 1274.603, -112.2933, 3.105438, 7200, 0, 0),
+(@CGUID+31, 15316, 531, 1, 1, -8960.903, 1280.689, -112.2933, 3.253839, 7200, 0, 0),
+(@CGUID+32, 15316, 531, 1, 1, -8962.061, 1269.011, -112.5005, 4.200222, 7200, 0, 0),
+(@CGUID+33, 15316, 531, 1, 1, -8964.825, 1240.759, -112.6207, 3.0616, 7200, 0, 0),
+(@CGUID+34, 15316, 531, 1, 1, -8966.551, 1207.659, -112.2936, 4.477177, 7200, 0, 0),
+(@CGUID+35, 15316, 531, 1, 1, -8968.729, 1325.82, -104.2429, 3.186054, 7200, 0, 0),
+(@CGUID+36, 15316, 531, 1, 1, -8972.038, 1214.245, -112.2936, 1.164536, 7200, 0, 0),
+(@CGUID+37, 15316, 531, 1, 1, -8972.853, 1276.217, -112.2933, 3.891855, 7200, 0, 0),
+(@CGUID+38, 15316, 531, 1, 1, -8974.806, 1226.225, -112.2935, 1.722429, 7200, 0, 0),
+(@CGUID+39, 15316, 531, 1, 1, -8977.898, 1320.487, -104.2417, 3.175818, 7200, 0, 0),
+(@CGUID+40, 15316, 531, 1, 1, -8981.08, 1223.435, -112.2936, 0.2615982, 7200, 0, 0),
+(@CGUID+41, 15316, 531, 1, 1, -8981.135, 1332.209, -104.2538, 5.953023, 7200, 0, 0),
+(@CGUID+42, 15316, 531, 1, 1, -8982.36, 1235.153, -112.2919, 1.343902, 7200, 0, 0),
+(@CGUID+43, 15316, 531, 1, 1, -8984.571, 1250.385, -112.2913, 5.36409, 7200, 0, 0),
+(@CGUID+44, 15316, 531, 1, 1, -8991.225, 1329.982, -104.2318, 3.062955, 7200, 0, 0),
+(@CGUID+45, 15316, 531, 1, 1, -8992.072, 1319.728, -104.2388, 3.363478, 7200, 0, 0),
+(@CGUID+46, 15316, 531, 1, 1, -9002.667, 1154.327, -104.3145, 6.014025, 7200, 0, 0),
+(@CGUID+47, 15316, 531, 1, 1, -9006.724, 1241.467, -112.2903, 1.948067, 7200, 0, 0),
+(@CGUID+48, 15316, 531, 1, 1, -9011.103, 1167.529, -104.3195, 1.777823, 7200, 0, 0),
+(@CGUID+49, 15316, 531, 1, 1, -9014.963, 1233.01, -112.2952, 3.99794, 7200, 0, 0),
+(@CGUID+50, 15316, 531, 1, 1, -9016.687, 1169.943, -104.3132, 3.21999, 7200, 0, 0),
+(@CGUID+51, 15316, 531, 1, 1, -9019.488, 1151.87, -104.3178, 4.565871, 7200, 0, 0),
+(@CGUID+52, 15316, 531, 1, 1, -9020.327, 1250.439, -112.3019, 3.988241, 7200, 0, 0),
+(@CGUID+53, 15316, 531, 1, 1, -9022.727, 1161.319, -104.2895, 2.878046, 7200, 0, 0),
+(@CGUID+54, 15316, 531, 1, 1, -9026.855, 1240.548, -112.3019, 4.020616, 7200, 0, 0),
+(@CGUID+55, 15316, 531, 1, 1, -9028.263, 1233.39, -112.303, 1.271099, 7200, 0, 0),
+(@CGUID+56, 15316, 531, 1, 1, -9032.163, 1322.912, -104.1445, 2.076942, 7200, 0, 0),
+(@CGUID+57, 15316, 531, 1, 1, -9041.214, 1418.469, -105.3165, 6.056293, 7200, 0, 0),
+(@CGUID+58, 15316, 531, 1, 1, -9043.839, 1352.871, -103.4252, 0.4712389, 7200, 0, 0),
+(@CGUID+59, 15316, 531, 1, 1, -9044.052, 1416.098, -105.2357, 5.078908, 7200, 0, 0),
+(@CGUID+60, 15316, 531, 1, 1, -9052.255, 1412.902, -105.2205, 2.076942, 7200, 0, 0),
+(@CGUID+61, 15316, 531, 1, 1, -9073.752, 1386.457, -107.3353, 0.7195361, 7200, 0, 0),
+(@CGUID+62, 15316, 531, 1, 1, -9075.857, 1399.424, -106.766, 0.1396263, 7200, 0, 0),
+(@CGUID+63, 15316, 531, 1, 1, -9077.962, 1380.42, -106.7133, 2.485329, 7200, 0, 0),
+(@CGUID+64, 15316, 531, 1, 1, -9084.801, 1348.045, -104.9859, 2.426008, 7200, 0, 0),
+(@CGUID+65, 15316, 531, 1, 1, -9085.026, 1341.638, -105.1593, 1.099557, 7200, 0, 0),
+(@CGUID+66, 15316, 531, 1, 1, -9085.651, 1336.603, -104.9917, 2.395166, 7200, 0, 0),
+(@CGUID+67, 15316, 531, 1, 1, -9088.616, 1402.316, -107.2495, 1.026358, 7200, 0, 0),
+(@CGUID+68, 15316, 531, 1, 1, -9091.26, 1510.94, -99.81429, 3.543018, 7200, 0, 0),
+(@CGUID+69, 15316, 531, 1, 1, -9092.019, 1351.04, -105.4157, 4.974188, 7200, 0, 0),
+(@CGUID+70, 15316, 531, 1, 1, -9094.279, 1499.209, -102.2279, 0.6806784, 7200, 0, 0),
+(@CGUID+71, 15316, 531, 1, 1, -9095.951, 1507.988, -100.7126, 4.886922, 7200, 0, 0),
+(@CGUID+72, 15316, 531, 1, 1, -9098.203, 1357.665, -105.5745, 0.7330383, 7200, 0, 0),
+(@CGUID+73, 15316, 531, 1, 1, -9099.199, 1350.561, -105.9741, 6.248279, 7200, 0, 0),
+(@CGUID+74, 15316, 531, 1, 1, -9101.524, 1505.308, -100.3417, 1.174368, 7200, 0, 0),
+(@CGUID+75, 15316, 531, 1, 1, -9102.322, 1446.374, -105.6202, 1.196755, 7200, 0, 0),
+(@CGUID+76, 15316, 531, 1, 1, -9147.428, 1516.564, -94.89061, 1.853269, 7200, 0, 0),
+(@CGUID+77, 15316, 531, 1, 1, -9176.505, 1554.577, -83.83012, 5.850253, 7200, 0, 0),
+(@CGUID+78, 15316, 531, 1, 1, -9178.145, 1483.475, -96.65578, 3.036873, 7200, 0, 0),
+(@CGUID+79, 15316, 531, 1, 1, -9178.386, 1652.744, -64.78233, 4.974188, 7200, 0, 0),
+(@CGUID+80, 15316, 531, 1, 1, -9178.485, 1667.534, -60.37609, 1.297821, 7200, 0, 0),
+(@CGUID+81, 15316, 531, 1, 1, -9178.765, 1479.855, -97.55507, 1.937315, 7200, 0, 0),
+(@CGUID+82, 15316, 531, 1, 1, -9183.195, 1475.588, -98.77051, 2.478368, 7200, 0, 0),
+(@CGUID+83, 15316, 531, 1, 1, -9183.288, 1489.488, -95.63787, 4.425344, 7200, 0, 0),
+(@CGUID+84, 15316, 531, 1, 1, -9188.178, 1471.158, -99.32278, 5.113815, 7200, 0, 0),
+(@CGUID+85, 15316, 531, 1, 1, -9188.786, 1657.487, -64.15721, 4.23883, 7200, 0, 0),
+(@CGUID+86, 15316, 531, 1, 1, -9189.339, 1531.628, -85.89825, 6.195919, 7200, 0, 0),
+(@CGUID+87, 15316, 531, 1, 1, -9191.104, 1521.98, -87.71062, 5.026548, 7200, 0, 0),
+(@CGUID+88, 15316, 531, 1, 1, -9191.532, 1537.507, -84.53267, 5.864306, 7200, 0, 0),
+(@CGUID+89, 15316, 531, 1, 1, -9192.622, 1647.297, -65.36017, 3.023633, 7200, 0, 0),
+(@CGUID+90, 15316, 531, 1, 1, -9197.758, 1667.534, -61.18479, 1.386884, 7200, 0, 0),
+(@CGUID+91, 15316, 531, 1, 1, -9211.669, 1526.513, -86.4464, 3.19899, 7200, 0, 0),
+(@CGUID+92, 15316, 531, 1, 1, -9212.579, 1576.334, -75.70084, 1.349625, 7200, 0, 0),
+(@CGUID+93, 15316, 531, 1, 1, -9218.398, 1574.924, -76.35339, 0.3938427, 7200, 0, 0),
+(@CGUID+94, 15316, 531, 1, 1, -9220.125, 1595.057, -72.45622, 0.8910265, 7200, 0, 0),
+(@CGUID+95, 15316, 531, 1, 1, -9225.136, 1585.159, -74.82648, 4.34335, 7200, 0, 0),
+(@CGUID+96, 15316, 531, 1, 1, -9235.81, 1588.07, -73.63668, 3.152771, 7200, 0, 0);
+
+-- Qiraji Scorpion
+SET @CGUID := 144332;
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+84;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 15317, 531, 1, 1, -8767.857, 1577.66, -89.34533, 6.280417, 7200, 0, 0),
+(@CGUID+1, 15317, 531, 1, 1, -8822.126, 1500.405, -93.85766, 3.89038, 7200, 0, 0),
+(@CGUID+2, 15317, 531, 1, 1, -8863.717, 1188.008, -104.3105, 3.325896, 7200, 0, 0),
+(@CGUID+3, 15317, 531, 1, 1, -8864.533, 1179.054, -104.2634, 3.61623, 7200, 0, 0),
+(@CGUID+4, 15317, 531, 1, 1, -8868.387, 1219.072, -104.3231, 1.470888, 7200, 0, 0),
+(@CGUID+5, 15317, 531, 1, 1, -8874.394, 1204.472, -104.3245, 2.822855, 7200, 0, 0),
+(@CGUID+6, 15317, 531, 1, 1, -8875.634, 1184.706, -104.3149, 1.349733, 7200, 0, 0),
+(@CGUID+7, 15317, 531, 1, 1, -8889.706, 1263.574, -112.2916, 1.86493, 7200, 0, 0),
+(@CGUID+8, 15317, 531, 1, 1, -8896.925, 1271.528, -112.2916, 1.54404, 7200, 0, 0),
+(@CGUID+9, 15317, 531, 1, 1, -8902.623, 1258.208, -112.2916, 1.783228, 7200, 0, 0),
+(@CGUID+10, 15317, 531, 1, 1, -8907.309, 1264.09, -112.2916, 1.616129, 7200, 0, 0),
+(@CGUID+11, 15317, 531, 1, 1, -8907.318, 1215.414, -112.2933, 5.120383, 7200, 0, 0),
+(@CGUID+12, 15317, 531, 1, 1, -8909.942, 1288.731, -112.2903, 2.332356, 7200, 0, 0),
+(@CGUID+13, 15317, 531, 1, 1, -8910.222, 1210.898, -112.2933, 0.9807646, 7200, 0, 0),
+(@CGUID+14, 15317, 531, 1, 1, -8916.438, 1218.511, -112.2933, 1.023647, 7200, 0, 0),
+(@CGUID+15, 15317, 531, 1, 1, -8927.608, 1219.249, -112.2919, 3.29309, 7200, 0, 0),
+(@CGUID+16, 15317, 531, 1, 1, -8931.669, 1478.098, -92.41454, 4.330824, 7200, 0, 0),
+(@CGUID+17, 15317, 531, 1, 1, -8932.62, 1206.902, -112.2916, 1.067478, 7200, 0, 0),
+(@CGUID+18, 15317, 531, 1, 1, -8937.341, 1231.81, -112.293, 1.432786, 7200, 0, 0),
+(@CGUID+19, 15317, 531, 1, 1, -8941.132, 1183.686, -112.289, 6.190642, 7200, 0, 0),
+(@CGUID+20, 15317, 531, 1, 1, -8945.947, 1250.477, -112.2929, 2.542778, 7200, 0, 0),
+(@CGUID+21, 15317, 531, 1, 1, -8948.824, 1331.953, -104.2506, 5.926363, 7200, 0, 0),
+(@CGUID+22, 15317, 531, 1, 1, -8949.483, 1285.587, -112.21, 6.056293, 7200, 0, 0),
+(@CGUID+23, 15317, 531, 1, 1, -8951.337, 1184.432, -112.2916, 5.571285, 7200, 0, 0),
+(@CGUID+24, 15317, 531, 1, 1, -8951.586, 1472.797, -92.3147, 1.302438, 7200, 0, 0),
+(@CGUID+25, 15317, 531, 1, 1, -8951.589, 1211.099, -112.2927, 1.28833, 7200, 0, 0),
+(@CGUID+26, 15317, 531, 1, 1, -8952.454, 1166.542, -112.3003, 0.01904146, 7200, 0, 0),
+(@CGUID+27, 15317, 531, 1, 1, -8953.988, 1344.636, -104.2234, 0.5719893, 7200, 0, 0),
+(@CGUID+28, 15317, 531, 1, 1, -8955.576, 1230.115, -112.6207, 1.36077, 7200, 0, 0),
+(@CGUID+29, 15317, 531, 1, 1, -8958.938, 1321.819, -104.2457, 5.784297, 7200, 0, 0),
+(@CGUID+30, 15317, 531, 1, 1, -8960.115, 1254.93, -112.2935, 5.113963, 7200, 0, 0),
+(@CGUID+31, 15317, 531, 1, 1, -8960.776, 1262.318, -112.2936, 3.113808, 7200, 0, 0),
+(@CGUID+32, 15317, 531, 1, 1, -8961.691, 1200.368, -112.2923, 1.925909, 7200, 0, 0),
+(@CGUID+33, 15317, 531, 1, 1, -8965.124, 1164.983, -112.2994, 0.2619652, 7200, 0, 0),
+(@CGUID+34, 15317, 531, 1, 1, -8965.508, 1178.931, -112.2083, 4.729842, 7200, 0, 0),
+(@CGUID+35, 15317, 531, 1, 1, -8966.613, 1337.695, -104.2513, 2.703376, 7200, 0, 0),
+(@CGUID+36, 15317, 531, 1, 1, -8973.95, 1265.45, -112.2938, 1.584118, 7200, 0, 0),
+(@CGUID+37, 15317, 531, 1, 1, -8977.52, 1266.341, -112.2916, 5.713685, 7200, 0, 0),
+(@CGUID+38, 15317, 531, 1, 1, -8978.57, 1198.204, -112.2933, 2.00547, 7200, 0, 0),
+(@CGUID+39, 15317, 531, 1, 1, -8984.783, 1209.762, -112.2933, 3.727343, 7200, 0, 0),
+(@CGUID+40, 15317, 531, 1, 1, -8989.297, 1202.465, -112.2933, 5.423434, 7200, 0, 0),
+(@CGUID+41, 15317, 531, 1, 1, -8992.732, 1212.768, -112.2933, 6.098367, 7200, 0, 0),
+(@CGUID+42, 15317, 531, 1, 1, -8996.319, 1224.411, -112.2871, 3.1986, 7200, 0, 0),
+(@CGUID+43, 15317, 531, 1, 1, -8996.775, 1272.687, -112.2916, 1.227572, 7200, 0, 0),
+(@CGUID+44, 15317, 531, 1, 1, -9002.565, 1324.533, -104.2338, 2.005882, 7200, 0, 0),
+(@CGUID+45, 15317, 531, 1, 1, -9005.325, 1249.047, -112.2889, 5.861159, 7200, 0, 0),
+(@CGUID+46, 15317, 531, 1, 1, -9009.533, 1273.289, -112.3006, 0.9313107, 7200, 0, 0),
+(@CGUID+47, 15317, 531, 1, 1, -9014.954, 1261.934, -112.3012, 1.054686, 7200, 0, 0),
+(@CGUID+48, 15317, 531, 1, 1, -9020.213, 1262.013, -112.2994, 4.35212, 7200, 0, 0),
+(@CGUID+49, 15317, 531, 1, 1, -9026.252, 1184.02, -104.3176, 2.335238, 7200, 0, 0),
+(@CGUID+50, 15317, 531, 1, 1, -9029.824, 1168.414, -104.2877, 5.261246, 7200, 0, 0),
+(@CGUID+51, 15317, 531, 1, 1, -9034.853, 1195.079, -104.3191, 5.497178, 7200, 0, 0),
+(@CGUID+52, 15317, 531, 1, 1, -9044.638, 1179.075, -104.2623, 4.273608, 7200, 0, 0),
+(@CGUID+53, 15317, 531, 1, 1, -9045.368, 1426.71, -106.2691, 4.956735, 7200, 0, 0),
+(@CGUID+54, 15317, 531, 1, 1, -9045.752, 1189.078, -104.2579, 1.568065, 7200, 0, 0),
+(@CGUID+55, 15317, 531, 1, 1, -9048.547, 1421.894, -106.3411, 0.05235988, 7200, 0, 0),
+(@CGUID+56, 15317, 531, 1, 1, -9054.128, 1419.324, -106.088, 3.316126, 7200, 0, 0),
+(@CGUID+57, 15317, 531, 1, 1, -9063.941, 1432.531, -107.3954, 6.056363, 7200, 0, 0),
+(@CGUID+58, 15317, 531, 1, 1, -9064.931, 1387.491, -106.5863, 4.276057, 7200, 0, 0),
+(@CGUID+59, 15317, 531, 1, 1, -9075.902, 1395.459, -106.8902, 0.5061455, 7200, 0, 0),
+(@CGUID+60, 15317, 531, 1, 1, -9081.571, 1399.585, -107.172, 5.270895, 7200, 0, 0),
+(@CGUID+61, 15317, 531, 1, 1, -9082.262, 1393.761, -107.1919, 0.1741033, 7200, 0, 0),
+(@CGUID+62, 15317, 531, 1, 1, -9086.603, 1497.652, -102.6972, 3.385939, 7200, 0, 0),
+(@CGUID+63, 15317, 531, 1, 1, -9087.264, 1506.401, -100.6753, 2.617994, 7200, 0, 0),
+(@CGUID+64, 15317, 531, 1, 1, -9090.989, 1356.731, -105.0189, 3.124139, 7200, 0, 0),
+(@CGUID+65, 15317, 531, 1, 1, -9091.271, 1492.376, -103.3976, 5.742133, 7200, 0, 0),
+(@CGUID+66, 15317, 531, 1, 1, -9091.804, 1342.174, -105.5085, 5.340707, 7200, 0, 0),
+(@CGUID+67, 15317, 531, 1, 1, -9098.125, 1447.736, -104.3787, 2.112744, 7200, 0, 0),
+(@CGUID+68, 15317, 531, 1, 1, -9098.346, 1364.72, -105.1836, 2.565634, 7200, 0, 0),
+(@CGUID+69, 15317, 531, 1, 1, -9099.76, 1498.805, -101.7028, 1.471863, 7200, 0, 0),
+(@CGUID+70, 15317, 531, 1, 1, -9103.596, 1357.07, -106.0872, 4.729842, 7200, 0, 0),
+(@CGUID+71, 15317, 531, 1, 1, -9105.113, 1363.609, -105.8369, 3.787364, 7200, 0, 0),
+(@CGUID+72, 15317, 531, 1, 1, -9126.784, 1462.199, -104.2633, 0.7992821, 7200, 0, 0),
+(@CGUID+73, 15317, 531, 1, 1, -9172.644, 1542.289, -87.25746, 4.763266, 7200, 0, 0),
+(@CGUID+74, 15317, 531, 1, 1, -9177.08, 1683.528, -54.50222, 0.04849045, 7200, 0, 0),
+(@CGUID+75, 15317, 531, 1, 1, -9183.351, 1644.611, -67.06108, 2.327298, 7200, 0, 0),
+(@CGUID+76, 15317, 531, 1, 1, -9187.728, 1680.688, -57.8031, 5.651324, 7200, 0, 0),
+(@CGUID+77, 15317, 531, 1, 1, -9190.996, 1674.806, -59.74267, 3.410446, 7200, 0, 0),
+(@CGUID+78, 15317, 531, 1, 1, -9193.495, 1691.111, -54.63859, 3.411577, 7200, 0, 0),
+(@CGUID+79, 15317, 531, 1, 1, -9197.91, 1677.646, -59.01847, 5.331757, 7200, 0, 0),
+(@CGUID+80, 15317, 531, 1, 1, -9200.417, 1565.645, -78.08263, 3.682645, 7200, 0, 0),
+(@CGUID+81, 15317, 531, 1, 1, -9215.096, 1566.989, -77.65082, 4.193158, 7200, 0, 0),
+(@CGUID+82, 15317, 531, 1, 1, -9215.519, 1556.678, -79.77057, 3.495375, 7200, 0, 0),
+(@CGUID+83, 15317, 531, 1, 1, -9223.643, 1562.967, -78.591, 0.9200022, 7200, 0, 0),
+(@CGUID+84, 15317, 531, 1, 1, -9231.377, 1566.911, -77.66441, 5.653526, 7200, 0, 0);
+
+UPDATE `creature` SET `phaseId`=169 WHERE `phaseId`=1;
+
diff --git a/sql/updates/world/2015_11_06_05_world_2015_10_14_05.sql b/sql/updates/world/2015_11_06_05_world_2015_10_14_05.sql
new file mode 100644
index 00000000000..5029b807055
--- /dev/null
+++ b/sql/updates/world/2015_11_06_05_world_2015_10_14_05.sql
@@ -0,0 +1,2 @@
+-- Meteorite Crystal
+UPDATE `spell_proc_event` SET `ppmRate`=0 WHERE `entry`=64999;
diff --git a/sql/updates/world/2015_11_06_06_world_2015_10_14_06.sql b/sql/updates/world/2015_11_06_06_world_2015_10_14_06.sql
new file mode 100644
index 00000000000..b3b5b23ea30
--- /dev/null
+++ b/sql/updates/world/2015_11_06_06_world_2015_10_14_06.sql
@@ -0,0 +1,8 @@
+--
+UPDATE `waypoints` SET `position_z`=489.640110 WHERE `entry`=15491 AND `pointid`=3;
+UPDATE `creature_template` SET `InhabitType`=6 WHERE `entry`=15491;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=15491 AND `source_type`=0 AND `id`>38;
+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
+(15491,0,39,0,40,0,100,0,3,15491,0,0,91,2,3,0,0,0,0,1,0,0,0,0,0,0,0,"Eranikus, Tyrant of the Dream - On Waypoint 3 Reached - Remove Flag Hover"),
+(15491,0,40,0,54,0,100,0,0,0,0,0,18,768,0,0,0,0,0,1,0,0,0,0,0,0,0,"Eranikus, Tyrant of the Dream - On Just summoned - Set unitflag"),
+(15491,0,41,0,40,0,100,0,4,15491,0,0,19,768,0,0,0,0,0,1,0,0,0,0,0,0,0,"Eranikus, Tyrant of the Dream - On Waypoint 4 Reached - Remove unitflag");
diff --git a/sql/updates/world/2015_11_06_07_world_2015_10_14_07.sql b/sql/updates/world/2015_11_06_07_world_2015_10_14_07.sql
new file mode 100644
index 00000000000..4c2d6b05e1e
--- /dev/null
+++ b/sql/updates/world/2015_11_06_07_world_2015_10_14_07.sql
@@ -0,0 +1,1842 @@
+-- AQ20 Full Respawn, Full Pathing **** 355 & 434 & 6XX ****
+SET @CGUID := 144417;
+DELETE FROM `creature` WHERE `map`=509;
+DELETE FROM `linked_respawn` WHERE `guid` BETWEEN 61988 AND 61993;
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+383;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 4076, 509, 1, 1, -8557.875, 1475.61, 32.09278, 0.3173114, 7200, 10, 1), -- Roach
+(@CGUID+1, 4076, 509, 1, 1, -8578.957, 1562.631, 38.3445, 2.08301, 7200, 10, 1), -- Roach
+(@CGUID+2, 4076, 509, 1, 1, -8670.483, 1374.597, 32.03201, 3.178652, 7200, 10, 1), -- Roach
+(@CGUID+3, 4076, 509, 1, 1, -8764.862, 1637.767, 21.83943, 1.083136, 7200, 10, 1), -- Roach
+(@CGUID+4, 4076, 509, 1, 1, -8839.453, 2198.035, 21.48637, 3.546741, 7200, 10, 1), -- Roach
+(@CGUID+5, 4076, 509, 1, 1, -8879.403, 1635.506, 21.51133, 0.4385682, 7200, 10, 1), -- Roach
+(@CGUID+6, 4076, 509, 1, 1, -8895.27, 1739.468, 21.59288, 3.728892, 7200, 10, 1), -- Roach
+(@CGUID+7, 4076, 509, 1, 1, -8958.73, 1640.258, 29.74357, 3.461734, 7200, 10, 1), -- Roach
+(@CGUID+8, 4076, 509, 1, 1, -8993.171, 2054.444, 24.64812, 0.330403, 7200, 10, 1), -- Roach
+(@CGUID+9, 4076, 509, 1, 1, -9007.328, 1625.977, 31.00255, 2.55359, 7200, 10, 1), -- Roach
+(@CGUID+10, 4076, 509, 1, 1, -9159.453, 1308.013, 21.74607, 0.6927378, 7200, 10, 1), -- Roach
+(@CGUID+11, 4076, 509, 1, 1, -9330.007, 1187.867, 21.52394, 5.304915, 7200, 10, 1), -- Roach
+(@CGUID+12, 4076, 509, 1, 1, -9447.224, 1341.093, 21.44869, 3.252343, 7200, 10, 1), -- Roach
+(@CGUID+13, 15168, 509, 1, 1, -8523.959, 1468.174, 32.73527, 2.546548, 7200, 5, 1), -- Vile Scarab
+(@CGUID+14, 15168, 509, 1, 1, -8556.954, 1410.153, 32.13479, 4.098383, 7200, 5, 1), -- Vile Scarab
+(@CGUID+15, 15168, 509, 1, 1, -8577.19, 1449.547, 32.29018, 0.351546, 7200, 5, 1), -- Vile Scarab
+(@CGUID+16, 15168, 509, 1, 1, -8585.965, 1341.191, 34.02468, 6.263584, 7200, 5, 1), -- Vile Scarab
+(@CGUID+17, 15168, 509, 1, 1, -8605.016, 1599.756, 32.03201, 2.771847, 7200, 5, 1), -- Vile Scarab
+(@CGUID+18, 15168, 509, 1, 1, -8610.068, 1357.368, 32.42776, 6.232846, 7200, 5, 1), -- Vile Scarab
+(@CGUID+19, 15168, 509, 1, 1, -8645.912, 1430.941, 32.48993, 4.987458, 7200, 5, 1), -- Vile Scarab
+(@CGUID+20, 15168, 509, 1, 1, -8659.348, 1666.773, 21.51167, 2.910921, 7200, 5, 1), -- Vile Scarab
+(@CGUID+21, 15168, 509, 1, 1, -8661.099, 1559.783, 32.03201, 5.295803, 7200, 5, 1), -- Vile Scarab
+(@CGUID+22, 15168, 509, 1, 1, -8694.207, 1489.305, 32.14948, 3.348807, 7200, 5, 1), -- Vile Scarab
+(@CGUID+23, 15168, 509, 1, 1, -8732.676, 1399.609, 32.53547, 3.420845, 7200, 5, 1), -- Vile Scarab
+(@CGUID+24, 15168, 509, 1, 1, -8733.768, 1600.124, 21.46972, 3.246312, 7200, 5, 1), -- Vile Scarab
+(@CGUID+25, 15168, 509, 1, 1, -8785.252, 2009.173, 21.46967, 3.001966, 7200, 5, 1), -- Vile Scarab
+(@CGUID+26, 15168, 509, 1, 1, -8792.841, 2131.115, 21.46975, 5.183628, 7200, 5, 1), -- Vile Scarab
+(@CGUID+27, 15168, 509, 1, 1, -8848.906, 1845.958, 21.46968, 2.059489, 7200, 5, 1), -- Vile Scarab
+(@CGUID+28, 15168, 509, 1, 1, -8917.903, 1547.614, 21.46967, 0.9948376, 7200, 5, 1), -- Vile Scarab
+(@CGUID+29, 15168, 509, 1, 1, -8978.44, 2101.632, 21.46971, 0.3665192, 7200, 5, 1), -- Vile Scarab
+(@CGUID+30, 15168, 509, 1, 1, -8994.842, 1916.528, 21.46968, 5.5676, 7200, 5, 1), -- Vile Scarab
+(@CGUID+31, 15168, 509, 1, 1, -9000.707, 1700.101, 21.57215, 4.433136, 7200, 5, 1), -- Vile Scarab
+(@CGUID+32, 15168, 509, 1, 1, -9058.105, 2159.35, 21.46968, 4.363323, 7200, 5, 1), -- Vile Scarab
+(@CGUID+33, 15168, 509, 1, 1, -9066.019, 1733.488, 21.53086, 3.246312, 7200, 5, 1), -- Vile Scarab
+(@CGUID+34, 15168, 509, 1, 1, -9211.341, 1432.979, 21.46969, 4.014257, 7200, 5, 1), -- Vile Scarab
+(@CGUID+35, 15318, 509, 1, 1, -9489.848, 1372.825, 21.59988, 4.380776, 7200, 5, 1), -- Hive'Zara Drone
+(@CGUID+36, 15318, 509, 1, 1, -9524.376, 1383.685, 21.51131, 1.03884, 7200, 5, 1), -- Hive'Zara Drone
+(@CGUID+37, 15318, 509, 1, 1, -9574.348, 1484.254, 22.76791, 1.781548, 7200, 5, 1), -- Hive'Zara Drone
+(@CGUID+38, 15318, 509, 1, 1, -9578.559, 1506.852, 21.73697, 3.014219, 7200, 5, 1), -- Hive'Zara Drone
+(@CGUID+39, 15318, 509, 1, 1, -9580.178, 1381.902, 23.9498, 1.777291, 7200, 5, 1), -- Hive'Zara Drone
+(@CGUID+40, 15318, 509, 1, 1, -9592.439, 1388.404, 25.74436, 2.019479, 7200, 5, 1), -- Hive'Zara Drone
+(@CGUID+41, 15319, 509, 1, 1, -9479.979, 1370.798, 23.41084, 1.989675, 7200, 5, 1), -- Hive'Zara Collector
+(@CGUID+42, 15319, 509, 1, 1, -9511.272, 1386.067, 21.51131, 0.1170127, 7200, 5, 1), -- Hive'Zara Collector
+(@CGUID+43, 15319, 509, 1, 1, -9571.893, 1493.507, 21.54095, 2.293517, 7200, 5, 1), -- Hive'Zara Collector
+(@CGUID+44, 15319, 509, 1, 1, -9580.605, 1480.182, 22.21877, 4.90255, 7200, 5, 1), -- Hive'Zara Collector
+(@CGUID+45, 15319, 509, 1, 1, -9589.697, 1407.815, 21.51132, 0.6980565, 7200, 5, 1), -- Hive'Zara Collector
+(@CGUID+46, 15319, 509, 1, 1, -9592.67, 1425.937, 21.63632, 2.661848, 7200, 5, 1), -- Hive'Zara Collector
+(@CGUID+47, 15320, 509, 1, 1, -9141.966, 1292.707, 21.46963, 1.710423, 7200, 5, 1), -- Hive'Zara Soldier
+(@CGUID+48, 15320, 509, 1, 1, -9149.69, 1284.749, 21.46964, 0.5061455, 7200, 5, 1), -- Hive'Zara Soldier
+(@CGUID+49, 15320, 509, 1, 1, -9187.016, 1463.765, 21.46968, 1.186824, 7200, 5, 1), -- Hive'Zara Soldier
+(@CGUID+50, 15320, 509, 1, 1, -9224.242, 1384.024, 21.46967, 3.193953, 7200, 5, 1), -- Hive'Zara Soldier
+(@CGUID+51, 15320, 509, 1, 1, -9236.348, 1396.04, 21.46967, 2.513274, 7200, 5, 1), -- Hive'Zara Soldier
+(@CGUID+52, 15320, 509, 1, 1, -9315.232, 1380.299, 21.50587, 5.462881, 7200, 5, 1), -- Hive'Zara Soldier
+(@CGUID+53, 15320, 509, 1, 1, -9340.127, 1210.839, 21.4696, 5.340707, 7200, 5, 1), -- Hive'Zara Soldier
+(@CGUID+54, 15320, 509, 1, 1, -9386.74, 1393.283, 21.46968, 2.076942, 7200, 5, 1), -- Hive'Zara Soldier
+(@CGUID+55, 15320, 509, 1, 1, -9395.24, 1388.353, 21.38681, 0.4920194, 7200, 5, 1), -- Hive'Zara Soldier
+(@CGUID+56, 15323, 509, 1, 1, -9154.134, 1292.979, 21.46964, 4.276057, 7200, 5, 1), -- Hive'Zara Sandstalker
+(@CGUID+57, 15323, 509, 1, 1, -9189.154, 1452.477, 21.52919, 2.059489, 7200, 5, 1), -- Hive'Zara Sandstalker
+(@CGUID+58, 15323, 509, 1, 1, -9199.545, 1464.198, 21.48786, 2.70526, 7200, 5, 1), -- Hive'Zara Sandstalker
+(@CGUID+59, 15323, 509, 1, 1, -9231.433, 1386.642, 21.46967, 0.4363323, 7200, 5, 1), -- Hive'Zara Sandstalker
+(@CGUID+60, 15323, 509, 1, 1, -9301.522, 1385.101, 21.46969, 5.67232, 7200, 5, 1), -- Hive'Zara Sandstalker
+(@CGUID+61, 15323, 509, 1, 1, -9311.369, 1389.395, 21.50966, 5.532694, 7200, 5, 1), -- Hive'Zara Sandstalker
+(@CGUID+62, 15323, 509, 1, 1, -9353.457, 1204.119, 21.85404, 4.13643, 7200, 5, 1), -- Hive'Zara Sandstalker
+(@CGUID+63, 15323, 509, 1, 1, -9359.12, 1217.685, 21.46961, 3.124139, 7200, 5, 1), -- Hive'Zara Sandstalker
+(@CGUID+64, 15323, 509, 1, 1, -9379.337, 1401.022, 21.47204, 3.316126, 7200, 5, 1), -- Hive'Zara Sandstalker
+(@CGUID+65, 15324, 509, 1, 1, -8517.444, 1505.661, 33.36475, 0.8377581, 7200, 0, 0), -- Qiraji Gladiator
+(@CGUID+66, 15324, 509, 1, 1, -8531.854, 1515.689, 33.26437, 0.7679449, 7200, 0, 0), -- Qiraji Gladiator
+(@CGUID+67, 15324, 509, 1, 1, -8693.788, 1565.823, 31.99034, 5.358161, 7200, 0, 0), -- Qiraji Gladiator
+(@CGUID+68, 15324, 509, 1, 1, -8706.146, 1552.285, 31.99034, 5.410521, 7200, 0, 0), -- Qiraji Gladiator
+(@CGUID+69, 15324, 509, 1, 1, -9053.818, 1664.356, 22.9385, 3.996804, 7200, 0, 0), -- Qiraji Gladiator
+(@CGUID+70, 15324, 509, 1, 1, -9067.317, 1673.464, 23.0715, 4.310963, 7200, 0, 0), -- Qiraji Gladiator
+(@CGUID+71, 15324, 509, 1, 1, -9148.94, 1510.32, 21.99232, 0.9424778, 7200, 0, 0), -- Qiraji Gladiator
+(@CGUID+72, 15324, 509, 1, 1, -9162.49, 1518.798, 22.7809, 0.2268928, 7200, 0, 0), -- Qiraji Gladiator
+(@CGUID+73, 15325, 509, 1, 1, -8515.021, 1397.78, 32.29177, 4.820597, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+74, 15325, 509, 1, 1, -8524.704, 1395.719, 31.98318, 5.121015, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+75, 15325, 509, 1, 1, -8535.219, 1424.391, 32.03201, 5.229107, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+76, 15325, 509, 1, 1, -8544.961, 1422.634, 32.03201, 5.260347, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+77, 15325, 509, 1, 1, -8639.566, 1345.902, 32.3508, 3.251172, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+78, 15325, 509, 1, 1, -8640.774, 1355.726, 32.31917, 3.251222, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+79, 15325, 509, 1, 1, -8654.444, 1491.354, 32.0958, 1.829467, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+80, 15325, 509, 1, 1, -8660.053, 1491.356, 32.18204, 2.223871, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+81, 15325, 509, 1, 1, -8660.561, 1414.245, 32.65175, 1.890694, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+82, 15325, 509, 1, 1, -8666.813, 1407.651, 32.03201, 2.012179, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+83, 15325, 509, 1, 1, -8695.072, 1455.611, 32.48226, 3.809897, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+84, 15325, 509, 1, 1, -8700.693, 1463.633, 33.78428, 3.815571, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+85, 15325, 509, 1, 1, -8743.022, 1607.379, 21.61758, 3.693705, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+86, 15325, 509, 1, 1, -8747.875, 1615.742, 21.87457, 3.717672, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+87, 15325, 509, 1, 1, -8752.388, 1622.344, 21.76074, 4.628274, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+88, 15325, 509, 1, 1, -8761.905, 1621.611, 21.83998, 4.671357, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+89, 15325, 509, 1, 1, -8773.826, 1640.988, 21.80477, 2.381759, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+90, 15325, 509, 1, 1, -8780.559, 1633.73, 21.72563, 2.381759, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+91, 15325, 509, 1, 1, -8816.079, 1599.633, 21.46869, 3.29854, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+92, 15325, 509, 1, 1, -8817.565, 1609.256, 20.37871, 3.284594, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+93, 15325, 509, 1, 1, -9586.802, 1602.671, 21.51135, 6.242362, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+94, 15325, 509, 1, 1, -9590.834, 1600.473, 21.51135, 0.05669658, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+95, 15325, 509, 1, 1, -9593.194, 1594.593, 21.55599, 1.229132, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+96, 15325, 509, 1, 1, -9606.353, 1571.422, 22.01131, 0.2620987, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+97, 15325, 509, 1, 1, -9607.973, 1606.99, 21.60341, 0.9448448, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+98, 15325, 509, 1, 1, -9608.446, 1563.199, 21.65768, 0.1963355, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+99, 15325, 509, 1, 1, -9609.348, 1615.344, 21.79114, 0.9476151, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+100, 15325, 509, 1, 1, -9610.393, 1610.891, 21.60728, 0.9449909, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+101, 15325, 509, 1, 1, -9649.376, 1648.167, 21.52642, 1.862836, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+102, 15325, 509, 1, 1, -9653.988, 1648.745, 21.59047, 1.866604, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+103, 15325, 509, 1, 1, -9656.947, 1652.301, 21.52642, 1.870413, 7200, 0, 0), -- Hive'Zara Wasp
+(@CGUID+104, 15327, 509, 1, 1, -8521.604, 1377.789, 34.2847, 4.518502, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+105, 15327, 509, 1, 1, -8538.28, 1413.481, 32.03201, 4.890828, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+106, 15327, 509, 1, 1, -8654.492, 1349.237, 32.22055, 0.1095644, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+107, 15327, 509, 1, 1, -8660.443, 1499.997, 32.17234, 2.224768, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+108, 15327, 509, 1, 1, -8667.888, 1419.82, 32.11544, 1.778565, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+109, 15327, 509, 1, 1, -8705.161, 1452.156, 33.72097, 3.983237, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+110, 15327, 509, 1, 1, -8750.896, 1607.642, 22.07515, 3.82532, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+111, 15327, 509, 1, 1, -8758.171, 1609.758, 21.96272, 4.207295, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+112, 15327, 509, 1, 1, -8787.256, 1646.833, 22.81458, 2.358341, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+113, 15327, 509, 1, 1, -8822.804, 1603.601, 21.43074, 3.162875, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+114, 15327, 509, 1, 1, -9578.752, 1590.721, 21.58902, 5.604074, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+115, 15327, 509, 1, 1, -9582.396, 1601.374, 21.63635, 6.097988, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+116, 15327, 509, 1, 1, -9590.949, 1573.593, 21.64739, 0.5360234, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+117, 15327, 509, 1, 1, -9592.131, 1596.068, 21.52306, 0.03750357, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+118, 15327, 509, 1, 1, -9603.499, 1605.943, 21.51134, 0.9452588, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+119, 15327, 509, 1, 1, -9604.769, 1560.449, 21.63631, 0.2232969, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+120, 15327, 509, 1, 1, -9623.114, 1586.583, 21.88172, 0.9226059, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+121, 15327, 509, 1, 1, -9637.552, 1612.699, 21.51152, 1.132231, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+122, 15327, 509, 1, 1, -9643.36, 1625.865, 21.68241, 1.686941, 7200, 0, 0), -- Hive'Zara Stinger
+(@CGUID+123, 15333, 509, 1, 1, -9450.053, 1422.016, 28.19568, 5.704928, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+124, 15333, 509, 1, 1, -9452.668, 1483.815, 22.87595, 1.221858, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+125, 15333, 509, 1, 1, -9454.068, 1451.504, 21.53237, 0.4250475, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+126, 15333, 509, 1, 1, -9483.096, 1476.489, 21.51131, 4.546051, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+127, 15333, 509, 1, 1, -9485.433, 1454.96, 21.51132, 1.341279, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+128, 15333, 509, 1, 1, -9491.116, 1377.249, 21.51131, 4.68092, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+129, 15333, 509, 1, 1, -9491.985, 1360.045, 21.51132, 1.734773, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+130, 15333, 509, 1, 1, -9505.238, 1333.173, 21.51132, 0.5689664, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+131, 15333, 509, 1, 1, -9508.66, 1373.73, 21.58461, 6.189344, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+132, 15333, 509, 1, 1, -9511.469, 1481.016, 22.00921, 1.69612, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+133, 15333, 509, 1, 1, -9512.081, 1354.932, 21.62411, 0.05311435, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+134, 15333, 509, 1, 1, -9520.733, 1456.67, 21.51132, 2.629578, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+135, 15333, 509, 1, 1, -9544.545, 1392.073, 21.51131, 0.8189642, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+136, 15333, 509, 1, 1, -9551.313, 1411.539, 21.51131, 3.517841, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+137, 15333, 509, 1, 1, -9559.898, 1520.136, 21.51131, 3.08167, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+138, 15333, 509, 1, 1, -9576.01, 1517.689, 21.53801, 2.500756, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+139, 15333, 509, 1, 1, -9581.107, 1420.726, 21.51132, 0.9606542, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+140, 15333, 509, 1, 1, -9581.575, 1491.29, 21.51131, 1.228613, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+141, 15333, 509, 1, 1, -9581.714, 1578.228, 21.64806, 3.731387, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+142, 15333, 509, 1, 1, -9582.215, 1391.218, 22.1015, 3.665587, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+143, 15333, 509, 1, 1, -9583.522, 1554.888, 21.58274, 2.520709, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+144, 15333, 509, 1, 1, -9586.859, 1644.306, 21.83975, 5.548194, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+145, 15333, 509, 1, 1, -9588.4, 1609.687, 22.03196, 4.592999, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+146, 15333, 509, 1, 1, -9589.72, 1442.263, 21.63682, 5.89996, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+147, 15333, 509, 1, 1, -9607.79, 1461.607, 22.79347, 3.408359, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+148, 15333, 509, 1, 1, -9610.552, 1614.562, 21.88635, 0.1637974, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+149, 15333, 509, 1, 1, -9612.232, 1582.742, 21.88631, 1.648435, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+150, 15333, 509, 1, 1, -9612.367, 1642.575, 21.51134, 5.734612, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+151, 15333, 509, 1, 1, -9612.531, 1553.086, 21.51131, 5.839962, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+152, 15333, 509, 1, 1, -9645.53, 1619.285, 22.01152, 1.771511, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+153, 15333, 509, 1, 1, -9647.195, 1651.031, 21.65448, 0.9608645, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+154, 15333, 509, 1, 1, -9653.326, 1673.394, 22.09751, 3.574276, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+155, 15333, 509, 1, 1, -9654.614, 1553.397, 21.51586, 3.283447, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+156, 15333, 509, 1, 1, -9656.288, 1585.146, 21.62086, 2.682987, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+157, 15333, 509, 1, 1, -9674.635, 1580.351, 21.51132, 6.094749, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+158, 15333, 509, 1, 1, -9675.218, 1611.29, 21.51152, 4.639176, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+159, 15333, 509, 1, 1, -9675.699, 1652.324, 21.51187, 3.384236, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+160, 15333, 509, 1, 1, -9681.588, 1551.112, 21.56898, 1.922503, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+161, 15333, 509, 1, 1, -9721.058, 1484.207, 21.63279, 4.123934, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+162, 15333, 509, 1, 1, -9740.685, 1486.821, 22.87148, 0.6774856, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+163, 15333, 509, 1, 1, -9746.62, 1514.349, 22.26016, 5.49662, 7200, 10, 1), -- Silicate Feeder
+(@CGUID+164, 15335, 509, 1, 1, -8962.963, 1649.652, 24.11304, 0.4845064, 7200, 0, 0), -- Flesh Hunter
+(@CGUID+165, 15335, 509, 1, 1, -9082.635, 2149.024, 23.20904, 5.902679, 7200, 0, 0), -- Flesh Hunter
+(@CGUID+166, 15335, 509, 1, 1, -9305.492, 1403.459, 25.60786, 2.159173, 7200, 0, 0), -- Flesh Hunter
+(@CGUID+167, 15335, 509, 1, 1, -9456.793, 1296.307, 22.1249, 1.87437, 7200, 0, 0), -- Flesh Hunter
+(@CGUID+168, 15335, 509, 1, 1, -9328.003, 1298.321, -64.24252, 0.2443461, 7200, 5, 1), -- Flesh Hunter
+(@CGUID+169, 15336, 509, 1, 1, -9494.096, 1385.02, 21.46964, 2.268928, 7200, 5, 1), -- Hive'Zara Tail Lasher
+(@CGUID+170, 15336, 509, 1, 1, -9503.87, 1392.831, 21.51751, 0.9250245, 7200, 5, 1), -- Hive'Zara Tail Lasher
+(@CGUID+171, 15336, 509, 1, 1, -9563.056, 1500.709, 22.59851, 4.18879, 7200, 5, 1), -- Hive'Zara Tail Lasher
+(@CGUID+172, 15336, 509, 1, 1, -9592.147, 1496.167, 22.92012, 1.106082, 7200, 5, 1), -- Hive'Zara Tail Lasher
+(@CGUID+173, 15336, 509, 1, 1, -9600.68, 1417.569, 22.99969, 5.747794, 7200, 5, 1), -- Hive'Zara Tail Lasher
+(@CGUID+174, 15336, 509, 1, 1, -9602.287, 1403.74, 24.61112, 1.931395, 7200, 5, 1), -- Hive'Zara Tail Lasher
+(@CGUID+175, 15338, 509, 1, 1, -8786.295, 2107.791, 21.79048, 5.001371, 7200, 0, 0), -- Obsidian Destroyer
+(@CGUID+176, 15338, 509, 1, 1, -8798.089, 1934.021, 21.46238, 4.412516, 7200, 0, 0), -- Obsidian Destroyer
+(@CGUID+177, 15338, 509, 1, 1, -8864.612, 2021.75, 21.64479, 3.131173, 7200, 0, 0), -- Obsidian Destroyer
+(@CGUID+178, 15338, 509, 1, 1, -8868.629, 1877.659, 21.87304, 2.538011, 7200, 0, 0), -- Obsidian Destroyer
+(@CGUID+179, 15338, 509, 1, 1, -8936.657, 1715.272, 21.51128, 4.108858, 7200, 0, 0), -- Obsidian Destroyer
+(@CGUID+180, 15338, 509, 1, 1, -8970.525, 2080.208, 21.51132, 5.018237, 7200, 0, 0), -- Obsidian Destroyer
+(@CGUID+181, 15338, 509, 1, 1, -9014.472, 1711.889, 21.48144, 2.354002, 7200, 0, 0), -- Obsidian Destroyer
+(@CGUID+182, 15338, 509, 1, 1, -9018.842, 1888.04, 21.62847, 4.138173, 7200, 0, 0), -- Obsidian Destroyer
+(@CGUID+183, 15338, 509, 1, 1, -9080.542, 1740.715, 21.51128, 5.577422, 7200, 0, 0), -- Obsidian Destroyer
+(@CGUID+184, 15339, 509, 1, 1, -9502.8, 2042.65, 105.3096, 5.654867, 7200, 0, 0), -- Ossirian the Unscarred
+(@CGUID+185, 15340, 509, 1, 1, -8845.518, 2260.144, 21.46967, 4.642576, 7200, 0, 0), -- Moam
+(@CGUID+186, 15341, 509, 1, 1, -9129.729, 1602.503, 26.54407, 5.532694, 7200, 0, 0), -- General Rajaxx
+(@CGUID+187, 15343, 509, 1, 1, -8595.92, 1447.688, 32.04808, 5.463164, 7200, 0, 0), -- Qiraji Swarmguard
+(@CGUID+188, 15343, 509, 1, 1, -8634.026, 1515.246, 31.96161, 2.593201, 7200, 0, 0), -- Qiraji Swarmguard
+(@CGUID+189, 15343, 509, 1, 1, -8641.496, 1392.684, 32.10234, 5.526043, 7200, 0, 0), -- Qiraji Swarmguard
+(@CGUID+190, 15343, 509, 1, 1, -8642.217, 1445.216, 32.52929, 0.8981247, 7200, 0, 0), -- Qiraji Swarmguard
+(@CGUID+191, 15343, 509, 1, 1, -8647.904, 1430.745, 32.16164, 3.90623, 7200, 0, 0), -- Qiraji Swarmguard
+(@CGUID+192, 15343, 509, 1, 1, -8652.679, 1459.439, 32.04622, 2.591174, 7200, 0, 0), -- Qiraji Swarmguard
+(@CGUID+193, 15344, 509, 1, 1, -8991.146, 1553.998, 21.65394, 2.775074, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+194, 15344, 509, 1, 1, -9003.747, 1536.158, 21.46966, 2.635447, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+195, 15344, 509, 1, 1, -9012.13, 1608.774, 24.86932, 3.141593, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+196, 15344, 509, 1, 1, -9014.358, 1597.683, 21.46967, 3.036873, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+197, 15344, 509, 1, 1, -9020.146, 1586.732, 21.46967, 2.949606, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+198, 15344, 509, 1, 1, -9022.039, 1612.046, 22.80729, 3.159046, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+199, 15344, 509, 1, 1, -9022.71, 1505.878, 21.55961, 2.408554, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+200, 15344, 509, 1, 1, -9029.94, 1498.077, 22.14014, 2.338741, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+201, 15344, 509, 1, 1, -9031.986, 1592.263, 21.46968, 2.984513, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+202, 15344, 509, 1, 1, -9038.44, 1491.037, 23.22957, 2.268928, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+203, 15344, 509, 1, 1, -9070.706, 1634.371, 21.48116, 3.490659, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+204, 15344, 509, 1, 1, -9071.044, 1622.144, 21.46969, 3.333579, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+205, 15344, 509, 1, 1, -9071.757, 1611.277, 21.4721, 3.176499, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+206, 15344, 509, 1, 1, -9076.421, 1530.23, 21.46967, 2.234021, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+207, 15344, 509, 1, 1, -9078.797, 1622.799, 21.46967, 3.368485, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+208, 15344, 509, 1, 1, -9083.137, 1524.759, 21.46966, 2.146755, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+209, 15344, 509, 1, 1, -9091.763, 1519.367, 21.46966, 2.059489, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+210, 15344, 509, 1, 1, -9092.34, 1586.273, 21.46964, 2.687807, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+211, 15344, 509, 1, 1, -9097.289, 1578.36, 21.46964, 2.513274, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+212, 15344, 509, 1, 1, -9102.547, 1569.417, 21.4757, 2.321288, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+213, 15344, 509, 1, 1, -9113.942, 1546.056, 21.46964, 1.954769, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+214, 15344, 509, 1, 1, -9132.825, 1539.097, 21.46964, 1.658063, 7200, 0, 0), -- Swarmguard Needler
+(@CGUID+215, 15348, 509, 1, 1, -8822.197, 1625.819, 19.80574, 3.884628, 7200, 5, 1), -- Kurinnaxx
+(@CGUID+216, 15355, 509, 1, 1, -9161.633, 1893.916, 86.4881, 4.610681, 7200, 0, 0), -- Anubisath Guardian
+(@CGUID+217, 15355, 509, 1, 1, -9182.274, 1935.26, 85.68071, 0.07460589, 7200, 0, 0), -- Anubisath Guardian
+(@CGUID+218, 15355, 509, 1, 1, -9211.516, 1874.948, 85.68073, 5.704421, 7200, 0, 0), -- Anubisath Guardian
+(@CGUID+219, 15355, 509, 1, 1, -9239.259, 1907.01, 85.68074, 4.830944, 7200, 0, 0), -- Anubisath Guardian
+(@CGUID+220, 15355, 509, 1, 1, -9291.042, 1947.945, 85.68074, 5.187096, 7200, 0, 0), -- Anubisath Guardian
+(@CGUID+221, 15355, 509, 1, 1, -9294.917, 1760.814, 85.64307, 5.859818, 7200, 0, 0), -- Anubisath Guardian
+(@CGUID+222, 15355, 509, 1, 1, -9322.551, 1736.57, 85.67474, 0.2409076, 7200, 0, 0), -- Anubisath Guardian
+(@CGUID+223, 15355, 509, 1, 1, -9337.068, 1797.589, 85.67978, 4.818147, 7200, 0, 0), -- Anubisath Guardian
+(@CGUID+224, 15369, 509, 1, 1, -9719.611, 1514.752, 27.55229, 0.7679449, 7200, 0, 0), -- Ayamiss the Hunter
+(@CGUID+225, 15370, 509, 1, 1, -9235.976, 1234.066, -63.65783, 5.899213, 7200, 5, 1), -- Buru the Gorger
+(@CGUID+226, 15384, 509, 1, 1, -9546.693, 1574.15, 25.31675, 2.059489, 7200, 0, 0), -- OLDWorld Trigger (DO NOT DELETE)
+(@CGUID+227, 15384, 509, 1, 1, -9583.222, 1629.951, 23.97154, 0.6283185, 7200, 0, 0), -- OLDWorld Trigger (DO NOT DELETE)
+(@CGUID+228, 15384, 509, 1, 1, -9596.415, 1545.681, 22.6737, 0.5585054, 7200, 0, 0), -- OLDWorld Trigger (DO NOT DELETE)
+(@CGUID+229, 15384, 509, 1, 1, -9632.509, 1587.674, 22.96964, 1.134464, 7200, 0, 0), -- OLDWorld Trigger (DO NOT DELETE)
+(@CGUID+230, 15384, 509, 1, 1, -9675.3, 1693.714, 30.20995, 4.206244, 7200, 0, 0), -- OLDWorld Trigger (DO NOT DELETE)
+(@CGUID+231, 15384, 509, 1, 1, -9698.361, 1637.477, 23.61151, 6.161012, 7200, 0, 0), -- OLDWorld Trigger (DO NOT DELETE)
+(@CGUID+232, 15384, 509, 1, 1, -9704.792, 1523.153, 21.52732, 0.1396263, 7200, 0, 0), -- OLDWorld Trigger (DO NOT DELETE)
+(@CGUID+233, 15384, 509, 1, 1, -9759.329, 1480.819, 28.64592, 3.351032, 7200, 0, 0), -- OLDWorld Trigger (DO NOT DELETE)
+(@CGUID+234, 15385, 509, 1, 1, -9108.294, 1584.171, 21.47101, 2.495821, 7200, 0, 0), -- Colonel Zerran
+(@CGUID+235, 15386, 509, 1, 1, -9085.032, 1622.403, 21.46965, 3.368485, 7200, 0, 0), -- Major Yeggeth
+(@CGUID+236, 15387, 509, 1, 1, -8994.835, 1542.269, 21.64863, 2.70526, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+237, 15387, 509, 1, 1, -8998.049, 1560.147, 22.13081, 2.80998, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+238, 15387, 509, 1, 1, -9001.262, 1549.051, 22.02086, 2.722714, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+239, 15387, 509, 1, 1, -9010.698, 1542.467, 21.46967, 2.6529, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+240, 15387, 509, 1, 1, -9023.852, 1601.583, 21.46967, 3.071779, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+241, 15387, 509, 1, 1, -9030.075, 1512.309, 21.47057, 2.408554, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+242, 15387, 509, 1, 1, -9038.825, 1505.317, 21.59063, 2.338741, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+243, 15387, 509, 1, 1, -9046.502, 1498.264, 22.0108, 2.268928, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+244, 15387, 509, 1, 1, -9066.888, 1521.481, 21.46966, 2.251475, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+245, 15387, 509, 1, 1, -9074.003, 1515.235, 21.46966, 2.164208, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+246, 15387, 509, 1, 1, -9078.066, 1635.034, 21.46967, 3.543018, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+247, 15387, 509, 1, 1, -9080.052, 1612.093, 21.46965, 3.193953, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+248, 15387, 509, 1, 1, -9082.668, 1510.194, 21.51312, 2.076942, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+249, 15387, 509, 1, 1, -9098.183, 1589.878, 21.46998, 2.70526, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+250, 15387, 509, 1, 1, -9102.671, 1581.557, 21.47097, 2.495821, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+251, 15387, 509, 1, 1, -9107.887, 1574.311, 21.48627, 2.303835, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+252, 15387, 509, 1, 1, -9117.37, 1553.283, 21.46964, 1.937315, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+253, 15387, 509, 1, 1, -9123.583, 1541.553, 21.46964, 1.797689, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+254, 15387, 509, 1, 1, -9125.76, 1549.293, 21.46964, 1.780236, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+255, 15387, 509, 1, 1, -9134.138, 1546.722, 21.46964, 1.64061, 7200, 0, 0), -- Qiraji Warrior
+(@CGUID+256, 15388, 509, 1, 1, -9127.978, 1558.543, 21.68785, 1.797689, 7200, 0, 0), -- Major Pakkon
+(@CGUID+257, 15389, 509, 1, 1, -9033.166, 1604.659, 21.46967, 3.089233, 7200, 0, 0), -- Captain Drenn
+(@CGUID+258, 15390, 509, 1, 1, -9087.008, 1530.263, 21.46967, 2.146755, 7200, 0, 0), -- Captain Xurrem
+(@CGUID+259, 15391, 509, 1, 1, -9007.403, 1556.874, 21.6039, 2.75762, 7200, 0, 0), -- Captain Qeez
+(@CGUID+260, 15392, 509, 1, 1, -9041.356, 1512.58, 21.47481, 2.338741, 7200, 0, 0), -- Captain Tuubid
+(@CGUID+261, 15426, 509, 1, 1, -8680.658, 1585.614, 33.19108, 2.548181, 7200, 0, 0), -- Ahn'Qiraj Trigger
+(@CGUID+262, 15428, 509, 1, 1, -9230.038, 1916.913, 85.65411, 4.529287, 7200, 0, 0), -- Sand Vortex
+(@CGUID+263, 15428, 509, 1, 1, -9523.837, 1881.484, 85.64066, 5.181685, 7200, 0, 0), -- Sand Vortex
+(@CGUID+264, 15461, 509, 1, 1, -8777.984, 1946.542, 29.26133, 5.90431, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+265, 15461, 509, 1, 1, -8779.035, 1939.482, 28.63995, 5.916666, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+266, 15461, 509, 1, 1, -8779.128, 1927.207, 27.42442, 2.724261, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+267, 15461, 509, 1, 1, -8784.287, 1915.417, 24.22899, 5.393067, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+268, 15461, 509, 1, 1, -8799.364, 1954.671, 21.51133, 5.978374, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+269, 15461, 509, 1, 1, -8890.03, 1741.545, 21.7629, 1.518436, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+270, 15461, 509, 1, 1, -8900.689, 1727.25, 24.3461, 4.555309, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+271, 15461, 509, 1, 1, -8911.898, 1741.947, 21.96902, 1.021649, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+272, 15461, 509, 1, 1, -8914.18, 1776.939, 21.66511, 3.48624, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+273, 15461, 509, 1, 1, -8931.609, 2026.63, 23.34022, 5.709093, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+274, 15461, 509, 1, 1, -8933.949, 1761.936, 22.19745, 2.513257, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+275, 15461, 509, 1, 1, -8935.758, 1993.071, 22.7103, 3.963199, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+276, 15461, 509, 1, 1, -8936.32, 2034.411, 23.23642, 2.167205, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+277, 15461, 509, 1, 1, -8949.799, 1981.901, 21.69878, 1.727876, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+278, 15461, 509, 1, 1, -8986, 1995.47, 23.65904, 3.566723, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+279, 15461, 509, 1, 1, -9013.021, 1864.727, 22.24529, 6.056293, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+280, 15461, 509, 1, 1, -9021.092, 1856.039, 21.65097, 2.042035, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+281, 15461, 509, 1, 1, -9026.661, 1838.82, 21.46962, 4.590216, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+282, 15461, 509, 1, 1, -9048.649, 1860.379, 22.03692, 5.604976, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+283, 15461, 509, 1, 1, -9052.467, 1873.286, 24.717, 1.431662, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+284, 15461, 509, 1, 1, -9101.366, 2212.7, 21.51138, 2.302702, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+285, 15461, 509, 1, 1, -9102.915, 2204.249, 21.51138, 1.122511, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+286, 15461, 509, 1, 1, -9104.067, 2173.496, 21.51134, 0.5112051, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+287, 15461, 509, 1, 1, -9109.516, 2190.421, 21.51134, 0.7625134, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+288, 15461, 509, 1, 1, -9113.313, 2218.674, 22.06243, 1.520167, 7200, 5, 1), -- Shrieker Scarab
+(@CGUID+289, 15462, 509, 1, 1, -8773.882, 1964.334, 28.00181, 1.714765, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+290, 15462, 509, 1, 1, -8777.861, 1955.941, 27.29991, 1.703948, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+291, 15462, 509, 1, 1, -8792.899, 1944.089, 21.55064, 3.30581, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+292, 15462, 509, 1, 1, -8805.239, 1936.149, 21.46968, 3.455752, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+293, 15462, 509, 1, 1, -8818.191, 1927.24, 22.42108, 5.61996, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+294, 15462, 509, 1, 1, -8879.906, 1771.096, 24.49183, 5.58218, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+295, 15462, 509, 1, 1, -8892.148, 1788.219, 22.04427, 5.124065, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+296, 15462, 509, 1, 1, -8894.619, 1763.474, 21.59097, 0.7297062, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+297, 15462, 509, 1, 1, -8929.951, 1760.378, 21.76128, 0.06232084, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+298, 15462, 509, 1, 1, -8935.928, 1744.146, 21.47835, 5.471159, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+299, 15462, 509, 1, 1, -8938.027, 2012.935, 22.70216, 0.9310265, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+300, 15462, 509, 1, 1, -8945.51, 1986.941, 21.54233, 3.434109, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+301, 15462, 509, 1, 1, -8961.313, 1989.169, 21.99717, 3.973462, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+302, 15462, 509, 1, 1, -8961.39, 2036.786, 21.94052, 5.367473, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+303, 15462, 509, 1, 1, -8986.513, 2005.445, 23.18358, 4.609489, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+304, 15462, 509, 1, 1, -9037.781, 1872.558, 21.83935, 3.590566, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+305, 15462, 509, 1, 1, -9038.259, 1894.863, 22.61593, 4.983107, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+306, 15462, 509, 1, 1, -9039.103, 1826.128, 22.9693, 5.044002, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+307, 15462, 509, 1, 1, -9046.372, 1886.375, 24.54025, 3.335346, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+308, 15462, 509, 1, 1, -9052.063, 1852.845, 22.53534, 1.600288, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+309, 15462, 509, 1, 1, -9077.655, 2199.215, 21.47052, 5.794493, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+310, 15462, 509, 1, 1, -9087.489, 2206.195, 21.49517, 2.583087, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+311, 15462, 509, 1, 1, -9091.026, 2222.007, 22.47916, 0.3574632, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+312, 15462, 509, 1, 1, -9094.922, 2187.126, 21.76134, 4.347096, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+313, 15462, 509, 1, 1, -9115.486, 2203.177, 21.51138, 4.066154, 7200, 5, 1), -- Spitting Scarab
+(@CGUID+314, 15475, 509, 1, 1, -8558.053, 1335.651, 32.23059, 1.330155, 7200, 5, 1), -- Beetle
+(@CGUID+315, 15475, 509, 1, 1, -8580.42, 1653.069, 43.2859, 3.590021, 7200, 5, 1), -- Beetle
+(@CGUID+316, 15475, 509, 1, 1, -8649.051, 1482.82, 32.00608, 6.216755, 7200, 5, 1), -- Beetle
+(@CGUID+317, 15475, 509, 1, 1, -8798.256, 1878.107, 22.0182, 0.3919355, 7200, 5, 1), -- Beetle
+(@CGUID+318, 15475, 509, 1, 1, -8904.351, 1528.15, 21.60996, 2.543734, 7200, 5, 1), -- Beetle
+(@CGUID+319, 15475, 509, 1, 1, -8999.541, 1989.413, 29.24577, 0.1391346, 7200, 5, 1), -- Beetle
+(@CGUID+320, 15475, 509, 1, 1, -9022.933, 1472.28, 33.09048, 4.812155, 7200, 5, 1), -- Beetle
+(@CGUID+321, 15475, 509, 1, 1, -9155.481, 2215.207, 26.00118, 3.855093, 7200, 5, 1), -- Beetle
+(@CGUID+322, 15475, 509, 1, 1, -9200.068, 1430.018, 21.51133, 4.903863, 7200, 5, 1), -- Beetle
+(@CGUID+323, 15475, 509, 1, 1, -9385.35, 1404.552, 21.51134, 4.628578, 7200, 5, 1), -- Beetle
+(@CGUID+324, 15476, 509, 1, 1, -8603.881, 1356.801, 32.0353, 5.992309, 7200, 5, 1), -- Scorpid
+(@CGUID+325, 15476, 509, 1, 1, -8673.53, 1535.038, 31.96736, 5.982349, 7200, 5, 1), -- Scorpid
+(@CGUID+326, 15476, 509, 1, 1, -8770.431, 2134.666, 30.01231, 1.451406, 7200, 5, 1), -- Scorpid
+(@CGUID+327, 15476, 509, 1, 1, -8782.575, 2207.545, 26.37049, 6.040576, 7200, 5, 1), -- Scorpid
+(@CGUID+328, 15476, 509, 1, 1, -9030.191, 1901.198, 21.95046, 0.2293586, 7200, 5, 1), -- Scorpid
+(@CGUID+329, 15476, 509, 1, 1, -9088.795, 1479.958, 29.47734, 4.849589, 7200, 5, 1), -- Scorpid
+(@CGUID+330, 15476, 509, 1, 1, -9121.418, 1772.116, 22.70201, 4.443481, 7200, 5, 1), -- Scorpid
+(@CGUID+331, 15505, 509, 1, 1, -8851.227, 2056.546, 4.849823, 3.996804, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+332, 15505, 509, 1, 1, -8857.7, 2072.103, 4.994012, 0.4886922, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+333, 15505, 509, 1, 1, -8858.738, 2062.827, 4.482691, 1.797689, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+334, 15505, 509, 1, 1, -8865.083, 2083.378, 3.65268, 5.078908, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+335, 15505, 509, 1, 1, -8870.662, 2109.143, 6.556806, 1.151917, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+336, 15505, 509, 1, 1, -8874.804, 1936.475, 6.60746, 1.133057, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+337, 15505, 509, 1, 1, -8874.903, 2058.621, 4.535347, 0, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+338, 15505, 509, 1, 1, -8875.742, 1945.669, 6.486465, 5.31958, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+339, 15505, 509, 1, 1, -8877.209, 2127.847, 7.684945, 1.867502, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+340, 15505, 509, 1, 1, -8877.619, 1959.799, 6.453036, 4.259987, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+341, 15505, 509, 1, 1, -8884.489, 1926.345, 4.517488, 1.902409, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+342, 15505, 509, 1, 1, -8886.457, 2125.595, 5.525422, 5.462881, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+343, 15505, 509, 1, 1, -8889.349, 1931.745, 5.704772, 4.119449, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+344, 15505, 509, 1, 1, -8889.567, 2115.469, 7.099297, 0.7679449, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+345, 15505, 509, 1, 1, -8896.666, 2135.883, 5.975152, 0.2310998, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+346, 15505, 509, 1, 1, -8916.911, 2170.905, 12.31206, 2.958982, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+347, 15505, 509, 1, 1, -8916.97, 2153.477, 5.997731, 3.785432, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+348, 15505, 509, 1, 1, -8918.426, 2159.507, 5.476036, 6.043295, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+349, 15505, 509, 1, 1, -8929.834, 1869.064, 4.986817, 3.717551, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+350, 15505, 509, 1, 1, -8930.449, 2162.486, 5.261242, 0.3141593, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+351, 15505, 509, 1, 1, -8931.279, 1852.244, 4.11584, 3.333579, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+352, 15505, 509, 1, 1, -8937.561, 2177.217, 4.788124, 2.3946, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+353, 15505, 509, 1, 1, -8938.794, 1854.301, 2.765879, 5.864306, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+354, 15505, 509, 1, 1, -8939.113, 1846.925, 2.428802, 4.869469, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+355, 15505, 509, 1, 1, -8947.23, 1868.441, 4.382745, 0.93376, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+356, 15505, 509, 1, 1, -8972.435, 1825.497, 3.846474, 0.122173, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+357, 15505, 509, 1, 1, -8974.198, 1807.207, 1.86357, 5.270895, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+358, 15505, 509, 1, 1, -8981.374, 1815.486, 4.08643, 5.166174, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+359, 15505, 509, 1, 1, -8989.232, 1811.111, 5.656726, 5.794493, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+360, 15505, 509, 1, 1, -8989.631, 1822.99, 6.513769, 0.4712389, 7200, 5, 1), -- Canal Frenzy
+(@CGUID+361, 15514, 509, 1, 1, -9234.326, 1243.826, -63.52806, 3.490659, 7200, 0, 0), -- Buru Egg
+(@CGUID+362, 15514, 509, 1, 1, -9243.427, 1280.498, -63.59377, 3.822271, 7200, 0, 0), -- Buru Egg
+(@CGUID+363, 15514, 509, 1, 1, -9263.014, 1295.236, -63.80813, 1.797689, 7200, 0, 0), -- Buru Egg
+(@CGUID+364, 15514, 509, 1, 1, -9270.393, 1243.896, -63.76731, 2.722714, 7200, 0, 0), -- Buru Egg
+(@CGUID+365, 15514, 509, 1, 1, -9300.067, 1305.085, -63.69709, 4.18879, 7200, 0, 0), -- Buru Egg
+(@CGUID+366, 15514, 509, 1, 1, -9300.189, 1266.665, -63.74272, 0.2617994, 7200, 0, 0), -- Buru Egg
+(@CGUID+367, 15590, 509, 1, 1, -9188.444, 1940.21, 85.63905, 3.176499, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+368, 15590, 509, 1, 1, -9188.444, 1940.21, 85.63905, 3.176499, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+369, 15590, 509, 1, 1, -9244.413, 1808.983, 85.63908, 5.637414, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+370, 15590, 509, 1, 1, -9248.413, 1974.83, 85.63908, 5.899213, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+371, 15590, 509, 1, 1, -9282.08, 1887.34, 85.63908, 2.007129, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+372, 15590, 509, 1, 1, -9282.08, 1887.34, 85.63908, 2.007129, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+373, 15590, 509, 1, 1, -9299.727, 1748.453, 85.63907, 1.448623, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+374, 15590, 509, 1, 1, -9357.861, 1929.079, 85.63907, 1.064651, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+375, 15590, 509, 1, 1, -9357.861, 1929.079, 85.63907, 1.064651, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+376, 15590, 509, 1, 1, -9367.171, 1780.888, 85.63908, 1.902409, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+377, 15590, 509, 1, 1, -9367.171, 1780.888, 85.63908, 1.902409, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+378, 15590, 509, 1, 1, -9383.292, 2012.681, 85.65106, 2.932153, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+379, 15590, 509, 1, 1, -9383.292, 2012.681, 85.65106, 2.932153, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+380, 15590, 509, 1, 1, -9406.096, 1862.376, 85.63908, 6.230825, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+381, 15590, 509, 1, 1, -9407.718, 1960.211, 85.63906, 1.117011, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+382, 15590, 509, 1, 1, -9432.396, 1782.529, 85.63908, 5.864306, 7200, 0, 0), -- Ossirian Crystal Trigger
+(@CGUID+383, 15590, 509, 1, 1, -9506.192, 1865.572, 85.63909, 4.276057, 7200, 0, 0); -- Ossirian Crystal Trigger
+
+DELETE FROM `creature_template_addon` WHERE `entry` IN (15324,15335,15387,15505,15339,15341,15385,15428);
+INSERT INTO `creature_template_addon` (`entry`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(15324,0,1,0, '18950'),(15335,0,1,0, '18950'),(15387,0,1,0, '18950'),(15505,0,1,0, '18943'),
+(15339,0,1,0, '25176'),(15341,0,1,0, '18943'),(15385,0,1,0, '25462'),(15428,0,1,0, '25160');
+
+-- Pathing for Anubisath Guardian Entry: 15355 'TDB FORMAT'
+SET @NPC := @CGUID+216;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9248.026,`position_y`=1888.945,`position_z`=85.68073 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9248.026,1888.945,85.68073,0,0,0,0,100,0),
+(@PATH,2,-9282.023,1855.383,85.5974,0,0,0,0,100,0),
+(@PATH,3,-9311.62,1831.059,84.10042,0,0,0,0,100,0),
+(@PATH,4,-9339.822,1823.54,85.67978,0,0,0,0,100,0),
+(@PATH,5,-9336.083,1788.304,85.67978,0,0,0,0,100,0),
+(@PATH,6,-9373.787,1788.205,85.68073,0,0,0,0,100,0),
+(@PATH,7,-9392.846,1821.798,85.68074,0,0,0,0,100,0),
+(@PATH,8,-9396.511,1850.486,85.68074,0,0,0,0,100,0),
+(@PATH,9,-9409.217,1865.23,85.68074,0,0,0,0,100,0),
+(@PATH,10,-9438.716,1862.457,85.68074,0,0,0,0,100,0),
+(@PATH,11,-9458.922,1889.078,85.68074,0,0,0,0,100,0),
+(@PATH,12,-9451.585,1908.686,85.67978,0,0,0,0,100,0),
+(@PATH,13,-9424.979,1921.917,85.58256,0,0,0,0,100,0),
+(@PATH,14,-9399.763,1928.021,85.64656,0,0,0,0,100,0),
+(@PATH,15,-9383.525,1958.783,85.68073,0,0,0,0,100,0),
+(@PATH,16,-9371.938,1976.018,85.68073,0,0,0,0,100,0),
+(@PATH,17,-9344.856,2007.821,85.68074,0,0,0,0,100,0),
+(@PATH,18,-9315.889,2002.974,85.68073,0,0,0,0,100,0),
+(@PATH,19,-9305.473,1976.09,85.68074,0,0,0,0,100,0),
+(@PATH,20,-9294.416,1948.307,85.68074,0,0,0,0,100,0),
+(@PATH,21,-9259.192,1938.78,85.68074,0,0,0,0,100,0),
+(@PATH,22,-9234.046,1921.629,85.68074,0,0,0,0,100,0);
+
+-- Pathing for Anubisath Guardian Entry: 15355 'TDB FORMAT'
+SET @NPC := @CGUID+217;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9184.5,`position_y`=1854.158,`position_z`=85.68073 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9184.5,1854.158,85.68073,0,0,0,0,100,0),
+(@PATH,2,-9216.548,1824.755,85.68074,0,0,0,0,100,0),
+(@PATH,3,-9250.388,1789.818,85.68074,0,0,0,0,100,0),
+(@PATH,4,-9273.942,1769.737,85.67978,0,0,0,0,100,0),
+(@PATH,5,-9287.727,1753.579,85.68074,0,0,0,0,100,0),
+(@PATH,6,-9322.813,1721.81,87.2582,0,0,0,0,100,0),
+(@PATH,7,-9353.575,1722.876,87.03452,0,0,0,0,100,0),
+(@PATH,8,-9361.314,1755.279,85.68076,0,0,0,0,100,0),
+(@PATH,9,-9364.741,1787.446,85.67978,0,0,0,0,100,0),
+(@PATH,10,-9382.464,1800.235,85.68074,0,0,0,0,100,0),
+(@PATH,11,-9383.027,1827.17,86.00362,0,0,0,0,100,0),
+(@PATH,12,-9390.321,1846.647,85.68074,0,0,0,0,100,0),
+(@PATH,13,-9419.723,1858.245,85.57466,0,0,0,0,100,0),
+(@PATH,14,-9449.339,1865.135,85.68074,0,0,0,0,100,0),
+(@PATH,15,-9486.292,1872.536,85.68074,0,0,0,0,100,0),
+(@PATH,16,-9507.497,1867.104,85.68071,0,0,0,0,100,0),
+(@PATH,17,-9527.903,1882.607,85.68071,0,0,0,0,100,0),
+(@PATH,18,-9510.689,1925.589,85.68073,0,0,0,0,100,0),
+(@PATH,19,-9488.487,1946.937,85.67978,0,0,0,0,100,0),
+(@PATH,20,-9459.86,1976.461,85.92978,0,0,0,0,100,0),
+(@PATH,21,-9442.087,1990.908,85.92978,0,0,0,0,100,0),
+(@PATH,22,-9407.938,2024.798,85.93073,0,0,0,0,100,0),
+(@PATH,23,-9380.547,2051.861,85.94083,0,0,0,0,100,0),
+(@PATH,24,-9353.088,2075.302,86.06718,0,0,0,0,100,0),
+(@PATH,25,-9322.948,2076.674,86.80594,0,0,0,0,100,0),
+(@PATH,26,-9315.573,2050.009,85.64993,0,0,0,0,100,0),
+(@PATH,27,-9314.585,2018.313,85.68073,0,0,0,0,100,0),
+(@PATH,28,-9302.906,1992.931,85.68074,0,0,0,0,100,0),
+(@PATH,29,-9307.348,1964.604,85.652,0,0,0,0,100,0),
+(@PATH,30,-9282.028,1949.146,85.68074,0,0,0,0,100,0),
+(@PATH,31,-9252.31,1944.22,85.68074,0,0,0,0,100,0),
+(@PATH,32,-9227.021,1928.589,85.68074,0,0,0,0,100,0),
+(@PATH,33,-9189.054,1932.123,85.68071,0,0,0,0,100,0),
+(@PATH,34,-9158.877,1920.914,86.81694,0,0,0,0,100,0),
+(@PATH,35,-9163.66,1874.253,86.90241,0,0,0,0,100,0);
+
+-- Pathing for Anubisath Guardian Entry: 15355 'TDB FORMAT'
+SET @NPC := @CGUID+218;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9266.736,`position_y`=1785.315,`position_z`=85.67978 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9266.736,1785.315,85.67978,0,0,0,0,100,0),
+(@PATH,2,-9254.919,1821.132,85.68074,0,0,0,0,100,0),
+(@PATH,3,-9229.319,1826.478,85.68074,0,0,0,0,100,0),
+(@PATH,4,-9219.66,1845.915,85.68073,0,0,0,0,100,0),
+(@PATH,5,-9229.024,1871.725,85.68073,0,0,0,0,100,0),
+(@PATH,6,-9245.31,1880.665,85.68073,0,0,0,0,100,0),
+(@PATH,7,-9270.313,1884.48,85.68073,0,0,0,0,100,0),
+(@PATH,8,-9290.14,1888.328,85.68073,0,0,0,0,100,0),
+(@PATH,9,-9323.363,1912.306,85.58256,0,0,0,0,100,0),
+(@PATH,10,-9346.232,1921.884,85.67978,0,0,0,0,100,0),
+(@PATH,11,-9365.159,1955.121,85.63752,0,0,0,0,100,0),
+(@PATH,12,-9373.188,1980.685,85.68073,0,0,0,0,100,0),
+(@PATH,13,-9396.845,2005.119,85.68073,0,0,0,0,100,0),
+(@PATH,14,-9424.114,2004.707,85.93073,0,0,0,0,100,0),
+(@PATH,15,-9439.311,1988.515,85.92978,0,0,0,0,100,0),
+(@PATH,16,-9442.091,1961.605,85.23379,0,0,0,0,100,0),
+(@PATH,17,-9430.677,1936.73,85.55478,0,0,0,0,100,0),
+(@PATH,18,-9423.523,1916.457,85.58256,0,0,0,0,100,0),
+(@PATH,19,-9388.256,1899.98,86.93074,0,0,0,0,100,0),
+(@PATH,20,-9365.732,1875.688,85.68073,0,0,0,0,100,0),
+(@PATH,21,-9332.013,1843.525,85.67978,0,0,0,0,100,0),
+(@PATH,22,-9335.819,1822.33,85.5914,0,0,0,0,100,0),
+(@PATH,23,-9333.703,1798.843,84.41318,0,0,0,0,100,0),
+(@PATH,24,-9323.364,1773.62,85.55771,0,0,0,0,100,0),
+(@PATH,25,-9293.272,1760.073,85.68074,0,0,0,0,100,0);
+
+-- Pathing for Anubisath Guardian Entry: 15355 'TDB FORMAT'
+SET @NPC := @CGUID+219;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9252.741,`position_y`=1943.686,`position_z`=85.68074 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9252.741,1943.686,85.68074,0,0,0,0,100,0),
+(@PATH,2,-9222.651,1931.318,85.68074,0,0,0,0,100,0),
+(@PATH,3,-9191.619,1942.506,85.68071,0,0,0,0,100,0),
+(@PATH,4,-9170.24,1922.948,85.68071,0,0,0,0,100,0),
+(@PATH,5,-9169.914,1879.729,85.68073,0,0,0,0,100,0),
+(@PATH,6,-9195.714,1851.033,85.68073,0,0,0,0,100,0),
+(@PATH,7,-9223.459,1817.724,85.68074,0,0,0,0,100,0),
+(@PATH,8,-9244.517,1803.858,85.68074,0,0,0,0,100,0),
+(@PATH,9,-9261.152,1787.29,85.68074,0,0,0,0,100,0),
+(@PATH,10,-9284.998,1755.206,85.68074,0,0,0,0,100,0),
+(@PATH,11,-9308.692,1733.549,85.68074,0,0,0,0,100,0),
+(@PATH,12,-9345.574,1727.55,85.65805,0,0,0,0,100,0),
+(@PATH,13,-9378.37,1742.617,85.68076,0,0,0,0,100,0),
+(@PATH,14,-9376.036,1778.404,85.68073,0,0,0,0,100,0),
+(@PATH,15,-9391.478,1813.657,85.68074,0,0,0,0,100,0),
+(@PATH,16,-9395.252,1844.675,85.68074,0,0,0,0,100,0),
+(@PATH,17,-9431.688,1857.969,85.68074,0,0,0,0,100,0),
+(@PATH,18,-9457.778,1865.383,85.68074,0,0,0,0,100,0),
+(@PATH,19,-9490.235,1866.432,85.50545,0,0,0,0,100,0),
+(@PATH,20,-9530.864,1870.682,86.19707,0,0,0,0,100,0),
+(@PATH,21,-9526.759,1911.277,86.01886,0,0,0,0,100,0),
+(@PATH,22,-9496.368,1944.791,85.67978,0,0,0,0,100,0),
+(@PATH,23,-9466.16,1972.771,85.92978,0,0,0,0,100,0),
+(@PATH,24,-9439.001,1997.835,85.92978,0,0,0,0,100,0),
+(@PATH,25,-9406.588,2025.468,85.93073,0,0,0,0,100,0),
+(@PATH,26,-9381.611,2054.042,85.94083,0,0,0,0,100,0),
+(@PATH,27,-9370.005,2074.14,86.93733,0,0,0,0,100,0),
+(@PATH,28,-9326.063,2072.066,86.11478,0,0,0,0,100,0),
+(@PATH,29,-9317.672,2030.484,85.68073,0,0,0,0,100,0),
+(@PATH,30,-9309.036,1982.96,85.68074,0,0,0,0,100,0),
+(@PATH,31,-9290.975,1947.814,85.68074,0,0,0,0,100,0);
+
+-- Pathing for Anubisath Guardian Entry: 15355 'TDB FORMAT'
+SET @NPC := @CGUID+220;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9338.638,`position_y`=1812.094,`position_z`=85.67978 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9338.638,1812.094,85.67978,0,0,0,0,100,0),
+(@PATH,2,-9349.664,1779.623,85.67978,0,0,0,0,100,0),
+(@PATH,3,-9367.894,1745.984,85.68076,0,0,0,0,100,0),
+(@PATH,4,-9352.953,1729.101,85.65805,0,0,0,0,100,0),
+(@PATH,5,-9311.624,1739.255,85.68074,0,0,0,0,100,0),
+(@PATH,6,-9327.572,1781.838,85.6329,0,0,0,0,100,0),
+(@PATH,7,-9367.602,1793.721,85.68073,0,0,0,0,100,0),
+(@PATH,8,-9389.63,1822.929,85.68074,0,0,0,0,100,0),
+(@PATH,9,-9375.203,1855.041,85.68074,0,0,0,0,100,0),
+(@PATH,10,-9361.834,1883.146,85.68073,0,0,0,0,100,0),
+(@PATH,11,-9367.618,1915.205,85.68074,0,0,0,0,100,0),
+(@PATH,12,-9369.153,1949.937,85.68073,0,0,0,0,100,0),
+(@PATH,13,-9359.215,1982.555,85.86217,0,0,0,0,100,0),
+(@PATH,14,-9347.963,2014.867,85.68074,0,0,0,0,100,0),
+(@PATH,15,-9367.603,2028.901,85.68073,0,0,0,0,100,0),
+(@PATH,16,-9373.234,2057.752,86.05863,0,0,0,0,100,0),
+(@PATH,17,-9356.573,2072.664,86.02653,0,0,0,0,100,0),
+(@PATH,18,-9327.185,2070.252,86.02213,0,0,0,0,100,0),
+(@PATH,19,-9315.275,2050.388,85.64993,0,0,0,0,100,0),
+(@PATH,20,-9316.94,2021.346,85.68073,0,0,0,0,100,0),
+(@PATH,21,-9309.85,1985.53,85.68074,0,0,0,0,100,0),
+(@PATH,22,-9315.965,1950.781,85.652,0,0,0,0,100,0),
+(@PATH,23,-9321.123,1910.298,85.58256,0,0,0,0,100,0),
+(@PATH,24,-9343.007,1881.461,85.68073,0,0,0,0,100,0),
+(@PATH,25,-9341.981,1844.112,85.15749,0,0,0,0,100,0);
+
+-- Pathing for Anubisath Guardian Entry: 15355 'TDB FORMAT'
+SET @NPC := @CGUID+221;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9373.941,`position_y`=2005.845,`position_z`=85.68073 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9373.941,2005.845,85.68073,0,0,0,0,100,0),
+(@PATH,2,-9352.195,2015.95,85.68074,0,0,0,0,100,0),
+(@PATH,3,-9317.304,2017.394,85.68073,0,0,0,0,100,0),
+(@PATH,4,-9306.902,1975.931,85.68074,0,0,0,0,100,0),
+(@PATH,5,-9294.695,1950.731,85.68074,0,0,0,0,100,0),
+(@PATH,6,-9265.143,1937.398,85.68074,0,0,0,0,100,0),
+(@PATH,7,-9240.809,1920.022,85.68074,0,0,0,0,100,0),
+(@PATH,8,-9236.777,1886.178,85.68073,0,0,0,0,100,0),
+(@PATH,9,-9257.813,1873.583,85.68073,0,0,0,0,100,0),
+(@PATH,10,-9285.015,1845.869,85.5974,0,0,0,0,100,0),
+(@PATH,11,-9317.275,1834.302,85.67978,0,0,0,0,100,0),
+(@PATH,12,-9336.368,1823.559,85.67978,0,0,0,0,100,0),
+(@PATH,13,-9338.676,1791.969,85.67978,0,0,0,0,100,0),
+(@PATH,14,-9373.688,1782.111,85.68073,0,0,0,0,100,0),
+(@PATH,15,-9389.025,1814.412,85.68074,0,0,0,0,100,0),
+(@PATH,16,-9392.569,1842.455,85.68074,0,0,0,0,100,0),
+(@PATH,17,-9416.333,1859.258,85.80574,0,0,0,0,100,0),
+(@PATH,18,-9444.572,1859.874,85.68074,0,0,0,0,100,0),
+(@PATH,19,-9468.98,1877.569,85.68074,0,0,0,0,100,0),
+(@PATH,20,-9457.439,1907.662,85.67978,0,0,0,0,100,0),
+(@PATH,21,-9429.858,1935.159,85.55478,0,0,0,0,100,0),
+(@PATH,22,-9406.939,1970.748,86.69244,0,0,0,0,100,0),
+(@PATH,23,-9385.19,1986.798,85.68073,0,0,0,0,100,0);
+
+-- Pathing for Anubisath Guardian Entry: 15355 'TDB FORMAT'
+SET @NPC := @CGUID+222;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9166.672,`position_y`=1901.352,`position_z`=85.68071 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9166.672,1901.352,85.68071,0,0,0,0,100,0),
+(@PATH,2,-9180.448,1880.267,85.68073,0,0,0,0,100,0),
+(@PATH,3,-9213.866,1872.235,85.68073,0,0,0,0,100,0),
+(@PATH,4,-9249.758,1884.736,85.68073,0,0,0,0,100,0),
+(@PATH,5,-9278.231,1876.297,85.68073,0,0,0,0,100,0),
+(@PATH,6,-9306.932,1891.425,85.68074,0,0,0,0,100,0),
+(@PATH,7,-9352.966,1877.49,85.68073,0,0,0,0,100,0),
+(@PATH,8,-9377.938,1866.495,85.68074,0,0,0,0,100,0),
+(@PATH,9,-9409.548,1865.281,85.68074,0,0,0,0,100,0),
+(@PATH,10,-9446.503,1862.634,85.68074,0,0,0,0,100,0),
+(@PATH,11,-9485.57,1861.776,86.05574,0,0,0,0,100,0),
+(@PATH,12,-9520.958,1858.505,85.6807,0,0,0,0,100,0),
+(@PATH,13,-9527.915,1885.158,85.68071,0,0,0,0,100,0),
+(@PATH,14,-9480.079,1874.759,85.68074,0,0,0,0,100,0),
+(@PATH,15,-9454.199,1899.666,85.68074,0,0,0,0,100,0),
+(@PATH,16,-9424.421,1915.016,85.58256,0,0,0,0,100,0),
+(@PATH,17,-9382.796,1911.83,85.68074,0,0,0,0,100,0),
+(@PATH,18,-9350.083,1908.802,85.67978,0,0,0,0,100,0),
+(@PATH,19,-9317.604,1914.786,85.90751,0,0,0,0,100,0),
+(@PATH,20,-9294.263,1930.234,85.68073,0,0,0,0,100,0),
+(@PATH,21,-9273.63,1940.642,85.68074,0,0,0,0,100,0),
+(@PATH,22,-9244.164,1935.673,85.68074,0,0,0,0,100,0),
+(@PATH,23,-9217.478,1932.629,85.68074,0,0,0,0,100,0),
+(@PATH,24,-9177.326,1935.63,85.68071,0,0,0,0,100,0);
+
+-- Pathing for Anubisath Guardian Entry: 15355 'TDB FORMAT'
+SET @NPC := @CGUID+223;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9172.666,`position_y`=1878.279,`position_z`=85.68073 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9172.666,1878.279,85.68073,0,0,0,0,100,0),
+(@PATH,2,-9174.009,1917.66,85.68071,0,0,0,0,100,0),
+(@PATH,3,-9211.638,1928.865,85.68074,0,0,0,0,100,0),
+(@PATH,4,-9227.843,1913.313,85.68074,0,0,0,0,100,0),
+(@PATH,5,-9260.224,1888.819,85.90156,0,0,0,0,100,0),
+(@PATH,6,-9288.68,1887.306,85.68073,0,0,0,0,100,0),
+(@PATH,7,-9322.48,1900.894,85.58256,0,0,0,0,100,0),
+(@PATH,8,-9350.107,1903.339,85.67978,0,0,0,0,100,0),
+(@PATH,9,-9366.493,1879.411,85.68073,0,0,0,0,100,0),
+(@PATH,10,-9377.524,1841.84,85.68074,0,0,0,0,100,0),
+(@PATH,11,-9384.171,1822.345,85.68074,0,0,0,0,100,0),
+(@PATH,12,-9374.88,1798.042,85.68073,0,0,0,0,100,0),
+(@PATH,13,-9366.794,1776.835,85.68073,0,0,0,0,100,0),
+(@PATH,14,-9339.757,1770.504,86.38388,0,0,0,0,100,0),
+(@PATH,15,-9321.449,1758.749,85.56721,0,0,0,0,100,0),
+(@PATH,16,-9322.691,1729.77,85.69717,0,0,0,0,100,0),
+(@PATH,17,-9349.976,1722.141,87.03061,0,0,0,0,100,0),
+(@PATH,18,-9370.238,1754.357,85.68076,0,0,0,0,100,0),
+(@PATH,19,-9344.755,1789.065,85.67978,0,0,0,0,100,0),
+(@PATH,20,-9337.997,1823.515,85.67978,0,0,0,0,100,0),
+(@PATH,21,-9338.635,1860.298,85.58352,0,0,0,0,100,0),
+(@PATH,22,-9343.844,1902.833,86.33212,0,0,0,0,100,0),
+(@PATH,23,-9356.249,1927.595,85.67978,0,0,0,0,100,0),
+(@PATH,24,-9361.627,1950.974,85.26081,0,0,0,0,100,0),
+(@PATH,25,-9365.068,1978.835,85.56127,0,0,0,0,100,0),
+(@PATH,26,-9370.208,2007.365,85.68073,0,0,0,0,100,0),
+(@PATH,27,-9379.047,2042.119,85.94083,0,0,0,0,100,0),
+(@PATH,28,-9358.38,2067.382,86.02653,0,0,0,0,100,0),
+(@PATH,29,-9326.092,2045.334,85.64993,0,0,0,0,100,0),
+(@PATH,30,-9321.812,2013.535,85.68073,0,0,0,0,100,0),
+(@PATH,31,-9312.634,1989.898,85.68074,0,0,0,0,100,0),
+(@PATH,32,-9320.132,1941.708,85.652,0,0,0,0,100,0),
+(@PATH,33,-9334.301,1916.916,85.67978,0,0,0,0,100,0),
+(@PATH,34,-9363.942,1895.521,85.68073,0,0,0,0,100,0),
+(@PATH,35,-9385.781,1880.747,86.05794,0,0,0,0,100,0),
+(@PATH,36,-9417.543,1860.298,85.97346,0,0,0,0,100,0),
+(@PATH,37,-9446.719,1864.315,85.68074,0,0,0,0,100,0),
+(@PATH,38,-9482.172,1869.57,85.68074,0,0,0,0,100,0),
+(@PATH,39,-9529.659,1878.282,85.84587,0,0,0,0,100,0),
+(@PATH,40,-9513.365,1858.603,85.6807,0,0,0,0,100,0),
+(@PATH,41,-9475.059,1881.233,85.68074,0,0,0,0,100,0),
+(@PATH,42,-9447.695,1905.845,85.67978,0,0,0,0,100,0),
+(@PATH,43,-9414.993,1911.188,85.58256,0,0,0,0,100,0),
+(@PATH,44,-9382.191,1909.415,85.68074,0,0,0,0,100,0),
+(@PATH,45,-9351.412,1910.773,85.67978,0,0,0,0,100,0),
+(@PATH,46,-9310.615,1922.279,85.58256,0,0,0,0,100,0),
+(@PATH,47,-9277.019,1933.476,85.68074,0,0,0,0,100,0),
+(@PATH,48,-9235.7,1928.599,85.68074,0,0,0,0,100,0),
+(@PATH,49,-9224.213,1883.244,85.68073,0,0,0,0,100,0),
+(@PATH,50,-9199.386,1867.022,85.68073,0,0,0,0,100,0);
+
+-- Pathing for Obsidian Destroyer Entry: 15338 'TDB FORMAT'
+SET @NPC := @CGUID+175;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9033.357,`position_y`=1700.726,`position_z`=21.50263 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '19818');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9033.357,1700.726,21.50263,0,0,0,0,100,0),
+(@PATH,2,-9015.379,1687.783,21.51133,0,0,0,0,100,0),
+(@PATH,3,-8994.662,1677.224,21.51133,0,0,0,0,100,0),
+(@PATH,4,-8978.021,1677.923,21.51133,0,0,0,0,100,0),
+(@PATH,5,-8972.52,1687.417,21.51133,0,0,0,0,100,0),
+(@PATH,6,-8984.521,1701.282,21.51128,0,0,0,0,100,0),
+(@PATH,7,-9001.419,1714.948,21.44322,0,0,0,0,100,0),
+(@PATH,8,-9022.22,1741.963,21.47298,0,0,0,0,100,0),
+(@PATH,9,-9031.46,1752.775,21.47298,0,0,0,0,100,0),
+(@PATH,10,-9055.802,1756.606,21.51128,0,0,0,0,100,0),
+(@PATH,11,-9067.387,1766.724,21.51128,0,0,0,0,100,0),
+(@PATH,12,-9072.949,1783.319,21.51128,0,0,0,0,100,0),
+(@PATH,13,-9081.565,1794.618,21.51128,0,0,0,0,100,0),
+(@PATH,14,-9091.146,1792.92,21.51128,0,0,0,0,100,0),
+(@PATH,15,-9095.299,1779.993,21.51128,0,0,0,0,100,0),
+(@PATH,16,-9094.856,1764.921,21.51128,0,0,0,0,100,0),
+(@PATH,17,-9080.542,1740.715,21.51128,0,0,0,0,100,0),
+(@PATH,18,-9063.872,1726.509,21.50263,0,0,0,0,100,0);
+
+-- Pathing for Obsidian Destroyer Entry: 15338 'TDB FORMAT'
+SET @NPC := @CGUID+176;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9042.727,`position_y`=1737.669,`position_z`=21.51128 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '19818');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9042.727,1737.669,21.51128,0,0,0,0,100,0),
+(@PATH,2,-9074.525,1763.811,21.63628,0,0,0,0,100,0),
+(@PATH,3,-9042.727,1737.669,21.51128,0,0,0,0,100,0),
+(@PATH,4,-9016.15,1713.575,21.44322,0,0,0,0,100,0),
+(@PATH,5,-8996.683,1694.021,21.88633,0,0,0,0,100,0),
+(@PATH,6,-9016.15,1713.575,21.44322,0,0,0,0,100,0);
+
+-- Pathing for Obsidian Destroyer Entry: 15338 'TDB FORMAT'
+SET @NPC := @CGUID+177;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8912.597,`position_y`=1750.176,`position_z`=21.51128 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '19818');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8912.597,1750.176,21.51128,0,0,0,0,100,0),
+(@PATH,2,-8887.421,1790.745,21.89122,0,0,0,0,100,0),
+(@PATH,3,-8875.27,1810.156,21.52765,0,0,0,0,100,0),
+(@PATH,4,-8857.879,1833.748,21.51134,0,0,0,0,100,0),
+(@PATH,5,-8875.27,1810.156,21.52765,0,0,0,0,100,0),
+(@PATH,6,-8887.421,1790.745,21.89122,0,0,0,0,100,0),
+(@PATH,7,-8912.597,1750.176,21.51128,0,0,0,0,100,0),
+(@PATH,8,-8939.655,1710.923,21.51128,0,0,0,0,100,0);
+
+-- Pathing for Obsidian Destroyer Entry: 15338 'TDB FORMAT'
+SET @NPC := @CGUID+178;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9042.861,`position_y`=1841.39,`position_z`=21.51129 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '19818');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9042.861,1841.39,21.51129,0,0,0,0,100,0),
+(@PATH,2,-9068.371,1808.513,21.51134,0,0,0,0,100,0),
+(@PATH,3,-9042.861,1841.39,21.51129,0,0,0,0,100,0),
+(@PATH,4,-9027.129,1875.23,21.73922,0,0,0,0,100,0),
+(@PATH,5,-9010.076,1901.59,21.51132,0,0,0,0,100,0),
+(@PATH,6,-8985.672,1928.493,21.39046,0,0,0,0,100,0),
+(@PATH,7,-9010.076,1901.59,21.51132,0,0,0,0,100,0),
+(@PATH,8,-9027.129,1875.23,21.73922,0,0,0,0,100,0);
+
+-- Pathing for Obsidian Destroyer Entry: 15338 'TDB FORMAT'
+SET @NPC := @CGUID+179;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8783.435,`position_y`=2068.937,`position_z`=21.51132 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '19818');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8783.435,2068.937,21.51132,0,0,0,0,100,0),
+(@PATH,2,-8783.41,2098.071,21.99277,0,0,0,0,100,0),
+(@PATH,3,-8790.493,2121.913,21.39743,0,0,0,0,100,0),
+(@PATH,4,-8804.847,2146.174,21.5113,0,0,0,0,100,0),
+(@PATH,5,-8816.018,2179.885,21.5113,0,0,0,0,100,0),
+(@PATH,6,-8825.034,2192.031,21.5113,0,0,0,0,100,0),
+(@PATH,7,-8816.018,2179.885,21.5113,0,0,0,0,100,0),
+(@PATH,8,-8804.847,2146.174,21.5113,0,0,0,0,100,0),
+(@PATH,9,-8790.493,2121.913,21.39743,0,0,0,0,100,0),
+(@PATH,10,-8783.41,2098.071,21.99277,0,0,0,0,100,0);
+
+-- Pathing for Obsidian Destroyer Entry: 15338 'TDB FORMAT'
+SET @NPC := @CGUID+180;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8973.863,`position_y`=2090.781,`position_z`=21.51132 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '19818');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8973.863,2090.781,21.51132,0,0,0,0,100,0),
+(@PATH,2,-8965.227,2063.428,21.51132,0,0,0,0,100,0),
+(@PATH,3,-8973.863,2090.781,21.51132,0,0,0,0,100,0),
+(@PATH,4,-8997.472,2114.756,21.51132,0,0,0,0,100,0),
+(@PATH,5,-9038.394,2142.94,21.51132,0,0,0,0,100,0),
+(@PATH,6,-9071.605,2173.132,21.51134,0,0,0,0,100,0),
+(@PATH,7,-9100.489,2204.315,21.51138,0,0,0,0,100,0),
+(@PATH,8,-9128.889,2235.459,21.51138,0,0,0,0,100,0),
+(@PATH,9,-9100.489,2204.315,21.51138,0,0,0,0,100,0),
+(@PATH,10,-9071.605,2173.132,21.51134,0,0,0,0,100,0),
+(@PATH,11,-9038.394,2142.94,21.51132,0,0,0,0,100,0),
+(@PATH,12,-8997.472,2114.756,21.51132,0,0,0,0,100,0);
+
+-- Pathing for Obsidian Destroyer Entry: 15338 'TDB FORMAT'
+SET @NPC := @CGUID+181;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8816.171,`position_y`=1898.789,`position_z`=21.44084 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '19818');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8816.171,1898.789,21.44084,0,0,0,0,100,0),
+(@PATH,2,-8839.262,1867.66,21.49597,0,0,0,0,100,0),
+(@PATH,3,-8816.171,1898.789,21.44084,0,0,0,0,100,0),
+(@PATH,4,-8802.058,1921.186,21.51134,0,0,0,0,100,0),
+(@PATH,5,-8793.903,1947.559,21.41075,0,0,0,0,100,0),
+(@PATH,6,-8790.971,1971.102,21.51134,0,0,0,0,100,0),
+(@PATH,7,-8789.137,2003.844,21.50675,0,0,0,0,100,0),
+(@PATH,8,-8786.372,2039.531,21.51132,0,0,0,0,100,0),
+(@PATH,9,-8789.137,2003.844,21.50675,0,0,0,0,100,0),
+(@PATH,10,-8790.971,1971.102,21.51134,0,0,0,0,100,0),
+(@PATH,11,-8793.903,1947.559,21.41075,0,0,0,0,100,0),
+(@PATH,12,-8802.058,1921.186,21.51134,0,0,0,0,100,0);
+
+-- Pathing for Obsidian Destroyer Entry: 15338 'TDB FORMAT'
+SET @NPC := @CGUID+182;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8969.802,`position_y`=2023.487,`position_z`=22.20616 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '19818');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8969.802,2023.487,22.20616,0,0,0,0,100,0),
+(@PATH,2,-8944.742,2022.87,21.63633,0,0,0,0,100,0),
+(@PATH,3,-8921.641,2023.073,22.70727,0,0,0,0,100,0),
+(@PATH,4,-8898.989,2022.108,20.80474,0,0,0,0,100,0),
+(@PATH,5,-8863.61,2021.74,20.80473,0,0,0,0,100,0),
+(@PATH,6,-8823.653,2020.322,22.78971,0,0,0,0,100,0),
+(@PATH,7,-8779.903,2018.759,21.7045,0,0,0,0,100,0),
+(@PATH,8,-8823.653,2020.322,22.78971,0,0,0,0,100,0),
+(@PATH,9,-8822.38,2017.285,22.79048,0,0,0,0,100,0),
+(@PATH,10,-8863.61,2021.74,21.66928,0,0,0,0,100,0),
+(@PATH,11,-8898.989,2022.108,20.80474,0,0,0,0,100,0),
+(@PATH,12,-8921.641,2023.073,22.70727,0,0,0,0,100,0),
+(@PATH,13,-8944.742,2022.87,21.63633,0,0,0,0,100,0);
+
+-- Pathing for Obsidian Destroyer Entry: 15338 'TDB FORMAT'
+SET @NPC := @CGUID+183;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8892.271,`position_y`=1893.26,`position_z`=21.65431 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '19818');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8892.271,1893.26,21.65431,0,0,0,0,100,0),
+(@PATH,2,-8920.27,1911.372,21.77089,0,0,0,0,100,0),
+(@PATH,3,-8947.984,1930.219,22.32584,0,0,0,0,100,0),
+(@PATH,4,-8976.198,1948.563,21.51134,0,0,0,0,100,0),
+(@PATH,5,-8947.984,1930.219,22.32584,0,0,0,0,100,0),
+(@PATH,6,-8920.27,1911.372,21.77089,0,0,0,0,100,0),
+(@PATH,7,-8892.271,1893.26,21.77088,0,0,0,0,100,0),
+(@PATH,8,-8868.629,1877.659,21.87304,0,0,0,0,100,0),
+(@PATH,9,-8832.841,1852.986,21.54105,0,0,0,0,100,0),
+(@PATH,10,-8868.629,1877.659,21.87304,0,0,0,0,100,0);
+
+-- Pathing for Flesh Hunter Entry: 15335 'TDB FORMAT'
+SET @NPC := @CGUID+164;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9043.481,`position_y`=2118.309,`position_z`=21.77282 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9043.481,2118.309,21.77282,0,0,0,0,100,0),
+(@PATH,2,-9015.23,2102.794,22.79501,0,0,0,0,100,0),
+(@PATH,3,-8984.772,2078.662,21.99447,0,0,0,0,100,0),
+(@PATH,4,-8946.997,2073.267,22.66354,0,0,0,0,100,0),
+(@PATH,5,-8946.354,2104.688,23.20453,0,0,0,0,100,0),
+(@PATH,6,-8979.36,2128.562,22.51132,0,0,0,0,100,0),
+(@PATH,7,-9000.776,2157.609,23.0173,0,0,0,0,100,0),
+(@PATH,8,-8997.853,2188.157,24.82291,0,0,0,0,100,0),
+(@PATH,9,-8980.488,2222.645,24.47016,0,0,0,0,100,0),
+(@PATH,10,-8947.694,2247.549,26.53898,0,0,0,0,100,0),
+(@PATH,11,-8925.727,2254.902,22.93172,0,0,0,0,100,0),
+(@PATH,12,-8899.796,2231.063,21.50976,0,0,0,0,100,0),
+(@PATH,13,-8774.992,2122.031,27.18796,0,0,0,0,100,0),
+(@PATH,14,-8788.56,2156.315,22.57724,0,0,0,0,100,0),
+(@PATH,15,-8824.089,2150.349,21.5113,0,0,0,0,100,0),
+(@PATH,16,-8847.282,2160.686,22.8295,0,0,0,0,100,0),
+(@PATH,17,-8878.708,2195.174,24.06134,0,0,0,0,100,0),
+(@PATH,18,-8899.255,2224.002,21.50976,0,0,0,0,100,0),
+(@PATH,19,-8927.709,2249.856,23.44112,0,0,0,0,100,0),
+(@PATH,20,-8943.206,2244.535,26.44963,0,0,0,0,100,0),
+(@PATH,21,-8975.5,2223.893,23.89484,0,0,0,0,100,0),
+(@PATH,22,-8992.835,2203.356,24.46564,0,0,0,0,100,0),
+(@PATH,23,-9000.075,2177.49,24.70543,0,0,0,0,100,0),
+(@PATH,24,-9022.258,2168.586,25.53624,0,0,0,0,100,0),
+(@PATH,25,-9048.837,2191.075,25.16519,0,0,0,0,100,0),
+(@PATH,26,-9067.234,2222.022,23.55216,0,0,0,0,100,0),
+(@PATH,27,-9091.356,2246.307,25.71063,0,0,0,0,100,0),
+(@PATH,28,-9117.254,2253.088,23.81876,0,0,0,0,100,0),
+(@PATH,29,-9142.09,2238.851,22.44915,0,0,0,0,100,0),
+(@PATH,30,-9146.989,2216.528,23.29689,0,0,0,0,100,0),
+(@PATH,31,-9118.285,2185.291,22.93004,0,0,0,0,100,0),
+(@PATH,32,-9102.656,2157.033,21.51134,0,0,0,0,100,0),
+(@PATH,33,-9075.009,2145.98,23.58446,0,0,0,0,100,0);
+
+-- Pathing for Flesh Hunter Entry: 15335 'TDB FORMAT'
+SET @NPC := @CGUID+165;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8937.627,`position_y`=1698.941,`position_z`=21.93345 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8937.627,1698.941,21.93345,0,0,0,0,100,0),
+(@PATH,2,-8920.532,1729.919,21.51128,0,0,0,0,100,0),
+(@PATH,3,-8908.218,1761.801,21.51128,0,0,0,0,100,0),
+(@PATH,4,-8885.667,1785.599,21.55186,0,0,0,0,100,0),
+(@PATH,5,-8865.728,1829.28,21.51134,0,0,0,0,100,0),
+(@PATH,6,-8873.043,1860.568,24.12182,0,0,0,0,100,0),
+(@PATH,7,-8840.51,1857.832,21.51134,0,0,0,0,100,0),
+(@PATH,8,-8808.15,1884.686,21.48137,0,0,0,0,100,0),
+(@PATH,9,-8789.465,1924.165,21.91466,0,0,0,0,100,0),
+(@PATH,10,-8785.51,1961.738,22.2678,0,0,0,0,100,0),
+(@PATH,11,-8795.169,2004.241,21.50675,0,0,0,0,100,0),
+(@PATH,12,-8785.291,2024.753,21.50675,0,0,0,0,100,0),
+(@PATH,13,-8781.997,2063.416,21.51132,0,0,0,0,100,0),
+(@PATH,14,-8785.409,2085.489,21.51132,0,0,0,0,100,0),
+(@PATH,15,-8800.996,2059.075,21.54108,0,0,0,0,100,0),
+(@PATH,16,-8797.33,2012.523,21.50675,0,0,0,0,100,0),
+(@PATH,17,-8785.368,1995.146,21.51134,0,0,0,0,100,0),
+(@PATH,18,-8796.997,1956.54,21.51133,0,0,0,0,100,0),
+(@PATH,19,-8803.447,1922.115,21.51134,0,0,0,0,100,0),
+(@PATH,20,-8826.821,1891.991,21.44084,0,0,0,0,100,0),
+(@PATH,21,-8853.722,1857.549,21.64537,0,0,0,0,100,0),
+(@PATH,22,-8875.416,1831.338,21.5401,0,0,0,0,100,0),
+(@PATH,23,-8891.538,1801.722,21.40265,0,0,0,0,100,0),
+(@PATH,24,-8913.353,1764.123,21.51128,0,0,0,0,100,0),
+(@PATH,25,-8932.728,1722.069,21.51128,0,0,0,0,100,0),
+(@PATH,26,-8953.999,1702.306,21.51128,0,0,0,0,100,0),
+(@PATH,27,-8971.226,1712.679,22.30425,0,0,0,0,100,0),
+(@PATH,28,-8992.638,1723.895,21.95708,0,0,0,0,100,0),
+(@PATH,29,-9019.508,1750.176,21.47298,0,0,0,0,100,0),
+(@PATH,30,-9050.058,1757.618,21.51128,0,0,0,0,100,0),
+(@PATH,31,-9067.125,1783.419,21.51128,0,0,0,0,100,0),
+(@PATH,32,-9051.433,1827.842,21.51132,0,0,0,0,100,0),
+(@PATH,33,-9017.392,1854.547,21.78888,0,0,0,0,100,0),
+(@PATH,34,-9005.049,1877.975,22.21676,0,0,0,0,100,0),
+(@PATH,35,-9007.448,1920.794,21.51132,0,0,0,0,100,0),
+(@PATH,36,-8989.702,1949.567,22.3109,0,0,0,0,100,0),
+(@PATH,37,-8979.287,1983.77,21.65501,0,0,0,0,100,0),
+(@PATH,38,-8973.602,2011.78,21.51134,0,0,0,0,100,0),
+(@PATH,39,-8968.567,2049.794,21.88634,0,0,0,0,100,0),
+(@PATH,40,-8969.888,2083.404,21.51132,0,0,0,0,100,0),
+(@PATH,41,-8956.057,2078.304,21.806,0,0,0,0,100,0),
+(@PATH,42,-8938.739,2045.659,22.83847,0,0,0,0,100,0),
+(@PATH,43,-8939.479,2009.669,22.33628,0,0,0,0,100,0),
+(@PATH,44,-8953.139,1989.581,21.85654,0,0,0,0,100,0),
+(@PATH,45,-8956.321,1957.073,21.82368,0,0,0,0,100,0),
+(@PATH,46,-8969.141,1927.572,22.15987,0,0,0,0,100,0),
+(@PATH,47,-8989.028,1899.803,21.95286,0,0,0,0,100,0),
+(@PATH,48,-9020.87,1876.037,21.51132,0,0,0,0,100,0),
+(@PATH,49,-9055.008,1842.989,22.47308,0,0,0,0,100,0),
+(@PATH,50,-9084.486,1817.886,25.49034,0,0,0,0,100,0),
+(@PATH,51,-9097.041,1783.97,21.51128,0,0,0,0,100,0),
+(@PATH,52,-9118.29,1753.874,22.52647,0,0,0,0,100,0),
+(@PATH,53,-9093.203,1728.075,24.58226,0,0,0,0,100,0),
+(@PATH,54,-9052.174,1708.394,21.50263,0,0,0,0,100,0),
+(@PATH,55,-9020.147,1686.075,21.61656,0,0,0,0,100,0),
+(@PATH,56,-8986.377,1657.262,22.46316,0,0,0,0,100,0),
+(@PATH,57,-8964.914,1648.625,24.69013,0,0,0,0,100,0),
+(@PATH,58,-8944.825,1659.208,24.58833,0,0,0,0,100,0);
+
+-- Pathing for Flesh Hunter Entry: 15335 'TDB FORMAT'
+SET @NPC := @CGUID+166;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9290.099,`position_y`=1380.387,`position_z`=21.38616 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9290.099,1380.387,21.38616,0,0,0,0,100,0),
+(@PATH,2,-9266.542,1382.812,21.44118,0,0,0,0,100,0),
+(@PATH,3,-9243.845,1402.906,23.31999,0,0,0,0,100,0),
+(@PATH,4,-9224.515,1442.994,24.32664,0,0,0,0,100,0),
+(@PATH,5,-9206.087,1475.642,25.78873,0,0,0,0,100,0),
+(@PATH,6,-9173.119,1482.051,21.5113,0,0,0,0,100,0),
+(@PATH,7,-9176.457,1441.36,22.84715,0,0,0,0,100,0),
+(@PATH,8,-9192.751,1415.595,22.71139,0,0,0,0,100,0),
+(@PATH,9,-9214.301,1378.276,21.75317,0,0,0,0,100,0),
+(@PATH,10,-9213.823,1340.182,21.47529,0,0,0,0,100,0),
+(@PATH,11,-9186.384,1316.321,21.47732,0,0,0,0,100,0),
+(@PATH,12,-9146.026,1309.063,22.9012,0,0,0,0,100,0),
+(@PATH,13,-9186.384,1316.321,21.47732,0,0,0,0,100,0),
+(@PATH,14,-9213.823,1340.182,21.47529,0,0,0,0,100,0),
+(@PATH,15,-9214.301,1378.276,21.75317,0,0,0,0,100,0),
+(@PATH,16,-9192.751,1415.595,22.71139,0,0,0,0,100,0),
+(@PATH,17,-9176.457,1441.36,22.84715,0,0,0,0,100,0),
+(@PATH,18,-9173.119,1482.051,21.5113,0,0,0,0,100,0),
+(@PATH,19,-9206.087,1475.642,25.78873,0,0,0,0,100,0),
+(@PATH,20,-9224.515,1442.994,24.32664,0,0,0,0,100,0),
+(@PATH,21,-9243.845,1402.906,23.31999,0,0,0,0,100,0),
+(@PATH,22,-9266.542,1382.812,21.44118,0,0,0,0,100,0),
+(@PATH,23,-9290.099,1380.387,21.48297,0,10000,0,0,100,0),
+(@PATH,24,-9305.492,1403.459,25.60786,0,15000,0,0,100,0);
+
+-- Pathing for Flesh Hunter Entry: 15335 'TDB FORMAT'
+SET @NPC := @CGUID+167;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9452.126,`position_y`=1337.869,`position_z`=21.42187 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '18950');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9452.126,1337.869,21.42187,0,0,0,0,100,0),
+(@PATH,2,-9417.646,1355.137,22.36102,0,0,0,0,100,0),
+(@PATH,3,-9403.974,1352.924,21.39361,0,0,0,0,100,0),
+(@PATH,4,-9432.193,1352.471,21.55352,0,0,0,0,100,0),
+(@PATH,5,-9457.63,1330.037,21.44484,0,0,0,0,100,0),
+(@PATH,6,-9442.115,1301.084,18.79591,0,0,0,0,100,0),
+(@PATH,7,-9421.976,1294.538,6.835041,0,0,0,0,100,0),
+(@PATH,8,-9395.618,1285.335,-8.039509,0,0,0,0,100,0),
+(@PATH,9,-9381.646,1286.155,-14.88204,0,0,0,0,100,0),
+(@PATH,10,-9364.117,1279.244,-22.36019,0,0,0,0,100,0),
+(@PATH,11,-9341.927,1257.022,-42.71544,0,0,0,0,100,0),
+(@PATH,12,-9358.893,1279.803,-24.58626,0,0,0,0,100,0),
+(@PATH,13,-9378.188,1284.211,-16.61263,0,0,0,0,100,0),
+(@PATH,14,-9402.994,1287.507,-3.193645,0,0,0,0,100,0),
+(@PATH,15,-9429.794,1296.828,10.47188,0,0,0,0,100,0),
+(@PATH,16,-9459.201,1309.284,21.44484,0,0,0,0,100,0),
+(@PATH,17,-9449.167,1266.607,21.47515,0,0,0,0,100,0),
+(@PATH,18,-9420.796,1250.398,21.60155,0,0,0,0,100,0),
+(@PATH,19,-9449.167,1266.607,21.47515,0,0,0,0,100,0),
+(@PATH,20,-9459.201,1309.284,21.44484,0,0,0,0,100,0),
+(@PATH,21,-9429.794,1296.828,10.47188,0,0,0,0,100,0),
+(@PATH,22,-9403.174,1287.535,-3.026531,0,0,0,0,100,0),
+(@PATH,23,-9378.188,1284.211,-16.61263,0,0,0,0,100,0),
+(@PATH,24,-9358.893,1279.803,-24.58626,0,0,0,0,100,0),
+(@PATH,25,-9341.927,1257.022,-42.71544,0,0,0,0,100,0),
+(@PATH,26,-9364.117,1279.244,-22.36019,0,0,0,0,100,0),
+(@PATH,27,-9381.559,1286.167,-14.92842,0,0,0,0,100,0),
+(@PATH,28,-9395.531,1285.347,-8.382038,0,0,0,0,100,0),
+(@PATH,29,-9421.976,1294.538,6.835041,0,0,0,0,100,0),
+(@PATH,30,-9442.115,1301.084,18.79591,0,0,0,0,100,0),
+(@PATH,31,-9457.63,1330.037,21.44484,0,0,0,0,100,0),
+(@PATH,32,-9432.193,1352.471,21.55352,0,0,0,0,100,0),
+(@PATH,33,-9403.974,1352.924,21.39361,0,0,0,0,100,0),
+(@PATH,34,-9417.646,1355.137,22.36102,0,0,0,0,100,0),
+(@PATH,35,-9452.126,1337.869,21.42187,0,0,0,0,100,0),
+(@PATH,36,-9460.447,1307.998,21.44484,0,0,0,0,100,0),
+(@PATH,37,-9451.692,1280.025,21.41385,0,0,0,0,100,0),
+(@PATH,38,-9436.887,1255.127,21.91142,0,0,0,0,100,0),
+(@PATH,39,-9402.084,1241.667,21.54369,0,0,0,0,100,0),
+(@PATH,40,-9382.529,1226.703,21.4241,0,0,0,0,100,0),
+(@PATH,41,-9401.425,1241.072,21.55248,0,0,0,0,100,0),
+(@PATH,42,-9436.887,1255.127,21.91142,0,0,0,0,100,0),
+(@PATH,43,-9451.692,1280.025,21.41385,0,0,0,0,100,0),
+(@PATH,44,-9460.447,1307.998,21.44484,0,0,0,0,100,0);
+
+-- Pathing for Qiraji Swarmguard Entry: 15343 'TDB FORMAT'
+SET @NPC := @CGUID+187;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8715.07,`position_y`=1514.421,`position_z`=32.02237 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8715.07,1514.421,32.02237,0,0,0,0,100,0),
+(@PATH,2,-8707.966,1495.304,32.03201,0,0,0,0,100,0),
+(@PATH,3,-8676.498,1465.334,32.03133,0,0,0,0,100,0),
+(@PATH,4,-8674.114,1424.483,32.03201,0,0,0,0,100,0),
+(@PATH,5,-8676.498,1465.334,32.03133,0,0,0,0,100,0),
+(@PATH,6,-8707.966,1495.304,32.03201,0,0,0,0,100,0),
+(@PATH,7,-8715.07,1514.421,32.02237,0,0,0,0,100,0),
+(@PATH,8,-8683.518,1489.15,32.03194,0,0,0,0,100,0),
+(@PATH,9,-8652.897,1459.573,32.03194,0,0,0,0,100,0),
+(@PATH,10,-8624.121,1441.949,32.86404,0,0,0,0,100,0),
+(@PATH,11,-8632.826,1463.566,32.03201,0,0,0,0,100,0),
+(@PATH,12,-8643.889,1475.416,32.00608,0,0,0,0,100,0),
+(@PATH,13,-8605.078,1462.348,32.03201,0,0,0,0,100,0),
+(@PATH,14,-8608.562,1487.01,32.13507,0,0,0,0,100,0),
+(@PATH,15,-8598.64,1521.189,37.2549,0,0,0,0,100,0),
+(@PATH,16,-8624.487,1500.118,31.95148,0,0,0,0,100,0),
+(@PATH,17,-8650.246,1484.845,32.00608,0,0,0,0,100,0),
+(@PATH,18,-8627.65,1525.419,32.07648,0,0,0,0,100,0),
+(@PATH,19,-8658.124,1488.298,32.00608,0,0,0,0,100,0),
+(@PATH,20,-8649.376,1536.51,32.03201,0,0,0,0,100,0),
+(@PATH,21,-8678.199,1552.388,31.96736,0,0,0,0,100,0),
+(@PATH,22,-8649.376,1536.51,32.03201,0,0,0,0,100,0),
+(@PATH,23,-8658.124,1488.298,32.00608,0,0,0,0,100,0),
+(@PATH,24,-8627.65,1525.419,32.07648,0,0,0,0,100,0),
+(@PATH,25,-8650.246,1484.845,32.00608,0,0,0,0,100,0),
+(@PATH,26,-8624.487,1500.118,31.95148,0,0,0,0,100,0),
+(@PATH,27,-8598.64,1521.189,37.2549,0,0,0,0,100,0),
+(@PATH,28,-8608.562,1487.01,32.13507,0,0,0,0,100,0),
+(@PATH,29,-8605.078,1462.348,32.03201,0,0,0,0,100,0),
+(@PATH,30,-8643.889,1475.416,32.00608,0,0,0,0,100,0),
+(@PATH,31,-8632.826,1463.566,32.03201,0,0,0,0,100,0),
+(@PATH,32,-8624.121,1441.949,32.86404,0,0,0,0,100,0),
+(@PATH,33,-8652.897,1459.573,32.03194,0,0,0,0,100,0),
+(@PATH,34,-8683.518,1489.15,32.03194,0,0,0,0,100,0);
+
+-- Pathing for Qiraji Swarmguard Entry: 15343 'TDB FORMAT'
+SET @NPC := @CGUID+188;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8626.872,`position_y`=1393.024,`position_z`=32.11965 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8626.872,1393.024,32.11965,0,0,0,0,100,0),
+(@PATH,2,-8612.871,1397.043,32.03201,0,0,0,0,100,0),
+(@PATH,3,-8601.797,1405.588,33.28201,0,0,0,0,100,0),
+(@PATH,4,-8597.448,1422.481,32.04214,0,0,0,0,100,0),
+(@PATH,5,-8602.82,1435.621,32.58205,0,0,0,0,100,0),
+(@PATH,6,-8614.282,1446.714,32.03201,0,0,0,0,100,0),
+(@PATH,7,-8632.753,1445.288,32.78201,0,0,0,0,100,0),
+(@PATH,8,-8648.204,1430.458,32.16177,0,0,0,0,100,0),
+(@PATH,9,-8651.211,1414.462,32.32424,0,0,0,0,100,0),
+(@PATH,10,-8639.497,1397.023,32.03201,0,0,0,0,100,0);
+
+-- Pathing for Qiraji Swarmguard Entry: 15343 'TDB FORMAT'
+SET @NPC := @CGUID+189;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8698.72,`position_y`=1557.427,`position_z`=31.96736 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8698.72,1557.427,31.96736,0,0,0,0,100,0),
+(@PATH,2,-8727.424,1587.903,21.51132,0,0,0,0,100,0),
+(@PATH,3,-8745.534,1586.328,21.51132,0,0,0,0,100,0),
+(@PATH,4,-8750.269,1568.49,23.20175,0,0,0,0,100,0),
+(@PATH,5,-8749.061,1555.604,27.10514,0,0,0,0,100,0),
+(@PATH,6,-8745.534,1586.328,21.51132,0,0,0,0,100,0),
+(@PATH,7,-8727.424,1587.903,21.51132,0,0,0,0,100,0),
+(@PATH,8,-8698.72,1557.427,31.96736,0,0,0,0,100,0),
+(@PATH,9,-8677.868,1540.741,31.96736,0,0,0,0,100,0),
+(@PATH,10,-8652.031,1526.245,32.03201,0,0,0,0,100,0),
+(@PATH,11,-8631.435,1513.663,31.95148,0,0,0,0,100,0),
+(@PATH,12,-8620.831,1486.299,31.94367,0,0,0,0,100,0),
+(@PATH,13,-8631.435,1513.663,31.95148,0,0,0,0,100,0),
+(@PATH,14,-8652.031,1526.245,32.03201,0,0,0,0,100,0),
+(@PATH,15,-8677.868,1540.741,31.96736,0,0,0,0,100,0);
+
+-- Pathing for Qiraji Swarmguard Entry: 15343 'TDB FORMAT'
+SET @NPC := @CGUID+190;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8596.261,`position_y`=1445.324,`position_z`=32.03201 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8596.261,1445.324,32.03201,0,0,0,0,100,0),
+(@PATH,2,-8579.316,1455.001,32.57644,0,0,0,0,100,0),
+(@PATH,3,-8558.855,1463.694,32.03201,0,0,0,0,100,0),
+(@PATH,4,-8544.131,1479.762,32.15701,0,0,0,0,100,0),
+(@PATH,5,-8534.158,1494.747,32.78201,0,0,0,0,100,0),
+(@PATH,6,-8523.998,1511.022,32.90698,0,0,0,0,100,0),
+(@PATH,7,-8515.556,1523.541,32.28198,0,0,0,0,100,0),
+(@PATH,8,-8501.833,1535.644,32.03198,0,0,0,0,100,0),
+(@PATH,9,-8523.998,1511.022,32.90698,0,0,0,0,100,0),
+(@PATH,10,-8534.158,1494.747,32.78201,0,0,0,0,100,0),
+(@PATH,11,-8544.131,1479.762,32.15701,0,0,0,0,100,0),
+(@PATH,12,-8558.855,1463.694,32.03201,0,0,0,0,100,0),
+(@PATH,13,-8579.316,1455.001,32.57644,0,0,0,0,100,0),
+(@PATH,14,-8596.261,1445.324,32.03201,0,0,0,0,100,0),
+(@PATH,15,-8609.186,1444.716,32.03201,0,0,0,0,100,0),
+(@PATH,16,-8624.747,1453.474,32.03201,0,0,0,0,100,0),
+(@PATH,17,-8648.166,1437.747,32.03194,0,0,0,0,100,0),
+(@PATH,18,-8653.364,1427.667,32.90701,0,0,0,0,100,0),
+(@PATH,19,-8652.444,1412.949,32.52126,0,0,0,0,100,0),
+(@PATH,20,-8635.768,1394.096,32.03201,0,0,0,0,100,0),
+(@PATH,21,-8624.594,1389.992,32.03201,0,0,0,0,100,0),
+(@PATH,22,-8605.42,1395.665,32.03201,0,0,0,0,100,0),
+(@PATH,23,-8594.566,1415.467,32.03201,0,0,0,0,100,0),
+(@PATH,24,-8599.567,1429.468,32.63076,0,0,0,0,100,0),
+(@PATH,25,-8620.474,1447.892,32.03201,0,0,0,0,100,0),
+(@PATH,26,-8632.201,1448.974,32.83376,0,0,0,0,100,0),
+(@PATH,27,-8648.3,1425.739,32.86428,0,0,0,0,100,0),
+(@PATH,28,-8647.554,1415.542,32.81582,0,0,0,0,100,0),
+(@PATH,29,-8634.466,1397.044,32.08352,0,0,0,0,100,0),
+(@PATH,30,-8612.184,1395.429,32.03201,0,0,0,0,100,0),
+(@PATH,31,-8602.937,1404.893,33.18166,0,0,0,0,100,0),
+(@PATH,32,-8606.291,1430.675,33.09939,0,0,0,0,100,0),
+(@PATH,33,-8614.849,1438.85,32.68252,0,0,0,0,100,0),
+(@PATH,34,-8636.876,1442.12,32.39876,0,0,0,0,100,0),
+(@PATH,35,-8642.267,1432.34,32.03201,0,0,0,0,100,0),
+(@PATH,36,-8640.708,1410.744,33.11062,0,0,0,0,100,0),
+(@PATH,37,-8625.944,1401.671,32.70779,0,0,0,0,100,0),
+(@PATH,38,-8607.826,1407.917,32.91775,0,0,0,0,100,0),
+(@PATH,39,-8610.313,1427.698,33.28201,0,0,0,0,100,0),
+(@PATH,40,-8622.624,1437.455,33.24148,0,0,0,0,100,0),
+(@PATH,41,-8629.749,1439.459,32.77468,0,0,0,0,100,0),
+(@PATH,42,-8605.587,1416.063,33.04202,0,0,0,0,100,0),
+(@PATH,43,-8607.826,1407.917,32.91775,0,0,0,0,100,0),
+(@PATH,44,-8625.944,1401.671,32.70779,0,0,0,0,100,0),
+(@PATH,45,-8640.708,1410.744,33.11062,0,0,0,0,100,0),
+(@PATH,46,-8642.267,1432.34,32.03201,0,0,0,0,100,0),
+(@PATH,47,-8623.281,1444.953,32.4501,0,0,0,0,100,0),
+(@PATH,48,-8614.849,1438.85,32.68252,0,0,0,0,100,0),
+(@PATH,49,-8600.551,1419.44,32.26528,0,0,0,0,100,0),
+(@PATH,50,-8602.937,1404.893,33.18166,0,0,0,0,100,0),
+(@PATH,51,-8625.483,1394.269,32.41152,0,0,0,0,100,0),
+(@PATH,52,-8634.466,1397.044,32.08352,0,0,0,0,100,0),
+(@PATH,53,-8647.554,1415.542,32.81582,0,0,0,0,100,0),
+(@PATH,54,-8643.316,1438.734,32.03194,0,0,0,0,100,0),
+(@PATH,55,-8632.201,1448.974,32.83376,0,0,0,0,100,0),
+(@PATH,56,-8608.438,1441.045,32.11904,0,0,0,0,100,0),
+(@PATH,57,-8599.567,1429.468,32.63076,0,0,0,0,100,0),
+(@PATH,58,-8594.566,1415.467,32.03201,0,0,0,0,100,0),
+(@PATH,59,-8605.42,1395.665,32.03201,0,0,0,0,100,0),
+(@PATH,60,-8624.594,1389.992,32.03201,0,0,0,0,100,0),
+(@PATH,61,-8642.364,1400.395,32.03201,0,0,0,0,100,0),
+(@PATH,62,-8652.444,1412.949,32.52126,0,0,0,0,100,0),
+(@PATH,63,-8653.364,1427.667,32.90701,0,0,0,0,100,0),
+(@PATH,64,-8638.11,1450.366,33.01338,0,0,0,0,100,0),
+(@PATH,65,-8624.747,1453.474,32.03201,0,0,0,0,100,0),
+(@PATH,66,-8609.186,1444.716,32.03201,0,0,0,0,100,0);
+
+-- Pathing for Qiraji Swarmguard Entry: 15343 'TDB FORMAT'
+SET @NPC := @CGUID+191;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8554.364,`position_y`=1453.022,`position_z`=32.44558 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8554.364,1453.022,32.44558,0,0,0,0,100,0),
+(@PATH,2,-8531.382,1409.837,32.03201,0,0,0,0,100,0),
+(@PATH,3,-8565.742,1422.705,32.03201,0,0,0,0,100,0),
+(@PATH,4,-8597.424,1431.692,32.89761,0,0,0,0,100,0),
+(@PATH,5,-8579.544,1395.944,32.03201,0,0,0,0,100,0),
+(@PATH,6,-8568.221,1369.643,32.03201,0,0,0,0,100,0),
+(@PATH,7,-8550.396,1335.821,32.04605,0,0,0,0,100,0),
+(@PATH,8,-8568.221,1369.643,32.03201,0,0,0,0,100,0),
+(@PATH,9,-8579.544,1395.944,32.03201,0,0,0,0,100,0),
+(@PATH,10,-8597.424,1431.692,32.89761,0,0,0,0,100,0),
+(@PATH,11,-8565.742,1422.705,32.03201,0,0,0,0,100,0),
+(@PATH,12,-8531.382,1409.837,32.03201,0,0,0,0,100,0),
+(@PATH,13,-8554.364,1453.022,32.44558,0,0,0,0,100,0),
+(@PATH,14,-8585.673,1436.706,32.06472,0,0,0,0,100,0),
+(@PATH,15,-8605.817,1458.296,32.03201,0,0,0,0,100,0),
+(@PATH,16,-8571.966,1465.175,32.03201,0,0,0,0,100,0),
+(@PATH,17,-8599.507,1480.402,32.61454,0,0,0,0,100,0),
+(@PATH,18,-8571.966,1465.175,32.03201,0,0,0,0,100,0),
+(@PATH,19,-8605.817,1458.296,32.03201,0,0,0,0,100,0),
+(@PATH,20,-8585.673,1436.706,32.06472,0,0,0,0,100,0);
+
+-- Pathing for Qiraji Swarmguard Entry: 15343 'TDB FORMAT'
+SET @NPC := @CGUID+192;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8601.664,`position_y`=1390.749,`position_z`=32.03201 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8601.664,1390.749,32.03201,0,0,0,0,100,0),
+(@PATH,2,-8591.866,1403.699,32.15054,0,0,0,0,100,0),
+(@PATH,3,-8588.45,1414.927,32.03201,0,0,0,0,100,0),
+(@PATH,4,-8586.888,1427.869,33.06387,0,0,0,0,100,0),
+(@PATH,5,-8591.98,1441.59,31.97866,0,0,0,0,100,0),
+(@PATH,6,-8604.068,1451.8,32.03201,0,0,0,0,100,0),
+(@PATH,7,-8622.909,1456.538,32.03201,0,0,0,0,100,0),
+(@PATH,8,-8642.18,1452.721,32.90791,0,0,0,0,100,0),
+(@PATH,9,-8653.962,1444.923,32.03194,0,0,0,0,100,0),
+(@PATH,10,-8662.412,1435.851,32.79219,0,0,0,0,100,0),
+(@PATH,11,-8661.74,1419.056,32.18276,0,0,0,0,100,0),
+(@PATH,12,-8654.638,1405.104,33.02615,0,0,0,0,100,0),
+(@PATH,13,-8639.636,1390.926,32.03201,0,0,0,0,100,0),
+(@PATH,14,-8622.461,1385.466,32.03201,0,0,0,0,100,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+104;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8529.958,`position_y`=1364.049,`position_z`=36.8613 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8529.958,`position_y`=1364.049,`position_z`=36.8613 WHERE `guid`=@CGUID+73;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8529.958,`position_y`=1364.049,`position_z`=36.8613 WHERE `guid`=@CGUID+74;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+73,@CGUID+74);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+73,@PATH,0,0,1,0, ''),(@CGUID+74,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8529.958,1364.049,36.8613,0,0,0,0,100,0),
+(@PATH,2,-8539.803,1346.646,35.40701,0,0,0,0,100,0),
+(@PATH,3,-8548.704,1332.98,32.31227,0,0,0,0,100,0),
+(@PATH,4,-8558.811,1320.909,33.84633,0,0,0,0,100,0),
+(@PATH,5,-8566.942,1311.42,35.92106,0,0,0,0,100,0),
+(@PATH,6,-8576.419,1309.016,37.23088,0,0,0,0,100,0),
+(@PATH,7,-8584.488,1311.995,38.23796,0,0,0,0,100,0),
+(@PATH,8,-8595.519,1311.563,38.18644,0,0,0,0,100,0),
+(@PATH,9,-8600.222,1319.612,36.98295,0,0,0,0,100,0),
+(@PATH,10,-8607.076,1327.968,35.15849,0,0,0,0,100,0),
+(@PATH,11,-8615.813,1346.86,34.1813,0,0,0,0,100,0),
+(@PATH,12,-8625.896,1351.781,33.83559,0,0,0,0,100,0),
+(@PATH,13,-8640.597,1348.754,32.22292,0,0,0,0,100,0),
+(@PATH,14,-8656.664,1339.812,32.06704,0,0,0,0,100,0),
+(@PATH,15,-8665.035,1340.468,32.31985,0,0,0,0,100,0),
+(@PATH,16,-8675.461,1346.442,32.03201,0,0,0,0,100,0),
+(@PATH,17,-8681.545,1352.296,32.03201,0,0,0,0,100,0),
+(@PATH,18,-8689.306,1363.689,32.03201,0,0,0,0,100,0),
+(@PATH,19,-8689.081,1377.316,32.1592,0,0,0,0,100,0),
+(@PATH,20,-8689.243,1386.516,32.03201,0,0,0,0,100,0),
+(@PATH,21,-8689.553,1391.781,32.03201,0,0,0,0,100,0),
+(@PATH,22,-8696.313,1401.926,32.03201,0,0,0,0,100,0),
+(@PATH,23,-8710.984,1403.616,32.03201,0,0,0,0,100,0),
+(@PATH,24,-8725,1401.026,32.09084,0,0,0,0,100,0),
+(@PATH,25,-8731.581,1405.537,33.48586,0,0,0,0,100,0),
+(@PATH,26,-8734.479,1414.433,36.20397,0,0,0,0,100,0),
+(@PATH,27,-8732.03,1423.297,37.67117,0,0,0,0,100,0),
+(@PATH,28,-8725.299,1431.885,36.10378,0,0,0,0,100,0),
+(@PATH,29,-8707.934,1441.262,33.016,0,0,0,0,100,0),
+(@PATH,30,-8698.775,1448.582,32.44686,0,0,0,0,100,0),
+(@PATH,31,-8689.356,1462.353,32.23666,0,0,0,0,100,0),
+(@PATH,32,-8689.169,1472.879,32.03194,0,0,0,0,100,0),
+(@PATH,33,-8700.186,1486.412,32.03201,0,0,0,0,100,0),
+(@PATH,34,-8713.146,1492.665,32.6149,0,0,0,0,100,0),
+(@PATH,35,-8722.861,1496.83,33.90457,0,0,0,0,100,0),
+(@PATH,36,-8729.367,1504.248,33.60392,0,0,0,0,100,0),
+(@PATH,37,-8722.961,1517.956,31.73966,0,0,0,0,100,0),
+(@PATH,38,-8709.675,1523.971,32.02237,0,0,0,0,100,0),
+(@PATH,39,-8700.321,1534.454,32.01286,0,0,0,0,100,0),
+(@PATH,40,-8695.349,1544.921,31.96736,0,0,0,0,100,0),
+(@PATH,41,-8681.404,1547.222,31.96736,0,0,0,0,100,0),
+(@PATH,42,-8653.026,1542.493,32.03201,0,0,0,0,100,0),
+(@PATH,43,-8647.881,1531.499,32.03201,0,0,0,0,100,0),
+(@PATH,44,-8639.888,1526.415,32.03201,0,0,0,0,100,0),
+(@PATH,45,-8626.61,1527.882,32.1098,0,0,0,0,100,0),
+(@PATH,46,-8615.333,1529.297,33.04889,0,0,0,0,100,0),
+(@PATH,47,-8607.277,1521.799,34.45148,0,0,0,0,100,0),
+(@PATH,48,-8610.157,1511.149,32.29498,0,0,0,0,100,0),
+(@PATH,49,-8613.661,1498.537,31.88141,0,0,0,0,100,0),
+(@PATH,50,-8609.094,1485.39,31.94074,0,0,0,0,100,0),
+(@PATH,51,-8598.721,1477.947,32.41422,0,0,0,0,100,0),
+(@PATH,52,-8582.448,1473.503,32.78202,0,0,0,0,100,0),
+(@PATH,53,-8562.289,1476.467,32.03201,0,0,0,0,100,0),
+(@PATH,54,-8541.956,1473.268,32.03201,0,0,0,0,100,0),
+(@PATH,55,-8537.244,1462.648,32.03201,0,0,0,0,100,0),
+(@PATH,56,-8534.426,1453.312,32.03201,0,0,0,0,100,0),
+(@PATH,57,-8529.186,1446.878,32.46731,0,0,0,0,100,0),
+(@PATH,58,-8521.271,1435.866,32.78323,0,0,0,0,100,0),
+(@PATH,59,-8523.449,1424.432,32.15139,0,0,0,0,100,0),
+(@PATH,60,-8521.978,1406.374,32.03201,0,0,0,0,100,0),
+(@PATH,61,-8518.832,1391.909,33.57486,0,0,0,0,100,0),
+(@PATH,62,-8521.604,1377.789,34.2847,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+73,8,315,2,0,0),
+(@NPC,@CGUID+74,8,405,2,0,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+105;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8548.863,`position_y`=1386.292,`position_z`=32.03201 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8548.863,`position_y`=1386.292,`position_z`=32.03201 WHERE `guid`=@CGUID+75;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8548.863,`position_y`=1386.292,`position_z`=32.03201 WHERE `guid`=@CGUID+76;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+75,@CGUID+76);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+75,@PATH,0,0,1,0, ''),(@CGUID+76,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8548.863,1386.292,32.03201,0,0,0,0,100,0),
+(@PATH,2,-8565.712,1372.886,32.03201,0,0,0,0,100,0),
+(@PATH,3,-8581.622,1367.627,32.03201,0,0,0,0,100,0),
+(@PATH,4,-8606.725,1366.843,32.03201,0,0,0,0,100,0),
+(@PATH,5,-8632.288,1375.482,32.03201,0,0,0,0,100,0),
+(@PATH,6,-8654.506,1394.647,32.03201,0,0,0,0,100,0),
+(@PATH,7,-8671.173,1419.873,32.03201,0,0,0,0,100,0),
+(@PATH,8,-8676.283,1440.234,32.03133,0,0,0,0,100,0),
+(@PATH,9,-8667.241,1453.61,32.03133,0,0,0,0,100,0),
+(@PATH,10,-8646.296,1471.409,32.00608,0,0,0,0,100,0),
+(@PATH,11,-8622.894,1479.165,32.00641,0,0,0,0,100,0),
+(@PATH,12,-8601.697,1470.526,32.00641,0,0,0,0,100,0),
+(@PATH,13,-8572.213,1460.675,32.03201,0,0,0,0,100,0),
+(@PATH,14,-8551.573,1441.729,32.03201,0,0,0,0,100,0),
+(@PATH,15,-8540.968,1428.382,32.03201,0,0,0,0,100,0),
+(@PATH,16,-8537.028,1406.539,32.03201,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+75,8,315,2,0,0),
+(@NPC,@CGUID+76,8,405,2,0,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+106;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8597.936,`position_y`=1369.124,`position_z`=32.03201 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8597.936,`position_y`=1369.124,`position_z`=32.03201 WHERE `guid`=@CGUID+77;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8597.936,`position_y`=1369.124,`position_z`=32.03201 WHERE `guid`=@CGUID+78;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+77,@CGUID+78);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+77,@PATH,0,0,1,0, ''),(@CGUID+78,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8597.936,1369.124,32.03201,0,0,0,0,100,0),
+(@PATH,2,-8597.158,1401.358,32.62844,0,0,0,0,100,0),
+(@PATH,3,-8590.24,1447.263,32.03201,0,0,0,0,100,0),
+(@PATH,4,-8559.169,1456.705,32.03201,0,0,0,0,100,0),
+(@PATH,5,-8590.24,1447.263,32.03201,0,0,0,0,100,0),
+(@PATH,6,-8597.158,1401.358,32.62844,0,0,0,0,100,0),
+(@PATH,7,-8597.936,1369.124,32.03201,0,0,0,0,100,0),
+(@PATH,8,-8623.723,1352.624,33.90456,0,0,0,0,100,0),
+(@PATH,9,-8662.29,1348.379,32.03201,0,0,0,0,100,0),
+(@PATH,10,-8623.723,1352.624,33.90456,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+77,8,315,2,0,0),
+(@NPC,@CGUID+78,8,405,2,0,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+107;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8676.303,`position_y`=1523.413,`position_z`=32.03201 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8676.303,`position_y`=1523.413,`position_z`=32.03201 WHERE `guid`=@CGUID+79;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8676.303,`position_y`=1523.413,`position_z`=32.03201 WHERE `guid`=@CGUID+80;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+79,@CGUID+80);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+79,@PATH,0,0,1,0, ''),(@CGUID+80,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8676.303,1523.413,32.03201,0,0,0,0,100,0),
+(@PATH,2,-8674.751,1532.686,32.03201,0,0,0,0,100,0),
+(@PATH,3,-8666.7,1549.006,31.96736,0,0,0,0,100,0),
+(@PATH,4,-8661.062,1564.438,32.03201,0,0,0,0,100,0),
+(@PATH,5,-8653.452,1584.203,32.00211,0,0,0,0,100,0),
+(@PATH,6,-8635.348,1595.124,32.00211,0,0,0,0,100,0),
+(@PATH,7,-8623.174,1592.671,32.03201,0,0,0,0,100,0),
+(@PATH,8,-8613.221,1590.594,32.03201,0,0,0,0,100,0),
+(@PATH,9,-8601.792,1588.857,32.03201,0,0,0,0,100,0),
+(@PATH,10,-8593.638,1591.012,32.03201,0,0,0,0,100,0),
+(@PATH,11,-8587.351,1597.304,32.03201,0,0,0,0,100,0),
+(@PATH,12,-8587.771,1604.197,31.95384,0,0,0,0,100,0),
+(@PATH,13,-8592.951,1609.818,31.95384,0,0,0,0,100,0),
+(@PATH,14,-8601.403,1614.527,31.92987,0,0,0,0,100,0),
+(@PATH,15,-8609.681,1613.565,31.92987,0,0,0,0,100,0),
+(@PATH,16,-8619.378,1610.386,31.92987,0,0,0,0,100,0),
+(@PATH,17,-8635.724,1600.521,32.01131,0,0,0,0,100,0),
+(@PATH,18,-8654.849,1586.285,32.00211,0,0,0,0,100,0),
+(@PATH,19,-8667.545,1565.508,31.96736,0,0,0,0,100,0),
+(@PATH,20,-8686.157,1545.365,31.96736,0,0,0,0,100,0),
+(@PATH,21,-8700.114,1518.251,32.02237,0,0,0,0,100,0),
+(@PATH,22,-8698.923,1495.54,32.03194,0,0,0,0,100,0),
+(@PATH,23,-8684.854,1482.41,32.03194,0,0,0,0,100,0),
+(@PATH,24,-8671.786,1476.209,32.03194,0,0,0,0,100,0),
+(@PATH,25,-8662.458,1477.07,32.00608,0,0,0,0,100,0),
+(@PATH,26,-8655.018,1486.244,32.00608,0,0,0,0,100,0),
+(@PATH,27,-8657.109,1495.647,32.17112,0,0,0,0,100,0),
+(@PATH,28,-8665.246,1506.262,32.1741,0,0,0,0,100,0),
+(@PATH,29,-8672.817,1514.818,32.03201,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+79,8,315,2,0,0),
+(@NPC,@CGUID+80,8,405,2,0,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+108;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8658.216,`position_y`=1452.975,`position_z`=32.03194 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8658.216,`position_y`=1452.975,`position_z`=32.03194 WHERE `guid`=@CGUID+81;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8658.216,`position_y`=1452.975,`position_z`=32.03194 WHERE `guid`=@CGUID+82;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+81,@CGUID+82);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+81,@PATH,0,0,1,0, ''),(@CGUID+82,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8658.216,1452.975,32.03194,0,0,0,0,100,0),
+(@PATH,2,-8641.388,1466.459,32.03194,0,0,0,0,100,0),
+(@PATH,3,-8621.116,1464.743,32.03201,0,0,0,0,100,0),
+(@PATH,4,-8585.999,1450.884,32.03201,0,0,0,0,100,0),
+(@PATH,5,-8549.127,1432.836,32.03201,0,0,0,0,100,0),
+(@PATH,6,-8542.808,1418.113,32.03201,0,0,0,0,100,0),
+(@PATH,7,-8549.8,1395.085,32.03201,0,0,0,0,100,0),
+(@PATH,8,-8563.838,1378,32.03201,0,0,0,0,100,0),
+(@PATH,9,-8577.313,1367.248,32.03201,0,0,0,0,100,0),
+(@PATH,10,-8597.477,1364.023,32.03201,0,0,0,0,100,0),
+(@PATH,11,-8615.605,1370.76,32.03201,0,0,0,0,100,0),
+(@PATH,12,-8634.19,1381.713,32.03201,0,0,0,0,100,0),
+(@PATH,13,-8665.271,1407.404,32.16384,0,0,0,0,100,0),
+(@PATH,14,-8671.109,1435.101,32.05587,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+81,8,315,2,0,0),
+(@NPC,@CGUID+82,8,405,2,0,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+109;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8729.304,`position_y`=1429.319,`position_z`=37.32424 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8729.304,`position_y`=1429.319,`position_z`=37.32424 WHERE `guid`=@CGUID+83;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8729.304,`position_y`=1429.319,`position_z`=37.32424 WHERE `guid`=@CGUID+84;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+83,@CGUID+84);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+83,@PATH,0,0,1,0, ''),(@CGUID+84,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8729.304,1429.319,37.32424,0,0,0,0,100,0),
+(@PATH,2,-8706.372,1430.352,34.3594,0,0,0,0,100,0),
+(@PATH,3,-8674.178,1445.882,32.03133,0,0,0,0,100,0),
+(@PATH,4,-8669.013,1458.894,32.03133,0,0,0,0,100,0),
+(@PATH,5,-8665.397,1470.97,32.00608,0,0,0,0,100,0),
+(@PATH,6,-8640.486,1471.08,32.00608,0,0,0,0,100,0),
+(@PATH,7,-8599.312,1477.941,32.30228,0,0,0,0,100,0),
+(@PATH,8,-8640.486,1471.08,32.00608,0,0,0,0,100,0),
+(@PATH,9,-8665.397,1470.97,32.00608,0,0,0,0,100,0),
+(@PATH,10,-8669.013,1458.894,32.03133,0,0,0,0,100,0),
+(@PATH,11,-8674.178,1445.882,32.03133,0,0,0,0,100,0),
+(@PATH,12,-8706.372,1430.352,34.3594,0,0,0,0,100,0),
+(@PATH,13,-8729.304,1429.319,37.32424,0,0,0,0,100,0),
+(@PATH,14,-8713.892,1442.385,34.02357,0,0,0,0,100,0),
+(@PATH,15,-8696.722,1461.607,33.19967,0,0,0,0,100,0),
+(@PATH,16,-8671.114,1479.966,32.03194,0,0,0,0,100,0),
+(@PATH,17,-8645.507,1492.281,32.76731,0,0,0,0,100,0),
+(@PATH,18,-8621.361,1512.898,32.07648,0,0,0,0,100,0),
+(@PATH,19,-8645.507,1492.281,32.76731,0,0,0,0,100,0),
+(@PATH,20,-8671.114,1479.966,32.03194,0,0,0,0,100,0),
+(@PATH,21,-8696.722,1461.607,33.19967,0,0,0,0,100,0),
+(@PATH,22,-8713.892,1442.385,34.02357,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+83,8,315,2,0,0),
+(@NPC,@CGUID+84,8,405,2,0,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+110;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8764.116,`position_y`=1581.645,`position_z`=22.68807 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8764.116,`position_y`=1581.645,`position_z`=22.68807 WHERE `guid`=@CGUID+85;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8764.116,`position_y`=1581.645,`position_z`=22.68807 WHERE `guid`=@CGUID+86;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+85,@CGUID+86);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+85,@PATH,0,0,1,0, ''),(@CGUID+86,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8764.116,1581.645,22.68807,0,0,0,0,100,0),
+(@PATH,2,-8753.808,1574.044,22.58163,0,0,0,0,100,0),
+(@PATH,3,-8738.576,1574.061,21.51132,0,0,0,0,100,0),
+(@PATH,4,-8725.54,1586.539,21.51132,0,0,0,0,100,0),
+(@PATH,5,-8721.115,1598.405,21.51132,0,0,0,0,100,0),
+(@PATH,6,-8716.487,1608.771,21.50764,0,0,0,0,100,0),
+(@PATH,7,-8697.559,1617.893,21.50965,0,0,0,0,100,0),
+(@PATH,8,-8689.124,1620.98,21.4054,0,0,0,0,100,0),
+(@PATH,9,-8676.7,1633.637,21.5121,0,0,0,0,100,0),
+(@PATH,10,-8664.844,1651.779,22.2621,0,0,0,0,100,0),
+(@PATH,11,-8658.319,1668.855,21.51167,0,0,0,0,100,0),
+(@PATH,12,-8664.207,1676.173,22.29316,0,0,0,0,100,0),
+(@PATH,13,-8674.647,1676.72,22.07937,0,0,0,0,100,0),
+(@PATH,14,-8683.002,1674.971,23.14468,0,0,0,0,100,0),
+(@PATH,15,-8690.661,1662.559,23.09059,0,0,0,0,100,0),
+(@PATH,16,-8692.645,1651.498,22.43434,0,0,0,0,100,0),
+(@PATH,17,-8701.47,1635.077,22.32766,0,0,0,0,100,0),
+(@PATH,18,-8713.073,1627.768,22.65229,0,0,0,0,100,0),
+(@PATH,19,-8728.455,1620.784,21.50764,0,0,0,0,100,0),
+(@PATH,20,-8742.18,1614.745,21.63534,0,0,0,0,100,0),
+(@PATH,21,-8754.88,1604.404,22.26132,0,0,0,0,100,0),
+(@PATH,22,-8767.513,1589.608,21.55936,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+85,8,315,2,0,0),
+(@NPC,@CGUID+86,8,405,2,0,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+111;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8767.31,`position_y`=1593.834,`position_z`=21.49979 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8767.31,`position_y`=1593.834,`position_z`=21.49979 WHERE `guid`=@CGUID+87;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8767.31,`position_y`=1593.834,`position_z`=21.49979 WHERE `guid`=@CGUID+88;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+87,@CGUID+88);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+87,@PATH,0,0,1,0, ''),(@CGUID+88,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8767.31,1593.834,21.49979,0,0,0,0,100,0),
+(@PATH,2,-8770.036,1585.847,22.46646,0,0,0,0,100,0),
+(@PATH,3,-8768.942,1580.037,24.6282,0,0,0,0,100,0),
+(@PATH,4,-8761.078,1573.96,24.66903,0,0,0,0,100,0),
+(@PATH,5,-8754.317,1573.614,23.1307,0,0,0,0,100,0),
+(@PATH,6,-8749.495,1583.887,21.51132,0,0,0,0,100,0),
+(@PATH,7,-8749.606,1598.333,22.0267,0,0,0,0,100,0),
+(@PATH,8,-8744.066,1615.724,21.68685,0,0,0,0,100,0),
+(@PATH,9,-8738.805,1626.016,22.66122,0,0,0,0,100,0),
+(@PATH,10,-8737.81,1633.883,24.68712,0,0,0,0,100,0),
+(@PATH,11,-8741.979,1643.341,28.25573,0,0,0,0,100,0),
+(@PATH,12,-8748.667,1644.332,26.70861,0,0,0,0,100,0),
+(@PATH,13,-8755.17,1639.595,23.78893,0,0,0,0,100,0),
+(@PATH,14,-8756.532,1629.037,21.51132,0,0,0,0,100,0),
+(@PATH,15,-8755.539,1614.518,21.83163,0,0,0,0,100,0),
+(@PATH,16,-8761.656,1603.455,22.13632,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+87,8,315,2,0,0),
+(@NPC,@CGUID+88,8,405,2,0,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+112;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8812.028,`position_y`=1669.479,`position_z`=21.51077 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8812.028,`position_y`=1669.479,`position_z`=21.51077 WHERE `guid`=@CGUID+89;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8812.028,`position_y`=1669.479,`position_z`=21.51077 WHERE `guid`=@CGUID+90;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+89,@CGUID+90);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+89,@PATH,0,0,1,0, ''),(@CGUID+90,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8812.028,1669.479,21.51077,0,0,0,0,100,0),
+(@PATH,2,-8829.116,1676.292,21.51077,0,0,0,0,100,0),
+(@PATH,3,-8844.153,1674.81,21.51133,0,0,0,0,100,0),
+(@PATH,4,-8862.958,1666.421,21.44188,0,0,0,0,100,0),
+(@PATH,5,-8879.5,1648.462,21.51133,0,0,0,0,100,0),
+(@PATH,6,-8889.997,1630.464,21.74863,0,0,0,0,100,0),
+(@PATH,7,-8881.832,1613.655,21.51133,0,0,0,0,100,0),
+(@PATH,8,-8868.665,1603.683,21.51133,0,0,0,0,100,0),
+(@PATH,9,-8851.86,1597.849,21.51132,0,0,0,0,100,0),
+(@PATH,10,-8825.522,1596.61,21.49979,0,0,0,0,100,0),
+(@PATH,11,-8808.65,1596.895,21.49979,0,0,0,0,100,0),
+(@PATH,12,-8787.695,1598.145,21.49979,0,0,0,0,100,0),
+(@PATH,13,-8771.377,1609.977,21.58078,0,0,0,0,100,0),
+(@PATH,14,-8770.968,1626.16,21.45578,0,0,0,0,100,0),
+(@PATH,15,-8774.21,1634.483,21.43074,0,0,0,0,100,0),
+(@PATH,16,-8783.411,1643.005,23.20686,0,0,0,0,100,0),
+(@PATH,17,-8797.109,1656.653,21.46516,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+89,8,315,2,0,0),
+(@NPC,@CGUID+90,8,405,2,0,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+113;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8853.164,`position_y`=1601.762,`position_z`=21.43074 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8853.164,`position_y`=1601.762,`position_z`=21.43074 WHERE `guid`=@CGUID+91;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-8853.164,`position_y`=1601.762,`position_z`=21.43074 WHERE `guid`=@CGUID+92;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+91,@CGUID+92);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+91,@PATH,0,0,1,0, ''),(@CGUID+92,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-8853.164,1601.762,21.43074,0,0,0,0,100,0),
+(@PATH,2,-8866.146,1609.803,21.43074,0,0,0,0,100,0),
+(@PATH,3,-8867.712,1619.324,21.51133,0,0,0,0,100,0),
+(@PATH,4,-8869.861,1636.031,21.51133,0,0,0,0,100,0),
+(@PATH,5,-8868.245,1642.404,21.51133,0,0,0,0,100,0),
+(@PATH,6,-8860.811,1651.562,21.44188,0,0,0,0,100,0),
+(@PATH,7,-8846.482,1659.746,21.44188,0,0,0,0,100,0),
+(@PATH,8,-8832.089,1664.295,21.43074,0,0,0,0,100,0),
+(@PATH,9,-8818.774,1664.332,21.43074,0,0,0,0,100,0),
+(@PATH,10,-8804.403,1654.945,21.43074,0,0,0,0,100,0),
+(@PATH,11,-8798.054,1646.651,21.43074,0,0,0,0,100,0),
+(@PATH,12,-8793.324,1634.422,21.43074,0,0,0,0,100,0),
+(@PATH,13,-8790.466,1615.461,21.45578,0,0,0,0,100,0),
+(@PATH,14,-8805.591,1606.401,21.21346,0,0,0,0,100,0),
+(@PATH,15,-8817.363,1603.717,21.43074,0,0,0,0,100,0),
+(@PATH,16,-8839.466,1603.247,21.43074,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+91,8,315,2,0,0),
+(@NPC,@CGUID+92,8,405,2,0,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+116;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9616.939,`position_y`=1598.47,`position_z`=21.51131 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9616.939,`position_y`=1598.47,`position_z`=21.51131 WHERE `guid`=@CGUID+117;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9616.939,`position_y`=1598.47,`position_z`=21.51131 WHERE `guid`=@CGUID+95;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9616.939,`position_y`=1598.47,`position_z`=21.51131 WHERE `guid`=@CGUID+96;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9616.939,`position_y`=1598.47,`position_z`=21.51131 WHERE `guid`=@CGUID+98;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+117,@CGUID+95,@CGUID+96,@CGUID+98);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+117,@PATH,0,0,1,0, ''),(@CGUID+95,@PATH,0,0,1,0, ''),(@CGUID+96,@PATH,0,0,1,0, ''),(@CGUID+98,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9616.939,1598.47,21.51131,0,0,0,0,100,0),
+(@PATH,2,-9644.368,1600.97,21.51152,0,0,0,0,100,0),
+(@PATH,3,-9666.587,1602.68,21.51152,0,0,0,0,100,0),
+(@PATH,4,-9693.127,1615.85,24.8499,0,0,0,0,100,0),
+(@PATH,5,-9666.587,1602.68,21.51152,0,0,0,0,100,0),
+(@PATH,6,-9644.368,1600.97,21.51152,0,0,0,0,100,0),
+(@PATH,7,-9616.939,1598.47,21.51131,0,0,0,0,100,0),
+(@PATH,8,-9593.868,1602.922,21.51135,0,0,0,0,100,0),
+(@PATH,9,-9567.264,1581.447,21.64806,0,0,0,0,100,0),
+(@PATH,10,-9593.868,1602.922,21.51135,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+117,7,55,2,4,9),
+(@NPC,@CGUID+95,7,15,2,4,9),
+(@NPC,@CGUID+96,7,345,2,4,9),
+(@NPC,@CGUID+98,7,305,2,4,9);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+119;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9616.939,`position_y`=1598.47,`position_z`=21.51131 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9616.939,`position_y`=1598.47,`position_z`=21.51131 WHERE `guid`=@CGUID+114;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9616.939,`position_y`=1598.47,`position_z`=21.51131 WHERE `guid`=@CGUID+115;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9616.939,`position_y`=1598.47,`position_z`=21.51131 WHERE `guid`=@CGUID+93;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9616.939,`position_y`=1598.47,`position_z`=21.51131 WHERE `guid`=@CGUID+94;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+93,@CGUID+94,@CGUID+114,@CGUID+115);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+93,@PATH,0,0,1,0, ''),(@CGUID+94,@PATH,0,0,1,0, ''),(@CGUID+114,@PATH,0,0,1,0, ''),(@CGUID+115,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9590.347,1600.979,21.51135,0,0,0,0,100,0),
+(@PATH,2,-9617.396,1634.867,21.51134,0,0,0,0,100,0),
+(@PATH,3,-9648.472,1660.417,21.77227,0,0,0,0,100,0),
+(@PATH,4,-9672.451,1659.046,21.51187,0,0,0,0,100,0),
+(@PATH,5,-9684.246,1618.948,22.01957,0,0,0,0,100,0),
+(@PATH,6,-9680.485,1588.97,21.73227,0,0,0,0,100,0),
+(@PATH,7,-9686.441,1561.453,21.56898,0,0,0,0,100,0),
+(@PATH,8,-9669.827,1543.189,21.56898,0,0,0,0,100,0),
+(@PATH,9,-9643.708,1556.367,21.51131,0,0,0,0,100,0),
+(@PATH,10,-9611.799,1561.207,21.63631,0,0,0,0,100,0),
+(@PATH,11,-9589.686,1574.344,21.64806,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+114,7,55,2,0,0),
+(@NPC,@CGUID+93,7,15,2,0,0),
+(@NPC,@CGUID+94,7,345,2,0,0),
+(@NPC,@CGUID+115,7,305,2,0,0);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+120;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9631.854,`position_y`=1575.044,`position_z`=21.51131 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9631.854,`position_y`=1575.044,`position_z`=21.51131 WHERE `guid`=@CGUID+118;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9631.854,`position_y`=1575.044,`position_z`=21.51131 WHERE `guid`=@CGUID+97;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9631.854,`position_y`=1575.044,`position_z`=21.51131 WHERE `guid`=@CGUID+99;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9631.854,`position_y`=1575.044,`position_z`=21.51131 WHERE `guid`=@CGUID+100;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+118,@CGUID+97,@CGUID+99,@CGUID+100);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+118,@PATH,0,0,1,0, ''),(@CGUID+97,@PATH,0,0,1,0, ''),(@CGUID+99,@PATH,0,0,1,0, ''),(@CGUID+100,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9631.854,1575.044,21.51131,0,0,0,0,100,0),
+(@PATH,2,-9665.344,1553.455,21.51131,0,0,0,0,100,0),
+(@PATH,3,-9690.092,1528.433,21.56898,0,0,0,0,100,0),
+(@PATH,4,-9697.1,1511.1,21.57094,0,0,0,0,100,0),
+(@PATH,5,-9716.545,1490.724,22.14614,0,0,0,0,100,0),
+(@PATH,6,-9737.131,1482.494,23.25845,0,0,0,0,100,0),
+(@PATH,7,-9716.545,1490.724,22.14614,0,0,0,0,100,0),
+(@PATH,8,-9697.1,1511.1,21.57094,0,0,0,0,100,0),
+(@PATH,9,-9690.092,1528.433,21.56898,0,0,0,0,100,0),
+(@PATH,10,-9665.344,1553.455,21.51131,0,0,0,0,100,0),
+(@PATH,11,-9631.854,1575.044,21.51131,0,0,0,0,100,0),
+(@PATH,12,-9613.673,1599.045,21.51131,0,0,0,0,100,0),
+(@PATH,13,-9592.846,1628.057,22.5028,0,0,0,0,100,0),
+(@PATH,14,-9613.673,1599.045,21.51131,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+118,7,55,2,6,13),
+(@NPC,@CGUID+97,7,15,2,6,13),
+(@NPC,@CGUID+99,7,345,2,6,13),
+(@NPC,@CGUID+100,7,305,2,6,13);
+
+-- Pathing for Hive'Zara Stinger Entry: 15327 'TDB FORMAT'
+SET @NPC := @CGUID+121;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9641.111,`position_y`=1606.591,`position_z`=21.51152 WHERE `guid`=@NPC;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9641.111,`position_y`=1606.591,`position_z`=21.51152 WHERE `guid`=@CGUID+122;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9641.111,`position_y`=1606.591,`position_z`=21.51152 WHERE `guid`=@CGUID+101;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9641.111,`position_y`=1606.591,`position_z`=21.51152 WHERE `guid`=@CGUID+102;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-9641.111,`position_y`=1606.591,`position_z`=21.51152 WHERE `guid`=@CGUID+103;
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@CGUID+122,@CGUID+101,@CGUID+102,@CGUID+103);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@CGUID+122,@PATH,0,0,1,0, ''),(@CGUID+101,@PATH,0,0,1,0, ''),(@CGUID+102,@PATH,0,0,1,0, ''),(@CGUID+103,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-9641.111,1606.591,21.51152,0,0,0,0,100,0),
+(@PATH,2,-9644.073,1631.978,21.73661,0,0,0,0,100,0),
+(@PATH,3,-9656.497,1670.769,21.86399,0,0,0,0,100,0),
+(@PATH,4,-9644.073,1631.978,21.73661,0,0,0,0,100,0),
+(@PATH,5,-9641.111,1606.591,21.51152,0,0,0,0,100,0),
+(@PATH,6,-9654.327,1587.958,21.51131,0,0,0,0,100,0),
+(@PATH,7,-9649.587,1562.207,21.51131,0,0,0,0,100,0),
+(@PATH,8,-9639.38,1544.195,21.51131,0,0,0,0,100,0),
+(@PATH,9,-9649.587,1562.207,21.51131,0,0,0,0,100,0),
+(@PATH,10,-9654.327,1587.958,21.51131,0,0,0,0,100,0);
+
+-- Vekniss Stinger formation
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@CGUID+122,7,55,2,3,8),
+(@NPC,@CGUID+101,7,15,2,3,8),
+(@NPC,@CGUID+102,7,345,2,3,8),
+(@NPC,@CGUID+103,7,305,2,3,8);
+
+UPDATE `creature` SET `phaseId`=169 WHERE `phaseId`=1;
+
diff --git a/sql/updates/world/2015_11_06_08_world_2015_10_16_00.sql b/sql/updates/world/2015_11_06_08_world_2015_10_16_00.sql
new file mode 100644
index 00000000000..8dd4beec595
--- /dev/null
+++ b/sql/updates/world/2015_11_06_08_world_2015_10_16_00.sql
@@ -0,0 +1,24 @@
+--
+UPDATE `creature` SET `spawndist`=0,`MovementType`=0 WHERE `guid` IN (87678,87679,87680,87681,87682,87683,87684,87690,87698,87702,87704,87705,87707,87710,87712,87714,87715,87716,87719,87721,87725,87728,87730,87731,87732,87733,87734,87738,87739,87740,87747,87749,87750,87751,87756,87762,87764,87765,87767,87769,87772,87774,87777,87778,87779,87791,87793,87794,87795,87797,87799,87800,87801,87802,87803,87807,87816,87818,87820,87822,87824,87826,87828,87829);
+INSERT INTO `creature_addon` (`guid`,`emote`) (SELECT `guid`, 28 FROM `creature` WHERE `id`=15300 AND `MovementType`=0);
+
+-- Fixing position of some AQ40 spawns
+DELETE FROM `creature` WHERE `guid` IN (87561,87562,87563,4458,87559,87560,88073,88076,88077,88072);
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(87561, 15378, 531, 1, 169, -8652.15, 2020.907, 108.6608, 4.014257, 7200, 0, 0), -- Merithra of the Dream
+(87562, 15379, 531, 1, 169, -8660.591, 2022.339, 108.6608, 4.031711, 7200, 0, 0), -- Caelestrasz
+(87563, 15380, 531, 1, 169, -8663.463, 2029.885, 108.6608, 4.310963, 7200, 0, 0), -- Arygos
+(4458, 15896, 531, 1, 169, -8578.104, 1986.944, 100.3037, 2.303835, 7200, 0, 0), -- C'Thun Portal
+(87559, 15727, 531, 1, 169, -8578.648, 1985.847, 100.3037, 3.490659, 7200, 0, 0), -- C'Thun
+(87560, 15589, 531, 1, 169, -8578.792, 1986.183, 100.3037, 3.508112, 7200, 0, 0), -- Eye of C'Thun
+(88073, 15957, 531, 1, 169, -9173.091, 2107.334, -65.08635 ,1.430085, 7200, 5, 1), -- Ouro should be Ouro Spawner
+(88076, 15275, 531, 1, 169, -9023.666, 1176.24, -104.226, 0.7679449, 7200, 0, 0), -- Emperor Vek'nilash
+(88077, 15276, 531, 1, 169, -8868.309, 1205.966, -104.2311, 2.70526, 7200, 0, 0), -- Emperor Vek'lor
+(88072, 15963, 531, 1, 169, -8953.297, 1233.641, -99.71796, 5.305801, 7200, 0, 0); -- The Master's Eye
+-- Ouro Spawner should spawn Ouro "BOSS" on aggro and despawn self.
+
+DELETE FROM `creature_template_addon` WHERE `entry` IN (15589,15957,15963);
+INSERT INTO `creature_template_addon` (`entry`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(15589,0,1,0, '18950'),(15957,0,1,0, '26092'),(15963,0,1,0, '18430');
+
+UPDATE `creature_template` SET `InhabitType`=7 WHERE `entry` IN (15963);
diff --git a/sql/updates/world/2015_11_06_09_world_2015_10_17_00.sql b/sql/updates/world/2015_11_06_09_world_2015_10_17_00.sql
new file mode 100644
index 00000000000..c519abb709c
--- /dev/null
+++ b/sql/updates/world/2015_11_06_09_world_2015_10_17_00.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `creature` SET `spawnMask`=15 WHERE `id`=37230;
diff --git a/sql/updates/world/2015_11_06_10_world_2015_10_17_02.sql b/sql/updates/world/2015_11_06_10_world_2015_10_17_02.sql
new file mode 100644
index 00000000000..3c39921bf60
--- /dev/null
+++ b/sql/updates/world/2015_11_06_10_world_2015_10_17_02.sql
@@ -0,0 +1,15 @@
+--
+UPDATE `creature` SET `position_x`=5832.238, `position_y`=564.013611, `position_z`=651.771301, `Orientation`=2.596493 WHERE `guid`=105661;
+UPDATE `creature_addon` SET `auras`=60191 WHERE `guid` IN (105661, 103039);
+DELETE FROM `creature_addon` WHERE `guid` IN (115295, 48251,48252,48253);
+INSERT INTO `creature_addon` (`guid`, `bytes1`, `bytes2`, `auras`) VALUES
+(115295,65536,1,60191),
+(48251,65536,1,60190),
+(48252,65536,1,60190),
+(48253,65536,1,60190);
+
+DELETE FROM `creature` WHERE `guid` IN (48251,48252,48253);
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `Orientation`, `spawntimesecs`) VALUES
+(48251, 31851, 571, 1, 169, 5832.240, 564.0139, 651.77099, 2.596490,300),
+(48252, 32335, 571, 1, 169, 5833.799, 567.3480, 651.92498, 2.460910,300),
+(48253, 32206, 571, 1, 169, 5836.709, 570.0759, 652.10797, 2.146750,300);
diff --git a/sql/updates/world/2015_11_06_11_world_2015_10_20_00.sql b/sql/updates/world/2015_11_06_11_world_2015_10_20_00.sql
new file mode 100644
index 00000000000..ed787f90f68
--- /dev/null
+++ b/sql/updates/world/2015_11_06_11_world_2015_10_20_00.sql
@@ -0,0 +1,12 @@
+-- Gryphoneer Leafbeard - Gossip
+DELETE FROM `gossip_menu_option` WHERE (`menu_id`=8100 AND `id`=0);
+INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `OptionBroadcastTextID`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`, `BoxBroadcastTextID`) VALUES
+(8100, 0, 0, 'Send me to Shatter Point!', 17935, 1, 1, 0, 0, 0, 0, NULL, 0);
+
+-- Gryphoneer Leafbeard SAI
+SET @ENTRY := 20236;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,1,62,0,100,0,8100,0,0,0,11,35066,2,0,0,0,0,7,0,0,0,0,0,0,0,"Gryphoneer Leafbeard - On Gossip Option 0 Selected - Cast 'Taxi - Hellfire Peninsula - Beach Head to Shatter Point'"),
+(@ENTRY,0,1,0,61,0,100,0,8100,0,0,0,72,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gryphoneer Leafbeard - On Gossip Option 0 Selected - Close Gossip");
diff --git a/sql/updates/world/2015_11_06_12_world_2015_10_20_01.sql b/sql/updates/world/2015_11_06_12_world_2015_10_20_01.sql
new file mode 100644
index 00000000000..f2d3e950a90
--- /dev/null
+++ b/sql/updates/world/2015_11_06_12_world_2015_10_20_01.sql
@@ -0,0 +1,5 @@
+-- Young Thistle Boar - Skinning Loot
+UPDATE `creature_template` SET `skinloot`=1984 WHERE `entry`=1984;
+DELETE FROM `skinning_loot_template` WHERE `Entry`=1984;
+INSERT INTO `skinning_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
+(1984, 2934, 0, 80, 0, 1, 1, 1, 1, NULL);
diff --git a/sql/updates/world/2015_11_06_13_world_2015_10_20_02.sql b/sql/updates/world/2015_11_06_13_world_2015_10_20_02.sql
new file mode 100644
index 00000000000..e2211a704ea
--- /dev/null
+++ b/sql/updates/world/2015_11_06_13_world_2015_10_20_02.sql
@@ -0,0 +1,2 @@
+-- Small Crag Boar - Skinning Loot
+UPDATE `creature_template` SET `skinloot`=0 WHERE `entry`=708;
diff --git a/sql/updates/world/2015_11_06_14_world_2015_10_20_03.sql b/sql/updates/world/2015_11_06_14_world_2015_10_20_03.sql
new file mode 100644
index 00000000000..23f7ba806c1
--- /dev/null
+++ b/sql/updates/world/2015_11_06_14_world_2015_10_20_03.sql
@@ -0,0 +1,6 @@
+-- Thistle Boar - Skinning Loot
+UPDATE `creature_template` SET `skinloot`=1985 WHERE `entry`=1985;
+DELETE FROM `skinning_loot_template` WHERE `Entry`=1985;
+INSERT INTO `skinning_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
+(1985, 2934, 0, 88, 0, 1, 1, 1, 1, NULL),
+(1985, 2318, 0, 10, 0, 1, 1, 1, 1, NULL);
diff --git a/sql/updates/world/2015_11_06_15_world_2015_10_21_00.sql b/sql/updates/world/2015_11_06_15_world_2015_10_21_00.sql
new file mode 100644
index 00000000000..d751a6e65bc
--- /dev/null
+++ b/sql/updates/world/2015_11_06_15_world_2015_10_21_00.sql
@@ -0,0 +1,265 @@
+-- Onyxia Add WPs
+SET @NPC := 52051;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-128.604,`position_y`=-135.78,`position_z`=-51.68033 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-128.604,-135.78,-51.68033,0,0,0,0,100,0),
+(@PATH,2,-127.7581,-135.2467,-51.68033,0,0,0,0,100,0),
+(@PATH,3,-124.1603,-132.1572,-51.38051,0,0,0,0,100,0),
+(@PATH,4,-117.3008,-126.2667,-49.287,0,0,0,0,100,0),
+(@PATH,5,-114.3034,-123.6929,-49.21809,0,0,0,0,100,0),
+(@PATH,6,-110.7887,-120.6747,-48.59732,0,0,0,0,100,0),
+(@PATH,7,-106.7952,-117.2454,-45.67963,0,0,0,0,100,0),
+(@PATH,8,-103.1414,-114.1078,-42.60856,0,0,0,0,100,0),
+(@PATH,9,-103.1414,-114.1078,-42.60856,0,0,0,0,100,0),
+(@PATH,10,-102.9662,-113.9184,-42.13044,0,0,0,0,100,0),
+(@PATH,11,-101.9662,-112.9184,-41.38044,0,0,0,0,100,0),
+(@PATH,12,-97.21623,-108.9184,-39.38044,0,0,0,0,100,0),
+(@PATH,13,-94.21623,-106.4184,-38.38044,0,0,0,0,100,0),
+(@PATH,14,-91.96623,-104.4184,-38.38044,0,0,0,0,100,0),
+(@PATH,15,-87.21623,-100.1684,-36.63044,0,0,0,0,100,0),
+(@PATH,16,-86.88522,-99.955,-36.61054,0,0,0,0,100,0),
+(@PATH,17,-86.13522,-99.705,-36.36054,0,0,0,0,100,0),
+(@PATH,18,-82.63522,-99.205,-35.61054,0,0,0,0,100,0),
+(@PATH,19,-80.88522,-99.205,-35.61054,0,0,0,0,100,0),
+(@PATH,20,-78.38522,-98.955,-35.11054,0,0,0,0,100,0),
+(@PATH,21,-73.38522,-98.455,-34.61054,0,0,0,0,100,0),
+(@PATH,22,-73.4659,-98.32379,-34.65569,0,0,0,0,100,0),
+(@PATH,23,-77.9659,-98.82379,-35.15569,0,0,0,0,100,0),
+(@PATH,24,-80.9659,-98.82379,-35.65569,0,0,0,0,100,0),
+(@PATH,25,-82.7159,-99.07379,-35.65569,0,0,0,0,100,0),
+(@PATH,26,-82.87637,-99.18207,-35.74073,0,0,0,0,100,0),
+(@PATH,27,-86.12637,-99.68207,-36.49073,0,0,0,0,100,0),
+(@PATH,28,-87.12637,-100.1821,-36.49073,0,0,0,0,100,0),
+(@PATH,29,-91.87637,-104.4321,-38.24073,0,0,0,0,100,0),
+(@PATH,30,-93.87637,-106.4321,-38.24073,0,0,0,0,100,0),
+(@PATH,31,-96.87637,-108.6821,-39.24073,0,0,0,0,100,0),
+(@PATH,32,-101.8764,-112.9321,-41.24073,0,0,0,0,100,0),
+(@PATH,33,-102.2544,-113.366,-41.50324,0,0,0,0,100,0),
+(@PATH,34,-103.2544,-114.116,-42.50324,0,0,0,0,100,0),
+(@PATH,35,-106.7544,-117.366,-45.50324,0,0,0,0,100,0),
+(@PATH,36,-110.7544,-120.616,-48.25324,0,0,0,0,100,0),
+(@PATH,37,-114.2544,-123.616,-48.75324,0,0,0,0,100,0),
+(@PATH,38,-117.0044,-126.116,-48.75324,0,0,0,0,100,0),
+(@PATH,39,-123.5044,-131.616,-50.75324,0,0,0,0,100,0),
+(@PATH,40,-127.0044,-134.616,-51.00324,0,0,0,0,100,0),
+(@PATH,41,-127.2775,-134.812,-51.39043,0,0,0,0,100,0),
+(@PATH,42,-127.7775,-135.312,-51.39043,0,0,0,0,100,0),
+(@PATH,43,-129.0275,-136.062,-51.89043,0,0,0,0,100,0),
+(@PATH,44,-135.7775,-140.312,-52.64043,0,0,0,0,100,0),
+(@PATH,45,-136.7775,-141.062,-52.89043,0,0,0,0,100,0),
+(@PATH,46,-144.7775,-145.812,-53.89043,0,0,0,0,100,0),
+(@PATH,47,-147.2775,-147.562,-53.14043,0,0,0,0,100,0),
+(@PATH,48,-147.5882,-147.6326,-53.39889,0,0,0,0,100,0),
+(@PATH,49,-148.3382,-148.3826,-53.14889,0,0,0,0,100,0),
+(@PATH,50,-150.5882,-150.6326,-53.14889,0,0,0,0,100,0),
+(@PATH,51,-151.3382,-151.6326,-53.64889,0,0,0,0,100,0),
+(@PATH,52,-156.5882,-157.6326,-56.39889,0,0,0,0,100,0),
+(@PATH,53,-158.0882,-159.1326,-57.14889,0,0,0,0,100,0),
+(@PATH,54,-162.8382,-164.6326,-58.64889,0,0,0,0,100,0),
+(@PATH,55,-163.5882,-165.3826,-59.64889,0,0,0,0,100,0),
+(@PATH,56,-166.3382,-168.3826,-61.14889,0,0,0,0,100,0),
+(@PATH,57,-166.5622,-168.6543,-61.35694,0,0,0,0,100,0),
+(@PATH,58,-163.5622,-165.4043,-59.60694,0,0,0,0,100,0),
+(@PATH,59,-162.8122,-164.6543,-58.85694,0,0,0,0,100,0),
+(@PATH,60,-158.3122,-159.4043,-57.10694,0,0,0,0,100,0),
+(@PATH,61,-156.8122,-157.6543,-56.35694,0,0,0,0,100,0),
+(@PATH,62,-151.8122,-152.1543,-54.10694,0,0,0,0,100,0),
+(@PATH,63,-150.5622,-150.6543,-53.10694,0,0,0,0,100,0),
+(@PATH,64,-148.4862,-148.2634,-52.81345,0,0,0,0,100,0),
+(@PATH,65,-147.2362,-147.5134,-53.06345,0,0,0,0,100,0),
+(@PATH,66,-144.7362,-146.0134,-53.81345,0,0,0,0,100,0),
+(@PATH,67,-136.9862,-141.0134,-52.81345,0,0,0,0,100,0),
+(@PATH,68,-135.9862,-140.2634,-52.56345,0,0,0,0,100,0),
+(@PATH,69,-129.7362,-136.5134,-52.06345,0,0,0,0,100,0),
+(@PATH,70,-129.596,-136.2151,-51.79766,0,0,0,0,100,0);
+
+SET @NPC := 52049;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-141.0218,`position_y`=-144.2874,`position_z`=-53.78587 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-141.0218,-144.2874,-53.78587,0,0,0,0,100,0),
+(@PATH,2,-140.2045,-143.7111,-53.78587,0,0,0,0,100,0),
+(@PATH,3,-136.8762,-141.0416,-53.2686,0,0,0,0,100,0),
+(@PATH,4,-135.8708,-140.2352,-53.07284,0,0,0,0,100,0),
+(@PATH,5,-130.4393,-135.8787,-52.2235,0,0,0,0,100,0),
+(@PATH,6,-128.077,-133.984,-51.39751,0,0,0,0,100,0),
+(@PATH,7,-126.1452,-132.4346,-51.30407,0,0,0,0,100,0),
+(@PATH,8,-126.1452,-132.4346,-51.30407,0,0,0,0,100,0),
+(@PATH,9,-127.6748,-133.5728,-51.29497,0,0,0,0,100,0),
+(@PATH,10,-130.4248,-135.8228,-52.04497,0,0,0,0,100,0),
+(@PATH,11,-135.6748,-140.0728,-52.54497,0,0,0,0,100,0),
+(@PATH,12,-136.6748,-140.8228,-52.79497,0,0,0,0,100,0),
+(@PATH,13,-140.2209,-143.5945,-53.65104,0,0,0,0,100,0),
+(@PATH,14,-144.7209,-146.8445,-54.15104,0,0,0,0,100,0),
+(@PATH,15,-147.2209,-148.5945,-53.40104,0,0,0,0,100,0),
+(@PATH,16,-150.2209,-150.5945,-53.15104,0,0,0,0,100,0),
+(@PATH,17,-150.9709,-151.3445,-53.65104,0,0,0,0,100,0),
+(@PATH,18,-152.2209,-152.0945,-54.15104,0,0,0,0,100,0),
+(@PATH,19,-157.7209,-155.8445,-56.40104,0,0,0,0,100,0),
+(@PATH,20,-160.7863,-158.1388,-57.63475,0,0,0,0,100,0),
+(@PATH,21,-162.7863,-162.1388,-58.63475,0,0,0,0,100,0),
+(@PATH,22,-163.7863,-163.8888,-59.13475,0,0,0,0,100,0),
+(@PATH,23,-166.0363,-168.6388,-61.13475,0,0,0,0,100,0),
+(@PATH,24,-168.5363,-173.3888,-62.88475,0,0,0,0,100,0),
+(@PATH,25,-170.4057,-176.7284,-64.06725,0,0,0,0,100,0),
+(@PATH,26,-170.6557,-177.9784,-64.31725,0,0,0,0,100,0),
+(@PATH,27,-171.1557,-178.9784,-64.81725,0,0,0,0,100,0),
+(@PATH,28,-172.6557,-184.2284,-65.56725,0,0,0,0,100,0),
+(@PATH,29,-175.3081,-192.9928,-66.43716,0,0,0,0,100,0),
+(@PATH,30,-171.8081,-197.2428,-66.43716,0,0,0,0,100,0),
+(@PATH,31,-168.8081,-201.2428,-66.18716,0,0,0,0,100,0),
+(@PATH,32,-165.1812,-205.6809,-66.07635,0,0,0,0,100,0),
+(@PATH,33,-160.4312,-207.9309,-66.07635,0,0,0,0,100,0),
+(@PATH,34,-154.1812,-210.9309,-66.32635,0,0,0,0,100,0),
+(@PATH,35,-154.1465,-210.945,-66.31016,0,0,0,0,100,0),
+(@PATH,36,-160.3965,-207.945,-66.06016,0,0,0,0,100,0),
+(@PATH,37,-165.1298,-205.5847,-66.08299,0,0,0,0,100,0),
+(@PATH,38,-168.6298,-201.3347,-66.33299,0,0,0,0,100,0),
+(@PATH,39,-171.8798,-197.3347,-66.58299,0,0,0,0,100,0),
+(@PATH,40,-174.8798,-193.8347,-66.58299,0,0,0,0,100,0),
+(@PATH,41,-174.8037,-193.4657,-66.47095,0,0,0,0,100,0),
+(@PATH,42,-175.3037,-192.7157,-66.47095,0,0,0,0,100,0),
+(@PATH,43,-172.5537,-184.4657,-65.47095,0,0,0,0,100,0),
+(@PATH,44,-171.0537,-179.2157,-64.97095,0,0,0,0,100,0),
+(@PATH,45,-170.8037,-177.9657,-64.22095,0,0,0,0,100,0),
+(@PATH,46,-170.8405,-178.8178,-64.7157,0,0,0,0,100,0),
+(@PATH,47,-170.5905,-177.8178,-63.9657,0,0,0,0,100,0),
+(@PATH,48,-170.0905,-176.5678,-63.7157,0,0,0,0,100,0),
+(@PATH,49,-168.3405,-173.3178,-62.9657,0,0,0,0,100,0),
+(@PATH,50,-166.3405,-169.0678,-61.4657,0,0,0,0,100,0),
+(@PATH,51,-164.0905,-164.5678,-59.7157,0,0,0,0,100,0),
+(@PATH,52,-162.8405,-162.0678,-58.7157,0,0,0,0,100,0),
+(@PATH,53,-160.623,-157.9054,-57.24116,0,0,0,0,100,0),
+(@PATH,54,-157.623,-155.9054,-56.24116,0,0,0,0,100,0),
+(@PATH,55,-152.123,-152.4054,-54.24116,0,0,0,0,100,0),
+(@PATH,56,-151.373,-151.6554,-53.49116,0,0,0,0,100,0),
+(@PATH,57,-150.373,-150.9054,-53.24116,0,0,0,0,100,0),
+(@PATH,58,-147.373,-148.9054,-53.24116,0,0,0,0,100,0),
+(@PATH,59,-144.623,-146.9054,-54.24116,0,0,0,0,100,0);
+
+SET @NPC := 52048;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-117.2994,`position_y`=-214.0461,`position_z`=-72.49876 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-117.2994,-214.0461,-72.49876,0,0,0,0,100,0),
+(@PATH,2,-121.5494,-213.7961,-71.24876,0,0,0,0,100,0),
+(@PATH,3,-125.0494,-213.5461,-71.24876,0,0,0,0,100,0),
+(@PATH,4,-138.0494,-212.5461,-69.49876,0,0,0,0,100,0),
+(@PATH,5,-141.0494,-212.2961,-68.49876,0,0,0,0,100,0),
+(@PATH,6,-144.2994,-212.0461,-68.49876,0,0,0,0,100,0),
+(@PATH,7,-146.5494,-211.7961,-68.24876,0,0,0,0,100,0),
+(@PATH,8,-153.7994,-211.2961,-66.49876,0,0,0,0,100,0),
+(@PATH,9,-160.8753,-210.4289,-66.45905,0,0,0,0,100,0),
+(@PATH,10,-162.8753,-208.4289,-66.20905,0,0,0,0,100,0),
+(@PATH,11,-165.3753,-205.9289,-66.20905,0,0,0,0,100,0),
+(@PATH,12,-169.3753,-201.6789,-66.20905,0,0,0,0,100,0),
+(@PATH,13,-175.155,-195.7021,-66.3976,0,0,0,0,100,0),
+(@PATH,14,-174.155,-193.2021,-66.3976,0,0,0,0,100,0),
+(@PATH,15,-170.655,-182.9521,-65.3976,0,0,0,0,100,0),
+(@PATH,16,-169.405,-179.2021,-64.6476,0,0,0,0,100,0),
+(@PATH,17,-168.905,-177.7021,-63.8976,0,0,0,0,100,0),
+(@PATH,18,-167.655,-173.9521,-63.1476,0,0,0,0,100,0),
+(@PATH,19,-165.9926,-169.4054,-61.62289,0,0,0,0,100,0),
+(@PATH,20,-163.2426,-166.4054,-59.87289,0,0,0,0,100,0),
+(@PATH,21,-162.2426,-165.4054,-58.62289,0,0,0,0,100,0),
+(@PATH,22,-156.4926,-158.6554,-56.37289,0,0,0,0,100,0),
+(@PATH,23,-152.4926,-153.9054,-54.37289,0,0,0,0,100,0),
+(@PATH,24,-152.2406,-153.7879,-54.28136,0,0,0,0,100,0),
+(@PATH,25,-150.4906,-152.0379,-53.28136,0,0,0,0,100,0),
+(@PATH,26,-147.9906,-150.0379,-53.28136,0,0,0,0,100,0),
+(@PATH,27,-146.7406,-149.0379,-53.28136,0,0,0,0,100,0),
+(@PATH,28,-144.2406,-147.0379,-54.03136,0,0,0,0,100,0),
+(@PATH,29,-136.7406,-141.2879,-52.78136,0,0,0,0,100,0),
+(@PATH,30,-129.9906,-136.2879,-52.03136,0,0,0,0,100,0),
+(@PATH,31,-127.4906,-134.5379,-51.28136,0,0,0,0,100,0),
+(@PATH,32,-124.2406,-131.7879,-51.28136,0,0,0,0,100,0),
+(@PATH,33,-121.0758,-129.5125,-50.05389,0,0,0,0,100,0),
+(@PATH,34,-116.8258,-126.2625,-48.80389,0,0,0,0,100,0),
+(@PATH,35,-113.8258,-123.7625,-48.80389,0,0,0,0,100,0),
+(@PATH,36,-110.5758,-121.0125,-48.30389,0,0,0,0,100,0),
+(@PATH,37,-106.3258,-117.7625,-45.55389,0,0,0,0,100,0),
+(@PATH,38,-101.5758,-114.0125,-41.55389,0,0,0,0,100,0),
+(@PATH,39,-98.82584,-111.7625,-40.30389,0,0,0,0,100,0),
+(@PATH,40,-97.149,-110.4035,-39.23767,0,0,0,0,100,0),
+(@PATH,41,-95.899,-109.6535,-38.73767,0,0,0,0,100,0),
+(@PATH,42,-95.149,-109.1535,-38.48767,0,0,0,0,100,0),
+(@PATH,43,-92.399,-107.6535,-37.73767,0,0,0,0,100,0),
+(@PATH,44,-89.649,-105.9035,-37.73767,0,0,0,0,100,0),
+(@PATH,45,-84.649,-103.1535,-36.23767,0,0,0,0,100,0),
+(@PATH,46,-82.649,-101.9035,-35.73767,0,0,0,0,100,0),
+(@PATH,47,-78.149,-99.15355,-35.23767,0,0,0,0,100,0),
+(@PATH,48,-77.96553,-98.93108,-35.05116,0,0,0,0,100,0),
+(@PATH,49,-75.21553,-97.68108,-34.80116,0,0,0,0,100,0),
+(@PATH,50,-73.21553,-97.68108,-34.80116,0,0,0,0,100,0),
+(@PATH,51,-68.21553,-97.68108,-37.05116,0,0,0,0,100,0),
+(@PATH,52,-63.21553,-97.68108,-38.55116,0,0,0,0,100,0),
+(@PATH,53,-57.46553,-97.68108,-38.30116,0,0,0,0,100,0),
+(@PATH,54,-57.42111,-98.24262,-38.41855,0,0,0,0,100,0),
+(@PATH,55,-63.42111,-98.49262,-38.41855,0,0,0,0,100,0),
+(@PATH,56,-68.17111,-98.49262,-36.91855,0,0,0,0,100,0),
+(@PATH,57,-73.17111,-98.74262,-34.66855,0,0,0,0,100,0),
+(@PATH,58,-73.4623,-98.88531,-34.77631,0,0,0,0,100,0),
+(@PATH,59,-76.2123,-99.13531,-35.02631,0,0,0,0,100,0),
+(@PATH,60,-78.2123,-99.88531,-35.02631,0,0,0,0,100,0),
+(@PATH,61,-82.7123,-101.3853,-35.77631,0,0,0,0,100,0),
+(@PATH,62,-85.2123,-101.8853,-36.27631,0,0,0,0,100,0),
+(@PATH,63,-91.4623,-104.1353,-38.02631,0,0,0,0,100,0),
+(@PATH,64,-91.69406,-104.2236,-38.36034,0,0,0,0,100,0),
+(@PATH,65,-93.44406,-104.7236,-38.11034,0,0,0,0,100,0),
+(@PATH,66,-94.69406,-105.7236,-38.11034,0,0,0,0,100,0),
+(@PATH,67,-97.69406,-108.4736,-39.11034,0,0,0,0,100,0),
+(@PATH,68,-98.69406,-109.4736,-39.86034,0,0,0,0,100,0),
+(@PATH,69,-102.4441,-112.4736,-41.61034,0,0,0,0,100,0),
+(@PATH,70,-106.9441,-116.4736,-45.36034,0,0,0,0,100,0),
+(@PATH,71,-111.2919,-119.9628,-48.522,0,0,0,0,100,0),
+(@PATH,72,-114.7919,-123.2128,-49.022,0,0,0,0,100,0),
+(@PATH,73,-117.5419,-125.9628,-49.022,0,0,0,0,100,0),
+(@PATH,74,-123.5419,-131.4628,-51.022,0,0,0,0,100,0),
+(@PATH,75,-126.7919,-134.7128,-51.022,0,0,0,0,100,0),
+(@PATH,76,-129.2919,-136.7128,-51.772,0,0,0,0,100,0),
+(@PATH,77,-133.0963,-140.5668,-52.85578,0,0,0,0,100,0),
+(@PATH,78,-135.5963,-142.3168,-53.10578,0,0,0,0,100,0),
+(@PATH,79,-143.5963,-147.5668,-54.35578,0,0,0,0,100,0),
+(@PATH,80,-146.3463,-149.3168,-53.35578,0,0,0,0,100,0),
+(@PATH,81,-149.5963,-151.5668,-53.35578,0,0,0,0,100,0),
+(@PATH,82,-151.0963,-152.5668,-53.85578,0,0,0,0,100,0),
+(@PATH,83,-156.1434,-156.1172,-55.97437,0,0,0,0,100,0),
+(@PATH,84,-156.8934,-157.3672,-56.47437,0,0,0,0,100,0),
+(@PATH,85,-159.1434,-159.8672,-57.47437,0,0,0,0,100,0),
+(@PATH,86,-162.8934,-164.8672,-58.97437,0,0,0,0,100,0),
+(@PATH,87,-163.3934,-165.6172,-59.72437,0,0,0,0,100,0),
+(@PATH,88,-165.8934,-168.6172,-61.22437,0,0,0,0,100,0),
+(@PATH,89,-169.1434,-172.8672,-62.72437,0,0,0,0,100,0),
+(@PATH,90,-169.4215,-173.0583,-63.12639,0,0,0,0,100,0),
+(@PATH,91,-170.6715,-175.0583,-63.62639,0,0,0,0,100,0),
+(@PATH,92,-170.9215,-178.0583,-64.37639,0,0,0,0,100,0),
+(@PATH,93,-170.9215,-179.0583,-64.87639,0,0,0,0,100,0),
+(@PATH,94,-170.9215,-183.3083,-65.37639,0,0,0,0,100,0),
+(@PATH,95,-171.4215,-191.8083,-66.12639,0,0,0,0,100,0),
+(@PATH,96,-171.6715,-197.3083,-66.12639,0,0,0,0,100,0),
+(@PATH,97,-171.9399,-201.3128,-66.46771,0,0,0,0,100,0),
+(@PATH,98,-170.4399,-202.0628,-66.21771,0,0,0,0,100,0),
+(@PATH,99,-165.1899,-205.0628,-66.21771,0,0,0,0,100,0),
+(@PATH,100,-160.1899,-207.5628,-66.21771,0,0,0,0,100,0),
+(@PATH,101,-154.1899,-211.0628,-66.46771,0,0,0,0,100,0),
+(@PATH,102,-153.828,-211.3276,-66.49379,0,0,0,0,100,0),
+(@PATH,103,-153.078,-211.8276,-66.74379,0,0,0,0,100,0),
+(@PATH,104,-145.828,-212.8276,-68.49379,0,0,0,0,100,0),
+(@PATH,105,-141.578,-213.0776,-68.74379,0,0,0,0,100,0),
+(@PATH,106,-138.828,-213.5776,-69.24379,0,0,0,0,100,0),
+(@PATH,107,-131.328,-214.5776,-70.24379,0,0,0,0,100,0),
+(@PATH,108,-131.1989,-214.7451,-70.56252,0,0,0,0,100,0),
+(@PATH,109,-129.4489,-214.7451,-70.81252,0,0,0,0,100,0),
+(@PATH,110,-124.6989,-214.7451,-71.56252,0,0,0,0,100,0),
+(@PATH,111,-121.6989,-214.7451,-71.56252,0,0,0,0,100,0),
+(@PATH,112,-117.6989,-214.7451,-72.31252,0,0,0,0,100,0);
diff --git a/sql/updates/world/2015_11_06_16_world_2015_10_21_01.sql b/sql/updates/world/2015_11_06_16_world_2015_10_21_01.sql
new file mode 100644
index 00000000000..dd5e289d2c5
--- /dev/null
+++ b/sql/updates/world/2015_11_06_16_world_2015_10_21_01.sql
@@ -0,0 +1,11 @@
+--
+-- Grethok the Controller SAI
+SET @ENTRY := 12557;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=4;
+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,4,0,6,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grethok the Controller - On Just Died - Say Line 0");
+
+DELETE FROM `creature_text` WHERE `entry`=12557;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `comment`) VALUES
+(12557, 0, 0, 'Intruders have breached the hatchery! Sound the alarm! Protect the eggs at all costs!', 14, 0, 100, 0, 0, 0, 9958, 'Grethok the Controller');
diff --git a/sql/updates/world/2015_11_06_17_world_2015_10_22_00.sql b/sql/updates/world/2015_11_06_17_world_2015_10_22_00.sql
new file mode 100644
index 00000000000..8075c4e1b20
--- /dev/null
+++ b/sql/updates/world/2015_11_06_17_world_2015_10_22_00.sql
@@ -0,0 +1,14 @@
+--
+-- Orbaz Bloodbane (NPC 28914) condition for gossip option 9769 to be visible only for quest 12757, Scarlet Armies Approach...
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9769 AND `ConditionValue1`=39654;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(15,9769,0,0,0,2,0,39654,1,0,0,0,0,'','Orbaz Bloodbane - Show gossip option only if player has received item 39654, The Path of Redemption, from quest 12757');
+
+-- Orbaz Bloodbane SAI
+SET @ENTRY := 28914;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,19,0,100,0,12757,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Orbaz Bloodbane - On Quest 'Scarlet Armies Approach' Taken - Run Script"),
+(@ENTRY,0,1,2,62,0,100,0,9769,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Orbaz Bloodbane - On Gossip Option 0 Selected - Close Gossip"),
+(@ENTRY,0,2,0,61,0,100,0,9769,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Orbaz Bloodbane - On Gossip Option 0 Selected - Run Script");
diff --git a/sql/updates/world/2015_11_06_18_world_2015_10_22_01.sql b/sql/updates/world/2015_11_06_18_world_2015_10_22_01.sql
new file mode 100644
index 00000000000..ee7db3024ae
--- /dev/null
+++ b/sql/updates/world/2015_11_06_18_world_2015_10_22_01.sql
@@ -0,0 +1,1006 @@
+-- Pathing for Monstrous Underbelly Rat Entry: 32466 'TDB FORMAT'
+SET @NPC := 115709;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=5838.242,`position_y`=727.3474,`position_z`=618.8483 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,5838.242,727.3474,618.8483,0,58000,0,0,100,0), -- 17:24:07
+(@PATH,2,5838.957,727.3331,618.8483,0,0,0,0,100,0), -- 17:25:05
+(@PATH,3,5830.747,726.1935,618.8483,0,0,0,0,100,0), -- 17:25:09
+(@PATH,4,5824.448,723.9514,618.8483,0,20000,0,0,100,0), -- 17:25:11
+(@PATH,5,5824.13,723.7587,618.8483,0,0,0,0,100,0), -- 17:25:31
+(@PATH,6,5831.308,726.0686,618.8483,0,0,0,0,100,0); -- 17:25:33
+
+-- Pathing for Underbelly Rat Entry: 32428 'TDB FORMAT'
+SET @NPC := 112319;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=5860.327,`position_y`=704.5416,`position_z`=609.4075 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,5860.327,704.5416,609.4075,0,0,1,0,100,0), -- 17:41:04
+(@PATH,2,5848.26,705.7133,609.4075,0,0,1,0,100,0), -- 17:41:05
+(@PATH,3,5846.842,704.8635,609.5217,0,0,1,0,100,0), -- 17:41:07
+(@PATH,4,5836.342,691.6135,609.5217,0,0,1,0,100,0), -- 17:41:07
+(@PATH,5,5835.342,690.3635,610.0217,0,0,1,0,100,0), -- 17:41:07
+(@PATH,6,5833.592,688.1135,610.0217,0,0,1,0,100,0), -- 17:41:07
+(@PATH,7,5832.342,686.1135,610.0217,0,0,1,0,100,0), -- 17:41:07
+(@PATH,8,5831.625,685.5962,610.1531,0,0,1,0,100,0), -- 17:41:12
+(@PATH,9,5821.625,681.8462,610.1531,0,0,1,0,100,0), -- 17:41:12
+(@PATH,10,5817.857,678.2463,610.1359,0,0,1,0,100,0), -- 17:41:15
+(@PATH,11,5816.357,672.2463,610.1359,0,0,1,0,100,0), -- 17:41:15
+(@PATH,12,5815.969,667.8105,610.1359,0,0,1,0,100,0), -- 17:41:17
+(@PATH,13,5815.969,666.0605,610.1359,0,0,1,0,100,0), -- 17:41:17
+(@PATH,14,5815.719,663.5605,609.6359,0,0,1,0,100,0), -- 17:41:17
+(@PATH,15,5815.719,655.0605,609.6359,0,0,1,0,100,0), -- 17:41:17
+(@PATH,16,5815.719,653.8105,609.8859,0,0,1,0,100,0), -- 17:41:17
+(@PATH,17,5815.234,650.0985,610.0259,0,0,1,0,100,0), -- 17:41:21
+(@PATH,18,5813.234,651.0985,610.0259,0,0,1,0,100,0), -- 17:41:21
+(@PATH,19,5806.553,653.642,610.1359,0,0,1,0,100,0), -- 17:41:23
+(@PATH,20,5797.906,650.6086,610.1359,0,0,1,0,100,0), -- 17:41:24
+(@PATH,21,5793.906,647.1086,610.1359,0,0,1,0,100,0), -- 17:41:24
+(@PATH,22,5791.656,644.8586,610.1359,0,0,1,0,100,0), -- 17:41:24
+(@PATH,23,5790.859,644.0999,610.1359,0,0,1,0,100,0), -- 17:41:27
+(@PATH,24,5790.109,642.5999,610.1359,0,0,1,0,100,0), -- 17:41:27
+(@PATH,25,5787.335,632.4458,609.5217,0,0,1,0,100,0), -- 17:41:29
+(@PATH,26,5786.012,626.2661,609.6223,0,0,1,0,100,0), -- 17:41:30
+(@PATH,27,5785.262,623.5161,609.6223,0,0,1,0,100,0), -- 17:41:30
+(@PATH,28,5785.012,622.0161,610.1223,0,0,1,0,100,0), -- 17:41:30
+(@PATH,29,5784.012,618.7661,610.1223,0,0,1,0,100,0), -- 17:41:30
+(@PATH,30,5766.996,613.3734,610.1359,0,0,1,0,100,0), -- 17:41:37
+(@PATH,31,5764.289,614.7873,610.1359,0,0,1,0,100,0), -- 17:41:41
+(@PATH,32,5761.711,609.0067,610.1359,0,0,1,0,100,0), -- 17:41:43
+(@PATH,33,5762.814,602.2861,610.1359,0,0,1,0,100,0), -- 17:41:44
+(@PATH,34,5769.666,596.1545,610.1359,0,0,1,0,100,0), -- 17:41:47
+(@PATH,35,5779.668,590.0027,610.0217,0,0,1,0,100,0), -- 17:41:48
+(@PATH,36,5780.418,588.7527,609.5217,0,0,1,0,100,0), -- 17:41:48
+(@PATH,37,5782.172,585.9805,609.6359,0,0,1,0,100,0), -- 17:41:50
+(@PATH,38,5784.172,588.9805,609.6359,0,0,1,0,100,0), -- 17:41:50
+(@PATH,39,5784.672,589.7305,609.6359,0,0,1,0,100,0), -- 17:41:50
+(@PATH,40,5786.422,592.7305,610.1359,0,0,1,0,100,0), -- 17:41:50
+(@PATH,41,5788.172,595.2305,610.1359,0,0,1,0,100,0), -- 17:41:50
+(@PATH,42,5789.422,597.2305,610.1359,0,0,1,0,100,0), -- 17:41:50
+(@PATH,43,5791.422,599.9805,610.1359,0,0,1,0,100,0), -- 17:41:50
+(@PATH,44,5792.814,602.571,610.0217,0,0,1,0,100,0), -- 17:41:54
+(@PATH,45,5793.564,605.321,610.0217,0,0,1,0,100,0), -- 17:41:54
+(@PATH,46,5794.814,608.821,610.0217,0,0,1,0,100,0), -- 17:41:54
+(@PATH,47,5795.814,612.571,609.5217,0,0,1,0,100,0), -- 17:41:54
+(@PATH,48,5796.314,614.821,609.5217,0,0,1,0,100,0), -- 17:41:54
+(@PATH,49,5797.296,616.8961,609.5619,0,0,1,0,100,0), -- 17:41:58
+(@PATH,50,5800.046,619.1461,609.5619,0,0,1,0,100,0), -- 17:41:58
+(@PATH,51,5802.796,621.1461,609.5619,0,0,1,0,100,0), -- 17:41:58
+(@PATH,52,5804.796,622.6461,610.0619,0,0,1,0,100,0), -- 17:41:58
+(@PATH,53,5807.046,624.6461,610.0619,0,0,1,0,100,0), -- 17:41:58
+(@PATH,54,5809.546,626.3961,610.0619,0,0,1,0,100,0), -- 17:41:58
+(@PATH,55,5813.885,631.6583,610.1359,0,0,1,0,100,0), -- 17:42:02
+(@PATH,56,5814.885,632.6583,610.1359,0,0,1,0,100,0), -- 17:42:02
+(@PATH,57,5816.79,635.3191,610.0217,0,0,1,0,100,0), -- 17:42:03
+(@PATH,58,5818.29,638.0691,610.0217,0,0,1,0,100,0), -- 17:42:03
+(@PATH,59,5821.54,644.0691,610.0217,0,0,1,0,100,0), -- 17:42:03
+(@PATH,60,5822.54,646.3191,609.5217,0,0,1,0,100,0), -- 17:42:03
+(@PATH,61,5823.54,648.3191,609.5217,0,0,1,0,100,0), -- 17:42:03
+(@PATH,62,5823.962,648.8779,609.6245,0,0,1,0,100,0), -- 17:42:06
+(@PATH,63,5827.962,654.3779,609.6245,0,0,1,0,100,0), -- 17:42:06
+(@PATH,64,5828.962,655.6279,610.1245,0,0,1,0,100,0), -- 17:42:06
+(@PATH,65,5835.354,659.7132,610.0316,0,0,1,0,100,0), -- 17:42:09
+(@PATH,66,5829.279,655.8999,610.0217,0,0,1,0,100,0), -- 17:42:12
+(@PATH,67,5828.279,654.3999,609.5217,0,0,1,0,100,0), -- 17:42:12
+(@PATH,68,5816.525,665.3367,610.0217,0,0,1,0,100,0), -- 17:42:12
+(@PATH,69,5815.275,664.3367,609.5217,0,0,1,0,100,0), -- 17:42:12
+(@PATH,70,5821.443,644.0874,610.0221,0,0,1,0,100,0), -- 17:42:15
+(@PATH,71,5818.443,638.0874,610.0221,0,0,1,0,100,0), -- 17:42:15
+(@PATH,72,5814.938,632.898,610.1369,0,0,1,0,100,0), -- 17:42:17
+(@PATH,73,5814.188,631.898,610.1369,0,0,1,0,100,0), -- 17:42:17
+(@PATH,74,5807.222,624.6782,610.0217,0,0,1,0,100,0), -- 17:42:20
+(@PATH,75,5804.972,622.9282,610.0217,0,0,1,0,100,0), -- 17:42:20
+(@PATH,76,5802.972,621.4282,609.5217,0,0,1,0,100,0), -- 17:42:20
+(@PATH,77,5800.222,619.1782,609.5217,0,0,1,0,100,0), -- 17:42:20
+(@PATH,78,5797.37,616.6953,609.5106,0,0,1,0,100,0), -- 17:42:22
+(@PATH,79,5796.62,614.6953,609.5106,0,0,1,0,100,0), -- 17:42:22
+(@PATH,80,5796.37,613.4453,609.5106,0,0,1,0,100,0), -- 17:42:22
+(@PATH,81,5794.87,609.1953,610.0106,0,0,1,0,100,0), -- 17:42:22
+(@PATH,82,5793.87,605.1953,610.0106,0,0,1,0,100,0), -- 17:42:22
+(@PATH,83,5791.352,600.0093,610.0248,0,0,1,0,100,0), -- 17:42:26
+(@PATH,84,5789.602,597.2593,610.0248,0,0,1,0,100,0), -- 17:42:26
+(@PATH,85,5788.102,595.2593,610.0248,0,0,1,0,100,0), -- 17:42:26
+(@PATH,86,5786.602,592.7593,610.0248,0,0,1,0,100,0), -- 17:42:26
+(@PATH,87,5784.602,589.7593,609.5248,0,0,1,0,100,0), -- 17:42:26
+(@PATH,88,5784.102,589.0093,609.5248,0,0,1,0,100,0), -- 17:42:26
+(@PATH,89,5781.995,586.1212,609.5032,0,0,1,0,100,0), -- 17:42:30
+(@PATH,90,5780.495,588.8712,609.5032,0,0,1,0,100,0), -- 17:42:30
+(@PATH,91,5779.745,590.1212,610.0032,0,0,1,0,100,0), -- 17:42:30
+(@PATH,92,5777.245,594.3712,610.0032,0,0,1,0,100,0), -- 17:42:30
+(@PATH,93,5769.974,595.9542,610.1404,0,0,1,0,100,0), -- 17:42:32
+(@PATH,94,5768.724,595.7042,610.1404,0,0,1,0,100,0), -- 17:42:32
+(@PATH,95,5767.407,595.5968,610.1359,0,0,1,0,100,0), -- 17:42:35
+(@PATH,96,5763.157,601.5968,610.1359,0,0,1,0,100,0), -- 17:42:35
+(@PATH,97,5762.924,602.3074,610.1359,0,0,1,0,100,0), -- 17:42:36
+(@PATH,98,5763.78,614.1101,610.1359,0,0,1,0,100,0), -- 17:42:37
+(@PATH,99,5764.873,615.9689,610.1359,0,0,1,0,100,0), -- 17:42:38
+(@PATH,100,5766.873,613.2189,610.1359,0,0,1,0,100,0), -- 17:42:38
+(@PATH,101,5784.897,621.7813,610.0217,0,0,1,0,100,0), -- 17:42:43
+(@PATH,102,5785.397,623.5313,609.5217,0,0,1,0,100,0), -- 17:42:43
+(@PATH,103,5786.147,626.2813,609.5217,0,0,1,0,100,0), -- 17:42:43
+(@PATH,104,5786.897,629.0313,609.5217,0,0,1,0,100,0), -- 17:42:43
+(@PATH,105,5786.155,626.5582,609.6359,0,0,1,0,100,0), -- 17:42:49
+(@PATH,106,5786.905,629.0582,609.6359,0,0,1,0,100,0), -- 17:42:49
+(@PATH,107,5786.905,629.5582,609.6359,0,0,1,0,100,0), -- 17:42:49
+(@PATH,108,5787.155,632.0582,609.6359,0,0,1,0,100,0), -- 17:42:49
+(@PATH,109,5787.405,634.3082,610.1359,0,0,1,0,100,0), -- 17:42:49
+(@PATH,110,5790,642.3279,609.9437,0,0,1,0,100,0), -- 17:42:52
+(@PATH,111,5794.055,646.8982,610.1359,0,0,1,0,100,0), -- 17:42:53
+(@PATH,112,5797.555,650.6482,610.1359,0,0,1,0,100,0), -- 17:42:53
+(@PATH,113,5799.555,652.6482,610.1359,0,0,1,0,100,0), -- 17:42:53
+(@PATH,114,5801.444,654.5395,610.1359,0,0,1,0,100,0), -- 17:42:56
+(@PATH,115,5806.444,653.7895,610.1359,0,0,1,0,100,0), -- 17:42:56
+(@PATH,116,5807.512,653.4955,610.1359,0,0,1,0,100,0), -- 17:42:57
+(@PATH,117,5812.512,651.2455,610.1359,0,0,1,0,100,0), -- 17:42:57
+(@PATH,118,5815.426,653.1886,610.1359,0,0,1,0,100,0), -- 17:42:59
+(@PATH,119,5815.426,654.9386,609.6359,0,0,1,0,100,0), -- 17:42:59
+(@PATH,120,5815.676,663.6886,609.6359,0,0,1,0,100,0), -- 17:42:59
+(@PATH,121,5815.676,665.9386,610.1359,0,0,1,0,100,0), -- 17:42:59
+(@PATH,122,5815.676,667.6886,610.1359,0,0,1,0,100,0), -- 17:42:59
+(@PATH,123,5816.03,668.0648,610.0238,0,0,1,0,100,0), -- 17:43:03
+(@PATH,124,5816.03,670.0648,610.0238,0,0,1,0,100,0), -- 17:43:03
+(@PATH,125,5816.53,672.0648,610.0238,0,0,1,0,100,0), -- 17:43:03
+(@PATH,126,5817.53,678.0648,610.0238,0,0,1,0,100,0), -- 17:43:03
+(@PATH,127,5821.502,681.4215,610.1359,0,0,1,0,100,0), -- 17:43:05
+(@PATH,128,5835.538,690.3898,610.0217,0,0,1,0,100,0), -- 17:43:08
+(@PATH,129,5836.288,691.6398,609.5217,0,0,1,0,100,0), -- 17:43:08
+(@PATH,130,5849.831,706.8584,609.4108,0,0,1,0,100,0), -- 17:43:13
+(@PATH,131,5855.265,709.8666,609.4075,0,0,1,0,100,0), -- 17:43:15
+(@PATH,132,5866.013,703.9492,609.4075,0,0,1,0,100,0), -- 17:43:16
+(@PATH,133,5873.884,695.3582,609.4075,0,0,1,0,100,0), -- 17:43:19
+(@PATH,134,5874.632,694.2865,609.4949,0,0,1,0,100,0), -- 17:43:20
+(@PATH,135,5874.84,689.0822,609.9387,0,0,1,0,100,0), -- 17:43:21
+(@PATH,136,5874.09,687.0822,610.9387,0,0,1,0,100,0), -- 17:43:21
+(@PATH,137,5873.47,685.0145,610.9896,0,0,1,0,100,0), -- 17:43:23
+(@PATH,138,5871.47,683.0145,610.7396,0,0,1,0,100,0), -- 17:43:23
+(@PATH,139,5866.97,678.2645,610.9896,0,0,1,0,100,0), -- 17:43:23
+(@PATH,140,5865.97,677.2645,610.9896,0,0,1,0,100,0), -- 17:43:23
+(@PATH,141,5864.548,676.2894,610.9425,0,0,1,0,100,0), -- 17:43:25
+(@PATH,142,5863.548,676.5394,610.9425,0,0,1,0,100,0), -- 17:43:25
+(@PATH,143,5859.548,677.2894,610.1925,0,0,1,0,100,0), -- 17:43:25
+(@PATH,144,5848.772,675.0753,610.0875,0,0,1,0,100,0), -- 17:43:28
+(@PATH,145,5847.37,674.7904,610.0217,0,0,1,0,100,0), -- 17:43:29
+(@PATH,146,5844.12,673.7904,610.0217,0,0,1,0,100,0), -- 17:43:29
+(@PATH,147,5839.478,672.2452,610.1381,0,0,1,0,100,0), -- 17:43:30
+(@PATH,148,5839.478,669.2452,610.1381,0,0,1,0,100,0), -- 17:43:30
+(@PATH,149,5839.478,663.7452,610.1381,0,0,1,0,100,0), -- 17:43:30
+(@PATH,150,5839.195,669.4826,610.1359,0,0,1,0,100,0), -- 17:43:34
+(@PATH,151,5843.771,673.7661,610.1359,0,0,1,0,100,0), -- 17:43:35
+(@PATH,152,5846.521,674.7661,610.1359,0,0,1,0,100,0), -- 17:43:35
+(@PATH,153,5847.64,674.8135,610.0217,0,0,1,0,100,0), -- 17:43:36
+(@PATH,154,5848.64,674.8135,610.0217,0,0,1,0,100,0), -- 17:43:36
+(@PATH,155,5849.89,674.8135,609.5217,0,0,1,0,100,0), -- 17:43:36
+(@PATH,156,5866.708,676.1121,609.4492,0,0,1,0,100,0), -- 17:43:39
+(@PATH,157,5866.708,675.6121,609.4492,0,0,1,0,100,0), -- 17:43:39
+(@PATH,158,5864.833,676.2982,610.9387,0,0,1,0,100,0), -- 17:43:41
+(@PATH,159,5865.833,677.2982,610.9387,0,0,1,0,100,0), -- 17:43:41
+(@PATH,160,5866.833,678.2982,610.9387,0,0,1,0,100,0), -- 17:43:41
+(@PATH,161,5871.583,683.0482,610.9387,0,0,1,0,100,0), -- 17:43:41
+(@PATH,162,5874.132,686.8735,610.9503,0,0,1,0,100,0), -- 17:43:44
+(@PATH,163,5874.632,687.8735,610.4503,0,0,1,0,100,0), -- 17:43:44
+(@PATH,164,5875.144,689.2743,609.9451,0,0,1,0,100,0), -- 17:43:45
+(@PATH,165,5876.144,690.5243,609.6951,0,0,1,0,100,0), -- 17:43:45
+(@PATH,166,5874.644,694.2743,609.6951,0,0,1,0,100,0), -- 17:43:45
+(@PATH,167,5873.894,695.0243,609.6951,0,0,1,0,100,0), -- 17:43:45
+(@PATH,168,5866.658,703.6503,609.4075,0,0,1,0,100,0), -- 17:43:47
+(@PATH,169,5860.372,704.5635,609.4075,0,0,1,0,100,0); -- 17:43:50
+
+-- Pathing for Underbelly Rat Entry: 32428 'TDB FORMAT'
+SET @NPC := 112318;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=5812.506,`position_y`=725.5436,`position_z`=624.4396 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,5812.506,725.5436,624.4396,0,0,1,0,100,0), -- 17:45:05
+(@PATH,2,5811.401,724.5404,624.3019,0,0,1,0,100,0), -- 17:45:07
+(@PATH,3,5809.651,723.5404,623.8019,0,0,1,0,100,0), -- 17:45:07
+(@PATH,4,5805.687,715.0458,619.4795,0,0,1,0,100,0), -- 17:45:09
+(@PATH,5,5805.306,711.5175,619.0914,0,0,1,0,100,0), -- 17:45:10
+(@PATH,6,5805.056,711.0175,619.0914,0,0,1,0,100,0), -- 17:45:10
+(@PATH,7,5803.806,710.2675,619.3414,0,0,1,0,100,0), -- 17:45:10
+(@PATH,8,5798.439,709.6013,619.4612,0,0,1,0,100,0), -- 17:45:11
+(@PATH,9,5796.939,708.1013,619.7112,0,0,1,0,100,0), -- 17:45:11
+(@PATH,10,5796.189,707.3513,619.7112,0,0,1,0,100,0), -- 17:45:11
+(@PATH,11,5796.251,707.1489,619.6675,0,0,1,0,100,0), -- 17:45:12
+(@PATH,12,5794.501,705.6489,619.6675,0,0,1,0,100,0), -- 17:45:12
+(@PATH,13,5795.787,700.2144,619.2513,0,0,1,0,100,0), -- 17:45:14
+(@PATH,14,5796.287,698.9644,619.2513,0,0,1,0,100,0), -- 17:45:14
+(@PATH,15,5797.537,695.4644,619.0013,0,0,1,0,100,0), -- 17:45:14
+(@PATH,16,5798.287,692.4644,619.0013,0,0,1,0,100,0), -- 17:45:14
+(@PATH,17,5799.037,690.9644,619.2513,0,0,1,0,100,0), -- 17:45:14
+(@PATH,18,5799.537,689.4644,619.2513,0,0,1,0,100,0), -- 17:45:14
+(@PATH,19,5799.536,689.3114,619.3141,0,0,1,0,100,0), -- 17:45:16
+(@PATH,20,5800.036,688.0614,619.3141,0,0,1,0,100,0), -- 17:45:16
+(@PATH,21,5798.786,687.0614,619.3141,0,0,1,0,100,0), -- 17:45:16
+(@PATH,22,5794.159,683.7436,619.2207,0,0,1,0,100,0), -- 17:45:17
+(@PATH,23,5792.909,683.2436,619.2207,0,0,1,0,100,0), -- 17:45:17
+(@PATH,24,5791.659,682.7436,619.2207,0,0,1,0,100,0), -- 17:45:17
+(@PATH,25,5791.753,682.5482,619.214,0,0,1,0,100,0), -- 17:45:19
+(@PATH,26,5791.253,682.2982,618.964,0,0,1,0,100,0), -- 17:45:19
+(@PATH,27,5789.503,680.2982,618.964,0,0,1,0,100,0), -- 17:45:19
+(@PATH,28,5788.781,677.8862,619.2213,0,0,1,0,100,0), -- 17:45:20
+(@PATH,29,5789.031,675.3862,619.2213,0,0,1,0,100,0), -- 17:45:20
+(@PATH,30,5786.781,671.8862,619.2213,0,0,1,0,100,0), -- 17:45:20
+(@PATH,31,5785.09,669.5923,619.22,0,0,1,0,100,0), -- 17:45:21
+(@PATH,32,5782.34,670.0923,619.22,0,0,1,0,100,0), -- 17:45:21
+(@PATH,33,5781.488,670.0141,619.1985,0,0,1,0,100,0), -- 17:45:22
+(@PATH,34,5778.738,667.5141,618.9485,0,0,1,0,100,0), -- 17:45:22
+(@PATH,35,5776.889,665.7174,619.0254,0,0,1,0,100,0), -- 17:45:23
+(@PATH,36,5771.591,666.1527,618.715,0,0,1,0,100,0), -- 17:45:25
+(@PATH,37,5769.591,664.6527,618.715,0,0,1,0,100,0), -- 17:45:25
+(@PATH,38,5764.23,657.7101,618.679,0,0,1,0,100,0), -- 17:45:26
+(@PATH,39,5763.645,656.9364,618.9661,0,0,1,0,100,0), -- 17:45:27
+(@PATH,40,5762.145,655.9364,618.7161,0,0,1,0,100,0), -- 17:45:27
+(@PATH,41,5761.145,654.9364,618.7161,0,0,1,0,100,0), -- 17:45:27
+(@PATH,42,5759.645,653.9364,618.4661,0,0,1,0,100,0), -- 17:45:27
+(@PATH,43,5757.645,652.4364,618.4661,0,0,1,0,100,0), -- 17:45:27
+(@PATH,44,5758.634,650.1743,617.9124,0,0,1,0,100,0), -- 17:45:30
+(@PATH,45,5759.384,649.6743,617.6624,0,0,1,0,100,0), -- 17:45:30
+(@PATH,46,5760.884,648.9243,617.9124,0,0,1,0,100,0), -- 17:45:30
+(@PATH,47,5765.302,645.7458,617.7252,0,0,1,0,100,0), -- 17:45:31
+(@PATH,48,5766.552,645.2458,617.7252,0,0,1,0,100,0), -- 17:45:31
+(@PATH,49,5771.302,643.4958,617.7252,0,0,1,0,100,0), -- 17:45:31
+(@PATH,50,5772.802,642.7458,617.4752,0,0,1,0,100,0), -- 17:45:31
+(@PATH,51,5773.302,642.4958,617.4752,0,0,1,0,100,0), -- 17:45:31
+(@PATH,52,5774.802,640.9958,616.4752,0,0,1,0,100,0), -- 17:45:31
+(@PATH,53,5775.896,637.9182,614.7648,0,0,1,0,100,0), -- 17:45:34
+(@PATH,54,5777.396,635.9182,613.0148,0,0,1,0,100,0), -- 17:45:34
+(@PATH,55,5781.486,634.472,611.2208,0,0,1,0,100,0), -- 17:45:36
+(@PATH,56,5782.236,634.472,610.4708,0,0,1,0,100,0), -- 17:45:36
+(@PATH,57,5783.486,634.472,609.4708,0,0,1,0,100,0), -- 17:45:36
+(@PATH,58,5785.486,634.722,609.4708,0,0,1,0,100,0), -- 17:45:36
+(@PATH,59,5783.877,634.4684,609.5891,0,0,1,0,100,0), -- 17:45:37
+(@PATH,60,5785.627,634.7184,609.5891,0,0,1,0,100,0), -- 17:45:37
+(@PATH,61,5787.377,634.7184,610.3391,0,0,1,0,100,0), -- 17:45:37
+(@PATH,62,5791.627,635.2184,610.3391,0,0,1,0,100,0), -- 17:45:37
+(@PATH,63,5792.804,635.6805,610.0217,0,0,1,0,100,0), -- 17:45:38
+(@PATH,64,5804.054,638.4305,610.0217,0,0,1,0,100,0), -- 17:45:38
+(@PATH,65,5808.587,639.6121,610.1359,0,0,1,0,100,0), -- 17:45:41
+(@PATH,66,5816.692,643.6942,610.1359,0,0,1,0,100,0), -- 17:45:43
+(@PATH,67,5822.68,639.5682,609.7672,0,0,1,0,100,0), -- 17:45:45
+(@PATH,68,5823.43,639.5682,610.0172,0,0,1,0,100,0), -- 17:45:45
+(@PATH,69,5825.18,639.8182,610.0172,0,0,1,0,100,0), -- 17:45:45
+(@PATH,70,5824.43,638.3182,610.0172,0,0,1,0,100,0), -- 17:45:45
+(@PATH,71,5824.57,638.2134,610.1077,0,0,1,0,100,0), -- 17:45:47
+(@PATH,72,5823.57,636.9634,611.1077,0,0,1,0,100,0), -- 17:45:47
+(@PATH,73,5823.57,634.9634,611.6077,0,0,1,0,100,0), -- 17:45:47
+(@PATH,74,5824.07,633.7134,612.3577,0,0,1,0,100,0), -- 17:45:47
+(@PATH,75,5824.662,632.4669,612.8602,0,0,1,0,100,0), -- 17:45:48
+(@PATH,76,5826.162,630.2169,614.1102,0,0,1,0,100,0), -- 17:45:48
+(@PATH,77,5826.912,628.9669,614.8602,0,0,1,0,100,0), -- 17:45:48
+(@PATH,78,5827.492,628.314,614.7683,0,0,1,0,100,0), -- 17:45:49
+(@PATH,79,5828.242,627.314,615.2683,0,0,1,0,100,0), -- 17:45:49
+(@PATH,80,5828.742,626.064,616.0183,0,0,1,0,100,0), -- 17:45:49
+(@PATH,81,5829.492,624.314,616.0183,0,0,1,0,100,0), -- 17:45:49
+(@PATH,82,5830.492,622.564,616.2683,0,0,1,0,100,0), -- 17:45:49
+(@PATH,83,5829.866,624.0173,616.4043,0,0,1,0,100,0), -- 17:45:50
+(@PATH,84,5830.366,622.7673,616.6543,0,0,1,0,100,0), -- 17:45:50
+(@PATH,85,5832.866,624.2673,616.9043,0,0,1,0,100,0), -- 17:45:50
+(@PATH,86,5832.366,622.5173,617.4043,0,0,1,0,100,0), -- 17:45:50
+(@PATH,87,5832.366,621.2673,617.9043,0,0,1,0,100,0), -- 17:45:50
+(@PATH,88,5832.433,621.1912,618.1343,0,0,1,0,100,0), -- 17:45:52
+(@PATH,89,5832.183,618.6912,619.1343,0,0,1,0,100,0), -- 17:45:52
+(@PATH,90,5832.433,615.6912,620.8843,0,0,1,0,100,0), -- 17:45:52
+(@PATH,91,5832.683,614.6912,621.3843,0,0,1,0,100,0), -- 17:45:52
+(@PATH,92,5833.433,611.1912,622.1343,0,0,1,0,100,0), -- 17:45:52
+(@PATH,93,5833.683,609.6912,621.8843,0,0,1,0,100,0), -- 17:45:52
+(@PATH,94,5833.704,609.4901,622.2904,0,0,1,0,100,0), -- 17:45:54
+(@PATH,95,5833.954,607.4901,622.2904,0,0,1,0,100,0), -- 17:45:54
+(@PATH,96,5833.954,606.2401,622.5404,0,0,1,0,100,0), -- 17:45:54
+(@PATH,97,5833.704,600.7401,623.2904,0,0,1,0,100,0), -- 17:45:54
+(@PATH,98,5833.454,599.4901,624.0404,0,0,1,0,100,0), -- 17:45:54
+(@PATH,99,5833.538,598.366,623.9922,0,0,1,0,100,0), -- 17:45:56
+(@PATH,100,5832.038,596.866,624.4922,0,0,1,0,100,0), -- 17:45:56
+(@PATH,101,5830.538,595.116,624.7422,0,0,1,0,100,0), -- 17:45:56
+(@PATH,102,5828.975,593.5865,624.9868,0,0,1,0,100,0), -- 17:45:58
+(@PATH,103,5826.725,591.3365,625.4868,0,0,1,0,100,0), -- 17:45:58
+(@PATH,104,5825.521,588.7355,625.7487,0,0,1,0,100,0), -- 17:45:59
+(@PATH,105,5825.271,587.4855,625.9987,0,0,1,0,100,0), -- 17:45:59
+(@PATH,106,5822.575,582.8594,626.4241,0,0,1,0,100,0), -- 17:46:01
+(@PATH,107,5815.441,579.615,627.5906,0,0,1,0,100,0), -- 17:46:02
+(@PATH,108,5814.441,578.865,627.8406,0,0,1,0,100,0), -- 17:46:02
+(@PATH,109,5812.545,576.4588,628.457,0,0,1,0,100,0), -- 17:46:03
+(@PATH,110,5811.545,574.7088,628.707,0,0,1,0,100,0), -- 17:46:03
+(@PATH,111,5810.408,571.4939,629.276,0,0,1,0,100,0), -- 17:46:04
+(@PATH,112,5804.017,568.0781,629.6204,0,0,1,0,100,0), -- 17:46:06
+(@PATH,113,5803.017,566.5781,629.8704,0,0,1,0,100,0), -- 17:46:06
+(@PATH,114,5803.129,566.3809,629.8486,0,0,1,0,100,0), -- 17:46:07
+(@PATH,115,5801.879,564.8809,629.8486,0,0,1,0,100,0), -- 17:46:07
+(@PATH,116,5801.879,563.1309,629.8486,0,0,1,0,100,0), -- 17:46:07
+(@PATH,117,5801.629,561.8809,629.8486,0,0,1,0,100,0), -- 17:46:07
+(@PATH,118,5801.365,560.2042,630.7414,0,0,1,0,100,0), -- 17:46:08
+(@PATH,119,5796.325,553.0746,634.724,0,0,1,0,100,0), -- 17:46:09
+(@PATH,120,5793.369,549.6201,634.8419,0,0,1,0,100,0), -- 17:46:10
+(@PATH,121,5792.119,548.8701,634.8419,0,0,1,0,100,0), -- 17:46:10
+(@PATH,122,5791.119,548.3701,634.8419,0,0,1,0,100,0), -- 17:46:10
+(@PATH,123,5788.369,546.6201,636.8419,0,0,1,0,100,0), -- 17:46:10
+(@PATH,124,5785.869,545.1201,638.0919,0,0,1,0,100,0), -- 17:46:10
+(@PATH,125,5790.984,548.038,634.9894,0,0,1,0,100,0), -- 17:46:15
+(@PATH,126,5792.234,548.788,634.9894,0,0,1,0,100,0), -- 17:46:15
+(@PATH,127,5792.435,549.0204,634.8621,0,0,1,0,100,0), -- 17:46:17
+(@PATH,128,5793.435,549.7704,634.8621,0,0,1,0,100,0), -- 17:46:17
+(@PATH,129,5795.435,552.0204,634.8621,0,0,1,0,100,0), -- 17:46:17
+(@PATH,130,5796.685,553.2704,635.1121,0,0,1,0,100,0), -- 17:46:17
+(@PATH,131,5796.966,553.6017,634.8666,0,0,1,0,100,0), -- 17:46:18
+(@PATH,132,5797.216,554.1017,634.3666,0,0,1,0,100,0), -- 17:46:18
+(@PATH,133,5801.743,562.6663,630.2207,0,0,1,0,100,0), -- 17:46:20
+(@PATH,134,5801.743,564.9163,630.2207,0,0,1,0,100,0), -- 17:46:20
+(@PATH,135,5802.493,565.9163,630.2207,0,0,1,0,100,0), -- 17:46:20
+(@PATH,136,5804.158,567.8349,629.5902,0,0,1,0,100,0), -- 17:46:21
+(@PATH,137,5810.48,571.2711,629.313,0,0,1,0,100,0), -- 17:46:23
+(@PATH,138,5812.102,575.7954,628.5873,0,0,1,0,100,0), -- 17:46:24
+(@PATH,139,5812.102,576.5454,628.3373,0,0,1,0,100,0), -- 17:46:24
+(@PATH,140,5814.352,578.7954,628.0873,0,0,1,0,100,0), -- 17:46:24
+(@PATH,141,5814.542,578.6766,628.0162,0,0,1,0,100,0), -- 17:46:25
+(@PATH,142,5815.292,579.6766,627.7662,0,0,1,0,100,0), -- 17:46:25
+(@PATH,143,5816.792,579.6766,627.7662,0,0,1,0,100,0), -- 17:46:25
+(@PATH,144,5822.438,582.6847,626.7626,0,0,1,0,100,0), -- 17:46:26
+(@PATH,145,5823.438,583.9347,626.5126,0,0,1,0,100,0), -- 17:46:26
+(@PATH,146,5824.323,584.9958,626.1263,0,0,1,0,100,0), -- 17:46:27
+(@PATH,147,5825.073,587.2458,626.1263,0,0,1,0,100,0), -- 17:46:27
+(@PATH,148,5825.323,588.4958,626.1263,0,0,1,0,100,0), -- 17:46:27
+(@PATH,149,5826.115,590.5767,625.4272,0,0,1,0,100,0), -- 17:46:29
+(@PATH,150,5831.021,605.7319,623.0287,0,0,1,0,100,0), -- 17:46:29
+(@PATH,151,5829.021,599.4819,624.0287,0,0,1,0,100,0), -- 17:46:29
+(@PATH,152,5828.021,595.7319,624.5287,0,0,1,0,100,0), -- 17:46:29
+(@PATH,153,5827.271,592.9819,624.7787,0,0,1,0,100,0), -- 17:46:29
+(@PATH,154,5826.521,590.9819,625.5287,0,0,1,0,100,0), -- 17:46:29
+(@PATH,155,5831.989,596.5863,624.5801,0,0,1,0,100,0), -- 17:46:30
+(@PATH,156,5833.593,600.676,623.2581,0,0,1,0,100,0), -- 17:46:31
+(@PATH,157,5833.843,605.926,622.7581,0,0,1,0,100,0), -- 17:46:31
+(@PATH,158,5833.962,607.8434,622.0533,0,0,1,0,100,0), -- 17:46:32
+(@PATH,159,5833.712,609.3434,621.8033,0,0,1,0,100,0), -- 17:46:32
+(@PATH,160,5833.462,610.3434,622.0533,0,0,1,0,100,0), -- 17:46:32
+(@PATH,161,5832.712,614.5934,621.5533,0,0,1,0,100,0), -- 17:46:32
+(@PATH,162,5832.712,615.5934,621.0533,0,0,1,0,100,0), -- 17:46:32
+(@PATH,163,5832.212,618.0934,619.8033,0,0,1,0,100,0), -- 17:46:32
+(@PATH,164,5832.256,618.2179,619.4556,0,0,1,0,100,0), -- 17:46:35
+(@PATH,165,5832.006,618.7179,619.2056,0,0,1,0,100,0), -- 17:46:35
+(@PATH,166,5832.506,620.9679,618.2056,0,0,1,0,100,0), -- 17:46:35
+(@PATH,167,5832.756,622.4679,617.7056,0,0,1,0,100,0), -- 17:46:35
+(@PATH,168,5832.239,621.2859,617.7874,0,0,1,0,100,0), -- 17:46:36
+(@PATH,169,5832.489,622.5359,617.5374,0,0,1,0,100,0), -- 17:46:36
+(@PATH,170,5832.739,624.2859,617.0374,0,0,1,0,100,0), -- 17:46:36
+(@PATH,171,5832.239,624.5359,616.5374,0,0,1,0,100,0), -- 17:46:36
+(@PATH,172,5830.989,625.5359,616.2874,0,0,1,0,100,0), -- 17:46:36
+(@PATH,173,5829.739,626.7859,616.0374,0,0,1,0,100,0), -- 17:46:36
+(@PATH,174,5828.739,627.5359,615.5374,0,0,1,0,100,0), -- 17:46:36
+(@PATH,175,5826.31,630.0842,614.1038,0,0,1,0,100,0), -- 17:46:38
+(@PATH,176,5825.06,631.8342,613.3538,0,0,1,0,100,0), -- 17:46:38
+(@PATH,177,5824.81,632.0842,613.1038,0,0,1,0,100,0), -- 17:46:38
+(@PATH,178,5824.31,633.3342,612.6038,0,0,1,0,100,0), -- 17:46:38
+(@PATH,179,5824.213,633.7821,612.4078,0,0,1,0,100,0), -- 17:46:40
+(@PATH,180,5823.713,634.7821,611.6578,0,0,1,0,100,0), -- 17:46:40
+(@PATH,181,5824.463,636.7821,611.1578,0,0,1,0,100,0), -- 17:46:40
+(@PATH,182,5823.713,638.2821,610.6578,0,0,1,0,100,0), -- 17:46:40
+(@PATH,183,5825.163,639.6008,610.0427,0,0,1,0,100,0), -- 17:46:41
+(@PATH,184,5823.413,639.3508,610.0427,0,0,1,0,100,0), -- 17:46:41
+(@PATH,185,5822.913,639.3508,609.7927,0,0,1,0,100,0), -- 17:46:41
+(@PATH,186,5821.913,640.8508,610.2927,0,0,1,0,100,0), -- 17:46:41
+(@PATH,187,5821.71,641.128,610.0275,0,0,1,0,100,0), -- 17:46:42
+(@PATH,188,5820.21,642.878,610.0275,0,0,1,0,100,0), -- 17:46:42
+(@PATH,189,5816.96,643.628,610.0275,0,0,1,0,100,0), -- 17:46:42
+(@PATH,190,5813.353,644.3413,610.1364,0,0,1,0,100,0), -- 17:46:43
+(@PATH,191,5804.18,638.688,610.1359,0,0,1,0,100,0), -- 17:46:45
+(@PATH,192,5792.854,635.4862,610.1309,0,0,1,0,100,0), -- 17:46:48
+(@PATH,193,5786.168,634.7509,609.4952,0,0,1,0,100,0), -- 17:46:49
+(@PATH,194,5783.918,634.5009,609.4952,0,0,1,0,100,0), -- 17:46:49
+(@PATH,195,5782.418,634.5009,610.4952,0,0,1,0,100,0), -- 17:46:49
+(@PATH,196,5781.418,634.5009,610.9952,0,0,1,0,100,0), -- 17:46:49
+(@PATH,197,5782.23,634.389,610.3091,0,0,1,0,100,0), -- 17:46:51
+(@PATH,198,5781.23,634.389,611.0591,0,0,1,0,100,0), -- 17:46:51
+(@PATH,199,5779.23,634.389,612.0591,0,0,1,0,100,0), -- 17:46:51
+(@PATH,200,5778.23,635.389,612.5591,0,0,1,0,100,0), -- 17:46:51
+(@PATH,201,5775.73,637.889,614.8091,0,0,1,0,100,0), -- 17:46:51
+(@PATH,202,5773.956,639.8704,616.4454,0,0,1,0,100,0), -- 17:46:53
+(@PATH,203,5772.456,641.3704,616.9454,0,0,1,0,100,0), -- 17:46:53
+(@PATH,204,5772.206,641.6204,617.1954,0,0,1,0,100,0), -- 17:46:53
+(@PATH,205,5771.206,642.3704,617.6954,0,0,1,0,100,0), -- 17:46:53
+(@PATH,206,5766.706,645.1204,617.6954,0,0,1,0,100,0), -- 17:46:53
+(@PATH,207,5761.375,648.278,617.9376,0,0,1,0,100,0), -- 17:46:56
+(@PATH,208,5759.875,649.278,617.6876,0,0,1,0,100,0), -- 17:46:56
+(@PATH,209,5758.625,650.278,617.9376,0,0,1,0,100,0), -- 17:46:56
+(@PATH,210,5757.67,652.2993,618.3185,0,0,1,0,100,0), -- 17:46:58
+(@PATH,211,5759.17,653.2993,618.3185,0,0,1,0,100,0), -- 17:46:58
+(@PATH,212,5760.92,654.5493,618.5685,0,0,1,0,100,0), -- 17:46:58
+(@PATH,213,5762.17,655.5493,618.8185,0,0,1,0,100,0), -- 17:46:58
+(@PATH,214,5763.629,656.9517,618.8355,0,0,1,0,100,0), -- 17:46:59
+(@PATH,215,5765.379,661.2017,618.8355,0,0,1,0,100,0), -- 17:46:59
+(@PATH,216,5769.263,664.3608,618.6702,0,0,1,0,100,0), -- 17:47:01
+(@PATH,217,5773.755,666.7302,618.8483,0,0,1,0,100,0), -- 17:47:02
+(@PATH,218,5774.306,667.0947,618.7543,0,0,1,0,100,0), -- 17:47:03
+(@PATH,219,5776.306,666.0947,618.7543,0,0,1,0,100,0), -- 17:47:03
+(@PATH,220,5776.556,665.8447,619.0043,0,0,1,0,100,0), -- 17:47:03
+(@PATH,221,5778.556,667.5947,619.0043,0,0,1,0,100,0), -- 17:47:03
+(@PATH,222,5781.24,670.0711,619.0645,0,0,1,0,100,0), -- 17:47:04
+(@PATH,223,5786.377,671.8536,619.2012,0,0,1,0,100,0), -- 17:47:06
+(@PATH,224,5788.669,677.6926,619.214,0,0,1,0,100,0), -- 17:47:07
+(@PATH,225,5788.669,678.9426,619.214,0,0,1,0,100,0), -- 17:47:07
+(@PATH,226,5788.923,679.4878,619.0298,0,0,1,0,100,0), -- 17:47:08
+(@PATH,227,5789.673,680.2378,619.0298,0,0,1,0,100,0), -- 17:47:08
+(@PATH,228,5791.423,682.4878,619.0298,0,0,1,0,100,0), -- 17:47:08
+(@PATH,229,5792.423,682.9878,619.2798,0,0,1,0,100,0), -- 17:47:08
+(@PATH,230,5794.02,683.6155,619.2227,0,0,1,0,100,0), -- 17:47:09
+(@PATH,231,5798.77,686.8655,619.2227,0,0,1,0,100,0), -- 17:47:09
+(@PATH,232,5799.506,689.4122,619.0743,0,0,1,0,100,0), -- 17:47:10
+(@PATH,233,5799.006,690.9122,619.0743,0,0,1,0,100,0), -- 17:47:10
+(@PATH,234,5798.506,692.1622,619.0743,0,0,1,0,100,0), -- 17:47:10
+(@PATH,235,5797.256,695.1622,619.0743,0,0,1,0,100,0), -- 17:47:10
+(@PATH,236,5796.256,698.1622,619.0743,0,0,1,0,100,0), -- 17:47:10
+(@PATH,237,5795.756,699.6622,619.3243,0,0,1,0,100,0), -- 17:47:10
+(@PATH,238,5795.712,700.3739,619.2347,0,0,1,0,100,0), -- 17:47:13
+(@PATH,239,5795.462,702.8739,619.2347,0,0,1,0,100,0), -- 17:47:13
+(@PATH,240,5796.152,707.1231,619.7043,0,0,1,0,100,0), -- 17:47:15
+(@PATH,241,5796.652,708.1231,619.7043,0,0,1,0,100,0), -- 17:47:15
+(@PATH,242,5797.652,709.1231,619.4543,0,0,1,0,100,0), -- 17:47:15
+(@PATH,243,5798.298,709.5776,619.3361,0,0,1,0,100,0), -- 17:47:16
+(@PATH,244,5800.298,709.3276,619.3361,0,0,1,0,100,0), -- 17:47:16
+(@PATH,245,5805.703,712.6086,619.0933,0,0,1,0,100,0), -- 17:47:17
+(@PATH,246,5805.453,714.8586,619.0933,0,0,1,0,100,0), -- 17:47:17
+(@PATH,247,5805.453,716.1086,619.0933,0,0,1,0,100,0), -- 17:47:17
+(@PATH,248,5805.642,716.5522,619.5599,0,0,1,0,100,0), -- 17:47:18
+(@PATH,249,5805.642,717.0522,619.5599,0,0,1,0,100,0), -- 17:47:18
+(@PATH,250,5812.082,724.9027,624.3082,0,0,1,0,100,0), -- 17:47:20
+(@PATH,251,5812.286,725.2038,624.2163,0,0,1,0,100,0); -- 17:47:21
+
+-- Pathing for Underbelly Rat Entry: 32428 'TDB FORMAT'
+SET @NPC := 112316;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=5650.283,`position_y`=859.0229,`position_z`=571.1886 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,5650.283,859.0229,571.1886,0,0,1,0,100,0), -- 16:14:32
+(@PATH,2,5653.515,856.0323,571.1707,0,0,1,0,100,0), -- 16:14:35
+(@PATH,3,5670.484,841.5376,582.4416,0,0,1,0,100,0), -- 16:14:37
+(@PATH,4,5687.539,826.0508,591.1404,0,0,1,0,100,0), -- 16:14:43
+(@PATH,5,5701.289,812.3008,593.8904,0,0,1,0,100,0), -- 16:14:43
+(@PATH,6,5704.789,808.8008,594.8904,0,0,1,0,100,0), -- 16:14:43
+(@PATH,7,5710.128,803.3888,596.3097,0,0,1,0,100,0), -- 16:14:52
+(@PATH,8,5723.128,792.1388,599.5597,0,0,1,0,100,0), -- 16:14:52
+(@PATH,9,5724.628,790.8888,600.5597,0,0,1,0,100,0), -- 16:14:52
+(@PATH,10,5733.628,782.8888,608.0597,0,0,1,0,100,0), -- 16:14:52
+(@PATH,11,5737.265,778.5158,611.3041,0,0,1,0,100,0), -- 16:14:59
+(@PATH,12,5742.015,772.2658,613.8041,0,0,1,0,100,0), -- 16:14:59
+(@PATH,13,5746.515,766.5158,617.0541,0,0,1,0,100,0), -- 16:14:59
+(@PATH,14,5750.793,762.6057,619.7878,0,0,1,0,100,0), -- 16:15:04
+(@PATH,15,5753.543,760.8557,619.5378,0,0,1,0,100,0), -- 16:15:04
+(@PATH,16,5763.043,755.6057,620.7878,0,0,1,0,100,0), -- 16:15:04
+(@PATH,17,5764.293,755.1057,621.0378,0,0,1,0,100,0), -- 16:15:04
+(@PATH,18,5769.043,752.3557,621.2878,0,0,1,0,100,0), -- 16:15:04
+(@PATH,19,5770.268,751.4404,621.4811,0,0,1,0,100,0), -- 16:15:09
+(@PATH,20,5776.518,745.4404,620.9811,0,0,1,0,100,0), -- 16:15:09
+(@PATH,21,5776.768,744.6904,620.7311,0,0,1,0,100,0), -- 16:15:09
+(@PATH,22,5778.323,743.4258,620.5052,0,0,1,0,100,0), -- 16:15:11
+(@PATH,23,5780.823,741.4258,619.5052,0,0,1,0,100,0), -- 16:15:11
+(@PATH,24,5782.027,740.5856,619.0101,0,0,1,0,100,0), -- 16:15:13
+(@PATH,25,5783.527,742.3356,619.0101,0,0,1,0,100,0), -- 16:15:13
+(@PATH,26,5779.737,745.7886,618.8125,0,0,1,0,100,0), -- 16:15:14
+(@PATH,27,5787.284,745.8883,618.6033,0,0,1,0,100,0), -- 16:15:15
+(@PATH,28,5790.284,743.3883,618.8533,0,0,1,0,100,0), -- 16:15:15
+(@PATH,29,5795.118,739.8246,618.873,0,0,1,0,100,0), -- 16:15:18
+(@PATH,30,5792.629,737.5529,618.8592,0,0,1,0,100,0), -- 16:15:19
+(@PATH,31,5783.301,728.3273,618.8666,0,0,1,0,100,0), -- 16:15:20
+(@PATH,32,5783.337,728.0176,618.8483,0,0,1,0,100,0), -- 16:15:21
+(@PATH,33,5781.837,727.0176,618.8483,0,0,1,0,100,0), -- 16:15:21
+(@PATH,34,5781.337,724.0176,618.8483,0,0,1,0,100,0), -- 16:15:21
+(@PATH,35,5780.837,722.5176,618.8483,0,0,1,0,100,0), -- 16:15:21
+(@PATH,36,5780.337,720.0176,618.8483,0,0,1,0,100,0), -- 16:15:21
+(@PATH,37,5779.337,716.2676,618.8483,0,0,1,0,100,0), -- 16:15:21
+(@PATH,38,5774.164,714.2116,618.8179,0,0,1,0,100,0), -- 16:15:25
+(@PATH,39,5772.414,714.4616,618.8179,0,0,1,0,100,0), -- 16:15:25
+(@PATH,40,5769.005,714.0853,618.8335,0,0,1,0,100,0), -- 16:15:26
+(@PATH,41,5763.755,714.0853,618.5835,0,0,1,0,100,0), -- 16:15:26
+(@PATH,42,5759.819,713.6582,618.7951,0,0,1,0,100,0), -- 16:15:29
+(@PATH,43,5759.069,712.9082,618.7951,0,0,1,0,100,0), -- 16:15:29
+(@PATH,44,5755.638,710.6156,618.8008,0,0,1,0,100,0), -- 16:15:30
+(@PATH,45,5746.335,704.4907,618.808,0,0,1,0,100,0), -- 16:15:31
+(@PATH,46,5750.018,702.1482,618.8112,0,0,1,0,100,0), -- 16:15:32
+(@PATH,47,5758.679,708.1224,618.7933,0,0,1,0,100,0), -- 16:15:35
+(@PATH,48,5760.795,704.0508,618.7969,0,0,1,0,100,0), -- 16:15:36
+(@PATH,49,5761.01,699.34,618.8027,0,0,1,0,100,0), -- 16:15:37
+(@PATH,50,5755.76,692.84,618.8027,0,0,1,0,100,0), -- 16:15:37
+(@PATH,51,5754.76,692.09,618.8027,0,0,1,0,100,0), -- 16:15:37
+(@PATH,52,5753.962,691.2664,618.8077,0,0,1,0,100,0), -- 16:15:40
+(@PATH,53,5748.369,690.7922,618.833,0,0,1,0,100,0), -- 16:15:41
+(@PATH,54,5747.619,690.0422,618.833,0,0,1,0,100,0), -- 16:15:41
+(@PATH,55,5747.197,689.2921,618.8251,0,0,1,0,100,0), -- 16:15:42
+(@PATH,56,5750.266,681.3962,618.9155,0,0,1,0,100,0), -- 16:15:43
+(@PATH,57,5749.266,682.6462,618.9155,0,0,1,0,100,0), -- 16:15:43
+(@PATH,58,5743.016,688.8962,613.9155,0,0,1,0,100,0), -- 16:15:43
+(@PATH,59,5738.654,689.4673,613.6896,0,0,1,0,100,0), -- 16:15:47
+(@PATH,60,5737.154,689.4673,613.6896,0,0,1,0,100,0), -- 16:15:47
+(@PATH,61,5736.978,686.3589,613.4945,0,0,1,0,100,0), -- 16:15:48
+(@PATH,62,5733.56,684.1531,613.4932,0,0,1,0,100,0), -- 16:15:49
+(@PATH,63,5730.135,677.58,613.4932,0,0,1,0,100,0), -- 16:15:51
+(@PATH,64,5726.457,675.5121,613.4932,0,0,1,0,100,0), -- 16:15:52
+(@PATH,65,5724.421,667.7317,613.4932,0,0,1,0,100,0), -- 16:15:53
+(@PATH,66,5727.515,664.7499,613.4932,0,0,1,0,100,0), -- 16:15:54
+(@PATH,67,5734.917,671.2552,613.4932,0,0,1,0,100,0), -- 16:15:57
+(@PATH,68,5749.247,678.9826,613.4949,0,0,1,0,100,0), -- 16:15:59
+(@PATH,69,5751.447,678.4545,613.4927,0,0,1,0,100,0), -- 16:16:02
+(@PATH,70,5751.198,678.1135,613.2466,0,0,1,0,100,0), -- 16:16:05
+(@PATH,71,5746.315,680.7532,613.4939,0,0,1,0,100,0), -- 16:16:07
+(@PATH,72,5743.315,682.0032,613.4939,0,0,1,0,100,0), -- 16:16:07
+(@PATH,73,5743.031,682.0266,613.4927,0,0,1,0,100,0), -- 16:16:08
+(@PATH,74,5742.531,682.2766,613.4927,0,0,1,0,100,0), -- 16:16:08
+(@PATH,75,5734.784,669.1796,613.4932,0,0,1,0,100,0), -- 16:16:12
+(@PATH,76,5724.512,667.5809,613.4932,0,0,1,0,100,0), -- 16:16:14
+(@PATH,77,5722.986,670.8528,613.4932,0,0,1,0,100,0), -- 16:16:15
+(@PATH,78,5728.049,675.2232,613.4932,0,0,1,0,100,0), -- 16:16:16
+(@PATH,79,5729.3,679.3695,613.4932,0,0,1,0,100,0), -- 16:16:18
+(@PATH,80,5733.373,684.2302,613.4932,0,0,1,0,100,0), -- 16:16:19
+(@PATH,81,5737.212,689.38,613.487,0,0,1,0,100,0), -- 16:16:20
+(@PATH,82,5738.462,689.38,613.487,0,0,1,0,100,0), -- 16:16:20
+(@PATH,83,5742.366,689.6543,613.689,0,0,1,0,100,0), -- 16:16:21
+(@PATH,84,5743.116,688.9043,613.939,0,0,1,0,100,0), -- 16:16:21
+(@PATH,85,5749.116,682.6543,618.689,0,0,1,0,100,0), -- 16:16:21
+(@PATH,86,5751.858,684.0981,618.7845,0,0,1,0,100,0), -- 16:16:24
+(@PATH,87,5751.939,684.1434,618.7609,0,0,1,0,100,0), -- 16:16:25
+(@PATH,88,5752.439,685.1434,618.7609,0,0,1,0,100,0), -- 16:16:25
+(@PATH,89,5748.244,690.5693,618.8226,0,0,1,0,100,0), -- 16:16:26
+(@PATH,90,5749.485,692.1129,618.8344,0,0,1,0,100,0), -- 16:16:27
+(@PATH,91,5755.502,692.8773,618.8097,0,0,1,0,100,0), -- 16:16:29
+(@PATH,92,5761.164,699.276,618.8109,0,0,1,0,100,0), -- 16:16:30
+(@PATH,93,5760.932,703.9943,618.8033,0,0,1,0,100,0), -- 16:16:31
+(@PATH,94,5762.46,706.2981,618.8008,0,0,1,0,100,0), -- 16:16:32
+(@PATH,95,5758.46,708.2981,618.8008,0,0,1,0,100,0), -- 16:16:32
+(@PATH,96,5756.85,709.1187,618.791,0,0,1,0,100,0), -- 16:16:34
+(@PATH,97,5750.122,702.084,618.8142,0,0,1,0,100,0), -- 16:16:35
+(@PATH,98,5746.29,704.5815,618.8041,0,0,1,0,100,0), -- 16:16:36
+(@PATH,99,5759.648,713.4418,618.8074,0,0,1,0,100,0), -- 16:16:39
+(@PATH,100,5759.953,713.6576,618.5587,0,0,1,0,100,0), -- 16:16:40
+(@PATH,101,5760.703,714.1576,618.8087,0,0,1,0,100,0), -- 16:16:40
+(@PATH,102,5763.453,714.1576,618.8087,0,0,1,0,100,0), -- 16:16:40
+(@PATH,103,5773.857,714.0711,618.8163,0,0,1,0,100,0), -- 16:16:42
+(@PATH,104,5778.107,714.0711,618.8163,0,0,1,0,100,0), -- 16:16:42
+(@PATH,105,5777.944,714.274,618.8197,0,0,1,0,100,0), -- 16:16:43
+(@PATH,106,5778.444,714.274,618.8197,0,0,1,0,100,0), -- 16:16:43
+(@PATH,107,5778.944,716.274,618.8197,0,0,1,0,100,0), -- 16:16:43
+(@PATH,108,5779.944,720.024,618.8197,0,0,1,0,100,0), -- 16:16:43
+(@PATH,109,5780.444,722.274,618.8197,0,0,1,0,100,0), -- 16:16:43
+(@PATH,110,5780.944,724.024,618.8197,0,0,1,0,100,0), -- 16:16:43
+(@PATH,111,5781.226,724.3087,618.8374,0,0,1,0,100,0), -- 16:16:46
+(@PATH,112,5781.976,727.0587,618.8374,0,0,1,0,100,0), -- 16:16:46
+(@PATH,113,5783.476,728.0587,618.8374,0,0,1,0,100,0), -- 16:16:46
+(@PATH,114,5786.476,730.5587,618.8374,0,0,1,0,100,0), -- 16:16:46
+(@PATH,115,5792.619,737.4194,618.8751,0,0,1,0,100,0), -- 16:16:48
+(@PATH,116,5794.882,739.73,618.8389,0,0,1,0,100,0), -- 16:16:50
+(@PATH,117,5790.382,743.23,618.8389,0,0,1,0,100,0), -- 16:16:50
+(@PATH,118,5787.132,745.98,618.8389,0,0,1,0,100,0), -- 16:16:50
+(@PATH,119,5780.194,747.6804,618.821,0,0,1,0,100,0), -- 16:16:53
+(@PATH,120,5779.756,745.7902,618.8091,0,0,1,0,100,0), -- 16:16:54
+(@PATH,121,5780.814,741.4368,619.417,0,0,1,0,100,0), -- 16:16:56
+(@PATH,122,5779.314,742.9368,620.417,0,0,1,0,100,0), -- 16:16:56
+(@PATH,123,5778.416,743.634,620.3975,0,0,1,0,100,0), -- 16:16:57
+(@PATH,124,5776.916,744.634,620.6475,0,0,1,0,100,0), -- 16:16:57
+(@PATH,125,5764.335,754.9359,620.9836,0,0,1,0,100,0), -- 16:16:59
+(@PATH,126,5763.085,755.6859,620.7336,0,0,1,0,100,0), -- 16:16:59
+(@PATH,127,5753.585,760.9359,619.9836,0,0,1,0,100,0), -- 16:16:59
+(@PATH,128,5750.835,762.4359,619.9836,0,0,1,0,100,0), -- 16:16:59
+(@PATH,129,5746.658,766.3828,617.2808,0,0,1,0,100,0), -- 16:17:04
+(@PATH,130,5742.408,771.8828,614.0308,0,0,1,0,100,0), -- 16:17:04
+(@PATH,131,5737.908,777.6328,612.0308,0,0,1,0,100,0), -- 16:17:04
+(@PATH,132,5723.007,791.8114,599.489,0,0,1,0,100,0), -- 16:17:09
+(@PATH,133,5710.257,803.5614,596.239,0,0,1,0,100,0), -- 16:17:09
+(@PATH,134,5704.813,808.7985,594.8409,0,0,1,0,100,0), -- 16:17:17
+(@PATH,135,5701.313,812.2985,593.8409,0,0,1,0,100,0), -- 16:17:17
+(@PATH,136,5687.563,826.0485,591.3409,0,0,1,0,100,0), -- 16:17:17
+(@PATH,137,5682.813,830.7985,588.5909,0,0,1,0,100,0), -- 16:17:17
+(@PATH,138,5670.488,841.3165,582.2974,0,0,1,0,100,0), -- 16:17:25
+(@PATH,139,5650.221,859.0325,570.9788,0,0,1,0,100,0); -- 16:17:33
+
+-- Pathing for Underbelly Rat Entry: 32428 'TDB FORMAT'
+SET @NPC := 112317;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=5932.637,`position_y`=560.9154,`position_z`=609.7726 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,5932.637,560.9154,609.7726,0,0,1,0,100,0), -- 17:52:18
+(@PATH,2,5929.887,559.4154,610.0226,0,0,1,0,100,0), -- 17:52:18
+(@PATH,3,5924.16,562.6399,610.0771,0,0,1,0,100,0), -- 17:52:19
+(@PATH,4,5923.41,563.6399,610.0771,0,0,1,0,100,0), -- 17:52:19
+(@PATH,5,5922.568,564.0256,610.0319,0,0,1,0,100,0), -- 17:52:21
+(@PATH,6,5920.568,563.7756,610.2819,0,0,1,0,100,0), -- 17:52:21
+(@PATH,7,5919.818,563.5256,610.2819,0,0,1,0,100,0), -- 17:52:21
+(@PATH,8,5919.068,562.0256,610.0319,0,0,1,0,100,0), -- 17:52:21
+(@PATH,9,5917.318,559.2756,610.0319,0,0,1,0,100,0), -- 17:52:21
+(@PATH,10,5912.753,557.5631,610.0347,0,0,1,0,100,0), -- 17:52:23
+(@PATH,11,5916.578,562.7064,609.9109,0,0,1,0,100,0), -- 17:52:24
+(@PATH,12,5917.078,563.7064,610.1609,0,0,1,0,100,0), -- 17:52:24
+(@PATH,13,5918.578,565.4564,610.1609,0,0,1,0,100,0), -- 17:52:24
+(@PATH,14,5918.574,565.3858,610.2579,0,0,1,0,100,0), -- 17:52:26
+(@PATH,15,5919.574,566.8858,610.2579,0,0,1,0,100,0), -- 17:52:26
+(@PATH,16,5915.942,569.4524,611.0398,0,0,1,0,100,0), -- 17:52:27
+(@PATH,17,5914.692,570.4524,611.0398,0,0,1,0,100,0), -- 17:52:27
+(@PATH,18,5913.692,571.9524,611.0398,0,0,1,0,100,0), -- 17:52:27
+(@PATH,19,5911.692,574.7024,611.7898,0,0,1,0,100,0), -- 17:52:27
+(@PATH,20,5910.942,575.7024,611.7898,0,0,1,0,100,0), -- 17:52:27
+(@PATH,21,5909.692,577.4524,611.7898,0,0,1,0,100,0), -- 17:52:27
+(@PATH,22,5908.942,578.7024,611.7898,0,0,1,0,100,0), -- 17:52:27
+(@PATH,23,5909.448,577.5765,611.9888,0,0,1,0,100,0), -- 17:52:29
+(@PATH,24,5908.698,578.8265,611.9888,0,0,1,0,100,0), -- 17:52:29
+(@PATH,25,5906.948,580.8265,612.4888,0,0,1,0,100,0), -- 17:52:29
+(@PATH,26,5898.948,586.3265,612.9888,0,0,1,0,100,0), -- 17:52:29
+(@PATH,27,5897.698,587.3265,613.2388,0,0,1,0,100,0), -- 17:52:29
+(@PATH,28,5888.133,593.8323,614.5677,0,0,1,0,100,0), -- 17:52:34
+(@PATH,29,5868.403,608.2256,616.2552,0,0,1,0,100,0), -- 17:52:39
+(@PATH,30,5867.403,608.9756,616.0052,0,0,1,0,100,0), -- 17:52:39
+(@PATH,31,5863.653,611.2256,617.2552,0,0,1,0,100,0), -- 17:52:39
+(@PATH,32,5867.005,608.8441,616.1553,0,0,1,0,100,0), -- 17:52:40
+(@PATH,33,5863.755,611.0941,617.1553,0,0,1,0,100,0), -- 17:52:40
+(@PATH,34,5863.005,611.5941,617.1553,0,0,1,0,100,0), -- 17:52:40
+(@PATH,35,5862.755,610.0941,617.4053,0,0,1,0,100,0), -- 17:52:40
+(@PATH,36,5862.716,609.9548,617.6683,0,0,1,0,100,0), -- 17:52:42
+(@PATH,37,5862.466,607.4548,617.9183,0,0,1,0,100,0), -- 17:52:42
+(@PATH,38,5861.716,605.4548,618.4183,0,0,1,0,100,0), -- 17:52:42
+(@PATH,39,5859.642,601.2751,619.6371,0,0,1,0,100,0), -- 17:52:43
+(@PATH,40,5859.803,596.2305,620.6752,0,0,1,0,100,0), -- 17:52:44
+(@PATH,41,5854.399,592.0137,622.5385,0,0,1,0,100,0), -- 17:52:45
+(@PATH,42,5853.606,591.7081,622.5364,0,0,1,0,100,0), -- 17:52:47
+(@PATH,43,5852.856,590.7081,622.7864,0,0,1,0,100,0), -- 17:52:47
+(@PATH,44,5852.356,590.2081,623.0364,0,0,1,0,100,0), -- 17:52:47
+(@PATH,45,5851.106,589.4581,623.2864,0,0,1,0,100,0), -- 17:52:47
+(@PATH,46,5848.088,586.9359,623.8063,0,0,1,0,100,0), -- 17:52:48
+(@PATH,47,5846.588,585.1859,624.0563,0,0,1,0,100,0), -- 17:52:48
+(@PATH,48,5838.51,583.7482,624.8914,0,0,1,0,100,0), -- 17:52:50
+(@PATH,49,5837.691,585.6058,625.1302,0,0,1,0,100,0), -- 17:52:52
+(@PATH,50,5837.691,586.8558,625.1302,0,0,1,0,100,0), -- 17:52:52
+(@PATH,51,5837.441,588.3558,624.8802,0,0,1,0,100,0), -- 17:52:52
+(@PATH,52,5836.941,589.3558,624.8802,0,0,1,0,100,0), -- 17:52:52
+(@PATH,53,5835.691,591.3558,624.6302,0,0,1,0,100,0), -- 17:52:52
+(@PATH,54,5834.941,592.1058,624.6302,0,0,1,0,100,0), -- 17:52:52
+(@PATH,55,5835.415,591.4377,624.7817,0,0,1,0,100,0), -- 17:52:53
+(@PATH,56,5834.665,592.1877,624.7817,0,0,1,0,100,0), -- 17:52:53
+(@PATH,57,5834.415,592.6877,624.7817,0,0,1,0,100,0), -- 17:52:53
+(@PATH,58,5831.665,592.9377,625.0317,0,0,1,0,100,0), -- 17:52:53
+(@PATH,59,5829.415,592.9377,625.0317,0,0,1,0,100,0), -- 17:52:53
+(@PATH,60,5831.489,593.141,624.9569,0,0,1,0,100,0), -- 17:52:54
+(@PATH,61,5828.989,593.141,624.9569,0,0,1,0,100,0), -- 17:52:54
+(@PATH,62,5827.989,593.391,624.9569,0,0,1,0,100,0), -- 17:52:54
+(@PATH,63,5826.489,594.891,624.7069,0,0,1,0,100,0), -- 17:52:54
+(@PATH,64,5824.989,596.141,624.7069,0,0,1,0,100,0), -- 17:52:54
+(@PATH,65,5823.989,597.141,624.7069,0,0,1,0,100,0), -- 17:52:54
+(@PATH,66,5823.284,602.2316,624.696,0,0,1,0,100,0), -- 17:52:56
+(@PATH,67,5824.034,603.4816,624.446,0,0,1,0,100,0), -- 17:52:56
+(@PATH,68,5825.496,604.9807,624.1569,0,0,1,0,100,0), -- 17:52:58
+(@PATH,69,5832.577,609.1123,622.6941,0,0,1,0,100,0), -- 17:52:59
+(@PATH,70,5832.577,610.3623,622.4441,0,0,1,0,100,0), -- 17:52:59
+(@PATH,71,5832.645,613.0908,621.8396,0,0,1,0,100,0), -- 17:53:00
+(@PATH,72,5833.895,614.5908,621.3396,0,0,1,0,100,0), -- 17:53:00
+(@PATH,73,5834.645,616.0908,620.5896,0,0,1,0,100,0), -- 17:53:00
+(@PATH,74,5835.895,618.0908,620.5896,0,0,1,0,100,0), -- 17:53:00
+(@PATH,75,5836.239,617.9567,620.214,0,0,1,0,100,0), -- 17:53:01
+(@PATH,76,5837.489,620.2067,619.964,0,0,1,0,100,0), -- 17:53:01
+(@PATH,77,5839.739,620.2067,619.464,0,0,1,0,100,0), -- 17:53:01
+(@PATH,78,5841.018,620.4529,619.0253,0,0,1,0,100,0), -- 17:53:03
+(@PATH,79,5842.768,621.4529,618.5253,0,0,1,0,100,0), -- 17:53:03
+(@PATH,80,5847.018,623.7029,617.7753,0,0,1,0,100,0), -- 17:53:03
+(@PATH,81,5850.018,625.4529,617.2753,0,0,1,0,100,0), -- 17:53:03
+(@PATH,82,5853.018,627.2029,616.7753,0,0,1,0,100,0), -- 17:53:03
+(@PATH,83,5855.821,630.0739,616.2969,0,0,1,0,100,0), -- 17:53:06
+(@PATH,84,5856.571,630.8239,616.2969,0,0,1,0,100,0), -- 17:53:06
+(@PATH,85,5857.947,632.9325,616.1628,0,0,1,0,100,0), -- 17:53:07
+(@PATH,86,5862.197,634.6825,615.9128,0,0,1,0,100,0), -- 17:53:07
+(@PATH,87,5863.447,635.9325,615.9128,0,0,1,0,100,0), -- 17:53:07
+(@PATH,88,5865.894,644.5748,615.8455,0,0,1,0,100,0), -- 17:53:10
+(@PATH,89,5865.894,645.5748,615.3455,0,0,1,0,100,0), -- 17:53:10
+(@PATH,90,5865.829,645.791,615.4341,0,0,1,0,100,0), -- 17:53:11
+(@PATH,91,5865.829,646.041,615.4341,0,0,1,0,100,0), -- 17:53:11
+(@PATH,92,5862.829,647.541,615.4341,0,0,1,0,100,0), -- 17:53:11
+(@PATH,93,5861.579,648.041,615.1841,0,0,1,0,100,0), -- 17:53:11
+(@PATH,94,5859.079,644.791,615.1841,0,0,1,0,100,0), -- 17:53:11
+(@PATH,95,5857.829,643.541,614.9341,0,0,1,0,100,0), -- 17:53:11
+(@PATH,96,5856.982,643.02,614.5778,0,0,1,0,100,0), -- 17:53:13
+(@PATH,97,5855.482,644.27,614.0778,0,0,1,0,100,0), -- 17:53:13
+(@PATH,98,5853.982,645.27,614.3278,0,0,1,0,100,0), -- 17:53:13
+(@PATH,99,5848.046,652.5363,610.8051,0,0,1,0,100,0), -- 17:53:15
+(@PATH,100,5847.546,653.0363,610.8051,0,0,1,0,100,0), -- 17:53:15
+(@PATH,101,5843.546,659.2863,609.5551,0,0,1,0,100,0), -- 17:53:15
+(@PATH,102,5842.796,660.2863,610.3051,0,0,1,0,100,0), -- 17:53:15
+(@PATH,103,5842.046,661.2863,610.3051,0,0,1,0,100,0), -- 17:53:15
+(@PATH,104,5842.085,661.6648,609.9584,0,0,1,0,100,0), -- 17:53:18
+(@PATH,105,5840.085,664.4148,609.9584,0,0,1,0,100,0), -- 17:53:18
+(@PATH,106,5843.085,670.6648,609.9584,0,0,1,0,100,0), -- 17:53:18
+(@PATH,107,5842.802,678.5958,610.1359,0,0,1,0,100,0), -- 17:53:21
+(@PATH,108,5839.953,683.5137,610.1359,0,0,1,0,100,0), -- 17:53:22
+(@PATH,109,5834.206,685.7982,610.136,0,0,1,0,100,0), -- 17:53:24
+(@PATH,110,5828.92,685.1238,610.1359,0,0,1,0,100,0), -- 17:53:26
+(@PATH,111,5826.984,682.3601,610.1359,0,0,1,0,100,0), -- 17:53:27
+(@PATH,112,5818.48,668.6338,610.1359,0,0,1,0,100,0), -- 17:53:28
+(@PATH,113,5816.1,665.4202,610.1359,0,0,1,0,100,0), -- 17:53:31
+(@PATH,114,5815.1,664.1702,609.6359,0,0,1,0,100,0), -- 17:53:31
+(@PATH,115,5810.1,657.9202,609.6359,0,0,1,0,100,0), -- 17:53:31
+(@PATH,116,5808.85,656.9202,610.1359,0,0,1,0,100,0), -- 17:53:31
+(@PATH,117,5806.85,653.9202,610.1359,0,0,1,0,100,0), -- 17:53:31
+(@PATH,118,5793.123,634.9679,610.1359,0,0,1,0,100,0), -- 17:53:37
+(@PATH,119,5790.14,631.1789,610.1359,0,0,1,0,100,0), -- 17:53:39
+(@PATH,120,5788.89,630.1789,609.6359,0,0,1,0,100,0), -- 17:53:39
+(@PATH,121,5787.39,628.9289,609.6359,0,0,1,0,100,0), -- 17:53:39
+(@PATH,122,5785.64,627.4289,609.6359,0,0,1,0,100,0), -- 17:53:39
+(@PATH,123,5782.89,625.1789,609.6359,0,0,1,0,100,0), -- 17:53:39
+(@PATH,124,5781.64,624.1789,610.1359,0,0,1,0,100,0), -- 17:53:39
+(@PATH,125,5779.79,623.2709,610.2906,0,0,1,0,100,0), -- 17:53:43
+(@PATH,126,5773.29,624.0209,610.2906,0,0,1,0,100,0), -- 17:53:43
+(@PATH,127,5771.79,624.7709,609.5406,0,0,1,0,100,0), -- 17:53:43
+(@PATH,128,5765.886,625.5369,612.6761,0,0,1,0,100,0), -- 17:53:45
+(@PATH,129,5764.136,626.5369,613.6761,0,0,1,0,100,0), -- 17:53:45
+(@PATH,130,5762.886,626.7869,614.1761,0,0,1,0,100,0), -- 17:53:45
+(@PATH,131,5761.386,627.7869,614.9261,0,0,1,0,100,0), -- 17:53:45
+(@PATH,132,5757.345,630.0953,616.8363,0,0,1,0,100,0), -- 17:53:48
+(@PATH,133,5752.345,634.3453,617.8363,0,0,1,0,100,0), -- 17:53:48
+(@PATH,134,5751.345,635.0953,617.3363,0,0,1,0,100,0), -- 17:53:48
+(@PATH,135,5748.116,637.8995,618.5641,0,0,1,0,100,0), -- 17:53:50
+(@PATH,136,5747.366,636.3995,618.8141,0,0,1,0,100,0), -- 17:53:50
+(@PATH,137,5746.008,632.8196,618.8812,0,0,1,0,100,0), -- 17:53:51
+(@PATH,138,5744.508,625.0696,618.8812,0,0,1,0,100,0), -- 17:53:51
+(@PATH,139,5744.258,623.3196,619.1312,0,0,1,0,100,0), -- 17:53:51
+(@PATH,140,5743.789,622.6664,619.2971,0,0,1,0,100,0), -- 17:53:54
+(@PATH,141,5742.789,621.6664,619.2971,0,0,1,0,100,0), -- 17:53:54
+(@PATH,142,5741.789,620.1664,619.2971,0,0,1,0,100,0), -- 17:53:54
+(@PATH,143,5739.586,617.3193,619.2029,0,0,1,0,100,0), -- 17:53:55
+(@PATH,144,5723.11,606.8483,618.9691,0,0,1,0,100,0), -- 17:53:59
+(@PATH,145,5722.5,607.3009,619.1648,0,0,1,0,100,0), -- 17:54:00
+(@PATH,146,5723.25,609.0509,619.1648,0,0,1,0,100,0), -- 17:54:00
+(@PATH,147,5725.919,612.6741,619.2623,0,0,1,0,100,0), -- 17:54:01
+(@PATH,148,5727.169,613.6741,619.2623,0,0,1,0,100,0), -- 17:54:01
+(@PATH,149,5727.833,613.9911,619.2798,0,0,1,0,100,0), -- 17:54:02
+(@PATH,150,5730.833,618.4911,619.2798,0,0,1,0,100,0), -- 17:54:02
+(@PATH,151,5732.083,620.7411,619.2798,0,0,1,0,100,0), -- 17:54:02
+(@PATH,152,5736.408,628.3324,619.2798,0,0,1,0,100,0), -- 17:54:05
+(@PATH,153,5738.975,629.0027,619.2798,0,0,1,0,100,0), -- 17:54:06
+(@PATH,154,5742.99,635.6492,619.2798,0,0,1,0,100,0), -- 17:54:07
+(@PATH,155,5743.467,641.7768,619.2798,0,0,1,0,100,0), -- 17:54:09
+(@PATH,156,5747.225,647.0936,619.0926,0,0,1,0,100,0), -- 17:54:10
+(@PATH,157,5748.225,647.5936,619.0926,0,0,1,0,100,0), -- 17:54:10
+(@PATH,158,5749.297,648.2242,618.9799,0,0,1,0,100,0), -- 17:54:11
+(@PATH,159,5749.047,649.2242,619.2299,0,0,1,0,100,0), -- 17:54:11
+(@PATH,160,5749.047,650.7242,619.2299,0,0,1,0,100,0), -- 17:54:11
+(@PATH,161,5749.047,654.2242,619.4799,0,0,1,0,100,0), -- 17:54:11
+(@PATH,162,5748.797,655.7242,619.4799,0,0,1,0,100,0), -- 17:54:11
+(@PATH,163,5749.192,655.6202,619.7116,0,0,1,0,100,0), -- 17:54:12
+(@PATH,164,5749.192,656.1202,619.7116,0,0,1,0,100,0), -- 17:54:12
+(@PATH,165,5750.442,657.8702,619.7116,0,0,1,0,100,0), -- 17:54:12
+(@PATH,166,5750.391,657.9781,619.7876,0,0,1,0,100,0), -- 17:54:13
+(@PATH,167,5751.891,659.9781,619.5376,0,0,1,0,100,0), -- 17:54:13
+(@PATH,168,5753.641,659.4781,619.5376,0,0,1,0,100,0), -- 17:54:13
+(@PATH,169,5759.179,661.2788,619.2548,0,0,1,0,100,0), -- 17:54:15
+(@PATH,170,5760.229,663.2921,619.3005,0,0,1,0,100,0), -- 17:54:16
+(@PATH,171,5760.479,666.2921,619.3005,0,0,1,0,100,0), -- 17:54:16
+(@PATH,172,5762.869,669.2735,619.6941,0,0,1,0,100,0), -- 17:54:17
+(@PATH,173,5764.619,671.0235,619.6941,0,0,1,0,100,0), -- 17:54:17
+(@PATH,174,5766.816,671.4822,619.3464,0,0,1,0,100,0), -- 17:54:18
+(@PATH,175,5771.566,670.7322,619.3464,0,0,1,0,100,0), -- 17:54:18
+(@PATH,176,5773.478,671.9761,619.1648,0,0,1,0,100,0), -- 17:54:19
+(@PATH,177,5772.978,676.9761,619.1648,0,0,1,0,100,0), -- 17:54:19
+(@PATH,178,5773.809,679.17,619.6726,0,0,1,0,100,0), -- 17:54:21
+(@PATH,179,5775.309,680.92,619.6726,0,0,1,0,100,0), -- 17:54:21
+(@PATH,180,5776.809,682.67,619.6726,0,0,1,0,100,0), -- 17:54:21
+(@PATH,181,5775.323,680.9807,619.6566,0,0,1,0,100,0), -- 17:54:22
+(@PATH,182,5776.823,682.7307,619.6566,0,0,1,0,100,0), -- 17:54:22
+(@PATH,183,5777.323,683.2307,619.4066,0,0,1,0,100,0), -- 17:54:22
+(@PATH,184,5780.438,683.3417,619.2777,0,0,1,0,100,0), -- 17:54:23
+(@PATH,185,5782.188,683.5917,619.2777,0,0,1,0,100,0), -- 17:54:23
+(@PATH,186,5783.188,683.5917,619.2777,0,0,1,0,100,0), -- 17:54:23
+(@PATH,187,5783.938,684.3417,619.2777,0,0,1,0,100,0), -- 17:54:23
+(@PATH,188,5783.903,684.5225,619.173,0,0,1,0,100,0), -- 17:54:24
+(@PATH,189,5784.653,685.2725,619.173,0,0,1,0,100,0), -- 17:54:24
+(@PATH,190,5784.403,686.5225,619.173,0,0,1,0,100,0), -- 17:54:24
+(@PATH,191,5783.903,690.0225,619.173,0,0,1,0,100,0), -- 17:54:24
+(@PATH,192,5783.28,683.6895,619.2,0,0,1,0,100,0), -- 17:54:26
+(@PATH,193,5783.134,683.567,619.218,0,0,1,0,100,0), -- 17:54:27
+(@PATH,194,5780.634,683.317,619.468,0,0,1,0,100,0), -- 17:54:27
+(@PATH,195,5778.134,683.567,619.468,0,0,1,0,100,0), -- 17:54:27
+(@PATH,196,5777.437,683.3219,619.3995,0,0,1,0,100,0), -- 17:54:28
+(@PATH,197,5775.437,680.8219,619.6495,0,0,1,0,100,0), -- 17:54:28
+(@PATH,198,5773.687,679.3219,619.6495,0,0,1,0,100,0), -- 17:54:28
+(@PATH,199,5772.959,678.2682,619.4105,0,0,1,0,100,0), -- 17:54:29
+(@PATH,200,5773.209,677.0182,619.1605,0,0,1,0,100,0), -- 17:54:29
+(@PATH,201,5773.709,673.0182,619.1605,0,0,1,0,100,0), -- 17:54:29
+(@PATH,202,5773.394,673.0062,619.2454,0,0,1,0,100,0), -- 17:54:31
+(@PATH,203,5773.644,672.0062,619.2454,0,0,1,0,100,0), -- 17:54:31
+(@PATH,204,5772.396,670.793,619.3744,0,0,1,0,100,0), -- 17:54:32
+(@PATH,205,5766.896,671.793,619.3744,0,0,1,0,100,0), -- 17:54:32
+(@PATH,206,5762.968,669.4083,619.7806,0,0,1,0,100,0), -- 17:54:33
+(@PATH,207,5760.729,666.238,619.5159,0,0,1,0,100,0), -- 17:54:34
+(@PATH,208,5760.479,663.488,619.2659,0,0,1,0,100,0), -- 17:54:34
+(@PATH,209,5759.131,661.6943,619.3143,0,0,1,0,100,0), -- 17:54:36
+(@PATH,210,5756.631,659.4443,619.3143,0,0,1,0,100,0), -- 17:54:36
+(@PATH,211,5753.881,659.9443,619.3143,0,0,1,0,100,0), -- 17:54:36
+(@PATH,212,5751.954,659.9012,619.4919,0,0,1,0,100,0), -- 17:54:37
+(@PATH,213,5750.454,658.1512,619.7419,0,0,1,0,100,0), -- 17:54:37
+(@PATH,214,5749.239,656.0627,619.7203,0,0,1,0,100,0), -- 17:54:38
+(@PATH,215,5749.239,654.0627,619.4703,0,0,1,0,100,0), -- 17:54:38
+(@PATH,216,5749.239,650.8127,619.2203,0,0,1,0,100,0), -- 17:54:38
+(@PATH,217,5749.489,649.3127,619.2203,0,0,1,0,100,0), -- 17:54:38
+(@PATH,218,5748.988,650.8058,619.2463,0,0,1,0,100,0), -- 17:54:39
+(@PATH,219,5749.238,649.3058,619.2463,0,0,1,0,100,0), -- 17:54:39
+(@PATH,220,5749.238,648.3058,618.9963,0,0,1,0,100,0), -- 17:54:39
+(@PATH,221,5747.238,647.3058,619.2463,0,0,1,0,100,0), -- 17:54:39
+(@PATH,222,5747.21,647.066,619.3192,0,0,1,0,100,0), -- 17:54:40
+(@PATH,223,5744.96,646.066,619.3192,0,0,1,0,100,0), -- 17:54:40
+(@PATH,224,5743.46,642.066,619.3192,0,0,1,0,100,0), -- 17:54:40
+(@PATH,225,5742.853,635.8711,619.2798,0,0,1,0,100,0), -- 17:54:43
+(@PATH,226,5767.506,624.4731,611.6431,0,0,1,0,100,0), -- 17:55:06
+(@PATH,227,5771.256,625.4731,610.1431,0,0,1,0,100,0), -- 17:55:06
+(@PATH,228,5772.006,625.2231,609.6431,0,0,1,0,100,0), -- 17:55:06
+(@PATH,229,5772.506,624.9731,609.6431,0,0,1,0,100,0), -- 17:55:06
+(@PATH,230,5775.756,624.4731,610.3931,0,0,1,0,100,0), -- 17:55:06
+(@PATH,231,5781.39,624.2626,610.0007,0,0,1,0,100,0), -- 17:55:08
+(@PATH,232,5782.64,625.2626,609.5007,0,0,1,0,100,0), -- 17:55:08
+(@PATH,233,5785.39,627.7626,609.5007,0,0,1,0,100,0), -- 17:55:08
+(@PATH,234,5787.14,628.7626,609.5007,0,0,1,0,100,0), -- 17:55:08
+(@PATH,235,5788.89,630.2626,609.5007,0,0,1,0,100,0), -- 17:55:08
+(@PATH,236,5790.14,631.2626,610.0007,0,0,1,0,100,0), -- 17:55:08
+(@PATH,237,5789.247,630.4788,609.5232,0,0,1,0,100,0), -- 17:55:11
+(@PATH,238,5790.497,631.4788,610.0232,0,0,1,0,100,0), -- 17:55:11
+(@PATH,239,5791.497,632.2288,610.0232,0,0,1,0,100,0), -- 17:55:11
+(@PATH,240,5792.497,634.2288,610.0232,0,0,1,0,100,0), -- 17:55:11
+(@PATH,241,5808.938,656.4456,610.1359,0,0,1,0,100,0), -- 17:55:15
+(@PATH,242,5809.938,657.6956,609.6359,0,0,1,0,100,0), -- 17:55:15
+(@PATH,243,5815.188,664.1956,609.6359,0,0,1,0,100,0), -- 17:55:15
+(@PATH,244,5816.188,665.4456,610.1359,0,0,1,0,100,0), -- 17:55:15
+(@PATH,245,5818.914,671.4957,610.0309,0,0,1,0,100,0), -- 17:55:21
+(@PATH,246,5820.774,678.6002,610.1359,0,0,1,0,100,0), -- 17:55:22
+(@PATH,247,5833.884,685.7383,610.1359,0,0,1,0,100,0), -- 17:55:25
+(@PATH,248,5839.521,683.5572,610.1359,0,0,1,0,100,0), -- 17:55:27
+(@PATH,249,5842.875,678.5269,610.1359,0,0,1,0,100,0), -- 17:55:28
+(@PATH,250,5842.727,670.9156,610.1359,0,0,1,0,100,0), -- 17:55:30
+(@PATH,251,5842.025,661.4012,610.2211,0,0,1,0,100,0), -- 17:55:32
+(@PATH,252,5842.775,660.4012,610.2211,0,0,1,0,100,0), -- 17:55:32
+(@PATH,253,5843.525,659.1512,609.4711,0,0,1,0,100,0), -- 17:55:32
+(@PATH,254,5847.025,653.9012,610.2211,0,0,1,0,100,0), -- 17:55:32
+(@PATH,255,5847.525,653.1512,610.7211,0,0,1,0,100,0), -- 17:55:32
+(@PATH,256,5848.025,652.6512,610.7211,0,0,1,0,100,0), -- 17:55:32
+(@PATH,257,5854.674,644.4988,613.7783,0,0,1,0,100,0), -- 17:55:37
+(@PATH,258,5858.877,645.0601,615.1895,0,0,1,0,100,0), -- 17:55:38
+(@PATH,259,5862.704,647.3643,615.3469,0,0,1,0,100,0), -- 17:55:39
+(@PATH,260,5866.175,643.2976,615.8401,0,0,1,0,100,0), -- 17:55:41
+(@PATH,261,5863.666,636.2874,615.6055,0,0,1,0,100,0), -- 17:55:42
+(@PATH,262,5858.989,633.2343,615.9945,0,0,1,0,100,0), -- 17:55:43
+(@PATH,263,5856.424,631.0151,616.6328,0,0,1,0,100,0), -- 17:55:44
+(@PATH,264,5855.924,630.0151,616.6328,0,0,1,0,100,0), -- 17:55:44
+(@PATH,265,5854.174,628.0151,616.8828,0,0,1,0,100,0), -- 17:55:44
+(@PATH,266,5852.924,627.2651,616.6328,0,0,1,0,100,0), -- 17:55:44
+(@PATH,267,5850.174,625.7651,617.1328,0,0,1,0,100,0), -- 17:55:44
+(@PATH,268,5847.174,624.0151,617.3828,0,0,1,0,100,0), -- 17:55:44
+(@PATH,269,5842.674,621.2651,618.3828,0,0,1,0,100,0), -- 17:55:44
+(@PATH,270,5839.754,620.274,619.3906,0,0,1,0,100,0), -- 17:55:48
+(@PATH,271,5837.754,620.024,619.6406,0,0,1,0,100,0), -- 17:55:48
+(@PATH,272,5836.254,618.024,620.1406,0,0,1,0,100,0), -- 17:55:48
+(@PATH,273,5834.754,616.274,620.3906,0,0,1,0,100,0), -- 17:55:48
+(@PATH,274,5833.754,614.774,621.3906,0,0,1,0,100,0), -- 17:55:48
+(@PATH,275,5832.755,613.1848,621.7224,0,0,1,0,100,0), -- 17:55:51
+(@PATH,276,5832.755,610.4348,622.2224,0,0,1,0,100,0), -- 17:55:51
+(@PATH,277,5831.282,608.2042,622.824,0,0,1,0,100,0), -- 17:55:52
+(@PATH,278,5829.532,606.7042,623.324,0,0,1,0,100,0), -- 17:55:52
+(@PATH,279,5824.087,603.5916,624.4519,0,0,1,0,100,0), -- 17:55:53
+(@PATH,280,5822.902,598.7023,625.1343,0,0,1,0,100,0), -- 17:55:55
+(@PATH,281,5823.652,597.7023,624.8843,0,0,1,0,100,0), -- 17:55:55
+(@PATH,282,5825.152,596.2023,624.6343,0,0,1,0,100,0), -- 17:55:55
+(@PATH,283,5826.152,594.7023,624.6343,0,0,1,0,100,0), -- 17:55:55
+(@PATH,284,5827.402,593.7023,624.6343,0,0,1,0,100,0), -- 17:55:55
+(@PATH,285,5825.07,596.038,624.6668,0,0,1,0,100,0), -- 17:55:56
+(@PATH,286,5826.57,594.788,624.6668,0,0,1,0,100,0), -- 17:55:56
+(@PATH,287,5827.82,593.538,624.6668,0,0,1,0,100,0), -- 17:55:56
+(@PATH,288,5827.82,593.288,624.9168,0,0,1,0,100,0), -- 17:55:56
+(@PATH,289,5829.07,593.288,624.9168,0,0,1,0,100,0), -- 17:55:56
+(@PATH,290,5830.82,593.038,624.9168,0,0,1,0,100,0), -- 17:55:56
+(@PATH,291,5829.417,592.9346,625.0922,0,0,1,0,100,0), -- 17:55:57
+(@PATH,292,5830.917,592.9346,624.8422,0,0,1,0,100,0), -- 17:55:57
+(@PATH,293,5834.417,592.6846,624.5922,0,0,1,0,100,0), -- 17:55:57
+(@PATH,294,5835.417,591.4346,624.8422,0,0,1,0,100,0), -- 17:55:57
+(@PATH,295,5836.917,589.6846,624.8422,0,0,1,0,100,0), -- 17:55:57
+(@PATH,296,5836.748,589.3402,624.8186,0,0,1,0,100,0), -- 17:55:58
+(@PATH,297,5837.498,588.5902,624.8186,0,0,1,0,100,0), -- 17:55:58
+(@PATH,298,5837.498,586.8402,625.0686,0,0,1,0,100,0), -- 17:55:58
+(@PATH,299,5837.748,585.8402,625.0686,0,0,1,0,100,0), -- 17:55:58
+(@PATH,300,5837.972,586.4098,624.9656,0,0,1,0,100,0), -- 17:55:59
+(@PATH,301,5837.972,585.4098,625.2156,0,0,1,0,100,0), -- 17:55:59
+(@PATH,302,5837.972,584.6598,625.2156,0,0,1,0,100,0), -- 17:55:59
+(@PATH,303,5847.725,586.5244,623.9159,0,0,1,0,100,0), -- 17:56:01
+(@PATH,304,5848.381,586.9231,623.4995,0,0,1,0,100,0), -- 17:56:03
+(@PATH,305,5850.881,589.1731,623.4995,0,0,1,0,100,0), -- 17:56:03
+(@PATH,306,5853.684,591.8207,622.5383,0,0,1,0,100,0), -- 17:56:04
+(@PATH,307,5859.724,595.9813,620.9481,0,0,1,0,100,0), -- 17:56:06
+(@PATH,308,5859.907,600.2466,619.8765,0,0,1,0,100,0), -- 17:56:07
+(@PATH,309,5859.657,600.9966,619.8765,0,0,1,0,100,0), -- 17:56:07
+(@PATH,310,5861.254,603.9108,618.8354,0,0,1,0,100,0), -- 17:56:08
+(@PATH,311,5861.504,605.1608,618.5854,0,0,1,0,100,0), -- 17:56:08
+(@PATH,312,5862.816,610.0886,617.6057,0,0,1,0,100,0), -- 17:56:09
+(@PATH,313,5862.816,611.5886,617.1057,0,0,1,0,100,0), -- 17:56:09
+(@PATH,314,5863.816,611.0886,617.1057,0,0,1,0,100,0), -- 17:56:09
+(@PATH,315,5866.566,609.3386,616.1057,0,0,1,0,100,0), -- 17:56:09
+(@PATH,316,5868.066,608.3386,616.6057,0,0,1,0,100,0), -- 17:56:09
+(@PATH,317,5871.561,606.3478,616.0399,0,0,1,0,100,0), -- 17:56:12
+(@PATH,318,5887.811,594.0978,614.7899,0,0,1,0,100,0), -- 17:56:12
+(@PATH,319,5897.243,587.3519,613.1742,0,0,1,0,100,0), -- 17:56:17
+(@PATH,320,5898.243,586.8519,613.1742,0,0,1,0,100,0), -- 17:56:17
+(@PATH,321,5909.608,577.4766,611.9065,0,0,1,0,100,0), -- 17:56:20
+(@PATH,322,5910.358,576.4766,611.9065,0,0,1,0,100,0), -- 17:56:20
+(@PATH,323,5911.358,575.2266,611.9065,0,0,1,0,100,0), -- 17:56:20
+(@PATH,324,5913.358,572.4766,611.4065,0,0,1,0,100,0), -- 17:56:20
+(@PATH,325,5914.358,570.9766,611.1565,0,0,1,0,100,0), -- 17:56:20
+(@PATH,326,5914.869,570.5132,611.2545,0,0,1,0,100,0), -- 17:56:23
+(@PATH,327,5916.025,569.2449,611.0331,0,0,1,0,100,0), -- 17:56:24
+(@PATH,328,5917.275,567.9949,611.0331,0,0,1,0,100,0), -- 17:56:24
+(@PATH,329,5918.775,566.9949,610.7831,0,0,1,0,100,0), -- 17:56:24
+(@PATH,330,5919.525,566.7449,610.2831,0,0,1,0,100,0), -- 17:56:24
+(@PATH,331,5918.525,565.7449,610.2831,0,0,1,0,100,0), -- 17:56:24
+(@PATH,332,5917.025,563.9949,610.2831,0,0,1,0,100,0), -- 17:56:24
+(@PATH,333,5916.275,562.7449,610.2831,0,0,1,0,100,0), -- 17:56:24
+(@PATH,334,5912.947,557.8387,609.8282,0,0,1,0,100,0), -- 17:56:26
+(@PATH,335,5912.697,557.5887,609.8282,0,0,1,0,100,0), -- 17:56:26
+(@PATH,336,5915.036,555.4799,609.9234,0,0,1,0,100,0), -- 17:56:28
+(@PATH,337,5917.036,559.4799,609.9234,0,0,1,0,100,0), -- 17:56:28
+(@PATH,338,5918.786,561.9799,609.9234,0,0,1,0,100,0), -- 17:56:28
+(@PATH,339,5919.535,563.3184,610.3263,0,0,1,0,100,0), -- 17:56:29
+(@PATH,340,5920.785,563.5684,610.3263,0,0,1,0,100,0), -- 17:56:29
+(@PATH,341,5922.832,564.0054,610.0492,0,0,1,0,100,0), -- 17:56:30
+(@PATH,342,5924.082,562.7554,610.0492,0,0,1,0,100,0), -- 17:56:30
+(@PATH,343,5929.893,559.5189,610.0414,0,0,1,0,100,0), -- 17:56:31
+(@PATH,344,5931.28,562.356,609.8469,0,0,1,0,100,0), -- 17:56:32
+(@PATH,345,5930.53,563.356,609.8469,0,0,1,0,100,0), -- 17:56:32
+(@PATH,346,5928.03,565.856,609.8469,0,0,1,0,100,0), -- 17:56:32
+(@PATH,347,5927.28,566.856,609.8469,0,0,1,0,100,0), -- 17:56:32
+(@PATH,348,5897.451,587.326,613.1277,0,0,1,0,100,0), -- 17:56:40
+(@PATH,349,5896.701,588.076,613.3777,0,0,1,0,100,0), -- 17:56:40
+(@PATH,350,5888.951,595.076,614.3777,0,0,1,0,100,0), -- 17:56:40
+(@PATH,351,5887.915,596.0313,614.4434,0,0,1,0,100,0), -- 17:56:43
+(@PATH,352,5868.819,610.8005,615.5193,0,0,1,0,100,0), -- 17:56:47
+(@PATH,353,5866.819,612.0505,615.7693,0,0,1,0,100,0), -- 17:56:47
+(@PATH,354,5865.069,613.3005,616.5193,0,0,1,0,100,0), -- 17:56:47
+(@PATH,355,5866.63,612.3472,615.9749,0,0,1,0,100,0), -- 17:56:50
+(@PATH,356,5865.13,613.5972,616.4749,0,0,1,0,100,0), -- 17:56:50
+(@PATH,357,5864.63,613.8472,616.7249,0,0,1,0,100,0), -- 17:56:50
+(@PATH,358,5864.38,615.5972,616.7249,0,0,1,0,100,0), -- 17:56:50
+(@PATH,359,5863.88,617.3472,616.4749,0,0,1,0,100,0), -- 17:56:50
+(@PATH,360,5863.63,618.5972,616.9749,0,0,1,0,100,0), -- 17:56:50
+(@PATH,361,5864.248,615.8065,616.6554,0,0,1,0,100,0), -- 17:56:51
+(@PATH,362,5863.998,617.8065,616.6554,0,0,1,0,100,0), -- 17:56:51
+(@PATH,363,5863.748,618.8065,616.9054,0,0,1,0,100,0), -- 17:56:51
+(@PATH,364,5863.498,618.8065,616.9054,0,0,1,0,100,0), -- 17:56:51
+(@PATH,365,5865.998,623.0565,616.1554,0,0,1,0,100,0), -- 17:56:51
+(@PATH,366,5866.748,624.0565,616.1554,0,0,1,0,100,0), -- 17:56:51
+(@PATH,367,5866.979,624.3248,616.2649,0,0,1,0,100,0), -- 17:56:52
+(@PATH,368,5869.412,631.2599,615.7915,0,0,1,0,100,0), -- 17:56:54
+(@PATH,369,5873.593,633.4036,615.6859,0,0,1,0,100,0), -- 17:56:55
+(@PATH,370,5872.663,634.2109,615.7021,0,0,1,0,100,0), -- 17:56:58
+(@PATH,371,5869.663,631.2109,615.7021,0,0,1,0,100,0), -- 17:56:58
+(@PATH,372,5866.861,624.7245,616.1404,0,0,1,0,100,0), -- 17:57:00
+(@PATH,373,5866.361,623.4745,616.3904,0,0,1,0,100,0), -- 17:57:00
+(@PATH,374,5864.396,615.572,616.6294,0,0,1,0,100,0), -- 17:57:02
+(@PATH,375,5864.646,614.072,616.8794,0,0,1,0,100,0), -- 17:57:02
+(@PATH,376,5866.896,612.322,615.8794,0,0,1,0,100,0), -- 17:57:02
+(@PATH,377,5868.146,611.572,615.6294,0,0,1,0,100,0), -- 17:57:02
+(@PATH,378,5869.896,610.322,615.8794,0,0,1,0,100,0), -- 17:57:02
+(@PATH,379,5875.009,606.331,615.4817,0,0,1,0,100,0), -- 17:57:06
+(@PATH,380,5896.355,588.4134,613.6219,0,0,1,0,100,0), -- 17:57:08
+(@PATH,381,5897.355,587.4134,613.3719,0,0,1,0,100,0), -- 17:57:08
+(@PATH,382,5898.605,586.1634,613.3719,0,0,1,0,100,0), -- 17:57:08
+(@PATH,383,5910.67,576.61,611.9646,0,0,1,0,100,0), -- 17:57:13
+(@PATH,384,5911.92,575.86,611.7146,0,0,1,0,100,0), -- 17:57:13
+(@PATH,385,5914.42,574.11,611.2146,0,0,1,0,100,0), -- 17:57:13
+(@PATH,386,5912.239,575.5333,611.792,0,0,1,0,100,0), -- 17:57:16
+(@PATH,387,5914.739,573.7833,611.042,0,0,1,0,100,0), -- 17:57:16
+(@PATH,388,5916.489,572.7833,610.792,0,0,1,0,100,0), -- 17:57:16
+(@PATH,389,5918.239,572.0333,611.042,0,0,1,0,100,0), -- 17:57:16
+(@PATH,390,5921.739,571.0333,610.792,0,0,1,0,100,0), -- 17:57:16
+(@PATH,391,5922.739,570.5333,610.542,0,0,1,0,100,0), -- 17:57:16
+(@PATH,392,5923.989,570.0333,610.292,0,0,1,0,100,0), -- 17:57:16
+(@PATH,393,5925.293,569.5073,610.2241,0,0,1,0,100,0), -- 17:57:18
+(@PATH,394,5927.293,566.7573,610.2241,0,0,1,0,100,0), -- 17:57:18
+(@PATH,395,5928.043,566.0073,610.2241,0,0,1,0,100,0), -- 17:57:18
+(@PATH,396,5930.543,563.2573,610.2241,0,0,1,0,100,0), -- 17:57:18
+(@PATH,397,5931.293,562.5073,609.9741,0,0,1,0,100,0); -- 17:57:18
diff --git a/sql/updates/world/2015_11_06_19_world_2015_10_23_00.sql b/sql/updates/world/2015_11_06_19_world_2015_10_23_00.sql
new file mode 100644
index 00000000000..ed83c4897e7
--- /dev/null
+++ b/sql/updates/world/2015_11_06_19_world_2015_10_23_00.sql
@@ -0,0 +1,28 @@
+--
+-- Sandfury Cretin SAI
+SET @ENTRY := 7789;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=2;
+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,2,0,6,0,100,0,0,0,0,0,103,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sandfury Cretin - On Just Died - Set Rooted On");
+
+-- Sandfury Slave SAI
+SET @ENTRY := 7787;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,103,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sandfury Slave - On Just Died - Set Rooted On");
+
+-- Sandfury Drudge SAI
+SET @ENTRY := 7788;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
+(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,103,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sandfury Drudge - On Just Died - Set Rooted On");
+
+-- Sandfury Zealot SAI
+SET @ENTRY := 8877;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=2;
+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,2,0,6,0,100,0,0,0,0,0,103,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sandfury Zealot - On Just Died - Set Rooted On");
diff --git a/sql/updates/world/2015_11_06_20_world_2015_10_23_01.sql b/sql/updates/world/2015_11_06_20_world_2015_10_23_01.sql
new file mode 100644
index 00000000000..01d4dd4206d
--- /dev/null
+++ b/sql/updates/world/2015_11_06_20_world_2015_10_23_01.sql
@@ -0,0 +1,32 @@
+-- Cenarion Circle Reputation
+DELETE FROM `creature_onkill_reputation` WHERE `creature_id` IN (15335, 15727);
+INSERT INTO `creature_onkill_reputation` (`creature_id`, `RewOnKillRepFaction1`, `RewOnKillRepFaction2`, `MaxStanding1`, `IsTeamAward1`, `RewOnKillRepValue1`, `MaxStanding2`, `IsTeamAward2`, `RewOnKillRepValue2`, `TeamDependent`) VALUES
+(15335, 609, 0, 7, 0, 6, 0, 0, 0, 0),
+(15727, 609, 0, 7, 0, 1100, 0, 0, 0, 0);
+
+DELETE FROM `creature_onkill_reputation` WHERE `creature_id` IN (15355, 15538, 15537, 15389, 15391, 15392, 15385, 15338, 15335, 15390, 15319, 15318, 15323, 15320, 15327, 15325, 15386, 15388, 15317, 15316, 15324, 15336);
+INSERT INTO `creature_onkill_reputation` (`creature_id`, `RewOnKillRepFaction1`, `RewOnKillRepFaction2`, `MaxStanding1`, `IsTeamAward1`, `RewOnKillRepValue1`, `MaxStanding2`, `IsTeamAward2`, `RewOnKillRepValue2`, `TeamDependent`) VALUES
+(15335, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15317, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15316, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15324, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15338, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15386, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15325, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15336, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15327, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15320, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15323, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15318, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15319, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15385, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15390, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15392, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15391, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15389, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15537, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15538, 609, 0, 7, 0, 10, 0, 0, 0, 0),
+(15355, 609, 0, 7, 0, 10, 0, 0, 0, 0);
+
+UPDATE `creature_onkill_reputation` SET `RewOnKillRepValue1`=11 WHERE `creature_id` IN (15333, 15461, 15387, 15343);
+UPDATE `creature_onkill_reputation` SET `RewOnKillRepFaction2`=609, `MaxStanding2`=7, `RewOnKillRepValue2`=73 WHERE `creature_id` IN (15276, 15275);
diff --git a/sql/updates/world/2015_11_06_21_world_2015_10_23_02.sql b/sql/updates/world/2015_11_06_21_world_2015_10_23_02.sql
new file mode 100644
index 00000000000..b0ff237e45b
--- /dev/null
+++ b/sql/updates/world/2015_11_06_21_world_2015_10_23_02.sql
@@ -0,0 +1,394 @@
+-- Azuremyst Isle
+
+-- Duplicates
+DELETE FROM creature WHERE guid IN (57365,57401,57367,57392);
+DELETE FROM creature_addon WHERE guid IN (57365,57401,57367,57392);
+-- Vale Moth
+UPDATE creature SET position_x = -4056.166748, position_y = -13679.827148, position_z = 70.195099, orientation = 2.894147 WHERE guid = 57400;
+UPDATE creature SET position_x = -4009.254883, position_y = -13751.575195, position_z = 69.994392, orientation = 1.271510 WHERE guid = 57362;
+UPDATE creature SET position_x = -4002.972168, position_y = -13721.668945, position_z = 66.997993, orientation = 5.467894 WHERE guid = 57364;
+
+-- Mutated Root Lasher
+DELETE FROM creature_addon WHERE guid IN (SELECT guid FROM creature WHERE id = 16517);
+UPDATE creature SET position_x = -4072.798828, position_y = -13457.387695, position_z = 53.739014, orientation = 0.767300 WHERE guid = 57304;
+
+-- Megelon
+-- should kneel
+DELETE FROM `creature_template_addon` WHERE `entry`=16475;
+INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(16475,0,0,8,1,0, '');
+
+-- Red Crystal Bunny
+UPDATE creature_template SET inhabittype = 4 WHERE entry = 17947;
+
+UPDATE creature SET spawndist = 0, MovementType = 0 WHERE guid IN (57429,57418,57435,57419,57417,57425,57431);
+UPDATE creature SET position_x = -4494.916016, position_y = -13426.375977, position_z = 50.020802, orientation = 0.199758 WHERE guid = 57424;
+UPDATE creature SET position_x = -4493.666016, position_y = -13412.100586, position_z = 49.711666, orientation = 5.910391 WHERE guid = 57426;
+UPDATE creature SET position_x = -4489.001953, position_y = -13347.736328, position_z = 55.123600, spawndist = 5 WHERE guid = 57433;
+UPDATE creature SET position_x = -4558.07, position_y = -13383, position_z = 84.0283, orientation = 0.980421, spawndist = 0, MovementType = 0 WHERE guid = 57415;
+UPDATE creature SET position_x = -4561.61, position_y = -13332, position_z = 78.297, orientation = 4.36313, spawndist = 0, MovementType = 0 WHERE guid = 57438;
+UPDATE creature SET position_x = -4495.072754, position_y = -13341.267578, position_z = 54.948174, orientation = 0.872046, spawndist = 0, MovementType = 2 WHERE guid = 57432;
+UPDATE creature SET spawndist = 0, MovementType = 2 WHERE guid IN (57436,57420);
+
+SET @NPC := 57420;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`) VALUES
+(@PATH, 1, -4570.33, -13342, 79.7079),
+(@PATH, 2, -4572.42, -13338.7, 81.9836),
+(@PATH, 3, -4573.8, -13332.1, 85.5403),
+(@PATH, 4, -4573.62, -13325.4, 88.0573),
+(@PATH, 5, -4571.77, -13319.3, 88.317),
+(@PATH, 6, -4558.65, -13302.6, 85.9795),
+(@PATH, 7, -4550.41, -13299, 82.8511),
+(@PATH, 8, -4542.54, -13296.4, 79.706),
+(@PATH, 9, -4551.81, -13299.4, 83.4887),
+(@PATH, 10, -4558, -13302.1, 85.7307),
+(@PATH, 11, -4569.98, -13314.4, 87.7967),
+(@PATH, 12, -4574.35, -13325.8, 87.9575),
+(@PATH, 13, -4574.1, -13333.5, 84.9354),
+(@PATH, 14, -4572.79, -13338.5, 82.1879),
+(@PATH, 15, -4570.21, -13342.1, 79.6678),
+(@PATH, 16, -4565.7, -13343.3, 78.4452);
+
+SET @NPC := 57436;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`) VALUES
+(@PATH, 1, -4537.6, -13317.9, 77.7301),
+(@PATH, 2, -4531.29, -13317.2, 77.917),
+(@PATH, 3, -4538.35, -13312.8, 77.9808),
+(@PATH, 4, -4538.11, -13320.2, 77.6869),
+(@PATH, 5, -4536.77, -13324.9, 77.5682),
+(@PATH, 6, -4537, -13320.7, 77.6223),
+(@PATH, 7, -4533.12, -13307.4, 77.7173),
+(@PATH, 8, -4525.5, -13301.3, 77.8192),
+(@PATH, 9, -4516, -13301.1, 76.9484),
+(@PATH, 10, -4508.35, -13305, 74.2754),
+(@PATH, 11, -4503.76, -13309.2, 70.6749),
+(@PATH, 12, -4502.26, -13315, 68.1374),
+(@PATH, 13, -4500.93, -13322.2, 64.4202),
+(@PATH, 14, -4502.32, -13314.8, 68.1939),
+(@PATH, 15, -4505.17, -13307.9, 71.7238),
+(@PATH, 16, -4511.36, -13302.8, 75.8496),
+(@PATH, 17, -4521.51, -13300.4, 77.5693),
+(@PATH, 18, -4529.88, -13303.2, 77.7191),
+(@PATH, 19, -4536.49, -13312.7, 77.9282),
+(@PATH, 20, -4542.37, -13324.8, 77.5282),
+(@PATH, 21, -4550.38, -13333.2, 77.7908),
+(@PATH, 22, -4550.78, -13344.5, 78.0558),
+(@PATH, 23, -4548.2, -13347.2, 77.6171),
+(@PATH, 24, -4544.49, -13348.3, 76.6312),
+(@PATH, 25, -4550.57, -13355.2, 78.4657),
+(@PATH, 26, -4541.91, -13366.4, 75.7633),
+(@PATH, 27, -4537.09, -13379.5, 72.2425),
+(@PATH, 28, -4526.18, -13391.8, 63.0653),
+(@PATH, 29, -4535.68, -13382.6, 70.6931),
+(@PATH, 30, -4540.1, -13371.5, 74.4121),
+(@PATH, 31, -4543.29, -13364.2, 76.4836),
+(@PATH, 32, -4549.18, -13357.4, 78.4678),
+(@PATH, 33, -4553.56, -13358.2, 78.9982),
+(@PATH, 34, -4556.42, -13365.6, 82.0062),
+(@PATH, 35, -4557.25, -13379.6, 84.2324),
+(@PATH, 36, -4556.48, -13368.8, 83.0642),
+(@PATH, 37, -4554.17, -13357.4, 78.9413),
+(@PATH, 38, -4550.83, -13348.5, 78.0941),
+(@PATH, 39, -4551.95, -13326, 78.1122),
+(@PATH, 40, -4552.54, -13331.4, 77.8854),
+(@PATH, 41, -4555.86, -13336.1, 77.8128),
+(@PATH, 42, -4560.8, -13337.2, 77.8925),
+(@PATH, 43, -4561.78, -13335, 78.0228),
+(@PATH, 44, -4560.34, -13337.7, 77.8832),
+(@PATH, 45, -4551.95, -13333.7, 77.7376),
+(@PATH, 46, -4543.65, -13322.2, 77.7184);
+
+SET @NPC := 57432;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`) VALUES
+(@PATH, 1, -4503.06, -13357.7, 54.1247),
+(@PATH, 2, -4506.78, -13373.2, 53.7056),
+(@PATH, 3, -4507.36, -13387, 53.8641),
+(@PATH, 4, -4506.39, -13372.9, 53.7694),
+(@PATH, 5, -4502.84, -13357.5, 54.1533),
+(@PATH, 6, -4495.22, -13341.5, 54.8385);
+
+UPDATE creature SET spawndist = 0, MovementType = 0 WHERE guid IN (57473,57466,57319,57321,57468,57467,57320,57470,57472,57474,57471,57316,57457,57458,57450,57462,57318,57463,57465,57464,57461);
+UPDATE creature SET position_x = -4471.007813, position_y = -14096.670898, position_z = 109.848373, orientation = 2.725909 WHERE guid = 57464;
+UPDATE creature SET position_x = -4643.638672, position_y = -13940.991211, position_z = 85.342995, orientation = 5.246780 WHERE guid = 57474;
+-- missing added - -- UDB free guid used
+
+DELETE FROM creature WHERE guid IN (
+75958,
+75959,
+75960,
+75961,
+75962,
+75963,
+75964,
+75965,
+75966,
+75967);
+
+INSERT INTO creature (guid, id, map, spawnMask, phaseId, modelid, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, spawndist, curhealth, curmana, MovementType) VALUES
+(75958,16537,530,1,169,0,0,-4434.66,-13759.4,56.6934,6.16494,300,0,71,0,2),
+(75959,16537,530,1,169,0,0,-4447.7,-13871.1,100.039,0.550673,300,0,71,0,2),
+(75960,16537,530,1,169,0,0,-4589.24,-13965.9,82.7032,3.97444,300,0,71,0,2),
+(75961,16537,530,1,169,0,0,-4594.7,-14003.5,86.0174,1.36692,300,0,71,0,2),
+(75962,16537,530,1,169,0,0,-4654.6,-13981.2,85.2454,0.550101,300,5,71,0,1),
+ -- Nestlewwod Owlkin
+(75963,16518,530,1,169,0,0,-4523.47,-14045.3,108.254,1.15354,300,0,86,0,2),
+(75964,16518,530,1,169,0,0,-4622.08,-13980.5,83.0399,5.28298,300,0,86,0,0),
+(75965,16518,530,1,169,0,0,-4637.72,-13935.3,86.0136,5.21538,300,0,71,0,0),
+(75966,16518,530,1,169,0,0,-4667.34,-13966,87.076,5.68662,300,0,86,0,0),
+(75967,16518,530,1,169,0,0,-4646.43,-14010,88.6244,2.11305,300,0,71,0,0);
+
+SET @NPC := 75961;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`) VALUES
+(@PATH, 1, -4592.98, -13982.5, 84.4159),
+(@PATH, 2, -4586.16, -13971.4, 82.9927),
+(@PATH, 3, -4580.24, -13956.1, 83.3117),
+(@PATH, 4, -4572.24, -13945.5, 83.977),
+(@PATH, 5, -4553.06, -13927.5, 84.9424),
+(@PATH, 6, -4540.27, -13916, 87.0233),
+(@PATH, 7, -4533.76, -13907.4, 89.6782),
+(@PATH, 8, -4526.08, -13901.9, 91.075),
+(@PATH, 9, -4511.39, -13896.2, 93.3214),
+(@PATH, 10, -4501.98, -13896, 95.7497),
+(@PATH, 11, -4513.02, -13896.4, 92.8177),
+(@PATH, 12, -4524.08, -13900.5, 91.1834),
+(@PATH, 13, -4533.81, -13907.2, 89.7356),
+(@PATH, 14, -4537.63, -13911.7, 87.7131),
+(@PATH, 15, -4543.6, -13919.2, 87.4545),
+(@PATH, 16, -4552.8, -13927.3, 84.9588),
+(@PATH, 17, -4576.24, -13949, 83.6602),
+(@PATH, 18, -4589.23, -13952, 83.2427),
+(@PATH, 19, -4604.19, -13952, 83.5327),
+(@PATH, 20, -4616.22, -13947.2, 83.8974),
+(@PATH, 21, -4627.14, -13943.9, 84.4674),
+(@PATH, 22, -4637.3, -13944.4, 85.009),
+(@PATH, 23, -4649.9, -13949.8, 85.5586),
+(@PATH, 24, -4657.77, -13959.4, 86.2783),
+(@PATH, 25, -4664.29, -13969.3, 86.5976),
+(@PATH, 26, -4662.94, -13981.2, 86.5135),
+(@PATH, 27, -4659.69, -13991.1, 87.4205),
+(@PATH, 28, -4659.05, -14002.6, 88.7217),
+(@PATH, 29, -4658.11, -13991.3, 87.3414),
+(@PATH, 30, -4652.72, -13982.8, 85.1681),
+(@PATH, 31, -4644.96, -13980.1, 83.6062),
+(@PATH, 32, -4629.25, -13979.6, 82.8775),
+(@PATH, 33, -4612.33, -13973.1, 83.1243),
+(@PATH, 34, -4597.79, -13975.3, 83.3084),
+(@PATH, 35, -4592.27, -13985.8, 84.9837),
+(@PATH, 36, -4594.39, -14003.7, 86.0171);
+
+SET @NPC := 75960;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`) VALUES
+(@PATH, 1, -4592.27, -13969.7, 82.8063),
+(@PATH, 2, -4598.27, -13970.8, 82.8528),
+(@PATH, 3, -4602.71, -13969, 82.9031),
+(@PATH, 4, -4605.37, -13963.2, 82.86),
+(@PATH, 5, -4604.43, -13957.7, 82.9402),
+(@PATH, 6, -4599.52, -13953.3, 83.2446),
+(@PATH, 7, -4593.36, -13953.8, 83.11),
+(@PATH, 8, -4588.46, -13958.5, 82.7968),
+(@PATH, 9, -4588.68, -13965.4, 82.7122);
+
+SET @NPC := 75963;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`) VALUES
+(@PATH, 1, -4517.82, -14036.6, 109.638),
+(@PATH, 2, -4512.34, -14031.9, 111.705),
+(@PATH, 3, -4504.76, -14032, 115.22),
+(@PATH, 4, -4495.7, -14035, 120.769),
+(@PATH, 5, -4485.96, -14035.7, 125.867),
+(@PATH, 6, -4477.07, -14034.1, 130.216),
+(@PATH, 7, -4468.08, -14026.7, 135.697),
+(@PATH, 8, -4463.56, -14019.2, 139.389),
+(@PATH, 9, -4462.25, -14008.6, 144.543),
+(@PATH, 10, -4462.15, -13995.7, 151.398),
+(@PATH, 11, -4459.33, -13989.3, 155.012),
+(@PATH, 12, -4453.88, -13984, 158.884),
+(@PATH, 13, -4442.96, -13977.9, 162.913),
+(@PATH, 14, -4437.08, -13973.9, 163.54),
+(@PATH, 15, -4442.83, -13978.1, 162.882),
+(@PATH, 16, -4447.89, -13981.6, 160.698),
+(@PATH, 17, -4454.41, -13984.3, 158.621),
+(@PATH, 18, -4459.15, -13988.9, 155.249),
+(@PATH, 19, -4462.06, -13995.7, 151.433),
+(@PATH, 20, -4463.62, -14005.8, 145.88),
+(@PATH, 21, -4464.5, -14015.9, 140.278),
+(@PATH, 22, -4465.92, -14022.3, 137.806),
+(@PATH, 23, -4473.41, -14032, 132.139),
+(@PATH, 24, -4480.65, -14035.1, 128.564),
+(@PATH, 25, -4489.53, -14035.6, 123.745),
+(@PATH, 26, -4499.66, -14033.4, 118.385),
+(@PATH, 27, -4509.38, -14031.3, 113.055),
+(@PATH, 28, -4516.56, -14033.5, 110.339),
+(@PATH, 29, -4522.55, -14042.1, 108.413),
+(@PATH, 30, -4522.58, -14049.5, 108.513),
+(@PATH, 31, -4511.73, -14069.1, 108.323),
+(@PATH, 32, -4494.98, -14092.5, 108.716),
+(@PATH, 33, -4480.21, -14106.9, 109.008),
+(@PATH, 34, -4476.78, -14106.6, 109.331),
+(@PATH, 35, -4480.54, -14107, 109.074),
+(@PATH, 36, -4501.89, -14085, 108.471),
+(@PATH, 37, -4513.44, -14066.2, 108.282),
+(@PATH, 38, -4523.29, -14045.9, 108.31),
+(@PATH, 39, -4531.47, -14045.2, 107.159),
+(@PATH, 40, -4540.48, -14042.7, 104.373),
+(@PATH, 41, -4545.76, -14038.1, 101.742),
+(@PATH, 42, -4549.34, -14028.7, 97.4769),
+(@PATH, 43, -4550.8, -14014.1, 91.238),
+(@PATH, 44, -4549.57, -14028.6, 97.381),
+(@PATH, 45, -4545.99, -14038.1, 101.736),
+(@PATH, 46, -4540.46, -14042.4, 104.306),
+(@PATH, 47, -4531.34, -14045, 107.178),
+(@PATH, 48, -4522.13, -14050.4, 108.592),
+(@PATH, 49, -4503.35, -14075.6, 108.32),
+(@PATH, 50, -4475.96, -14095.1, 109.774),
+(@PATH, 51, -4473.36, -14101.2, 109.944),
+(@PATH, 52, -4474.57, -14105.7, 109.152),
+(@PATH, 53, -4480.68, -14108, 109.006),
+(@PATH, 54, -4502.26, -14085.2, 108.472),
+(@PATH, 55, -4522.41, -14050.8, 108.626),
+(@PATH, 56, -4522.98, -14042.5, 108.354);
+
+SET @NPC := 75959;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`) VALUES
+(@PATH, 1, -4438.31, -13862.6, 91.776),
+(@PATH, 2, -4431.32, -13855.8, 84.8948),
+(@PATH, 3, -4426.89, -13851, 80.9621),
+(@PATH, 4, -4425.11, -13841, 79.7135),
+(@PATH, 5, -4425.27, -13831.5, 80.3198),
+(@PATH, 6, -4428.9, -13821.8, 80.8588),
+(@PATH, 7, -4431.14, -13808.6, 82.159),
+(@PATH, 8, -4428.98, -13822, 80.8303),
+(@PATH, 9, -4425.5, -13831.3, 80.3171),
+(@PATH, 10, -4425.99, -13848.9, 80.3403),
+(@PATH, 11, -4422.94, -13853.1, 79.9921),
+(@PATH, 12, -4405.51, -13848.8, 71.1473),
+(@PATH, 13, -4394.64, -13843.8, 69.9378),
+(@PATH, 14, -4373.31, -13829.4, 69.2241),
+(@PATH, 15, -4367.44, -13827.8, 69.2241),
+(@PATH, 16, -4374.24, -13829.8, 69.2241),
+(@PATH, 17, -4395.14, -13844.2, 69.9654),
+(@PATH, 18, -4401.71, -13847.1, 70.3372),
+(@PATH, 19, -4408.22, -13846.1, 70.6981),
+(@PATH, 20, -4410.12, -13840.5, 68.5303),
+(@PATH, 21, -4407.06, -13825, 62.3528),
+(@PATH, 22, -4406.01, -13816.6, 60.4572),
+(@PATH, 23, -4401.2, -13811.8, 58.4539),
+(@PATH, 24, -4395.99, -13804.2, 55.897),
+(@PATH, 25, -4401.33, -13812.3, 58.5553),
+(@PATH, 26, -4405.57, -13815.9, 60.3377),
+(@PATH, 27, -4407.42, -13829.5, 63.9209),
+(@PATH, 28, -4409.96, -13840.7, 68.609),
+(@PATH, 29, -4407.79, -13845.8, 70.5699),
+(@PATH, 30, -4401.1, -13847.4, 70.3476),
+(@PATH, 31, -4393.45, -13843.7, 69.9347),
+(@PATH, 32, -4373.67, -13829.4, 69.2235),
+(@PATH, 33, -4366.85, -13827.6, 69.2235),
+(@PATH, 34, -4374.52, -13829.8, 69.228),
+(@PATH, 35, -4397.51, -13845.3, 70.0348),
+(@PATH, 36, -4405.96, -13849.2, 71.4118),
+(@PATH, 37, -4420.98, -13853.4, 79.1551),
+(@PATH, 38, -4425.01, -13851.3, 80.4895),
+(@PATH, 39, -4426.2, -13842.6, 79.8567),
+(@PATH, 40, -4425.92, -13830.4, 80.3672),
+(@PATH, 41, -4429.15, -13820.9, 80.9154),
+(@PATH, 42, -4431.09, -13808.4, 82.1788),
+(@PATH, 43, -4429.49, -13822.1, 80.7973),
+(@PATH, 44, -4425.68, -13831.3, 80.2927),
+(@PATH, 45, -4425.49, -13843.3, 79.8208),
+(@PATH, 46, -4426.59, -13851.3, 80.9487),
+(@PATH, 47, -4431.98, -13856.3, 85.4742),
+(@PATH, 48, -4438.4, -13862.8, 91.9377),
+(@PATH, 49, -4446.83, -13869.7, 99.5607),
+(@PATH, 50, -4450.92, -13879.3, 102.427),
+(@PATH, 51, -4447.55, -13889, 107.062),
+(@PATH, 52, -4439.39, -13901.1, 116.042),
+(@PATH, 53, -4435.46, -13912.5, 124.001),
+(@PATH, 54, -4434.29, -13919.4, 128.474),
+(@PATH, 55, -4429.09, -13933.4, 138.171),
+(@PATH, 56, -4429.81, -13941.6, 143.975),
+(@PATH, 57, -4426.58, -13948.8, 149.331),
+(@PATH, 58, -4424.46, -13957.5, 154.731),
+(@PATH, 59, -4424.99, -13971.4, 161.606),
+(@PATH, 60, -4425, -13966.8, 160.317),
+(@PATH, 61, -4424.71, -13954.9, 153.1),
+(@PATH, 62, -4426.49, -13948.2, 149.01),
+(@PATH, 63, -4429.64, -13942, 144.229),
+(@PATH, 64, -4429.46, -13931.9, 137.163),
+(@PATH, 65, -4433.91, -13920.2, 129.02),
+(@PATH, 66, -4436.84, -13906.8, 119.518),
+(@PATH, 67, -4439.42, -13900.3, 115.63),
+(@PATH, 68, -4445.36, -13893.5, 110.394),
+(@PATH, 69, -4449.88, -13882.6, 103.797),
+(@PATH, 70, -4450.84, -13875.1, 101.276),
+(@PATH, 71, -4448.44, -13870.8, 100.18);
+
+SET @NPC := 75958;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`) VALUES
+(@PATH, 1, -4397.45, -13759, 52.5403),
+(@PATH, 2, -4387.6, -13750.7, 51.187),
+(@PATH, 3, -4384.44, -13738.6, 50.5713),
+(@PATH, 4, -4385.32, -13731.1, 50.4359),
+(@PATH, 5, -4391.07, -13724.8, 50.5065),
+(@PATH, 6, -4426.98, -13722.3, 51.7162),
+(@PATH, 7, -4437.56, -13719.7, 51.5869),
+(@PATH, 8, -4446.66, -13713.5, 49.9453),
+(@PATH, 9, -4450.02, -13707.3, 48.3929),
+(@PATH, 10, -4448.54, -13698.3, 47.5457),
+(@PATH, 11, -4440.44, -13690.5, 45.7925),
+(@PATH, 12, -4434.76, -13689.6, 45.5794),
+(@PATH, 13, -4430.11, -13694, 46.9106),
+(@PATH, 14, -4423.66, -13715.8, 51.0542),
+(@PATH, 15, -4418.28, -13721.3, 51.1114),
+(@PATH, 16, -4391.7, -13722.8, 50.4426),
+(@PATH, 17, -4381.61, -13727.8, 50.2699),
+(@PATH, 18, -4380.06, -13739.4, 50.4521),
+(@PATH, 19, -4383.25, -13752.4, 50.4515),
+(@PATH, 20, -4392.68, -13769.2, 52.2511),
+(@PATH, 21, -4390.35, -13775.7, 52.1454),
+(@PATH, 22, -4370.44, -13787.6, 52.2808),
+(@PATH, 23, -4368.16, -13791.2, 52.3032),
+(@PATH, 24, -4369.71, -13795.9, 52.4165),
+(@PATH, 25, -4379.54, -13798.8, 52.1976),
+(@PATH, 26, -4391, -13795.6, 53.3708),
+(@PATH, 27, -4392.48, -13786.4, 52.7211),
+(@PATH, 28, -4409.88, -13759.7, 53.5569),
+(@PATH, 29, -4434.79, -13759.4, 56.6967);
diff --git a/sql/updates/world/2015_11_06_22_world_2015_10_27_01.sql b/sql/updates/world/2015_11_06_22_world_2015_10_27_01.sql
new file mode 100644
index 00000000000..1fae9b7ca94
--- /dev/null
+++ b/sql/updates/world/2015_11_06_22_world_2015_10_27_01.sql
@@ -0,0 +1,25 @@
+UPDATE `smart_scripts` SET `event_phase_mask`=1 WHERE `entryorguid`=32257 AND `source_type`=0 AND `id` in(0,1,2);
+
+
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=32257 AND `id`>2;
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=3225700;
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=3214901;
+
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=32149 AND `id`=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
+(32257, 0, 3, 0, 1, 0, 100, 0, 5000, 5000, 5000, 5000, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Scourge Converter - OOC - Set Phase 2'),
+(32257, 0, 4, 0, 4, 0, 100, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Scourge Converter - On Agro - Set Phase 1'),
+(32257, 0, 5, 0, 75, 2,33, 0, 0, 32149, 40, 120000, 80, 3225700, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Scourge Converter - On Fallen Heros Spirit within 30 yards (Phase 2/5% Chance) - Run Script'),
+(32149, 0, 1, 0, 8, 0, 100, 1, 60231, 0, 0, 0, 80, 3214901, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Fallen Hero\'s Spirit - On Spellhit "Grip of the Scourge" - Run Script'),
+(3214901, 9, 0, 0, 0, 0, 100, 0, 10, 10, 0, 0, 75, 60231, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Fallen Heros Spirit - Script - Add Aura Grip of the Scourge'),
+(3214901, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Fallen Heros Spirit - Script - Turn random movement off'),
+
+(3214901, 9, 2, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 7464.0068, 2445.8369, 384.2378, 0, 'Fallen Heros Spirit - Script - Move to Position'),
+(3214901, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 10000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Fallen Heros Spirit - Script - Despawn'),
+(3225700, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 60212, 64, 0, 0, 0, 0, 19, 32149, 0, 0, 0, 0, 0, 0, 'Scourge Converter - Script - Cast Grip of the Scourge');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry`=66719 AND `ConditionTypeOrReference`=1;
+
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(17, 0, 66719, 0, 0, 1, 1, 60231, 0, 0, 1, 0, 0, '', 'Blessing of Peace cannot be cast on unit with Grip of the Scourge');
diff --git a/sql/updates/world/2015_11_06_23_world_2015_10_31_00.sql b/sql/updates/world/2015_11_06_23_world_2015_10_31_00.sql
new file mode 100644
index 00000000000..edae60f42d6
--- /dev/null
+++ b/sql/updates/world/2015_11_06_23_world_2015_10_31_00.sql
@@ -0,0 +1,7 @@
+UPDATE `creature_text` SET `text`='It is over, your search is done. Let fate choose now, the righteous one.', `sound`=11961,`BroadcastTextId`=22261 WHERE `entry`=23682 AND `groupid`=0 AND `id`=0; -- Summon
+UPDATE `creature_text` SET `text`='Here\'s my body, fit and pure! Now, your blackened souls I\'ll cure!', `sound`=12567,`BroadcastTextId`=22271 WHERE `entry`=23682 AND `groupid`=1 AND `id`=0; -- Agro
+UPDATE `creature_text` SET `text`='Harken, cur! Tis you I spurn! Now feel... the burn!', `type`=12,`BroadcastTextId`=22587 WHERE `entry`=23682 AND `groupid`=2 AND `id`=0; -- Conflaguate
+UPDATE `creature_text` SET `text`='Soldiers arise, stand and fight! Bring victory at last to this fallen knight!', `sound`=11963,`BroadcastTextId`=23861 WHERE `entry`=23682 AND `groupid`=3 AND `id`=0; -- Summon Pumkins
+UPDATE `creature_text` SET `text`='This end have I reached before. What new adventure lies in store?', `sound`=11964,`BroadcastTextId`=23455 WHERE `entry`=23682 AND `groupid`=4 AND `id`=0; -- Death
+UPDATE `creature_text` SET `text`='So eager you are, for my blood to spill. Yet to vanquish me, \'tis my head you must kill!', `sound`=11969, `BroadcastTextId`=22757 WHERE `entry`=23775 AND `groupid`=0 AND `id`=0; -- Loose Head
+UPDATE `creature_text` SET `text`='Your body lies beaten, battered and broken! Let my curse be your own, fate has spoken!', `sound`=11962,`BroadcastTextId`=40546 WHERE `entry`=23775 AND `groupid`=1 AND `id`=0; -- PLayer Death
diff --git a/sql/updates/world/2015_11_06_24_world_2015_10_31_01.sql b/sql/updates/world/2015_11_06_24_world_2015_10_31_01.sql
new file mode 100644
index 00000000000..28aae78fac0
--- /dev/null
+++ b/sql/updates/world/2015_11_06_24_world_2015_10_31_01.sql
@@ -0,0 +1,8 @@
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND `SourceGroup`=26477;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(18, 26477, 47096, 0, 0, 9, 0, 12000, 0, 0, 0, 0, 0, '', 'Required quest active for spellclick'),
+(18, 26477, 47096, 0, 1, 9, 0, 11999, 0, 0, 0, 0, 0, '', 'Required quest active for spellclick'),
+(18, 26477, 61286, 0, 0, 9, 0, 12000, 0, 0, 0, 0, 0, '', 'Required quest active for spellclick'),
+(18, 26477, 61286, 0, 1, 9, 0, 11999, 0, 0, 0, 0, 0, '', 'Required quest active for spellclick'),
+(18, 26477, 61832, 0, 0, 9, 0, 11999, 0, 0, 0, 0, 0, '', 'Required quest active for spellclick'),
+(18, 26477, 61832, 0, 1, 9, 0, 12000, 0, 0, 0, 0, 0, '', 'Required quest active for spellclick');
diff --git a/sql/updates/world/2015_11_06_25_world_2015_10_31_02.sql b/sql/updates/world/2015_11_06_25_world_2015_10_31_02.sql
new file mode 100644
index 00000000000..6dfeba2116c
--- /dev/null
+++ b/sql/updates/world/2015_11_06_25_world_2015_10_31_02.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `creature` SET `MovementType`=2 WHERE `guid`=84011 AND `id`=18672;
diff --git a/sql/updates/world/2015_11_06_26_world_2015_11_01_00.sql b/sql/updates/world/2015_11_06_26_world_2015_11_01_00.sql
new file mode 100644
index 00000000000..dabd7d27138
--- /dev/null
+++ b/sql/updates/world/2015_11_06_26_world_2015_11_01_00.sql
@@ -0,0 +1,127 @@
+DELETE FROM `smart_scripts` WHERE `entryorguid`IN(20102,18927,19177,19169,19175,19171,19172,19176,19178,19173,19148) AND `source_type`=0 AND `id` IN(6,11);
+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
+(19148,0,6,0,1,0,100,0,3000,15000,45000,90000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Dwarf Commoner - OOC - Say'),
+(19171,0,6,0,1,0,100,0,3000,15000,45000,90000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Dreanei Commoner - OOC - Say'),
+(20102,0,6,0,1,0,100,0,3000,15000,45000,90000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Goblin Commoner - OOC - Say'),
+(19172,0,6,0,1,0,100,0,3000,15000,45000,90000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gnome Commoner - OOC - Say'),
+(19173,0,6,0,1,0,100,0,3000,15000,45000,90000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Night Elf Commoner - OOC - Say'),
+(18927,0,6,0,1,0,100,0,3000,15000,45000,90000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Human Commoner - OOC - Say'),
+(19175,0,6,0,1,0,100,0,3000,15000,45000,90000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orc Commoner - OOC - Say'),
+(19176,0,6,0,1,0,100,0,3000,15000,45000,90000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tauren Commoner - OOC - Say'),
+(19177,0,6,0,1,0,100,0,3000,15000,45000,90000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Troll Commoner - OOC - Say'),
+(19178,0,6,0,1,0,100,0,3000,15000,45000,90000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Forsaken Commoner - OOC - Say'),
+(19169,0,6,0,1,0,100,0,3000,15000,45000,90000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blood Elf Commoner - OOC - Say'),
+
+(19171,0,11,0,64,0,100,0,0,0,0,0,98,8936,11957,0,0,0,0,1,0,0,0,0,0,0,0,'Dreanei Commoner - On Gossip Hello - Send Gossip'),
+(20102,0,11,0,64,0,100,0,0,0,0,0,98,8939,11960,0,0,0,0,1,0,0,0,0,0,0,0,'Goblin Commoner - On Gossip Hello - Send Gossip'),
+(19172,0,11,0,64,0,100,0,0,0,0,0,98,8938,11959,0,0,0,0,1,0,0,0,0,0,0,0,'Gnome Commoner - On Gossip Hello - Send Gossip'),
+(19173,0,11,0,64,0,100,0,0,0,0,0,98,8941,11962,0,0,0,0,1,0,0,0,0,0,0,0,'Night Elf Commoner - On Gossip Hello - Send Gossip'),
+(18927,0,11,0,64,0,100,0,0,0,0,0,98,8940,11961,0,0,0,0,1,0,0,0,0,0,0,0,'Human Commoner - On Gossip Hello - Send Gossip'),
+(19175,0,11,0,64,0,100,0,0,0,0,0,98,8942,11963,0,0,0,0,1,0,0,0,0,0,0,0,'Orc Commoner - On Gossip Hello - Send Gossip'),
+(19176,0,11,0,64,0,100,0,0,0,0,0,98,8943,11964,0,0,0,0,1,0,0,0,0,0,0,0,'Tauren Commoner - On Gossip Hello - Send Gossip'),
+(19177,0,11,0,64,0,100,0,0,0,0,0,98,8944,11965,0,0,0,0,1,0,0,0,0,0,0,0,'Troll Commoner - On Gossip Hello - Send Gossip'),
+(19178,0,11,0,64,0,100,0,0,0,0,0,98,8945,11966,0,0,0,0,1,0,0,0,0,0,0,0,'Forsaken Commoner - On Gossip Hello - Send Gossip'),
+(19169,0,11,0,64,0,100,0,0,0,0,0,98,8935,11956,0,0,0,0,1,0,0,0,0,0,0,0,'Blood Elf Commoner - On Gossip Hello - Send Gossip');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` in(20102,18927,19177,19169,19175,19171,19172,19176,19178,19173,19148) AND `SourceGroup`=7;
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` in(20102,18927,19177,19169,19175,19171,19172,19176,19178,19173,19148) AND `SourceGroup`=12;
+
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(22, 7, 19148, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 7, 20102, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 7, 18927, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 7, 19171, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 7, 19172, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 7, 19173, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 7, 19175, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 7, 19176, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 7, 19177, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 7, 19178, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 7, 19169, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 12, 20102, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 12, 18927, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 12, 19171, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 12, 19172, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 12, 19173, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 12, 19175, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 12, 19176, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 12, 19177, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 12, 19178, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active'),
+(22, 12, 19169, 0, 0, 12, 1, 12, 0, 0, 0, 0, 0, '', 'Commoner - Hallows End must be active');
+
+DELETE FROM `gossip_menu` WHERE `entry` IN(8936,8939,8938,8941,8940,8942,8943,8944,8945,8935);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
+(8936,11957),
+(8939,11960),
+(8938,11959),
+(8941,11962),
+(8940,11961),
+(8942,11963),
+(8943,11964),
+(8944,11965),
+(8945,11966),
+(8935,11956);
+
+DELETE FROM `creature_text` WHERE `entry` IN(20102,18927,19177,19169,19175,19171,19176,19178,19173,19148) AND `groupid`=6;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES
+(19171, 6, 0, 'What do you think of the mask?', 12, 7, 100, 1, 0, 0, 24339, 'Draenei Commoner to Draenei Commoner'),
+(19171, 6, 1, 'You know... why DO we celebrate this holiday?', 12, 7, 100, 0, 0, 0, 23287, 'Draenei Commoner to Draenei Commoner'),
+(19171, 6, 2, 'For the Horde!', 12, 7, 100, 4, 0, 0, 23357, 'Draenei Commoner to Draenei Commoner'),
+(19173, 6, 0, 'Next year, I''m dressing up as either a corsair or an assassin.', 12, 7, 100, 1, 0, 0, 24338, 'Night Elf Commoner to Night Elf Commoner'),
+(19173, 6, 1, 'Happy Hallow''s End!', 12, 7, 100, 0, 0, 0, 24346, 'Night Elf Commoner to Night Elf Commoner'),
+(19173, 6, 2, 'We should go trick or treating later.', 12, 7, 100, 0, 0, 0, 0, 'Night Elf Commoner to Night Elf Commoner'),
+(19173, 6, 3, 'For the Horde!', 12, 7, 100, 4, 0, 0, 23357, 'Night Elf Commoner to Night Elf Commoner'),
+(19173, 6, 4, 'Curse this twisting of the night. The candy''s good, though.', 12, 7, 100, 0, 0, 0, 23294, 'Night Elf Commoner to Night Elf Commoner'),
+(19173, 6, 5, 'You know... why DO we celebrate this holiday?', 12, 7, 100, 0, 0, 0, 23287, 'Night Elf Commoner to Night Elf Commoner'),
+(19173, 6, 6, 'What do you think of the mask?', 12, 7, 100, 1, 0, 0, 24339, 'Night Elf Commoner to Night Elf Commoner'),
+(19173, 6, 7, 'Next year, I''m dressing up as either a corsair or an assassin.', 12, 7, 100, 1, 0, 0, 24338, 'Night Elf Commoner to Night Elf Commoner'),
+(18927, 6, 0, 'Brains... braaaiiins!', 12, 7, 100, 15, 0, 0, 23358, 'Human Commoner to Human Commoner'),
+(18927, 6, 1, 'We should go trick or treating later.', 12, 7, 100, 396, 0, 0, 24348, 'Human Commoner to Human Commoner'),
+(18927, 6, 2, 'Are there any more inns we can visit for treats?', 12, 7, 100, 0, 0, 0, 23293, 'Human Commoner to Human Commoner'),
+(18927, 6, 3, 'We should go trick or treating later.', 12, 7, 100, 0, 0, 0, 24348, 'Human Commoner to Human Commoner'),
+(18927, 6, 4, 'For the Horde!', 12, 7, 100, 274, 0, 0, 23357, 'Human Commoner to Human Commoner'),
+(18927, 6, 5, 'What do you think of the mask?', 12, 7, 100, 1, 0, 0, 24339, 'Human Commoner to Human Commoner'),
+(18927, 6, 6, 'You know... why DO we celebrate this holiday?', 12, 7, 100, 0, 0, 0, 23287, 'Human Commoner to Human Commoner'),
+(19148, 6, 0, 'I think I''ve eaten too much candy...', 12, 7, 100, 0, 0, 0, 24347, 'Dwarf Commoner to Dwarf Commoner'),
+(19148, 6, 1, 'Happy Hallow''s End!', 12, 7, 100, 0, 0, 0, 24346, 'Dwarf Commoner to Dwarf Commoner'),
+(20102, 6, 0, 'We should go trick or treating later.', 12, 0, 100, 0, 0, 0, 23286, 'Goblin Commoner to Goblin Commoner'),
+(20102, 6, 1, 'There MUST be a way to make more money off of this holiday.', 12, 0, 100, 0, 0, 0, 23299, 'Goblin Commoner to Goblin Commoner'),
+(20102, 6, 2, 'The innkeepers are mad to be giving away treats for free.', 12, 0, 100, 0, 0, 0, 23300, 'Goblin Commoner to Goblin Commoner'),
+(20102, 6, 3, 'For the Alliance! Wait... the Horde! Wait... which was I again?', 12, 0, 100, 4, 0, 149, 23364, 'Goblin Commoner to Goblin Commoner'),
+(19176, 6, 0, 'What do you think of the mask?', 12, 1, 100, 1, 0, 0, 24337, 'Tauren Commoner to Tauren Commoner'),
+(19176, 6, 1, 'Ishnu-dal-dieb.', 12, 1, 100, 3, 0, 0, 23355, 'Tauren Commoner to Tauren Commoner'),
+(19176, 6, 2, 'For the Alliance!', 12, 1, 100, 4, 0, 0, 23351, 'Tauren Commoner to Tauren Commoner'),
+(19177, 6, 0, 'Next year, I''m dressing up as either a corsair or an assassin.', 12, 1, 100, 1, 0, 0, 24336, 'Troll Commoner to Troll Commoner'),
+(19177, 6, 1, 'Happy Hallow''s End!', 12, 1, 100, 0, 0, 0, 24329, 'Troll Commoner to Troll Commoner'),
+(19177, 6, 2, 'What do you think of the mask?', 12, 1, 100, 1, 0, 0, 24337, 'Troll Commoner to Troll Commoner'),
+(19177, 6, 3, 'Boo-hoo! I''m a poor little gnome, and I don''t have a capital ci... oh, wait.', 12, 1, 100, 1, 0, 0, 23354, 'Troll Commoner to Troll Commoner'),
+(19177, 6, 4, 'Someone should make a candy with a chewy gnome center.', 12, 1, 100, 0, 0, 0, 23297, 'Troll Commoner to Troll Commoner'),
+(19177, 6, 5, 'We should go trick or treating later.', 12, 1, 100, 0, 0, 0, 24331, 'Troll Commoner to Troll Commoner'),
+(19177, 6, 6, 'I think I''ve eaten too much candy...', 12, 1, 100, 0, 0, 0, 24330, 'Troll Commoner to Troll Commoner'),
+(19178, 6, 0, 'We should go trick or treating later.', 12, 1, 100, 0, 0, 0, 24331, 'Forsaken Commoner to Forsaken Commoner'),
+(19178, 6, 1, 'We should attend the next burning of the Wickerman.', 12, 1, 100, 0, 0, 0, 23292, 'Forsaken Commoner to Forsaken Commoner'),
+(19178, 6, 2, 'For the Alliance!', 12, 1, 100, 4, 0, 0, 23351, 'Forsaken Commoner to Forsaken Commoner'),
+(19178, 6, 3, 'Happy Hallow''s End!', 12, 1, 100, 0, 0, 0, 24329, 'Forsaken Commoner to Forsaken Commoner'),
+(19178, 6, 4, 'I think I''ve eaten too much candy...', 12, 1, 100, 0, 0, 0, 24330, 'Forsaken Commoner to Forsaken Commoner'),
+(19178, 6, 5, 'I think I''ve eaten too much candy...', 12, 1, 100, 274, 0, 0, 24330, 'Forsaken Commoner to Forsaken Commoner'),
+(19169, 6, 0, 'Gaze upon my crazy tentacle-face and despair, Azerothian!', 12, 1, 100, 23, 0, 0, 23356, 'Blood Elf Commoner to Blood Elf Commoner'),
+(19169, 6, 1, 'Next year, I''m dressing up as either a corsair or an assassin.', 12, 1, 100, 1, 0, 0, 24336, 'Blood Elf Commoner to Blood Elf Commoner'),
+(19169, 6, 2, 'I think I''ve eaten too much candy...', 12, 1, 100, 0, 0, 0, 24330, 'Blood Elf Commoner to Blood Elf Commoner'),
+(19169, 6, 3, 'What do you think of the mask?', 12, 1, 100, 1, 0, 0, 24337, 'Blood Elf Commoner to Blood Elf Commoner'),
+(19169, 6, 4, 'We should go trick or treating later.', 12, 1, 100, 0, 0, 0, 24331, 'Blood Elf Commoner to Blood Elf Commoner'),
+(19169, 6, 5, 'Happy Hallow''s End!', 12, 1, 100, 0, 0, 0, 24329, 'Blood Elf Commoner to Blood Elf Commoner'),
+(19169, 6, 6, 'This time of year is quite important to our Forsaken allies.', 12, 1, 100, 0, 0, 0, 23288, 'Blood Elf Commoner to Blood Elf Commoner'),
+(19169, 6, 7, 'For the Alliance!', 12, 1, 100, 4, 0, 0, 23351, 'Blood Elf Commoner to Blood Elf Commoner'),
+(19169, 6, 8, 'We should attend the next burning of the Wickerman.', 12, 1, 100, 0, 0, 0, 23292, 'Blood Elf Commoner to Blood Elf Commoner'),
+(19169, 6, 9, 'What do you think of the mask?', 12, 1, 100, 273, 0, 0, 24337, 'Blood Elf Commoner to Blood Elf Commoner'),
+(19175, 6, 0, 'We should go trick or treating later.', 12, 1, 100, 0, 0, 0, 24331, 'Orc Commoner to Orc Commoner'),
+(19175, 6, 1, 'Happy Hallow''s End!', 12, 1, 100, 0, 0, 0, 24329, 'Orc Commoner to Orc Commoner'),
+(19175, 6, 2, 'What do you think of the mask?', 12, 1, 100, 1, 0, 0, 24337, 'Orc Commoner to Orc Commoner'),
+(19175, 6, 3, 'We should attend the next burning of the Wickerman.', 12, 1, 100, 0, 0, 0, 23292, 'Orc Commoner to Orc Commoner'),
+(19175, 6, 4, 'We should go trick or treating later.', 12, 1, 100, 273, 0, 0, 24331, 'Orc Commoner to Orc Commoner'),
+(19175, 6, 5, 'Where''s me gold? Where''s me beer? Where''s me feet?', 12, 1, 100, 6, 0, 0, 23352, 'Orc Commoner to Orc Commoner'),
+(19175, 6, 6, 'For the Alliance!', 12, 1, 100, 4, 0, 0, 23351, 'Orc Commoner to Orc Commoner'),
+(19175, 6, 7, 'Where''s me gold? Where''s me beer? Where''s me feet?', 12, 1, 100, 6, 0, 0, 23352, 'Orc Commoner to Orc Commoner'),
+(19175, 6, 8, 'The Forsaken are right to celebrate their freedom.', 12, 1, 100, 0, 0, 0, 23295, 'Orc Commoner to Orc Commoner'),
+(19175, 6, 9, 'I think I''ve eaten too much candy...', 12, 1, 100, 396, 0, 0, 24330, 'Orc Commoner to Orc Commoner'),
+(19175, 6, 10, 'I think I''ve eaten too much candy...', 12, 1, 100, 0, 0, 0, 24330, 'Orc Commoner to Orc Commoner');
diff --git a/sql/updates/world/2015_11_06_27_world_2015_11_01_03.sql b/sql/updates/world/2015_11_06_27_world_2015_11_01_03.sql
new file mode 100644
index 00000000000..13b0157d7ba
--- /dev/null
+++ b/sql/updates/world/2015_11_06_27_world_2015_11_01_03.sql
@@ -0,0 +1,29 @@
+-- farlina cleanup
+-- areatrigger for greeting
+DELETE FROM `areatrigger_scripts` WHERE `entry`=4115;
+INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES
+(4115,"at_faerlina_entrance");
+
+DELETE FROM `creature_text` WHERE `entry`=15953 AND `groupid` IN (4,5);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`probability`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
+(15953,4,0,"%s is affected by Widow's Embrace!",41,100,31019,3,"Faerlina EMOTE_WIDOW_EMBRACE"),
+(15953,5,0,"%s goes into a frenzy!",41,100,2384,3,"Faerlina EMOTE_FRENZY");
+
+-- remove some random spiders that aren't there on retail
+DELETE FROM `creature` WHERE `guid` IN (127961,127962);
+-- move followers to summon groups to avoid buggy respawn behavior of minions
+DELETE FROM `creature` WHERE `guid` IN (128061,128062,128063,128064);
+DELETE FROM `linked_respawn` WHERE `guid` IN (128061,128062,128063,128064);
+DELETE FROM `creature_summon_groups` WHERE `summonerId`=15953;
+INSERT INTO `creature_summon_groups` (`summonerId`,`summonerType`,`groupId`,`entry`,`position_x`,`position_y`,`position_z`,`orientation`,`summonType`) VALUES
+(15953,0,1,16506,3362.66 ,-3620.97,261.08,4.57276,8),
+(15953,0,1,16506,3356.71 ,-3620.05,261.08,4.57276,8),
+(15953,0,2,16505,3359.685,-3620.51,261.08,4.57276,8),
+(15953,0,1,16506,3344.3 ,-3618.31,261.08,4.69494,8),
+(15953,0,1,16506,3350.26 ,-3619.11,261.08,4.69494,8),
+(15953,0,2,16505,3347.28 ,-3618.71,261.08,4.69494,8);
+
+-- naxxramas follower SAI changes
+DELETE FROM `smart_scripts` WHERE `entryorguid`=16505 AND `source_type`=0 AND `id`=2;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`event_type`,`event_chance`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`target_type`,`comment`) VALUES
+(16505,0,2,4,100,39,75,0,0,0, "Naxxramas Follower - On Aggro - Call For Help (75yd)");
diff --git a/sql/updates/world/2015_11_06_28_world_2015_11_01_04.sql b/sql/updates/world/2015_11_06_28_world_2015_11_01_04.sql
new file mode 100644
index 00000000000..90efdecdf4f
--- /dev/null
+++ b/sql/updates/world/2015_11_06_28_world_2015_11_01_04.sql
@@ -0,0 +1,27 @@
+DELETE FROM `creature_template_addon` WHERE `entry` IN (35254, 35253, 35252, 35251, 35250, 35249, 35248, 35247, 35246, 35256, 34484, 34483, 34482, 34481, 34480, 34479, 34478, 34477, 34476, 34435, 35258, 35244, 35259, 35260, 35261);
+INSERT INTO `creature_template_addon` (`entry`, `emote`, `auras`) VALUES
+(35254, 10, "33900 30628"),
+(35253, 10, "33900 30628"),
+(35252, 10, "33900 30628"),
+(35251, 10, "33900 30628"),
+(35250, 10, "33900 30628"),
+(35249, 10, "33900 30628"),
+(35248, 10, "33900 30628"),
+(35247, 10, "33900 30628"),
+(35246, 10, "33900 30628"),
+(35256, 0, "33900 30628"),
+(34484, 0, "33900 30628"),
+(34483, 0, "33900 30628"),
+(34482, 0, "33900 30628"),
+(34481, 0, "33900 30628"),
+(34480, 0, "33900 30628"),
+(34479, 0, "33900 30628"),
+(34478, 0, "33900 30628"),
+(34477, 0, "33900 30628"),
+(34476, 0, "33900 30628"),
+(34435, 0, "33900 30628"),
+(35258, 0, "33900 30628"),
+(35244, 0, "33900 30628"),
+(35259, 0, "33900 30628"),
+(35260, 0, "33900 30628"),
+(35261, 0, "33900 30628");
diff --git a/sql/updates/world/2015_11_06_29_world_2015_11_02_00.sql b/sql/updates/world/2015_11_06_29_world_2015_11_02_00.sql
new file mode 100644
index 00000000000..19379ad7d71
--- /dev/null
+++ b/sql/updates/world/2015_11_06_29_world_2015_11_02_00.sql
@@ -0,0 +1,26 @@
+-- Anub'Rekhan cleanup
+-- areatrigger for greeting upon entering room
+DELETE FROM `areatrigger_scripts` WHERE `entry`=4119;
+INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES
+(4119,"at_anubrekhan_entrance");
+
+-- make crypt guards aggro anub when pulled
+DELETE FROM `smart_scripts` WHERE `entryorguid`=16573 AND `source_type`=0 AND `id` IN (6,7);
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_chance`,`event_flags`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`target_type`,`comment`) VALUES
+(16573,0, 6, 0, 4,100,0,39, 25, 0, 0, 0, "Crypt Guard - On Aggro - Call For Help (25yd)"),
+(16573,0, 7, 5,61,100,0,1, 0, 0, 0, 0, "Crypt Guard - On Cast Frenzy - Say EMOTE_FRENZY");
+UPDATE `smart_scripts` SET `link`=7 WHERE `entryorguid`=16573 AND `source_type`=0 AND `id`=5;
+
+DELETE FROM `creature_text` WHERE `entry`=16573;
+DELETE FROM `creature_text` WHERE `entry`=15956 AND `groupid`=3;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`probability`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
+(16573,0,0,"%s goes into a frenzy!",16,100,1191,3,"Crypt Guard EMOTE_FRENZY"),
+(16573,1,0,"A Crypt Guard joins the fight!",41,100,29887,3,"Crypt Guard EMOTE_SPAWN"),
+(16573,2,0,"Corpse Scarabs appear from a Crypt Guard's corpse!",41,100,32796,3,"Crypt Guard EMOTE_SCARAB"),
+(15956,3,0,"Anub'Rekhan begins to unleash an insect swarm!",41,100,13443,3,"Anub'Rekhan EMOTE_LOCUST");
+
+DELETE FROM `creature_summon_groups` WHERE `summonerId`=15956;
+INSERT INTO `creature_summon_groups` (`summonerId`,`summonerType`,`groupId`,`entry`,`position_x`,`position_y`,`position_z`,`orientation`,`summonType`) VALUES
+(15956,0,1,16573, 3300.503, -3503.574, 287.1606, 2.321288, 8),
+(15956,0,1,16573, 3299.283, -3450.938, 287.1606, 3.839724, 8),
+(15956,0,2,16573, 3334.41 , -3476.84 , 287.1553, 0, 8);
diff --git a/sql/updates/world/2015_11_06_30_world_2015_11_02_01.sql b/sql/updates/world/2015_11_06_30_world_2015_11_02_01.sql
new file mode 100644
index 00000000000..c074e6b7de8
--- /dev/null
+++ b/sql/updates/world/2015_11_06_30_world_2015_11_02_01.sql
@@ -0,0 +1,432 @@
+-- Pathing for Phoenix-Hawk Entry: 20039 'TDB FORMAT'
+SET @NPC := 12475;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=404.3267,`position_y`=51.04832,`position_z`=20.42939 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,404.3267,51.04832,20.42939,0,0,1,0,100,0), -- 15:53:14
+(@PATH,2,363.3958,82.78564,20.16342,0,0,1,0,100,0), -- 15:53:20
+(@PATH,3,351.0526,86.04145,20.2427,0,0,1,0,100,0), -- 15:53:21
+(@PATH,4,332.8026,86.04145,20.4927,0,0,1,0,100,0), -- 15:53:21
+(@PATH,5,322.5526,86.29145,20.2427,0,0,1,0,100,0), -- 15:53:21
+(@PATH,6,309.8975,86.35751,20.44322,0,0,1,0,100,0), -- 15:53:25
+(@PATH,7,298.1475,82.35751,20.44322,0,0,1,0,100,0), -- 15:53:25
+(@PATH,8,276.9726,72.43015,20.42969,0,0,1,0,100,0), -- 15:53:27
+(@PATH,9,256.9967,56.60734,20.43009,0,0,1,0,100,0), -- 15:53:29
+(@PATH,10,256.7982,56.72626,20.43009,0,0,1,0,100,0), -- 15:53:33
+(@PATH,11,276.9184,72.64089,20.43155,0,0,1,0,100,0), -- 15:53:34
+(@PATH,12,297.7713,82.30241,20.42944,0,0,1,0,100,0), -- 15:53:37
+(@PATH,13,322.4713,86.09231,20.41415,0,0,1,0,100,0), -- 15:53:39
+(@PATH,14,332.4713,86.09231,20.41415,0,0,1,0,100,0), -- 15:53:39
+(@PATH,15,351.2139,86.03535,20.23542,0,0,1,0,100,0), -- 15:53:43
+(@PATH,16,365.9639,82.28535,20.23542,0,0,1,0,100,0), -- 15:53:43
+(@PATH,17,386.9718,70.78688,20.28395,0,0,1,0,100,0), -- 15:53:45
+(@PATH,18,404.4698,51.14609,20.42939,0,0,1,0,100,0); -- 15:53:48
+
+-- Pathing for Phoenix-Hawk Entry: 20039 'TDB FORMAT'
+SET @NPC := 12434;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=332.7476,`position_y`=-90.41917,`position_z`=20.51123 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,332.7476,-90.41917,20.51123,0,0,1,0,100,0), -- 15:53:36
+(@PATH,2,324.7476,-90.16917,20.26123,0,0,1,0,100,0), -- 15:53:36
+(@PATH,3,315.7476,-89.91917,20.26123,0,0,1,0,100,0), -- 15:53:36
+(@PATH,4,297.1394,-85.66326,20.4148,0,0,1,0,100,0), -- 15:53:39
+(@PATH,5,258.2917,-57.28191,20.42989,0,0,1,0,100,0), -- 15:53:42
+(@PATH,6,244.784,-38.03379,20.51284,0,0,1,0,100,0), -- 15:53:45
+(@PATH,7,239.784,-13.28379,25.76284,0,0,1,0,100,0), -- 15:53:45
+(@PATH,8,238.5742,1.909073,26.95395,0,0,1,0,100,0), -- 15:53:49
+(@PATH,9,242.5742,29.15907,20.70395,0,0,1,0,100,0), -- 15:53:49
+(@PATH,10,256.9634,56.59798,20.42731,0,0,1,0,100,0), -- 15:53:54
+(@PATH,11,297.2964,83.12163,20.43203,0,0,1,0,100,0), -- 15:53:56
+(@PATH,12,315.9869,88.49153,20.44473,0,0,1,0,100,0), -- 15:54:00
+(@PATH,13,324.2369,88.49153,20.44473,0,0,1,0,100,0), -- 15:54:00
+(@PATH,14,332.4869,88.74153,20.44473,0,0,1,0,100,0), -- 15:54:00
+(@PATH,15,340.2369,88.99153,20.44473,0,0,1,0,100,0), -- 15:54:00
+(@PATH,16,349.4869,89.24153,20.44473,0,0,1,0,100,0), -- 15:54:00
+(@PATH,17,362.7359,84.22715,20.25116,0,0,1,0,100,0), -- 15:54:03
+(@PATH,18,366.4859,82.72715,20.25116,0,0,1,0,100,0), -- 15:54:03
+(@PATH,19,380.7359,76.72715,20.50116,0,0,1,0,100,0), -- 15:54:03
+(@PATH,20,388.7359,73.47715,20.25116,0,0,1,0,100,0), -- 15:54:03
+(@PATH,21,403.4129,54.84925,20.37498,0,0,1,0,100,0), -- 15:54:07
+(@PATH,22,418.7638,27.5905,20.42937,0,0,1,0,100,0), -- 15:54:11
+(@PATH,23,423.947,-0.8590612,20.42934,0,0,1,0,100,0), -- 15:54:13
+(@PATH,24,423.947,-12.85906,20.42934,0,0,1,0,100,0), -- 15:54:13
+(@PATH,25,415.4541,-39.22434,20.42944,0,0,1,0,100,0), -- 15:54:17
+(@PATH,26,409.8507,-46.91153,20.42938,0,0,1,0,100,0), -- 15:54:18
+(@PATH,27,404.3507,-55.91153,20.42938,0,0,1,0,100,0), -- 15:54:18
+(@PATH,28,379.6078,-80.35109,20.36515,0,0,1,0,100,0), -- 15:54:21
+(@PATH,29,357.0756,-90.66071,20.3293,0,0,1,0,100,0), -- 15:54:24
+(@PATH,30,344.5756,-90.41071,20.3293,0,0,1,0,100,0); -- 15:54:24
+
+-- Add missing Phoenix-Hawk
+SET @ENTRY := 20039;
+SET @GUID := 554;
+DELETE FROM `creature` WHERE `guid`=@GUID;
+INSERT INTO `creature` (`guid`, `id`, `map`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `curhealth`) VALUES
+(@GUID, @ENTRY, 550, 246.4875, -37.49984, 20.42661, 5.58522, 10800, 366765);
+
+-- Pathing for Phoenix-Hawk Entry: 20039 'TDB FORMAT'
+SET @NPC := 554;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=246.4875,`position_y`=-37.49984,`position_z`=20.42661 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,246.4875,-37.49984,20.42661,0,0,1,0,100,0), -- 15:53:34
+(@PATH,2,257.6479,-57.38124,20.42661,0,0,1,0,100,0), -- 15:53:37
+(@PATH,3,276.6165,-74.59982,20.42977,0,0,1,0,100,0), -- 15:53:40
+(@PATH,4,318.1243,-87.4548,20.22828,0,0,1,0,100,0), -- 15:53:43
+(@PATH,5,346.6934,-87.65228,20.55079,0,0,1,0,100,0), -- 15:53:46
+(@PATH,6,366.6934,-84.40228,20.05079,0,0,1,0,100,0), -- 15:53:46
+(@PATH,7,371.813,-83.31676,20.14231,0,0,1,0,100,0), -- 15:53:49
+(@PATH,8,381.313,-76.81676,20.39231,0,0,1,0,100,0), -- 15:53:49
+(@PATH,9,387.563,-73.06676,20.39231,0,0,1,0,100,0), -- 15:53:49
+(@PATH,10,405.1288,-53.81012,20.43003,0,0,1,0,100,0), -- 15:53:52
+(@PATH,11,387.8711,-72.59858,20.29767,0,0,1,0,100,0), -- 15:53:56
+(@PATH,12,381.6211,-76.84858,20.29767,0,0,1,0,100,0), -- 15:53:56
+(@PATH,13,366.4635,-84.1076,20.22797,0,0,1,0,100,0), -- 15:53:58
+(@PATH,14,346.7135,-87.6076,20.47797,0,0,1,0,100,0), -- 15:53:58
+(@PATH,15,332.7135,-90.1076,20.47797,0,0,1,0,100,0), -- 15:53:58
+(@PATH,16,318.1471,-87.49127,20.23125,0,0,1,0,100,0), -- 15:54:02
+(@PATH,17,297.8971,-83.99127,20.23125,0,0,1,0,100,0), -- 15:54:02
+(@PATH,18,276.5398,-74.81604,20.42981,0,0,1,0,100,0), -- 15:54:05
+(@PATH,19,257.961,-57.62645,20.42985,0,0,1,0,100,0); -- 15:54:07
+
+-- Pathing for Phoenix-Hawk Entry: 20039 'TDB FORMAT'
+SET @NPC := 12433;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=332.517,`position_y`=-90.67094,`position_z`=20.45976 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,332.517,-90.67094,20.45976,0,0,1,0,100,0), -- 15:54:00
+(@PATH,2,349.2753,-89.96908,20.37492,0,0,1,0,100,0), -- 15:54:03
+(@PATH,3,367.7753,-86.46908,20.12492,0,0,1,0,100,0), -- 15:54:03
+(@PATH,4,390.4767,-72.33127,20.37196,0,0,1,0,100,0), -- 15:54:07
+(@PATH,5,404.9767,-53.58127,20.37196,0,0,1,0,100,0), -- 15:54:07
+(@PATH,6,417.079,-29.24579,20.42938,0,0,1,0,100,0), -- 15:54:10
+(@PATH,7,423.1954,-0.6701798,20.42934,0,0,1,0,100,0), -- 15:54:13
+(@PATH,8,416.2595,27.87078,20.42938,0,0,1,0,100,0), -- 15:54:16
+(@PATH,9,405.6095,50.9514,20.42931,0,0,1,0,100,0), -- 15:54:18
+(@PATH,10,379.8849,78.87553,20.28936,0,0,1,0,100,0), -- 15:54:20
+(@PATH,11,361.7868,87.05472,20.07407,0,0,1,0,100,0), -- 15:54:24
+(@PATH,12,347.5368,87.55472,20.32407,0,0,1,0,100,0), -- 15:54:24
+(@PATH,13,332.7868,88.05472,20.57407,0,0,1,0,100,0), -- 15:54:24
+(@PATH,14,315.7868,88.55472,20.32407,0,0,1,0,100,0), -- 15:54:24
+(@PATH,15,297.4316,83.2674,20.46751,0,0,1,0,100,0), -- 15:54:28
+(@PATH,16,275.6396,74.44795,20.43051,0,0,1,0,100,0), -- 15:54:30
+(@PATH,17,258.8896,55.69796,20.43051,0,0,1,0,100,0), -- 15:54:30
+(@PATH,18,243.9132,25.22697,20.67206,0,0,1,0,100,0), -- 15:54:35
+(@PATH,19,241.1632,11.72697,25.92206,0,0,1,0,100,0), -- 15:54:35
+(@PATH,20,238.8673,-0.7733765,27.23883,0,0,1,0,100,0), -- 15:54:39
+(@PATH,21,246.6173,-37.27338,20.48883,0,0,1,0,100,0), -- 15:54:39
+(@PATH,22,257.6819,-57.25851,20.4247,0,0,1,0,100,0), -- 15:54:42
+(@PATH,23,276.6098,-74.62117,20.42971,0,0,1,0,100,0), -- 15:54:45
+(@PATH,24,297.1098,-85.12117,20.42971,0,0,1,0,100,0), -- 15:54:45
+(@PATH,25,315.9437,-89.75371,20.45979,0,0,1,0,100,0), -- 15:54:48
+(@PATH,26,324.4437,-90.25371,20.45979,0,0,1,0,100,0); -- 15:54:48
+
+-- Pathing for Crystalcore Devastator Entry: 20040 'TDB FORMAT'
+SET @NPC := 12549;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=478.9474,`position_y`=89.4745,`position_z`=20.52121 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,478.9474,89.4745,20.52121,0,0,0,0,100,0), -- 16:07:45
+(@PATH,2,479.0185,89.26942,20.52121,0,0,0,0,100,0), -- 16:07:50
+(@PATH,3,493.3273,105.7242,20.53989,0,0,0,0,100,0), -- 16:07:54
+(@PATH,4,500.1716,115.4319,20.53092,0,0,0,0,100,0), -- 16:07:57
+(@PATH,5,501.6716,118.1819,20.53092,0,0,0,0,100,0), -- 16:07:57
+(@PATH,6,505.9216,125.6819,20.53092,0,0,0,0,100,0), -- 16:07:57
+(@PATH,7,509.7829,136.1951,20.50818,0,0,0,0,100,0), -- 16:08:02
+(@PATH,8,511.0329,139.6951,20.50818,0,0,0,0,100,0), -- 16:08:02
+(@PATH,9,511.7829,142.6951,20.50818,0,0,0,0,100,0), -- 16:08:02
+(@PATH,10,517.5752,164.9698,20.50733,0,0,0,0,100,0), -- 16:08:08
+(@PATH,11,520.0752,175.7198,20.50733,0,0,0,0,100,0), -- 16:08:08
+(@PATH,12,520.3252,177.2198,20.50733,0,0,0,0,100,0), -- 16:08:08
+(@PATH,13,520.882,179.5561,20.53715,0,0,0,0,100,0), -- 16:08:16
+(@PATH,14,520.382,184.3061,20.53715,0,0,0,0,100,0), -- 16:08:16
+(@PATH,15,519.882,191.8061,20.53715,0,0,0,0,100,0), -- 16:08:16
+(@PATH,16,519.132,199.5561,20.53715,0,0,0,0,100,0), -- 16:08:16
+(@PATH,17,515.7716,216.1749,20.5457,0,0,0,0,100,0), -- 16:08:23
+(@PATH,18,513.7716,222.9249,20.5457,0,0,0,0,100,0), -- 16:08:23
+(@PATH,19,517.1009,211.7702,20.5457,0,0,0,0,100,0), -- 16:08:30
+(@PATH,20,519.8978,192.0669,20.53427,0,0,0,0,100,0), -- 16:08:35
+(@PATH,21,520.3978,184.3169,20.53427,0,0,0,0,100,0), -- 16:08:35
+(@PATH,22,520.1716,175.6861,20.51027,0,0,0,0,100,0), -- 16:08:42
+(@PATH,23,517.6716,165.6861,20.51027,0,0,0,0,100,0), -- 16:08:42
+(@PATH,24,516.1716,158.4361,20.51027,0,0,0,0,100,0), -- 16:08:42
+(@PATH,25,511.1044,140.4333,20.50434,0,0,0,0,100,0), -- 16:08:49
+(@PATH,26,510.1044,136.1833,20.50434,0,0,0,0,100,0), -- 16:08:49
+(@PATH,27,502.2063,118.9294,20.52943,0,0,0,0,100,0), -- 16:08:56
+(@PATH,28,500.2063,115.4294,20.52943,0,0,0,0,100,0), -- 16:08:56
+(@PATH,29,498.2063,111.9294,20.52943,0,0,0,0,100,0), -- 16:08:56
+(@PATH,30,493.3535,105.5967,20.53989,0,0,0,0,100,0), -- 16:09:00
+(@PATH,31,488.6035,99.84668,20.53989,0,0,0,0,100,0); -- 16:09:00
+
+DELETE FROM `creature_formations` WHERE `leaderGUID`=12467;
+INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES
+(12467, 12467, 0, 0, 1),
+(12467, 12431, 3, 270, 2),
+(12467, 12432, 3, 90, 2);
+
+-- Pathing for Astromancer Lord Entry: 20046 'TDB FORMAT'
+SET @NPC := 12467;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=513.6304,`position_y`=-224.7386,`position_z`=20.56552 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,513.6304,-224.7386,20.56552,0,5000,0,0,100,0), -- 16:08:45
+(@PATH,2,517.2208,-208.6252,20.56552,0,0,0,0,100,0), -- 16:08:52
+(@PATH,3,518.7356,-200.354,20.56796,0,0,0,0,100,0), -- 16:08:57
+(@PATH,4,519.4856,-193.354,20.56796,0,0,0,0,100,0), -- 16:08:57
+(@PATH,5,519.9856,-190.104,20.56796,0,0,0,0,100,0), -- 16:08:57
+(@PATH,6,519.5496,-178.3897,20.51476,0,0,0,0,100,0), -- 16:09:02
+(@PATH,7,519.2996,-177.3897,20.51476,0,0,0,0,100,0), -- 16:09:02
+(@PATH,8,518.2996,-169.3897,20.51476,0,0,0,0,100,0), -- 16:09:02
+(@PATH,9,518.0496,-166.6397,20.51476,0,0,0,0,100,0), -- 16:09:02
+(@PATH,10,516.9454,-162.3555,20.49109,0,0,0,0,100,0), -- 16:09:08
+(@PATH,11,516.4454,-160.1055,20.49109,0,0,0,0,100,0), -- 16:09:08
+(@PATH,12,512.1954,-143.8555,20.49109,0,0,0,0,100,0), -- 16:09:08
+(@PATH,13,511.4454,-141.3555,20.49109,0,0,0,0,100,0), -- 16:09:08
+(@PATH,14,509.4338,-136.6816,20.51297,0,0,0,0,100,0), -- 16:09:14
+(@PATH,15,504.6838,-123.9316,20.51297,0,0,0,0,100,0), -- 16:09:14
+(@PATH,16,502.9338,-119.4316,20.51297,0,0,0,0,100,0), -- 16:09:14
+(@PATH,17,502.5425,-118.8291,20.53002,0,0,0,0,100,0), -- 16:09:19
+(@PATH,18,498.0425,-113.0791,20.53002,0,0,0,0,100,0), -- 16:09:19
+(@PATH,19,493.7925,-106.8291,20.53002,0,0,0,0,100,0), -- 16:09:19
+(@PATH,20,488.5476,-100.5731,20.50299,0,0,0,0,100,0), -- 16:09:24
+(@PATH,21,482.5476,-94.07306,20.50299,0,0,0,0,100,0), -- 16:09:24
+(@PATH,22,479.0476,-90.32306,20.50299,0,5000,0,0,100,0), -- 16:09:24
+(@PATH,23,488.4339,-100.7364,20.50299,0,0,0,0,100,0), -- 16:09:32
+(@PATH,24,493.5073,-106.8633,20.53566,0,0,0,0,100,0), -- 16:09:37
+(@PATH,25,498.0073,-112.8633,20.53566,0,0,0,0,100,0), -- 16:09:37
+(@PATH,26,509.557,-136.8885,20.51389,0,0,0,0,100,0), -- 16:09:42
+(@PATH,27,512.2501,-143.873,20.491,0,0,0,0,100,0), -- 16:09:48
+(@PATH,28,516.2501,-159.623,20.491,0,0,0,0,100,0), -- 16:09:48
+(@PATH,29,517.0001,-162.373,20.491,0,0,0,0,100,0), -- 16:09:48
+(@PATH,30,517.6157,-163.5336,20.51302,0,0,0,0,100,0), -- 16:09:54
+(@PATH,31,518.1157,-166.7836,20.51302,0,0,0,0,100,0), -- 16:09:54
+(@PATH,32,518.3657,-169.2836,20.51302,0,0,0,0,100,0), -- 16:09:54
+(@PATH,33,519.3657,-177.0336,20.51302,0,0,0,0,100,0), -- 16:09:54
+(@PATH,34,519.6157,-178.2836,20.51302,0,0,0,0,100,0), -- 16:09:54
+(@PATH,35,519.576,-193.4193,20.5364,0,0,0,0,100,0), -- 16:10:00
+(@PATH,36,518.826,-200.4193,20.5364,0,0,0,0,100,0), -- 16:10:00
+(@PATH,37,517.826,-207.1693,20.5364,0,0,0,0,100,0); -- 16:10:00
+
+UPDATE `creature` SET `id`=20045 WHERE `guid`=12540;
+UPDATE `creature` SET `id`=20045 WHERE `guid`=12538;
+
+DELETE FROM `creature_formations` WHERE `leaderGUID`=12540;
+INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES
+(12540, 12540, 0, 0, 1),
+(12540, 12542, 3, 270, 2),
+(12540, 12541, 3, 90, 2);
+
+-- Pathing for Nether Scryer Entry: 20045 'TDB FORMAT'
+SET @NPC := 12540;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=423.7304,`position_y`=-297.2403,`position_z`=19.25663 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,423.7304,-297.2403,19.25663,0,0,0,0,100,0), -- 16:13:39
+(@PATH,2,421.8612,-297.5166,19.29133,0,0,0,0,100,0), -- 16:13:46
+(@PATH,3,395.1479,-306.0458,19.47611,0,0,0,0,100,0), -- 16:13:51
+(@PATH,4,386.0147,-311.4482,19.33733,0,0,0,0,100,0), -- 16:13:57
+(@PATH,5,361.8398,-343.4693,19.29735,0,0,0,0,100,0), -- 16:14:02
+(@PATH,6,357.9641,-362.9832,19.28531,0,0,0,0,100,0), -- 16:14:08
+(@PATH,7,358.3306,-382.0202,19.17975,0,0,0,0,100,0), -- 16:14:14
+(@PATH,8,367.2446,-410.9676,19.20938,0,0,0,0,100,0), -- 16:14:20
+(@PATH,9,376.3463,-423.0817,19.22353,0,0,0,0,100,0), -- 16:14:26
+(@PATH,10,387.6675,-434.1544,19.24023,0,0,0,0,100,0), -- 16:14:31
+(@PATH,11,422.7839,-449.2073,19.28438,0,0,0,0,100,0), -- 16:14:37
+(@PATH,12,442.8006,-447.2404,19.22515,0,0,0,0,100,0), -- 16:14:43
+(@PATH,13,478.9905,-433.6435,19.3018,0,0,0,0,100,0), -- 16:14:51
+(@PATH,14,494.5335,-421.47,19.31859,0,0,0,0,100,0), -- 16:15:01
+(@PATH,15,505.3245,-403.0611,19.52428,0,0,0,0,100,0), -- 16:15:07
+(@PATH,16,510.3288,-382.475,19.45391,0,0,0,0,100,0), -- 16:15:12
+(@PATH,17,509.6892,-362.8328,19.19526,0,0,0,0,100,0), -- 16:15:18
+(@PATH,18,504.8862,-343.3768,19.23977,0,0,0,0,100,0), -- 16:15:22
+(@PATH,19,505.9844,-344.7854,19.44162,0,0,0,0,100,0), -- 16:15:28
+(@PATH,20,509.5838,-363.0805,19.20078,0,0,0,0,100,0), -- 16:15:33
+(@PATH,21,505.4904,-403.0814,19.51538,0,0,0,0,100,0), -- 16:15:38
+(@PATH,22,494.6033,-421.486,19.34887,0,0,0,0,100,0), -- 16:15:44
+(@PATH,23,493.8533,-422.486,19.59887,0,0,0,0,100,0), -- 16:15:44
+(@PATH,24,492.6177,-424.3935,19.49897,0,0,0,0,100,0), -- 16:15:49
+(@PATH,25,479.1177,-433.3935,19.24897,0,0,0,0,100,0), -- 16:15:49
+(@PATH,26,470.3677,-439.3935,19.24897,0,0,0,0,100,0), -- 16:15:49
+(@PATH,27,462.8677,-444.3935,19.49897,0,0,0,0,100,0), -- 16:15:49
+(@PATH,28,442.9135,-447.4605,19.24915,0,0,0,0,100,0), -- 16:15:58
+(@PATH,29,403.749,-444.8676,19.51671,0,0,0,0,100,0), -- 16:16:07
+(@PATH,30,387.6254,-434.2364,19.2685,0,0,0,0,100,0), -- 16:16:13
+(@PATH,31,376.6454,-423.368,19.23084,0,0,0,0,100,0), -- 16:16:18
+(@PATH,32,361.54,-397.0302,19.1883,0,0,0,0,100,0), -- 16:16:24
+(@PATH,33,358.272,-382.2332,19.21221,0,0,0,0,100,0), -- 16:16:30
+(@PATH,34,358.0092,-362.9816,19.25879,0,0,0,0,100,0), -- 16:16:36
+(@PATH,35,372.6,-326.9489,19.52757,0,0,0,0,100,0), -- 16:16:42
+(@PATH,36,385.8902,-311.8205,19.52534,0,0,0,0,100,0), -- 16:16:48
+(@PATH,37,395.203,-306.4769,19.5721,0,0,0,0,100,0), -- 16:16:53
+(@PATH,38,404.203,-300.9769,19.5721,0,0,0,0,100,0); -- 16:16:53
+
+DELETE FROM `creature_formations` WHERE `leaderGUID`=12538;
+INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES
+(12538, 12538, 0, 0, 1),
+(12538, 12537, 3, 270, 2),
+(12538, 12539, 3, 90, 2);
+
+-- Pathing for Nether Scryer Entry: 20045 'TDB FORMAT'
+SET @NPC := 12538;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=491.6343,`position_y`=-348.8971,`position_z`=17.45782 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,491.6343,-348.8971,17.45782,0,0,0,0,100,0), -- 16:10:09
+(@PATH,2,494.4583,-365.0894,17.3224,0,0,0,0,100,0), -- 16:10:11
+(@PATH,3,494.3617,-380.7137,17.29877,0,0,0,0,100,0), -- 16:10:17
+(@PATH,4,485.7098,-402.4861,17.33348,0,0,0,0,100,0), -- 16:10:22
+(@PATH,5,479.9598,-409.9861,17.08348,0,0,0,0,100,0), -- 16:10:22
+(@PATH,6,475.9598,-414.7361,17.33348,0,0,0,0,100,0), -- 16:10:22
+(@PATH,7,470.2098,-421.7361,17.33348,0,0,0,0,100,0), -- 16:10:22
+(@PATH,8,456.0066,-429.1491,17.33844,0,0,0,0,100,0), -- 16:10:32
+(@PATH,9,441.2566,-434.6491,17.58844,0,0,0,0,100,0), -- 16:10:32
+(@PATH,10,425.0241,-433.6116,17.49777,0,0,0,0,100,0), -- 16:10:39
+(@PATH,11,409.0241,-431.8616,17.49777,0,0,0,0,100,0), -- 16:10:39
+(@PATH,12,396.0655,-422.4177,17.41465,0,0,0,0,100,0), -- 16:10:47
+(@PATH,13,387.3155,-413.9177,17.41465,0,0,0,0,100,0), -- 16:10:47
+(@PATH,14,374.3321,-392.9123,17.42148,0,0,0,0,100,0), -- 16:10:56
+(@PATH,15,371.2164,-380.3734,17.65318,0,0,0,0,100,0), -- 16:11:02
+(@PATH,16,371.1164,-364.8227,17.43382,0,0,0,0,100,0), -- 16:11:07
+(@PATH,17,381.9487,-334.1354,17.87497,0,0,0,0,100,0), -- 16:11:12
+(@PATH,18,393.8716,-322.5054,17.69732,0,0,0,0,100,0), -- 16:11:17
+(@PATH,19,412.3383,-311.7506,17.58051,0,0,0,0,100,0), -- 16:11:21
+(@PATH,20,423.361,-308.4557,17.6968,0,0,0,0,100,0), -- 16:11:26
+(@PATH,21,428.361,-307.4557,17.9468,0,0,0,0,100,0), -- 16:11:26
+(@PATH,22,423.8289,-308.1609,17.72783,0,0,0,0,100,0), -- 16:11:32
+(@PATH,23,403.0539,-316.1074,17.86351,0,0,0,0,100,0), -- 16:11:35
+(@PATH,24,394.0146,-322.5777,17.75302,0,0,0,0,100,0), -- 16:11:40
+(@PATH,25,381.8382,-334.0474,17.83417,0,0,0,0,100,0), -- 16:11:45
+(@PATH,26,371.0694,-364.8433,17.48853,0,0,0,0,100,0), -- 16:11:49
+(@PATH,27,371.0801,-380.4205,17.45639,0,0,0,0,100,0), -- 16:11:54
+(@PATH,28,379.2573,-404.1338,17.39072,0,0,0,0,100,0), -- 16:11:59
+(@PATH,29,387.2876,-413.9666,17.47128,0,0,0,0,100,0), -- 16:12:05
+(@PATH,30,396.0376,-422.4666,17.47128,0,0,0,0,100,0), -- 16:12:05
+(@PATH,31,424.8217,-433.5346,17.49184,0,0,0,0,100,0), -- 16:12:14
+(@PATH,32,456.0426,-429.2732,17.36312,0,0,0,0,100,0), -- 16:12:22
+(@PATH,33,460.5426,-427.7732,17.36312,0,0,0,0,100,0), -- 16:12:22
+(@PATH,34,476.0071,-414.7808,17.28578,0,0,0,0,100,0), -- 16:12:29
+(@PATH,35,479.7571,-410.0308,17.03578,0,0,0,0,100,0), -- 16:12:29
+(@PATH,36,485.7571,-402.5308,17.28578,0,0,0,0,100,0), -- 16:12:29
+(@PATH,37,490.2571,-397.2808,17.28578,0,0,0,0,100,0), -- 16:12:29
+(@PATH,38,494.1788,-380.7926,17.42046,0,0,0,0,100,0), -- 16:12:39
+(@PATH,39,494.2377,-364.9676,17.32992,0,0,0,0,100,0); -- 16:12:45
+
+-- Remove bad spawns
+DELETE FROM `creature` WHERE `guid` IN (12546, 12545, 12460, 12459, 12547, 12548, 12571, 12572);
+DELETE FROM `linked_respawn` WHERE `guid` IN (12546, 12545, 12460, 12459, 12547, 12548, 12571, 12572);
+
+-- Set right entry
+UPDATE `creature` SET `id`=20050 WHERE `guid`=12465;
+UPDATE `creature` SET `id`=20048 WHERE `guid`=12463;
+UPDATE `creature` SET `id`=20048 WHERE `guid`=12464;
+UPDATE `creature` SET `id`=20031 WHERE `guid`=12485;
+UPDATE `creature` SET `id`=20031 WHERE `guid`=12484;
+
+DELETE FROM `creature_formations` WHERE `leaderGUID`=12465;
+INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES
+(12465, 12465, 0, 0, 1),
+(12465, 12463, 3, 270, 2),
+(12465, 12464, 3, 90, 2);
+
+-- Pathing for Crimson Hand Inquisitor Entry: 20050 'TDB FORMAT'
+SET @NPC := 12465;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=655.5598,`position_y`=-74.22478,`position_z`=47.05975 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,655.5598,-74.22478,47.05975,0,0,0,0,100,0), -- 16:08:34
+(@PATH,2,651.4869,-79.5063,47.04427,0,0,0,0,100,0), -- 16:08:41
+(@PATH,3,631.1815,-102.5708,47.03273,0,0,0,0,100,0), -- 16:08:45
+(@PATH,4,619.0531,-111.1841,46.42092,0,0,0,0,100,0), -- 16:08:51
+(@PATH,5,617.8031,-111.9341,45.92092,0,0,0,0,100,0), -- 16:08:51
+(@PATH,6,606.8416,-117.8403,41.57663,0,0,0,0,100,0), -- 16:08:56
+(@PATH,7,589.9025,-125.8981,36.43072,0,0,0,0,100,0), -- 16:09:01
+(@PATH,8,580.551,-129.5958,36.31794,0,0,0,0,100,0), -- 16:09:03
+(@PATH,9,579.801,-129.8458,36.31794,0,0,0,0,100,0), -- 16:09:03
+(@PATH,10,573.301,-132.3458,35.06794,0,0,0,0,100,0), -- 16:09:03
+(@PATH,11,580.7385,-129.5231,36.23978,0,0,0,0,100,0), -- 16:09:10
+(@PATH,12,594.8942,-123.7401,37.95549,0,0,0,0,100,0), -- 16:09:14
+(@PATH,13,606.4921,-118.0775,41.48959,0,0,0,0,100,0), -- 16:09:17
+(@PATH,14,619.0924,-111.1047,46.4275,0,0,0,0,100,0), -- 16:09:21
+(@PATH,15,633.9102,-99.63002,47.15026,0,0,0,0,100,0), -- 16:09:25
+(@PATH,16,653.5164,-77.03735,47.0669,0,0,0,0,100,0); -- 16:09:31
+
+SET @CGUID := 86939;
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+14;
+INSERT INTO `creature` (`guid`, `id`, `map`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`) VALUES
+(@CGUID+0, 20048, 550, 615.408, 108.1827, 45.53154, 5.798159, 7200), -- 20048 (Area: -1)
+(@CGUID+1, 20050, 550, 621.3588, 107.9806, 46.45268, 5.711797, 7200), -- 20050 (Area: -1)
+(@CGUID+2, 20048, 550, 617.9949, 113.5776, 45.32596, 5.797285, 7200), -- 20048 (Area: -1)
+(@CGUID+3, 20048, 550, 651.4778, 85.3616, 46.98529, 2.460914, 7200), -- 20048 (Area: -1)
+(@CGUID+4, 20048, 550, 644.955, 78.4049, 46.925, 2.181662, 7200), -- 20048 (Area: -1)
+(@CGUID+5, 20048, 550, 590.4993, 115.3127, 37.52827, 2.478368, 7200), -- 20048 (Area: -1)
+(@CGUID+6, 20048, 550, 598.2206, 130.2819, 37.6214, 3.211406, 7200), -- 20048 (Area: -1)
+(@CGUID+7, 20049, 550, 641.1609, 77.83035, 46.88414, 2.076942, 7200), -- 20049 (Area: -1)
+(@CGUID+8, 20049, 550, 594.7014, 114.7355, 38.61783, 2.670354, 7200), -- 20049 (Area: -1)
+(@CGUID+9, 20049, 550, 654.7372, 88.48184, 46.82887, 2.583087, 7200), -- 20049 (Area: -1)
+(@CGUID+10, 20049, 550, 601.0374, 127.5763, 38.66954, 3.054326, 7200), -- 20049 (Area: -1)
+(@CGUID+11, 20047, 550, 651.4259, 87.75813, 46.89581, 2.321288, 7200), -- 20047 (Area: -1) (Auras: )
+(@CGUID+12, 20047, 550, 642.4025, 80.52879, 46.89103, 2.146755, 7200), -- 20047 (Area: -1) (Auras: )
+(@CGUID+13, 20047, 550, 597.9776, 114.9579, 39.38305, 2.792527, 7200), -- 20047 (Area: -1) (Auras: )
+(@CGUID+14, 20047, 550, 603.4946, 125.0622, 39.5998, 2.9147, 7200); -- 20047 (Area: -1) (Auras: )
+
+DELETE FROM `creature_formations` WHERE `leaderGUID`=86940;
+INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES
+(86940, 86940, 0, 0, 1),
+(86940, 86939, 3, 270, 2),
+(86940, 86941, 3, 90, 2);
+
+-- Pathing for Crimson Hand Inquisitor Entry: 20050 'TDB FORMAT'
+SET @NPC := 86940;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=655.5364,`position_y`=72.95763,`position_z`=47.05836 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,655.5364,72.95763,47.05836,0,0,0,0,100,0), -- 16:08:23
+(@PATH,2,651.3881,78.08571,47.05026,0,0,0,0,100,0), -- 16:08:30
+(@PATH,3,630.8481,100.8367,47.02984,0,0,0,0,100,0), -- 16:08:35
+(@PATH,4,618.8256,109.6938,46.47087,0,0,0,0,100,0), -- 16:08:40
+(@PATH,5,617.3256,110.6938,45.72087,0,0,0,0,100,0), -- 16:08:40
+(@PATH,6,606.6226,116.3986,41.5707,0,0,0,0,100,0), -- 16:08:45
+(@PATH,7,589.7452,124.2339,36.51868,0,0,0,0,100,0), -- 16:08:50
+(@PATH,8,580.804,128.0832,36.30165,0,0,0,0,100,0), -- 16:08:52
+(@PATH,9,580.054,128.5832,36.30165,0,0,0,0,100,0), -- 16:08:52
+(@PATH,10,577.9855,129.5036,35.95486,0,0,0,0,100,0), -- 16:08:55
+(@PATH,11,573.9855,129.7536,35.20486,0,0,0,0,100,0), -- 16:08:55
+(@PATH,12,573.3516,129.5648,35.01861,0,0,0,0,100,0), -- 16:09:00
+(@PATH,13,579.8276,128.5876,36.13748,0,0,0,0,100,0), -- 16:09:02
+(@PATH,14,580.5776,128.0876,36.13748,0,0,0,0,100,0), -- 16:09:02
+(@PATH,15,595.2676,121.8818,37.90141,0,0,0,0,100,0), -- 16:09:04
+(@PATH,16,606.479,116.8065,41.47223,0,0,0,0,100,0), -- 16:09:07
+(@PATH,17,618.7388,110.0541,46.44956,0,0,0,0,100,0), -- 16:09:12
+(@PATH,18,635.658,96.03332,46.94309,0,0,0,0,100,0), -- 16:09:17
+(@PATH,19,653.3979,75.61298,47.06518,0,0,0,0,100,0); -- 16:09:21
diff --git a/sql/updates/world/2015_11_06_31_world_2015_11_03_00.sql b/sql/updates/world/2015_11_06_31_world_2015_11_03_00.sql
new file mode 100644
index 00000000000..deb95e8e7be
--- /dev/null
+++ b/sql/updates/world/2015_11_06_31_world_2015_11_03_00.sql
@@ -0,0 +1,3 @@
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=50556;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13,1,50556,0,0,31,0,3,28054,0,0,0,0,'','Only Lucky Wilhelm is a target for the spell Ride Wilhelm');
diff --git a/sql/updates/world/2015_11_06_32_world_2015_11_03_01.sql b/sql/updates/world/2015_11_06_32_world_2015_11_03_01.sql
new file mode 100644
index 00000000000..2c4f70b043b
--- /dev/null
+++ b/sql/updates/world/2015_11_06_32_world_2015_11_03_01.sql
@@ -0,0 +1,41 @@
+SET @CGUID:=86954;
+
+DELETE FROM `creature` WHERE `id` IN (30655, 30640, 30832, 30646, 30651, 30707, 30649, 30749, 30700, 30699, 30690, 31246, 31353, 30589, 30588, 30476, 30559);
+DELETE FROM `creature` WHERE `guid` IN (122568, 122569, 122570);
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+29;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 30640, 623, 1, 169, 35.03846, 36.06336, 25.11708, 5.288348, 120, 0, 0), -- 30640 (Area: 4508) (possible waypoints or random movement)
+(@CGUID+1, 30640, 623, 1, 169, 6.909693, 9.529325, 20.54005, 2.303835, 120, 0, 0), -- 30640 (Area: 4508) (possible waypoints or random movement)
+(@CGUID+2, 30640, 623, 1, 169, -27.16368, 2.981263, 20.54094, 0.122173, 120, 0, 0), -- 30640 (Area: 4508) (possible waypoints or random movement)
+(@CGUID+3, 30640, 623, 1, 169, -56.31194, 12.39219, 31.00466, 3.281219, 120, 0, 0), -- 30640 (Area: 4537) (possible waypoints or random movement)
+(@CGUID+4, 30646, 623, 1, 169, -30.25571, 31.80029, 12.35424, 1.605703, 120, 0, 0), -- 30646 (Area: 4508) (possible waypoints or random movement)
+(@CGUID+5, 30646, 623, 1, 169, -5.325279, 31.62501, 12.34004, 1.500983, 120, 0, 0), -- 30646 (Area: 4508) (possible waypoints or random movement)
+(@CGUID+6, 30651, 623, 1, 169, -40.68238, 29.21558, 12.33503, 1.919862, 120, 0, 0), -- 30651 (Area: 4508) (possible waypoints or random movement)
+(@CGUID+7, 30651, 623, 1, 169, -17.81335, 32.07878, 12.3449, 1.553343, 120, 0, 0), -- 30651 (Area: 4508) (possible waypoints or random movement)
+(@CGUID+8, 30651, 623, 1, 169, 5.88316, 30.50419, 12.34755, 1.32645, 120, 0, 0), -- 30651 (Area: 4508) (possible waypoints or random movement)
+(@CGUID+9, 30655, 623, 1, 169, 6.662919, 19.23895, 10.05156, 0.5061455, 120, 0, 0), -- 30655 (Area: 4509)
+(@CGUID+10, 30655, 623, 1, 169, -43.53964, 18.66365, 9.692578, 3.246312, 120, 0, 0), -- 30655 (Area: 4509) (possible waypoints or random movement)
+(@CGUID+11, 30559, 623, 1, 169, 38.16154, -0.040522, 40.16801, 4.223697, 120, 0, 0), -- 30559 (Area: 4508) (possible waypoints or random movement)
+(@CGUID+12, 30476, 623, 1, 169, 31.41805, 0.126893, 41.69821, 0.05235988, 120, 0, 0), -- 30476 (Area: 4508) (Auras: 56852 - 56852) (possible waypoints or random movement)
+(@CGUID+13, 31353, 623, 1, 169, -21.7234, 19.33753, 9.687197, 1.64061, 120, 0, 0), -- 31353 (Area: 4509) (Auras: 57726 - 57726)
+(@CGUID+14, 30690, 622, 1, 169, 15.24723, 32.37709, 10.63188, 1.553343, 120, 0, 0), -- 30690 (Area: 4533) (possible waypoints or random movement)
+(@CGUID+15, 30690, 622, 1, 169, -11.22309, 32.91199, 10.55865, 1.58825, 120, 0, 0), -- 30690 (Area: 4533) (possible waypoints or random movement)
+(@CGUID+16, 30649, 622, 1, 169, 4.109683, 19.52689, 34.74765, 3.752458, 120, 0, 0), -- 30649 (Area: 4533) (possible waypoints or random movement)
+(@CGUID+17, 30649, 622, 1, 169, -32.53434, 24.30232, 33.9708, 3.211406, 120, 0, 0), -- 30649 (Area: 4533) (possible waypoints or random movement)
+(@CGUID+18, 30649, 622, 1, 169, 50.99569, 46.95655, 23.41373, 2.583087, 120, 0, 0), -- 30649 (Area: 4533) (possible waypoints or random movement)
+(@CGUID+19, 30649, 622, 1, 169, 2.006737, 15.73845, 9.250069, 3.368485, 120, 0, 0), -- 30649 (Area: 4533) (possible waypoints or random movement)
+(@CGUID+20, 30699, 622, 1, 169, 1.853844, 32.8888, 10.02361, 1.58825, 120, 0, 0), -- 30699 (Area: 4533) (possible waypoints or random movement)
+(@CGUID+21, 30700, 622, 1, 169, -35.66628, 29.43331, 1.87925, 1.745329, 120, 0, 0), -- 30700 (Area: 0) (possible waypoints or random movement)
+(@CGUID+22, 30700, 622, 1, 169, 7.417077, 32.82674, 38.35604, 1.553343, 120, 0, 0), -- 30700 (Area: 0) (possible waypoints or random movement)
+(@CGUID+23, 30700, 622, 1, 169, -55.9708, 28.44186, 18.02501, 2.268928, 120, 0, 0), -- 30700 (Area: 0) (possible waypoints or random movement)
+(@CGUID+24, 30700, 622, 1, 169, 38.76255, 30.09343, 2.308181, 1.134464, 120, 0, 0), -- 30700 (Area: 4533) (possible waypoints or random movement)
+(@CGUID+25, 30707, 622, 1, 169, 19.47087, 27.5296, 10.64527, 1.396263, 120, 0, 0), -- 30707 (Area: 4533) (possible waypoints or random movement)
+(@CGUID+26, 30707, 622, 1, 169, -15.3085, 30.59285, 11.11614, 2.635447, 120, 0, 0), -- 30707 (Area: 0) (possible waypoints or random movement)
+(@CGUID+27, 31353, 622, 1, 169, -7.999845, 17.85185, 35.04856, 2.460914, 120, 0, 0), -- 31353 (Area: 0) (possible waypoints or random movement)
+(@CGUID+28, 30588, 622, 1, 169, -18.10283, -0.042108, 45.31725, 1.762783, 120, 0, 0), -- 30588 (Area: 4533) (Auras: 57424 - 57424) (possible waypoints or random movement)
+(@CGUID+29, 30589, 622, 1, 169, -11.83204, -0.019289, 43.11467, 4.153883, 120, 0, 0); -- 30589 (Area: 4533) (possible waypoints or random movement)
+
+UPDATE `creature_template` SET `flags_extra`=128 WHERE `entry` IN (30690, 30699);
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (30700, 30646,30651,31353);
+
+DELETE FROM `creature_addon` WHERE `guid` IN (122568, 122569, 122758, 122777, 124002, 124113);
diff --git a/sql/updates/world/2015_11_06_33_world_2015_11_03_02.sql b/sql/updates/world/2015_11_06_33_world_2015_11_03_02.sql
new file mode 100644
index 00000000000..c4757d0d634
--- /dev/null
+++ b/sql/updates/world/2015_11_06_33_world_2015_11_03_02.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=16573 AND `source_type`=0 AND `id`=7;
diff --git a/sql/updates/world/2015_11_06_34_world_2015_08_26_01.sql b/sql/updates/world/2015_11_06_34_world_2015_08_26_01.sql
new file mode 100644
index 00000000000..ded18be8a7b
--- /dev/null
+++ b/sql/updates/world/2015_11_06_34_world_2015_08_26_01.sql
@@ -0,0 +1 @@
+UPDATE `game_event_battleground_holiday` SET `bgflag` = 1073741824 WHERE `eventEntry` = 54 ;
diff --git a/sql/updates/world/2015_11_06_35_world_2015_10_10_05.sql b/sql/updates/world/2015_11_06_35_world_2015_10_10_05.sql
new file mode 100644
index 00000000000..5a552b76e64
--- /dev/null
+++ b/sql/updates/world/2015_11_06_35_world_2015_10_10_05.sql
@@ -0,0 +1,4 @@
+DELETE FROM `trinity_string` WHERE `entry` IN (5057, 5058);
+INSERT INTO `trinity_string` (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`) VALUES
+(5057, 'Boss id %i state is now set to %i (%s).', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
+(5058, 'Boss id %i state is %i (%s).', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
diff --git a/sql/updates/world/2015_11_06_36_world_2015_07_27_00.sql b/sql/updates/world/2015_11_06_36_world_2015_07_27_00.sql
new file mode 100644
index 00000000000..96140cff8ef
--- /dev/null
+++ b/sql/updates/world/2015_11_06_36_world_2015_07_27_00.sql
@@ -0,0 +1,3 @@
+--
+UPDATE `gameobject_loot_template` SET `Entry`=26960 WHERE `Entry`=269560;
+UPDATE `gameobject_loot_template` SET `Entry`=26961 WHERE `Entry`=269561;
diff --git a/sql/updates/world/2015_11_06_37_world_2015_07_27_01.sql b/sql/updates/world/2015_11_06_37_world_2015_07_27_01.sql
new file mode 100644
index 00000000000..1c450b8b6ce
--- /dev/null
+++ b/sql/updates/world/2015_11_06_37_world_2015_07_27_01.sql
@@ -0,0 +1,12 @@
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=4 AND `SourceEntry` IN (45786,45788,45815);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=4 AND `SourceEntry`=46110;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(4,27078,46110,0,0,7,0,171,425,0,0,0,0,'',NULL),
+(4,27079,46110,0,0,7,0,171,425,0,0,0,0,'',NULL),
+(4,27080,46110,0,0,7,0,171,425,0,0,0,0,'',NULL),
+(4,27081,46110,0,0,7,0,171,425,0,0,0,0,'',NULL),
+(4,26959,46110,0,0,7,0,171,425,0,0,0,0,'',NULL),
+(4,26960,46110,0,0,7,0,171,425,0,0,0,0,'',NULL),
+(4,26961,46110,0,0,7,0,171,425,0,0,0,0,'',NULL),
+(4,26962,46110,0,0,7,0,171,425,0,0,0,0,'',NULL);
diff --git a/sql/updates/world/2015_11_06_38_world_2015_10_03_00.sql b/sql/updates/world/2015_11_06_38_world_2015_10_03_00.sql
new file mode 100644
index 00000000000..4a5aedb13d4
--- /dev/null
+++ b/sql/updates/world/2015_11_06_38_world_2015_10_03_00.sql
@@ -0,0 +1,11 @@
+--
+-- Salanar the Horseman (NPC 28788) say line in Realm of Shadows
+SET @ENTRY := 28788;
+DELETE FROM `creature_text` WHERE `entry` = @ENTRY;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
+(@ENTRY,0,0,'Impressive, death knight. Return to me in the world of the living for your reward.',12,0,100,0,0,0,28835,0,'SALANAR_SAY');
+
+-- Salanar the Horseman (NPC 28653) conditions for the gossip_menu_option to be shown for Into the Realm of Shadows
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9739 AND `ConditionValue1`=12687;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(15,9739,0,0,0,9,0,12687,0,0,0,0,0,'','Salanar the Horseman - Show gossip option only if player has accepted quest 12687, but not completed it.');
diff --git a/sql/updates/world/2015_11_06_39_world_2015_10_04_01.sql b/sql/updates/world/2015_11_06_39_world_2015_10_04_01.sql
new file mode 100644
index 00000000000..9e478ea401a
--- /dev/null
+++ b/sql/updates/world/2015_11_06_39_world_2015_10_04_01.sql
@@ -0,0 +1,21 @@
+UPDATE `creature_template` SET `npcflag`=1, `gossip_menu_id`=10953 WHERE `entry`=37187;
+
+DELETE FROM `gossip_menu` WHERE `entry` IN (10953, 10952) AND `text_id` IN (15217, 15218);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
+(10953, 15217),
+(10952, 15218);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10953, 10952);
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`, `OptionBroadcastTextID`, `option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
+(10953,0,0,"We are ready to go, High Overlord. The Lich King must fall!",37631,1,1,10952),
+(10952,0,0,"Lok'tar ogar! We are ready! Onward, brother orc!",37633,1,1,0);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10933, 10934);
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`, `OptionBroadcastTextID`, `option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
+(10933,0,0,"We're ready, Muradin",37446,1,1,10934),
+(10934,0,0,"We're sure. Let's go!",37448,1,1,0);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup` IN (10933, 10953);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(15, 10933, 0, 0, 0, 13, 1, 2, 4, 2, 1, 0, 0, '', 'Show gossip option only if Deathbringer Saurfang is not done'),
+(15, 10953, 0, 0, 0, 13, 1, 2, 4, 2, 1, 0, 0, '', 'Show gossip option only if Deathbringer Saurfang is not done');
diff --git a/sql/updates/world/2015_11_06_40_world_2015_10_04_03.sql b/sql/updates/world/2015_11_06_40_world_2015_10_04_03.sql
new file mode 100644
index 00000000000..693d88687ce
--- /dev/null
+++ b/sql/updates/world/2015_11_06_40_world_2015_10_04_03.sql
@@ -0,0 +1,7 @@
+--
+DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (11206,11207);
+INSERT IGNORE 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`, `OptionBroadcastTextID`) VALUE
+(11206, 0, 0, 'Northrend requires your attention Overlord Hellscream. We will deal with the Lich King and his minions without your aid.', 1, 1, 11207, 0, 0, 0, '', 39416),
+(11207, 0, 0, 'The word is given. The Lich King will die by our hands!', 1, 1, 11208, 0, 0, 0, '', 39415);
+UPDATE `npc_text` SET `BroadcastTextID0`=39418 WHERE `id`=15608;
+UPDATE `npc_text` SET `BroadcastTextID0`=39419 WHERE `id`=15609;
diff --git a/sql/updates/world/2015_11_06_41_world.sql b/sql/updates/world/2015_11_06_41_world.sql
new file mode 100644
index 00000000000..4c177a8c93f
--- /dev/null
+++ b/sql/updates/world/2015_11_06_41_world.sql
@@ -0,0 +1,5 @@
+--
+SET @GUID := 24;
+DELETE FROM `creature` WHERE `id` IN (31810);
+INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`PhaseId`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`) VALUES
+(@GUID,31810,571,1,0,0,1,7850.829,-1393.344,1534.143,5.88176,300,0,0,1,0,0);
diff --git a/sql/updates/world/2015_11_06_42_world.sql b/sql/updates/world/2015_11_06_42_world.sql
new file mode 100644
index 00000000000..5505a032c35
--- /dev/null
+++ b/sql/updates/world/2015_11_06_42_world.sql
@@ -0,0 +1,4 @@
+--
+DELETE FROM `creature` WHERE `guid` IN (1011);
+INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`PhaseId`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`) VALUES
+(1011, 23434, 530, 1, 0, 0, 1, -4106.57, 1126.79, 43.6441, 5.65259, 180, 0, 0, 57440, 32310, 0);
diff --git a/sql/updates/world/2015_11_06_43_world.sql b/sql/updates/world/2015_11_06_43_world.sql
new file mode 100644
index 00000000000..853acac9a79
--- /dev/null
+++ b/sql/updates/world/2015_11_06_43_world.sql
@@ -0,0 +1,239 @@
+-- Quest 11343 "The Echo of Ymiron"
+
+SET @OGUID := 5603; -- One required
+SET @CGUID := 48229; -- 16 required
+SET @NPC := @CGUID+5;
+SET @PATH := @NPC * 10;
+
+-- Object Spawn from sniff
+DELETE FROM `gameobject` WHERE `id`=186664;
+INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `PhaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
+(@OGUID,186664,571,1,170,1073.001,-5033.952,9.771218,1.518436,0,0,0.6883545,0.7253745,300,0,1); -- Baby in Crib
+
+-- Creature Spawns from sniff
+DELETE FROM `creature` WHERE `id` IN (24314,24315,24248,24327,23935);
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `PhaseId`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES
+(@CGUID+0,24314,571,1,170,0,0,1073.562,-5029.705,9.805857,4.660029,300,0,0,5158,0,0,0,0,0), -- Ancient Male Vrykul
+(@CGUID+1,24315,571,1,170,0,0,1074.889,-5033.892,9.711858,3.036873,300,0,0,5158,0,0,0,0,0), -- Ancient Female Vrykul
+(@CGUID+2,24248,571,1,170,0,0,1054.514,-4918.391,10.14754,3.263766,300,0,0,1,0,0,0,0,0), -- The Lich King
+(@CGUID+3,24327,571,1,170,0,0,1055.667,-4924.913,16.54569,3.281219,300,0,0,1,0,0,0,0,0), -- Val'kyr Soulclaimer
+(@CGUID+4,24327,571,1,170,0,0,1054.277,-4909.997,16.50003,3.263766,300,0,0,1,0,0,0,0,0), -- Val'kyr Soulclaimer
+(@CGUID+5,23935,571,1,170,0,0,927.0462,-4925.752,4.78267,0.1288379,300,0,0,1,0,2,0,0,0), -- Val'kyr Watcher
+(@CGUID+6,23935,571,1,170,0,0,1036.007,-4926.114,12.45767,5.548763,300,0,0,1,0,2,0,0,0), -- Val'kyr Watcher
+(@CGUID+7,23935,571,1,170,0,0,1026.868,-4944.088,12.0571,0.7522717,300,0,0,1,0,2,0,0,0), -- Val'kyr Watcher
+(@CGUID+8,23935,571,1,170,0,0,1028.676,-5012.598,13.78496,0.2954222,300,0,0,1,0,2,0,0,0), -- Val'kyr Watcher
+(@CGUID+9,23935,571,1,170,0,0,910.7372,-4961.667,33.09615,0.2954222,300,0,0,1,0,2,0,0,0), -- Val'kyr Watcher
+(@CGUID+10,23935,571,1,170,0,0,934.7177,-4890.745,34.57682,0.2954222,300,0,0,1,0,2,0,0,0), -- Val'kyr Watcher
+(@CGUID+11,23935,571,1,170,0,0,970.6052,-4993.673,29.27757,0.2954222,300,0,0,1,0,2,0,0,0), -- Val'kyr Watcher
+(@CGUID+12,23935,571,1,170,0,0,1006.246,-4868.183,47.70948,0.2954222,300,0,0,1,0,2,0,0,0), -- Val'kyr Watcher
+(@CGUID+13,23935,571,1,170,0,0,1046.627,-4824.385,47.09693,0.2954222,300,0,0,1,0,2,0,0,0), -- Val'kyr Watcher
+(@CGUID+14,23935,571,1,170,0,0,1068.264,-4965.238,47.55685,0.2954222,300,0,0,1,0,2,0,0,0), -- Val'kyr Watcher
+(@CGUID+15,23935,571,1,170,0,0,1037.688,-4934.398,31.88609,0.2954222,300,0,0,1,0,2,0,0,0); -- Val'kyr Watcher
+
+DELETE FROM `creature_template_addon` WHERE `entry` IN (24315,24248,24327);
+INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(24315,0,0,1,0,0, ''),
+(24248,0,0,0,1,0, '41408'),
+(24327,0,0,33554432,0 ,0, '');
+
+UPDATE `creature_template` SET `AIName`='SmartAI', `unit_flags`=768 WHERE `entry` IN (24314, 24315, 24327);
+UPDATE `creature_template` SET `unit_flags`=164352, `AIName`='SmartAI' WHERE `entry`=24248; -- 131072
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (24327, 23935);
+
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid` IN (24314,24315, 24327, 24248);
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN (2431400,2431500,2431501, 2424800, 2424801);
+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
+(24314,0,0,0,10,0,100,0,0,15,50000,50000,80,2431400,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Male Vrykul - OOC_LOS - Start Script'),
+(2431400,9,0,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Anchient Male Speach 1'),
+(2431400,9,1,0,0,0,100,0,2000,2000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Anchient Male Speach 2'),
+(2431400,9,2,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,10,@CGUID+1,24315,0,0,0,0,0, 'Anchient Female Speach 1'),
+(2431400,9,3,0,0,0,100,0,3000,3000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Anchient Male Speach 2'),
+(2431400,9,4,0,0,0,100,0,3000,3000,0,0,5,25,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Anchient Male emote ONESHOT_POINT'),
+(2431400,9,5,0,0,0,100,0,6000,6000,0,0,45,0,1,0,0,0,0,10,@CGUID+1,24315,0,0,0,0,0, 'Anchient Female start path'),
+(2431400,9,6,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,10,@CGUID+1,24315,0,0,0,0,0, 'Anchient Female Speach 2'), -- check timing
+(2431400,9,7,0,0,0,100,0,4000,4000,0,0,5,18,0,0,0,0,0,10,@CGUID+1,24315,0,0,0,0,0, 'Anchient Female emote ONESHOT_CRY'),
+(2431400,9,8,0,0,0,100,0,4000,4000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Anchient Male Speach 3'),
+(2431400,9,9,0,0,0,100,0,6000,6000,0,0,1,2,0,0,0,0,0,10,@CGUID+1,24315,0,0,0,0,0, 'Anchient Female Speach 2'),
+(2431400,9,10,0,0,0,100,0,3000,3000,0,0,11,43458,2,0,0,0,0,7,0,0,0,0,0,0,0, 'Quest Credit'),
+(2431400,9,11,0,0,0,100,0,3000,3000,0,0,45,0,2,0,0,0,0,10,@CGUID+1,24315,0,0,0,0,0, 'Anchient Female resume path'),
+(24315,0,0,0,11,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - Set Passive'),
+(24315,0,1,0,38,0,100,0,0,1,0,0,80,2431500,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - On data set 0 1 run script'),
+(24315,0,2,0,38,0,100,0,0,2,0,0,80,2431501,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - On data set 0 2 run script'),
+(24315,0,3,4,40,0,100,0,1,24315,0,0,54,40000,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - Pause at wp talk'),
+(24315,0,4,5,61,0,100,0,0,0,0,0,66,0,0,0,0,0,0,9,24315,0,15,0,0,0,0, 'Ancient Female Vrykul - turn to Ancient Male Vrykul'),
+(24315,0,5,0,61,0,100,0,0,0,0,0,90,8,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - kneel'),
+(24315,0,6,7,40,0,100,0,2,24315,0,0,55,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - Stop at wp home'),
+(24315,0,7,8,61,0,100,0,0,0,0,0,66,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - turn to pos'),
+(24315,0,8,0,61,0,100,0,0,0,0,0,90,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - kneel'),
+(2431500,9,0,0,0,0,100,0,0,0,0,0,91,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - stand'),
+(2431500,9,1,0,0,0,100,0,0,0,0,0,53,0,24315,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - wp start'),
+(2431501,9,0,0,0,0,100,0,0,0,0,0,65,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - wp resume'),
+(2431501,9,1,0,0,0,100,0,0,0,0,0,91,8,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Female Vrykul - stand'),
+(24327,0,0,0,11,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Ancient Male Vrykul - Set Passive'),
+
+(24248,0,0,0,10,0,100,0,0,15,3000,3000,80,2424800,2,0,0,0,0,1,0,0,0,0,0,0,0, 'The Lich King - OOC_LOS - Start Script'),
+(2424800,9,0,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'The Lich King - Action list - Talk0'),
+(2424800,9,1,0,0,0,100,0,0,0,0,0,11,29661,0,0,0,0,0,7,0,0,0,0,0,0,0, 'The Lich King - Action list - Cast Magnetic Pull'),
+(2424800,9,2,0,0,0,100,0,1000,1000,0,0,11,43489,0,0,0,0,0,7,0,0,0,0,0,0,0, 'The Lich King - Action list - Cast Grasp of the Lich King'),
+(2424800,9,3,0,0,0,100,0,1000,1000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'The Lich King - Action list - Talk1'),
+(2424800,9,4,0,0,0,100,0,3000,3000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'The Lich King - Action list - Talk2'),
+(2424800,9,5,0,0,0,100,0,15000,15000,0,0,1,0,0,0,0,0,0,19,24327,10,0,0,0,0,0, 'The Lich King - Action list - Talk0'),
+(2424800,9,6,0,0,0,100,0,3000,3000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, 'The Lich King - Action list - Talk3'),
+(2424800,9,7,0,0,0,100,0,7000,7000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0, 'The Lich King - Action list - Talk4'),
+(2424800,9,8,0,0,0,100,0,19000,19000,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, 'The Lich King - Action list - Talk5'),
+(2424800,9,9,0,0,0,100,0,20000,20000,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0, 'The Lich King - Action list - Talk6'),
+(2424800,9,10,0,0,0,100,0,17000,17000,0,0,11,43488,64,0,0,0,0,7,0,0,0,0,0,0,0, 'The Lich King - Action list - Cast'),
+(2424800,9,11,0,0,0,100,0,500,500,0,0,51,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'The Lich King - Action list - kill'),
+
+(24248,0,1,0,10,0,100,0,0,15,3000,3000,80,2424801,2,0,0,0,0,1,0,0,0,0,0,0,0, 'The Lich King - OOC_LOS - Start Script'),
+(2424801,9,0,0,0,0,100,0,0,0,0,0,1,7,0,0,0,0,0,1,0,0,0,0,0,0,0, 'The Lich King - Action list - Talk7'),
+(2424801,9,1,0,0,0,100,0,0,0,0,0,11,29661,0,0,0,0,0,7,0,0,0,0,0,0,0, 'The Lich King - Action list - Cast Magnetic Pull'),
+(2424801,9,2,0,0,0,100,0,1000,1000,0,0,11,43489,0,0,0,0,0,7,0,0,0,0,0,0,0, 'The Lich King - Action list - Cast Grasp of the Lich King'),
+(2424801,9,3,0,0,0,100,0,8000,8000,0,0,11,50156,0,0,0,0,0,7,0,0,0,0,0,0,0, 'The Lich King - Action list - Cast'),
+(2424801,9,4,0,0,0,100,0,500,500,0,0,51,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'The Lich King - Action list - kill');
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup` IN (1,2) AND `SourceEntry` IN (24248, 24314);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(22,1,24248,0,8,12485,0,0,0,'','event require quest 12485 not rewarded', 1),
+(22,2,24248,0,8,12485,0,0,0,'','event require quest 12485 rewarded', 0),
+(22,1,24314,0,9,11343,0,0,0,'','event require quest 11344 Taken', 0);
+
+DELETE FROM `disables` WHERE `sourceType` = 1 AND `entry` = 12485;
+
+-- NPC Text from sniff
+DELETE FROM `creature_text` WHERE `entry` IN (24314,24315, 24248, 24327);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(24314,0,0, 'So then we too are cursed?',12,0,100,1,0,0, 'Ancient Male Vrykul',23116),
+(24314,1,0, '%s points to the infant.',16,0,100,0,0,0, 'Ancient Male Vrykul',23117),
+(24315,0,0, '%s sobs.',16,0,100,0,0,0, 'Ancient Female Vrykul',23118),
+(24314,2,0, 'The gods have forsaken us! We must dispose of it before Ymiron is notified!',12,0,100,53,0,0, 'Ancient Male Vrykul',23119),
+(24315,1,0, 'NO! You cannot! I beg of you! It is our child!',12,0,100,0,0,0, 'Ancient Female Vrykul',23120),
+(24314,3,0, 'Then what are we to do, wife? The others cannot find out. Should they learn of this aberration, we will all be executed.',12,0,100,1,0,0, 'Ancient Male Vrykul',23121),
+(24315,2,0, 'I... I will hide it. I will hide it until I find it a home, far away from here...',12,0,100,0,0,0, 'Ancient Female Vrykul',23122),
+(24248,0,0, '%s turns to face you.',16,0,100,0,0,0, 'The Lich King',23102),
+(24248,1,0, '%s grins. ',16,0,100,11,0,14820, 'The Lich King',23146),
+(24248,2,0, 'Shamanism has brought you here... Its scent permeates the air. *The Lich King laughs* I was once a shaman.',12,0,100,0,0,14742, 'The Lich King',23147),
+(24327,0,0, 'Shall we prepare it for you, my lord?',12,0,100,0,0,0, 'Val''kyr Soulclaimer',23152),
+(24248,3,0, 'No, minion. This one is not ready.',12,0,100,274,0,14743, 'The Lich King',23148),
+(24248,4,0, 'Do you feel it, mortal? Death seeps through me, enveloping all that I touch. With just a snap of my finger your soul will languish in damnation for all eternity.',12,0,100,1,0,14744, 'The Lich King',23149),
+(24248,5,0, 'But... It is not yet your time to serve the Lich King. Yes, a greater destiny awaits you. Power... You must become more powerful before you are to serve me.',12,0,100,1,0,14745, 'The Lich King',23150),
+(24248,6,0, 'Now watch, val''kyr. Observe as I apply pressure. Can you see that it is not yet ripe? Watch as it pops and falls lifeless to the floor.',12,0,100,1,0,14746, 'The Lich King',23151),
+(24248,7,0, 'Persistence or stupidity? It matters not. Let this be a lesson learned, mortal!',12,0,100,1,0,14747, 'The Lich King',27351);
+
+-- Waypoints for Ancient Female Vrykul from sniff
+DELETE FROM `waypoints` WHERE `entry`=24315;
+INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
+(24315,1,1074.016,-5031.822,9.726947,'talk point'),
+(24315,2,1074.889,-5033.892,9.711858,'home point');
+
+-- Pathing for Val'kyr Watcher Entry: 23935
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7,@NPC+8,@NPC+9,@NPC+10);
+INSERT INTO `creature_addon` (`guid`,`path_id`) VALUES
+(@NPC,@PATH),
+(@NPC+1,@PATH+10),
+(@NPC+2,@PATH+20),
+(@NPC+3,@PATH+30),
+(@NPC+4,@PATH+40),
+(@NPC+5,@PATH+50),
+(@NPC+6,@PATH+60),
+(@NPC+7,@PATH+70),
+(@NPC+8,@PATH+80),
+(@NPC+9,@PATH+90),
+(@NPC+10,@PATH+100);
+
+DELETE FROM `waypoint_data` WHERE `id` IN (@PATH,@PATH+10,@PATH+20,@PATH+30,@PATH+40,@PATH+50,@PATH+60,@PATH+70,@PATH+80,@PATH+90,@PATH+100);
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,946.877,-4950.67,8.72458,0,0,0,100,0),
+(@PATH,2,927.046,-4925.75,8.09321,0,0,0,100,0),
+(@PATH,3,929.734,-4899.67,9.95518,0,0,0,100,0),
+(@PATH,4,939.552,-4878.05,10.4938,0,0,0,100,0),
+(@PATH,5,929.734,-4899.67,9.95518,0,0,0,100,0),
+(@PATH,6,927.046,-4925.75,8.09321,0,0,0,100,0),
+(@PATH+10,1,1036.835,-4931.16,12.83267,0,0,0,100,0),
+(@PATH+10,2,1036.007,-4926.114,12.45767,0,0,0,100,0),
+(@PATH+10,3,1023.932,-4912.754,10.5369,0,0,0,100,0),
+(@PATH+10,4,1000.253,-4901.448,7.911896,0,0,0,100,0),
+(@PATH+10,5,1023.932,-4912.754,10.5369,0,0,0,100,0),
+(@PATH+10,6,1036.007,-4926.114,12.45767,0,0,0,100,0),
+(@PATH+20,1,1026.697,-4942.586,11.8071,0,0,0,100,0),
+(@PATH+20,2,1030.085,-4970.878,12.77823,0,0,0,100,0),
+(@PATH+20,3,1034.023,-4972.842,13.0493,0,0,0,100,0),
+(@PATH+20,4,1030.085,-4970.878,12.77823,0,0,0,100,0),
+(@PATH+20,5,1026.868,-4944.088,12.0571,0,0,0,100,0),
+(@PATH+30,1,1045.199,-5071.371,13.72586,0,0,0,100,0),
+(@PATH+30,2,1069.113,-5069.303,13.34213,0,0,0,100,0),
+(@PATH+30,3,1091.871,-5063.042,13.38427,0,0,0,100,0),
+(@PATH+30,4,1103.122,-5055.239,13.92861,0,0,0,100,0),
+(@PATH+30,5,1099.777,-5030.915,13.25463,0,0,0,100,0),
+(@PATH+30,6,1088.535,-5001.179,13.00463,0,0,0,100,0),
+(@PATH+30,7,1062.886,-4976.348,13.6743,0,0,0,100,0),
+(@PATH+30,8,1044.221,-4979.022,13.7993,0,0,0,100,0),
+(@PATH+30,9,1030.879,-4997.25,13.52823,0,0,0,100,0),
+(@PATH+30,10,1028.676,-5012.598,13.78496,0,0,0,100,0),
+(@PATH+30,11,1034.265,-5039.136,13.73875,0,0,0,100,0),
+(@PATH+40,1,919.0841,-4946.079,33.09615,0,0,0,100,0),
+(@PATH+40,2,937.5836,-4953.232,30.76281,0,0,0,100,0),
+(@PATH+40,3,936.755,-4970.46,30.76281,0,0,0,100,0),
+(@PATH+40,4,929.6907,-4992.461,30.76281,0,0,0,100,0),
+(@PATH+40,5,919.143,-5002.606,30.76281,0,0,0,100,0),
+(@PATH+40,6,899.7684,-4997.275,30.76281,0,0,0,100,0),
+(@PATH+40,7,894.8842,-4973.352,31.20726,0,0,0,100,0),
+(@PATH+40,8,910.7372,-4961.667,33.09615,0,0,0,100,0),
+(@PATH+50,1,955.5239,-4883.864,28.91015,0,0,0,100,0),
+(@PATH+50,2,975.0622,-4876.539,34.57682,0,0,0,100,0),
+(@PATH+50,3,998.4828,-4882.556,34.57682,0,0,0,100,0),
+(@PATH+50,4,1007.136,-4897.439,34.57682,0,0,0,100,0),
+(@PATH+50,5,999.5431,-4915.003,34.57682,0,0,0,100,0),
+(@PATH+50,6,977.8502,-4931.425,34.57682,0,0,0,100,0),
+(@PATH+50,7,955.9329,-4951.924,34.57682,0,0,0,100,0),
+(@PATH+50,8,932.5357,-4941.676,34.57682,0,0,0,100,0),
+(@PATH+50,9,928.3145,-4926.969,35.49352,0,0,0,100,0),
+(@PATH+50,10,934.7177,-4890.745,34.57682,0,0,0,100,0),
+(@PATH+60,1,985.4891,-4985.466,29.27757,0,0,0,100,0),
+(@PATH+60,2,1003.236,-5007.198,29.27757,0,0,0,100,0),
+(@PATH+60,3,1001.194,-5018.937,29.27757,0,0,0,100,0),
+(@PATH+60,4,983.9544,-5038.578,29.27757,0,0,0,100,0),
+(@PATH+60,5,965.2218,-5035.844,29.27757,0,0,0,100,0),
+(@PATH+60,6,955.2875,-5023.462,29.27757,0,0,0,100,0),
+(@PATH+60,7,964.6006,-5006.362,29.27757,0,0,0,100,0),
+(@PATH+60,8,970.6052,-4993.673,29.27757,0,0,0,100,0),
+(@PATH+70,1,997.6531,-4837.691,50.98726,0,0,0,100,0),
+(@PATH+70,2,978.2066,-4826.199,50.98726,0,0,0,100,0),
+(@PATH+70,3,954.6121,-4846.288,50.98726,0,0,0,100,0),
+(@PATH+70,4,915.1261,-4847.07,50.98726,0,0,0,100,0),
+(@PATH+70,5,906.7595,-4877.092,50.98726,0,0,0,100,0),
+(@PATH+70,6,911.5735,-4919.276,50.98726,0,0,0,100,0),
+(@PATH+70,7,942.1261,-4946.08,42.51503,0,0,0,100,0),
+(@PATH+70,8,978.0408,-4936.854,40.5428,0,0,0,100,0),
+(@PATH+70,9,1002.55,-4900.139,38.45948,0,0,0,100,0),
+(@PATH+70,10,1006.246,-4868.183,47.70948,0,0,0,100,0),
+(@PATH+80,1,1022.976,-4810.128,38.31916,0,0,0,100,0),
+(@PATH+80,2,996.8618,-4813.854,38.31916,0,0,0,100,0),
+(@PATH+80,3,964.6756,-4838.639,38.31916,0,0,0,100,0),
+(@PATH+80,4,940.3589,-4846.21,38.31916,0,0,0,100,0),
+(@PATH+80,5,907.9418,-4846.479,34.20804,0,0,0,100,0),
+(@PATH+80,6,887.7231,-4873.045,34.59694,0,0,0,100,0),
+(@PATH+80,7,891.8184,-4898.238,30.04136,0,0,0,100,0),
+(@PATH+80,8,912.4337,-4902.996,30.04136,0,0,0,100,0),
+(@PATH+80,9,939.5068,-4887.826,30.04136,0,0,0,100,0),
+(@PATH+80,10,961.7159,-4869.482,30.04136,0,0,0,100,0),
+(@PATH+80,11,1005.307,-4881.67,30.04136,0,0,0,100,0),
+(@PATH+80,12,1029.752,-4892.972,31.93025,0,0,0,100,0),
+(@PATH+80,13,1067.775,-4894.65,39.06914,0,0,0,100,0),
+(@PATH+80,14,1059.698,-4864.968,47.09693,0,0,0,100,0),
+(@PATH+80,15,1060.522,-4845.491,47.09693,0,0,0,100,0),
+(@PATH+80,16,1046.627,-4824.385,47.09693,0,0,0,100,0),
+(@PATH+90,1,1044.91,-4980.383,47.55685,0,0,0,100,0),
+(@PATH+90,2,1040.873,-5016.178,52.69574,0,0,0,100,0),
+(@PATH+90,3,1054.767,-5042.476,52.69574,0,0,0,100,0),
+(@PATH+90,4,1084.064,-5042.998,39.22352,0,0,0,100,0),
+(@PATH+90,5,1106.236,-5031.327,39.22352,0,0,0,100,0),
+(@PATH+90,6,1106.77,-4995.738,45.02908,0,0,0,100,0),
+(@PATH+90,7,1086.711,-4972.376,47.55685,0,0,0,100,0),
+(@PATH+90,8,1068.264,-4965.238,47.55685,0,0,0,100,0),
+(@PATH+100,1,1066.911,-4940.557,48.88609,0,0,0,100,0),
+(@PATH+100,2,1069.896,-4920.431,40.85831,0,0,0,100,0),
+(@PATH+100,3,1057.342,-4903.877,40.85831,0,0,0,100,0),
+(@PATH+100,4,1044.138,-4900.038,31.74721,0,0,0,100,0),
+(@PATH+100,5,1023.748,-4899.741,28.21942,0,0,0,100,0),
+(@PATH+100,6,1017.973,-4921.141,28.21942,0,0,0,100,0),
+(@PATH+100,7,1037.688,-4934.398,31.88609,0,0,0,100,0);
diff --git a/sql/updates/world/2015_11_06_44_world_2015_08_26_00.sql b/sql/updates/world/2015_11_06_44_world_2015_08_26_00.sql
new file mode 100644
index 00000000000..2bb55b8bfc7
--- /dev/null
+++ b/sql/updates/world/2015_11_06_44_world_2015_08_26_00.sql
@@ -0,0 +1,2 @@
+DELETE FROM `trinity_string` WHERE `entry` = 364;
+INSERT INTO `trinity_string` (`entry`, `content_default`) VALUES (364, 'Taxinodes: %s.');
diff --git a/sql/updates/world/2015_11_07_00_world_2015_10_02_01.sql b/sql/updates/world/2015_11_07_00_world_2015_10_02_01.sql
new file mode 100644
index 00000000000..95f91cd5938
--- /dev/null
+++ b/sql/updates/world/2015_11_07_00_world_2015_10_02_01.sql
@@ -0,0 +1,3 @@
+DELETE FROM `trinity_string` WHERE `entry` = 11010;
+INSERT INTO `trinity_string` VALUES
+(11010, 'You had cooldowns before starting the duel, so your cooldowns haven\'t been reset.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
diff --git a/sql/updates/world/2015_11_07_01_world.sql b/sql/updates/world/2015_11_07_01_world.sql
new file mode 100644
index 00000000000..f6ddc034e20
--- /dev/null
+++ b/sql/updates/world/2015_11_07_01_world.sql
@@ -0,0 +1 @@
+DELETE FROM `trinity_string` WHERE `entry` = 11010;
diff --git a/sql/updates/world/2015_11_07_02_world_2015_09_11_00.sql b/sql/updates/world/2015_11_07_02_world_2015_09_11_00.sql
new file mode 100644
index 00000000000..678e03a31e3
--- /dev/null
+++ b/sql/updates/world/2015_11_07_02_world_2015_09_11_00.sql
@@ -0,0 +1,96 @@
+DROP TABLE IF EXISTS `skill_perfect_item_template`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `skill_perfect_item_template` (
+ `spellId` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT 'SpellId of the item creation spell',
+ `requiredSpecialization` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT 'Specialization spell id',
+ `perfectCreateChance` float NOT NULL DEFAULT '0' COMMENT 'chance to create the perfect item instead',
+ `perfectItemType` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT 'perfect item type to create instead',
+ PRIMARY KEY (`spellId`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Crafting Perfection System';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+LOCK TABLES `skill_perfect_item_template` WRITE;
+/*!40000 ALTER TABLE `skill_perfect_item_template` DISABLE KEYS */;
+INSERT INTO `skill_perfect_item_template` (`spellId`, `requiredSpecialization`, `perfectCreateChance`, `perfectItemType`)
+VALUES
+/* Bloodstone */
+(53831,55534,20,41432), -- Bold
+(53835,55534,20,41433), -- Bright
+(53832,55534,20,41434), -- Delicate
+(53844,55534,20,41435), -- Flashing
+(53845,55534,20,41436), -- Fractured
+(54017,55534,20,41437), -- Precise
+(53834,55534,20,41438), -- Runed
+(53843,55534,20,41439), -- Subtle
+/* Sun Crystal */
+(53852,55534,20,41444), -- Brilliant
+(53857,55534,20,41445), -- Mystic
+(53856,55534,20,41446), -- Quick
+(53854,55534,20,41447), -- Rigid
+(53853,55534,20,41448), -- Smooth
+(53855,55534,20,41449), -- Thick
+/* Chalcedony */
+(53941,55534,20,41440), -- Lustrous
+(53934,55534,20,41441), -- Solid
+(53940,55534,20,41442), -- Sparkling
+(53943,55534,20,41443), -- Stormy
+/* Dark Jade */
+(53926,55534,20,41463), -- Dazzling
+(53918,55534,20,41464), -- Enduring
+(53930,55534,20,41465), -- Energized
+(53920,55534,20,41466), -- Forceful
+(53925,55534,20,41467), -- Intricate
+(53916,55534,20,41468), -- Jagged
+(53928,55534,20,41469), -- Lambent
+(53922,55534,20,41470), -- Misty
+(53929,55534,20,41471), -- Opaque
+(53931,55534,20,41472), -- Radiant
+(53921,55534,20,41473), -- Seer's
+(53933,55534,20,41474), -- Shattered
+(53923,55534,20,41475), -- Shining
+(53919,55534,20,41476), -- Steady
+(53927,55534,20,41477), -- Sundered
+(53932,55534,20,41478), -- Tense
+(53894,55534,20,41479), -- Timeless
+(53924,55534,20,41480), -- Turbid
+(53917,55534,20,41481), -- Vivid
+/* Huge Citrine */
+(53886,55534,20,41429), -- Wicked
+(53892,55534,20,41482), -- Accurate
+(53874,55534,20,41483), -- Champion's
+(53877,55534,20,41484), -- Deadly
+(53880,55534,20,41485), -- Deft
+(53884,55534,20,41486), -- Durable
+(53888,55534,20,41487), -- Empowered
+(53873,55534,20,41488), -- Etched
+(53876,55534,20,41489), -- Fierce
+(53891,55534,20,41490), -- Glimmering
+(53878,55534,20,41491), -- Glinting
+(53872,55534,20,41492), -- Inscribed
+(53879,55534,20,41493), -- Lucent
+(53881,55534,20,41494), -- Luminous
+(53882,55534,20,41495), -- Potent
+(53887,55534,20,41496), -- Pristine
+(53885,55534,20,41497), -- Reckless
+(53893,55534,20,41498), -- Resolute
+(53875,55534,20,41499), -- Resplendent
+(53890,55534,20,41500), -- Stalwart
+(53889,55534,20,41501), -- Stark
+(53883,55534,20,41502), -- Veiled
+/* Shadow Crystal */
+(53866,55534,20,41450), -- Balanced
+(53869,55534,20,41451), -- Defender's
+(53862,55534,20,41452), -- Glowing
+(53871,55534,20,41453), -- Guardian's
+(53867,55534,20,41454), -- Infused
+(53865,55534,20,41455), -- Mysterious
+(53870,55534,20,41456), -- Puissant
+(53863,55534,20,41457), -- Purified
+(53868,55534,20,41458), -- Regal
+(53864,55534,20,41459), -- Royal
+(53860,55534,20,41460), -- Shifting
+(53859,55534,20,41461), -- Sovereign
+(53861,55534,20,41462); -- Tenuous
+/*!40000 ALTER TABLE `skill_perfect_item_template` ENABLE KEYS */;
+UNLOCK TABLES;
diff --git a/sql/updates/world/2015_11_07_03_world.sql b/sql/updates/world/2015_11_07_03_world.sql
new file mode 100644
index 00000000000..2cb4a1bdd90
--- /dev/null
+++ b/sql/updates/world/2015_11_07_03_world.sql
@@ -0,0 +1,9 @@
+-- Page text: Saga of the Sin'dorei
+
+DELETE FROM `page_text` WHERE `ID` IN (2823, 2824, 2825, 2826, 2827);
+INSERT INTO `page_text` (`ID`, `TEXT`, `NextPageID`) VALUES
+(2823, "Thousands of years ago, the exiled Highborne landed on the shores of Lordaeron and founded the enchanted kingdom of Quel'Thalas. These high elves, as they called themselves, created a fount of vast, magical energies within the heart of their land - the Sunwell. Over time, they grew dependant on the Sunwell's unstable energies- regardless of the bitter lessons they'd learned in ages past.", 2824),
+(2824, "During the Third War, the villainous Prince Arthas invaded Quel'Thalas and reduced the once-mighty realm to rubble and ashes. His undead army decimated nearly ninety percent of the high elven population. In addition, he used the Sunwell's energies to resurrect Kel'thuzad - a powerful undead Lich - thereby fouling the Sunwell's mystical waters. The few elven survivors, realizing that they had been cut off from the source of their arcane power, grew increasingly volatile and desperate.", 2825),
+(2825, "In the midst of the elves' darkest hour came Kael'thas Sunstrider - the last of Quel'Thalas' royal bloodline. Kael, as he was commonly known, knew that the remnants of his people would not long survive without the nourishing magics that once empowered them. Renaming his people blood elves, in honor of their fallen countrymen, he taught them how to tap into ambient mystical energies- even demonic energies - in order to sate their terrible thirst for magic.", 2826),
+(2826, "In search of a new destiny for his people - referred to in the elven vernacular now as the Sin'dorei - Kael'thas ventured to the remote world of Outland where he encountered the fallen night elf, Illidan. Under Illidan's tutelage, Kael and his blood elves have regained much of their former power.", 2827),
+(2827, "Unfortunately, the blood elves' practice of embracing demonic energies resulted in them being shunned by their former comrades in the Alliance. Thus, he remaining blood elves on Azeroth look desperately to the Horde to help them reach Outland, where they can reunite with Kael'thas and achieve the golden destiny he promised them.", 0);
diff --git a/sql/updates/world/2015_11_07_04_world.sql b/sql/updates/world/2015_11_07_04_world.sql
new file mode 100644
index 00000000000..834a18a00e5
--- /dev/null
+++ b/sql/updates/world/2015_11_07_04_world.sql
@@ -0,0 +1,47 @@
+--
+SET @Guid=144801;
+DELETE FROM `creature` WHERE `guid` BETWEEN @Guid+0 and @Guid+41;
+DELETE FROM `creature` WHERE `id`=22175;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `PhaseId`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`) VALUES
+(@Guid+0, 22175, 530, 1, 169, 0, 0, 2608.55, 7075.41, 364.496, 5.71923, 300, 5, 0, 7181, 0, 1),
+(@Guid+1, 22175, 530, 1, 169, 0, 0, 2238.57, 7119.23, 365.84, 3.09914, 300, 5, 0, 7181, 0, 1),
+(@Guid+2, 22175, 530, 1, 169, 0, 0, 2218.84, 7276.48, 366.109, 3.94579, 300, 5, 0, 7181, 0, 1),
+(@Guid+3, 22175, 530, 1, 169, 0, 0, 2154.76, 7242.51, 371.791, 1.50713, 300, 5, 0, 7181, 0, 1),
+(@Guid+4, 22175, 530, 1, 169, 0, 0, 1991.99, 7364.78, 366.955, 1.9501, 300, 5, 0, 7181, 0, 1),
+(@Guid+5, 22175, 530, 1, 169, 0, 0, 2076.62, 7337.08, 365.808, 0.65419, 300, 5, 0, 7181, 0, 1),
+(@Guid+6, 22175, 530, 1, 169, 0, 0, 4079.29, 5129.22, 268.446, 1.09823, 600, 5, 0, 7181, 0, 1),
+(@Guid+7, 22175, 530, 1, 169, 0, 0, 2270.3, 7189.96, 364.752, 6.06008, 300, 5, 0, 7181, 0, 1),
+(@Guid+8, 22175, 530, 1, 169, 0, 0, 2202.82, 7237.79, 375.415, 2.95619, 300, 5, 0, 7181, 0, 1),
+(@Guid+9, 22175, 530, 1, 169, 0, 0, 2008.2, 7182.08, 369.87, 5.39014, 300, 5, 0, 7181, 0, 1),
+(@Guid+10, 22175, 530, 1, 169, 0, 0, 1952.68, 7216.42, 368.281, 4.71862, 300, 5, 0, 7181, 0, 1),
+(@Guid+11, 22175, 530, 1, 169, 0, 0, 2129.63, 7169.39, 366.483, 2.49909, 300, 5, 0, 7181, 0, 1),
+(@Guid+12, 22175, 530, 1, 169, 0, 0, 2494.71, 7263.55, 367.219, 5.21106, 300, 5, 0, 7181, 0, 1),
+(@Guid+13, 22175, 530, 1, 169, 0, 0, 2054.45, 7271.76, 365.238, 2.8211, 300, 5, 0, 7181, 0, 1),
+(@Guid+14, 22175, 530, 1, 169, 0, 0, 2483.08, 7057.84, 364.585, 3.86333, 300, 5, 0, 7181, 0, 1),
+(@Guid+15, 22175, 530, 1, 169, 0, 0, 2525.27, 7252.78, 365.323, 4.43352, 300, 5, 0, 7181, 0, 1),
+(@Guid+16, 22175, 530, 1, 169, 0, 0, 2455.15, 7057.42, 366.643, 0.409148, 300, 5, 0, 7181, 0, 1),
+(@Guid+17, 22175, 530, 1, 169, 0, 0, 2050.88, 7172.54, 369.315, 4.41232, 300, 5, 0, 7181, 0, 1),
+(@Guid+18, 22175, 530, 1, 169, 0, 0, 2402.86, 7068.99, 369.09, 2.95541, 300, 5, 0, 7181, 0, 1),
+(@Guid+19, 22175, 530, 1, 169, 0, 0, 2383.77, 7040.89, 379.688, 2.85331, 300, 5, 0, 7181, 0, 1),
+(@Guid+20, 22175, 530, 1, 169, 0, 0, 2345.61, 7026.68, 387.225, 2.59727, 300, 5, 0, 7181, 0, 1),
+(@Guid+21, 22175, 530, 1, 169, 0, 0, 2209.37, 7124.08, 364.438, 5.00765, 300, 5, 0, 7181, 0, 1),
+(@Guid+22, 22175, 530, 1, 169, 0, 0, 1843.45, 7310.6, 369.195, 1.96894, 300, 5, 0, 7181, 0, 1),
+(@Guid+23, 22175, 530, 1, 169, 0, 0, 1847.23, 7324.28, 368.691, 5.12624, 300, 5, 0, 7181, 0, 1),
+(@Guid+24, 22175, 530, 1, 169, 0, 0, 1853.72, 7366.1, 366.072, 1.24245, 300, 5, 0, 7181, 0, 1),
+(@Guid+25, 22175, 530, 1, 169, 0, 0, 2148.09, 7282.4, 368.747, 6.10328, 300, 5, 0, 7181, 0, 1),
+(@Guid+26, 22175, 530, 1, 169, 0, 0, 2596.27, 7200.13, 367.541, 1.25031, 300, 5, 0, 7181, 0, 1),
+(@Guid+27, 22175, 530, 1, 169, 0, 0, 2176.91, 7309.42, 372.694, 5.73415, 300, 5, 0, 7181, 0, 1),
+(@Guid+28, 22175, 530, 1, 169, 0, 0, 2745.14, 7230.82, 368.577, 3.98822, 300, 5, 0, 7181, 0, 1),
+(@Guid+29, 22175, 530, 1, 169, 0, 0, 2725.08, 7244.41, 369.344, 6.08051, 300, 5, 0, 7181, 0, 1),
+(@Guid+30, 22175, 530, 1, 169, 0, 0, 2591.54, 7220.81, 364.005, 5.91165, 300, 5, 0, 7181, 0, 1),
+(@Guid+31, 22175, 530, 1, 169, 0, 0, 2305.98, 7154.86, 365.855, 0.25991, 300, 5, 0, 7181, 0, 1),
+(@Guid+32, 22175, 530, 1, 169, 0, 0, 2337.79, 7148.06, 368.183, 1.28878, 300, 5, 0, 7181, 0, 1),
+(@Guid+33, 22175, 530, 1, 169, 0, 0, 2425.56, 7173.66, 366.865, 6.19438, 300, 5, 0, 7181, 0, 1),
+(@Guid+34, 22175, 530, 1, 169, 0, 0, 2460.97, 7128.22, 367.7, 1.39166, 300, 5, 0, 7181, 0, 1),
+(@Guid+35, 22175, 530, 1, 169, 0, 0, 2491.67, 7155.23, 369.61, 3.2884, 300, 5, 0, 7181, 0, 1),
+(@Guid+36, 22175, 530, 1, 169, 0, 0, 2451.01, 7296.84, 365.796, 2.66794, 300, 5, 0, 7181, 0, 1),
+(@Guid+37, 22175, 530, 1, 169, 0, 0, 2439.87, 7254.54, 369.234, 2.22419, 300, 5, 0, 7181, 0, 1),
+(@Guid+38, 22175, 530, 1, 169, 0, 0, 1945.76, 7133.53, 367.456, 3.74865, 300, 5, 0, 7181, 0, 1),
+(@Guid+39, 22175, 530, 1, 169, 0, 0, 2037.34, 7265.44, 367.727, 0.68482, 300, 5, 0, 7181, 0, 1),
+(@Guid+40, 22175, 530, 1, 169, 0, 0, 1993.1, 7143.76, 373.431, 5.6768, 300, 5, 0, 7181, 0, 1),
+(@Guid+41, 22175, 530, 1, 169, 0, 0, 1948.44, 7203.54, 366.609, 1.46472, 300, 5, 0, 7181, 0, 1);
diff --git a/sql/updates/world/2015_11_07_05_world.sql b/sql/updates/world/2015_11_07_05_world.sql
new file mode 100644
index 00000000000..55a6f3e5f9d
--- /dev/null
+++ b/sql/updates/world/2015_11_07_05_world.sql
@@ -0,0 +1,21 @@
+--
+-- AQ20 Summon Enabler Stalkers **** 434 & 6XX only ****
+SET @CGUID := 250142;
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+4;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `PhaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 53488, 509, 1, 169, -8427.401, 1543.568, 32.65972, 0, 7200, 0, 0), -- Summon Enabler Stalker
+(@CGUID+1, 53488, 509, 1, 169, -8443.738, 1521.17, 31.99033, 0.3316126, 7200, 0, 0), -- Summon Enabler Stalker
+(@CGUID+2, 53488, 509, 1, 169, -8453.188, 1496.908, 32.49519, 0.5759587, 7200, 0, 0), -- Summon Enabler Stalker
+(@CGUID+3, 53488, 509, 1, 169, -8457.667, 1552.467, 31.99035, 0, 7200, 0, 0), -- Summon Enabler Stalker
+(@CGUID+4, 53488, 509, 1, 169, -8477.679, 1523.717, 31.99035, 0, 7200, 0, 0); -- Summon Enabler Stalker
+DELETE FROM `creature_template_addon` WHERE `entry` IN (53488);
+INSERT INTO `creature_template_addon` (`entry`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (53488,0,1,0, '99201');
+
+-- AQ40 Summon Enabler Stalkers **** 434 & 6XX only ****
+SET @CGUID := 250147;
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+3;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `PhaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 53488, 531, 1, 169, -8206.741, 2011.095, 129.985, 0, 7200, 0, 0), -- Summon Enabler Stalker
+(@CGUID+1, 53488, 531, 1, 169, -8216.75, 2055.684, 130.3047, 0, 7200, 0, 0), -- Summon Enabler Stalker
+(@CGUID+2, 53488, 531, 1, 169, -8191.83, 2039.389, 131.013, 0, 7200, 0, 0), -- Summon Enabler Stalker
+(@CGUID+3, 53488, 531, 1, 169, -8228.645, 2026.089, 129.8517, 0, 7200, 0, 0); -- Summon Enabler Stalker
diff --git a/sql/updates/world/2015_11_07_06_world_2015_05_09_00.sql b/sql/updates/world/2015_11_07_06_world_2015_05_09_00.sql
new file mode 100644
index 00000000000..d2e488cc026
--- /dev/null
+++ b/sql/updates/world/2015_11_07_06_world_2015_05_09_00.sql
@@ -0,0 +1,35 @@
+-- The Exorcism of Colonel Jules
+UPDATE `creature_template` SET `ScriptName`= 'npc_barada' WHERE `entry`= 22431;
+UPDATE `creature_template` SET `ScriptName`= 'npc_colonel_jules' WHERE `entry`= 22432;
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id` = 8539;
+INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `OptionBroadcastTextID`, `option_id`, `npc_option_npcflag`) VALUES
+(8539, 1, 0, 'I am ready, Anchorite. Let us begin the exorcism.', 20396, 1, 3);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=8539;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(15,8539,0,0,9,10935,0,0,0,'','Show gossip menu if player accept Exorcism of Colonel Jules');
+
+DELETE FROM `creature_text` WHERE `entry` IN(22431, 22432);
+-- Barada
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(22431, 0, 0, 'It is time. The rite of exorcism will now commence...', 12, 0, 100, 0, 0, 0, 20400, 0, 'Barada'),
+(22431, 1, 0, 'Prepare yourself. Do not allow the ritual to be interrupted or we may lose our patient...', 12, 0, 100, 0, 0, 0, 20401, 0, 'Barada'),
+(22431, 2, 0, 'Back foul beings of darkness! You have no power here!', 12, 0, 100, 0, 0, 0, 20404, 0, 'Barada'),
+(22431, 3, 0, 'I... must not... falter', 12, 0, 100, 0, 0, 0, 20407, 0, 'Barada'),
+(22431, 4, 0, 'The Light is my guide... it is my sustenance!', 12, 0, 100, 0, 0, 0, 20408, 0, 'Barada'),
+(22431, 5, 0, 'The power of light compells you! Back to your pit!', 12, 0, 100, 0, 0, 0, 20405, 0, 'Barada'),
+(22431, 6, 0, 'Be cleansed with Light, human! Let not the demonic corruption overwhelm you.', 12, 0, 100, 0, 0, 0, 20403, 0, 'Barada'),
+(22431, 7, 0, 'Back! I cast you back... corruptor of faith! Author of pain! Do not return, or suffer the same fate as you did here today!', 12, 0, 100, 0, 0, 0, 20419, 0, 'Barada'),
+
+-- Colonel Jules
+(22432, 0, 0, 'Keep away. The fool is mine.', 12, 0, 100, 0, 0, 0, 20402, 0, 'Colonel Jules'),
+(22432, 1, 0, 'Ah! Cease the incantations, Anchorite! Cease, or I will show you such pain that your pathetic people have never imagined!', 12, 0, 100, 0, 0, 0, 20414, 0, 'Colonel Jules'),
+(22432, 2, 0, 'This is fruitless, draenei! You and your little helper cannot wrest control of this pathetic human. He is mine!', 12, 0, 100, 0, 0, 0, 20416, 0, 'Colonel Jules'),
+(22432, 3, 0, 'I see your ancestors, Anchorite! They writhe and scream in the darkness... they are with us!', 12, 0, 100, 0, 0, 0, 20415, 0, 'Colonel Jules'),
+(22432, 4, 0, 'I will tear your soul into morsels and slow roast them over demon fire.', 12, 0, 100, 0, 0, 0, 20417, 0, 'Colonel Jules');
+
+-- Aura for the flying skulls
+DELETE FROM `creature_template_addon` WHERE `entry` = 22507;
+INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES
+(22507, 0, 0, 0, 1, 0, '39303');
diff --git a/src/server/database/Database/DatabaseLoader.cpp b/src/server/database/Database/DatabaseLoader.cpp
index 1d704100d93..d3e9e7a7132 100644
--- a/src/server/database/Database/DatabaseLoader.cpp
+++ b/src/server/database/Database/DatabaseLoader.cpp
@@ -66,7 +66,7 @@ DatabaseLoader& DatabaseLoader::AddDatabase(DatabaseWorkerPool<T>& pool, std::st
if (error)
{
TC_LOG_ERROR("sql.driver", "\nDatabasePool %s NOT opened. There were errors opening the MySQL connections. Check your SQLDriverLogFile "
- "for specific errors. Read wiki at http://collab.kpsn.org/display/tc/TrinityCore+Home", name.c_str());
+ "for specific errors. Read wiki at http://www.trinitycore.info/display/tc/TrinityCore+Home", name.c_str());
return false;
}
diff --git a/src/server/database/Database/Implementation/CharacterDatabase.cpp b/src/server/database/Database/Implementation/CharacterDatabase.cpp
index 3399e9a8136..3ecc3975611 100644
--- a/src/server/database/Database/Implementation/CharacterDatabase.cpp
+++ b/src/server/database/Database/Implementation/CharacterDatabase.cpp
@@ -662,7 +662,7 @@ void CharacterDatabaseConnection::DoPrepareStatements()
// PvPstats
PrepareStatement(CHAR_SEL_PVPSTATS_MAXID, "SELECT MAX(id) FROM pvpstats_battlegrounds", CONNECTION_SYNCH);
PrepareStatement(CHAR_INS_PVPSTATS_BATTLEGROUND, "INSERT INTO pvpstats_battlegrounds (id, winner_faction, bracket_id, type, date) VALUES (?, ?, ?, ?, NOW())", CONNECTION_ASYNC);
- PrepareStatement(CHAR_INS_PVPSTATS_PLAYER, "INSERT INTO pvpstats_players (battleground_id, character_guid, score_killing_blows, score_deaths, score_honorable_kills, score_bonus_honor, score_damage_done, score_healing_done, attr_1, attr_2, attr_3, attr_4, attr_5) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_INS_PVPSTATS_PLAYER, "INSERT INTO pvpstats_players (battleground_id, character_guid, winner, score_killing_blows, score_deaths, score_honorable_kills, score_bonus_honor, score_damage_done, score_healing_done, attr_1, attr_2, attr_3, attr_4, attr_5) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_PVPSTATS_FACTIONS_OVERALL, "SELECT winner_faction, COUNT(*) AS count FROM pvpstats_battlegrounds WHERE DATEDIFF(NOW(), date) < 7 GROUP BY winner_faction ORDER BY winner_faction ASC", CONNECTION_SYNCH);
// QuestTracker
diff --git a/src/server/database/Database/Implementation/LoginDatabase.cpp b/src/server/database/Database/Implementation/LoginDatabase.cpp
index 7e199659177..9b2837bfffe 100644
--- a/src/server/database/Database/Implementation/LoginDatabase.cpp
+++ b/src/server/database/Database/Implementation/LoginDatabase.cpp
@@ -39,10 +39,10 @@ void LoginDatabaseConnection::DoPrepareStatements()
PrepareStatement(LOGIN_SEL_LOGON_COUNTRY, "SELECT country FROM ip2nation WHERE ip < ? ORDER BY ip DESC LIMIT 0,1", CONNECTION_SYNCH);
PrepareStatement(LOGIN_SEL_ACCOUNT_ID_BY_NAME, "SELECT id FROM account WHERE username = ?", CONNECTION_SYNCH);
PrepareStatement(LOGIN_SEL_ACCOUNT_LIST_BY_NAME, "SELECT id, username FROM account WHERE username = ?", CONNECTION_SYNCH);
- PrepareStatement(LOGIN_SEL_ACCOUNT_INFO_BY_NAME, "SELECT a.id, a.sessionkey, ba.last_ip, ba.locked, a.expansion, a.mutetime, ba.locale, a.recruiter, ba.os, ba.id, aa.gmLevel, "
+ PrepareStatement(LOGIN_SEL_ACCOUNT_INFO_BY_NAME, "SELECT a.id, a.sessionkey, ba.last_ip, ba.locked, ba.lock_country, a.expansion, a.mutetime, ba.locale, a.recruiter, ba.os, ba.id, aa.gmLevel, "
"bab.unbandate > UNIX_TIMESTAMP() OR bab.unbandate = bab.bandate, ab.unbandate > UNIX_TIMESTAMP() OR ab.unbandate = ab.bandate, r.id "
"FROM account a LEFT JOIN account r ON a.id = r.recruiter LEFT JOIN battlenet_accounts ba ON a.battlenet_account = ba.id "
- "LEFT JOIN account_access aa ON a.id = aa.id AND aa.RealmID IN (-1, ?) LEFT JOIN battlenet_account_bans bab ON ba.id = bab.id LEFT JOIN account_banned ab ON a.id = ab.id "
+ "LEFT JOIN account_access aa ON a.id = aa.id AND aa.RealmID IN (-1, ?) LEFT JOIN battlenet_account_bans bab ON ba.id = bab.id LEFT JOIN account_banned ab ON a.id = ab.id AND ab.active = 1 "
"WHERE a.username = ? ORDER BY aa.RealmID DESC LIMIT 1", CONNECTION_ASYNC);
PrepareStatement(LOGIN_SEL_ACCOUNT_LIST_BY_EMAIL, "SELECT id, username FROM account WHERE email = ?", CONNECTION_SYNCH);
@@ -51,7 +51,7 @@ void LoginDatabaseConnection::DoPrepareStatements()
PrepareStatement(LOGIN_INS_IP_BANNED, "INSERT INTO ip_banned (ip, bandate, unbandate, bannedby, banreason) VALUES (?, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()+?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(LOGIN_DEL_IP_NOT_BANNED, "DELETE FROM ip_banned WHERE ip = ?", CONNECTION_ASYNC);
PrepareStatement(LOGIN_INS_ACCOUNT_BANNED, "INSERT INTO account_banned VALUES (?, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()+?, ?, ?, 1)", CONNECTION_ASYNC);
- PrepareStatement(LOGIN_UPD_ACCOUNT_NOT_BANNED, "UPDATE account_banned SET unbandate = UNIX_TIMESTAMP(), active = 0 WHERE id = ? AND active != 0", CONNECTION_ASYNC);
+ PrepareStatement(LOGIN_UPD_ACCOUNT_NOT_BANNED, "UPDATE account_banned SET active = 0 WHERE id = ? AND active != 0", CONNECTION_ASYNC);
PrepareStatement(LOGIN_DEL_REALM_CHARACTERS_BY_REALM, "DELETE FROM realmcharacters WHERE acctid = ? AND realmid = ?", CONNECTION_ASYNC);
PrepareStatement(LOGIN_DEL_REALM_CHARACTERS, "DELETE FROM realmcharacters WHERE acctid = ?", CONNECTION_ASYNC);
PrepareStatement(LOGIN_INS_REALM_CHARACTERS, "INSERT INTO realmcharacters (numchars, acctid, realmid) VALUES (?, ?, ?)", CONNECTION_ASYNC);
@@ -118,12 +118,12 @@ void LoginDatabaseConnection::DoPrepareStatements()
PrepareStatement(LOGIN_SEL_BNET_ACCOUNT_INFO, "SELECT " BnetAccountInfo ", ba.sha_pass_hash, ba.v, ba.s, " BnetGameAccountInfo
" FROM battlenet_accounts ba LEFT JOIN battlenet_account_bans bab ON ba.id = bab.id LEFT JOIN account a ON ba.id = a.battlenet_account"
- " LEFT JOIN account_banned ab ON a.id = ab.id LEFT JOIN account_access aa ON a.id = aa.id AND aa.RealmID = -1 WHERE ba.email = ?", CONNECTION_ASYNC);
+ " LEFT JOIN account_banned ab ON a.id = ab.id AND ab.active = 1 LEFT JOIN account_access aa ON a.id = aa.id AND aa.RealmID = -1 WHERE ba.email = ?", CONNECTION_ASYNC);
PrepareStatement(LOGIN_UPD_BNET_VS_FIELDS, "UPDATE battlenet_accounts SET v = ?, s = ? WHERE email = ?", CONNECTION_ASYNC);
PrepareStatement(LOGIN_UPD_BNET_SESSION_KEY, "UPDATE battlenet_accounts SET sessionKey = ?, online = ? WHERE id = ?", CONNECTION_ASYNC);
PrepareStatement(LOGIN_SEL_BNET_RECONNECT_INFO, "SELECT " BnetAccountInfo ", ba.sessionKey, " BnetGameAccountInfo
" FROM battlenet_accounts ba LEFT JOIN battlenet_account_bans bab ON ba.id = bab.id LEFT JOIN account a ON ba.id = a.battlenet_account"
- " LEFT JOIN account_banned ab ON a.id = ab.id LEFT JOIN account_access aa ON a.id = aa.id AND aa.RealmID = -1 WHERE ba.email = ? AND a.username = ?", CONNECTION_ASYNC);
+ " LEFT JOIN account_banned ab ON a.id = ab.id AND ab.active = 1 LEFT JOIN account_access aa ON a.id = aa.id AND aa.RealmID = -1 WHERE ba.email = ? AND a.username = ?", CONNECTION_ASYNC);
PrepareStatement(LOGIN_UPD_BNET_FAILED_LOGINS, "UPDATE battlenet_accounts SET failed_logins = failed_logins + 1 WHERE email = ?", CONNECTION_ASYNC);
PrepareStatement(LOGIN_UPD_BNET_LAST_LOGIN_INFO, "UPDATE battlenet_accounts SET last_ip = ?, last_login = NOW(), locale = ?, failed_logins = 0, os = ? WHERE id = ?", CONNECTION_ASYNC);
PrepareStatement(LOGIN_SEL_BNET_CHARACTER_COUNTS, "SELECT rc.numchars, r.id, r.Region, r.Battlegroup, r.gamebuild FROM realmcharacters rc INNER JOIN realmlist r ON rc.realmid = r.id WHERE rc.acctid = ?", CONNECTION_ASYNC);
diff --git a/src/server/game/AI/CreatureAIFactory.h b/src/server/game/AI/CreatureAIFactory.h
index 4473d3e9cd5..4e11630259b 100644
--- a/src/server/game/AI/CreatureAIFactory.h
+++ b/src/server/game/AI/CreatureAIFactory.h
@@ -50,6 +50,8 @@ CreatureAIFactory<REAL_AI>::Create(void* data) const
typedef FactoryHolder<CreatureAI> CreatureAICreator;
typedef FactoryHolder<CreatureAI>::FactoryHolderRegistry CreatureAIRegistry;
+#define sCreatureAIRegistry CreatureAIRegistry::instance()
+
//GO
struct SelectableGameObjectAI : public FactoryHolder<GameObjectAI>, public Permissible<GameObject>
{
@@ -76,4 +78,7 @@ GameObjectAIFactory<REAL_GO_AI>::Create(void* data) const
typedef FactoryHolder<GameObjectAI> GameObjectAICreator;
typedef FactoryHolder<GameObjectAI>::FactoryHolderRegistry GameObjectAIRegistry;
+
+#define sGameObjectAIRegistry GameObjectAIRegistry::instance()
+
#endif
diff --git a/src/server/game/AI/CreatureAIImpl.h b/src/server/game/AI/CreatureAIImpl.h
index a2c5c5db057..529f7420021 100644
--- a/src/server/game/AI/CreatureAIImpl.h
+++ b/src/server/game/AI/CreatureAIImpl.h
@@ -23,292 +23,14 @@
#include "CreatureAI.h"
#include "SpellMgr.h"
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2)
-{
- return (urand(0, 1)) ? v1 : v2;
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3)
-{
- switch (urand(0, 2))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4)
-{
- switch (urand(0, 3))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5)
-{
- switch (urand(0, 4))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5, const T& v6)
-{
- switch (urand(0, 5))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- case 5: return v6;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5, const T& v6, const T& v7)
-{
- switch (urand(0, 6))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- case 5: return v6;
- case 6: return v7;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5, const T& v6, const T& v7, const T& v8)
-{
- switch (urand(0, 7))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- case 5: return v6;
- case 6: return v7;
- case 7: return v8;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5, const T& v6, const T& v7, const T& v8,
- const T& v9)
-{
- switch (urand(0, 8))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- case 5: return v6;
- case 6: return v7;
- case 7: return v8;
- case 8: return v9;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5, const T& v6, const T& v7, const T& v8,
- const T& v9, const T& v10)
-{
- switch (urand(0, 9))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- case 5: return v6;
- case 6: return v7;
- case 7: return v8;
- case 8: return v9;
- case 9: return v10;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5, const T& v6, const T& v7, const T& v8,
- const T& v9, const T& v10, const T& v11)
-{
- switch (urand(0, 10))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- case 5: return v6;
- case 6: return v7;
- case 7: return v8;
- case 8: return v9;
- case 9: return v10;
- case 10: return v11;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5, const T& v6, const T& v7, const T& v8,
- const T& v9, const T& v10, const T& v11, const T& v12)
-{
- switch (urand(0, 11))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- case 5: return v6;
- case 6: return v7;
- case 7: return v8;
- case 8: return v9;
- case 9: return v10;
- case 10: return v11;
- case 11: return v12;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5, const T& v6, const T& v7, const T& v8,
- const T& v9, const T& v10, const T& v11, const T& v12, const T& v13)
-{
- switch (urand(0, 12))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- case 5: return v6;
- case 6: return v7;
- case 7: return v8;
- case 8: return v9;
- case 9: return v10;
- case 10: return v11;
- case 11: return v12;
- case 12: return v13;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5, const T& v6, const T& v7, const T& v8,
- const T& v9, const T& v10, const T& v11, const T& v12, const T& v13, const T& v14)
-{
- switch (urand(0, 13))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- case 5: return v6;
- case 6: return v7;
- case 7: return v8;
- case 8: return v9;
- case 9: return v10;
- case 10: return v11;
- case 11: return v12;
- case 12: return v13;
- case 13: return v14;
- }
-}
-
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5, const T& v6, const T& v7, const T& v8,
- const T& v9, const T& v10, const T& v11, const T& v12, const T& v13, const T& v14, const T& v15)
-{
- switch (urand(0, 14))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- case 5: return v6;
- case 6: return v7;
- case 7: return v8;
- case 8: return v9;
- case 9: return v10;
- case 10: return v11;
- case 11: return v12;
- case 12: return v13;
- case 13: return v14;
- case 14: return v15;
- }
-}
+#include <functional>
+#include <type_traits>
-template<class T>
-inline
-const T& RAND(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5, const T& v6, const T& v7, const T& v8,
- const T& v9, const T& v10, const T& v11, const T& v12, const T& v13, const T& v14, const T& v15, const T& v16)
+template<typename First, typename Second, typename... Rest>
+static inline First const& RAND(First const& first, Second const& second, Rest const&... rest)
{
- switch (urand(0, 15))
- {
- default:
- case 0: return v1;
- case 1: return v2;
- case 2: return v3;
- case 3: return v4;
- case 4: return v5;
- case 5: return v6;
- case 6: return v7;
- case 7: return v8;
- case 8: return v9;
- case 9: return v10;
- case 10: return v11;
- case 11: return v12;
- case 12: return v13;
- case 13: return v14;
- case 14: return v15;
- case 15: return v16;
- }
+ std::reference_wrapper<typename std::add_const<First>::type> const pack[] = { first, second, rest... };
+ return pack[urand(0, sizeof...(rest) + 1)].get();
}
enum AITarget
diff --git a/src/server/game/AI/CreatureAISelector.cpp b/src/server/game/AI/CreatureAISelector.cpp
index ddb5ba3508b..495e6dcee31 100644
--- a/src/server/game/AI/CreatureAISelector.cpp
+++ b/src/server/game/AI/CreatureAISelector.cpp
@@ -30,10 +30,9 @@ namespace FactorySelector
CreatureAI* selectAI(Creature* creature)
{
const CreatureAICreator* ai_factory = NULL;
- CreatureAIRegistry& ai_registry(*CreatureAIRegistry::instance());
if (creature->IsPet())
- ai_factory = ai_registry.GetRegistryItem("PetAI");
+ ai_factory = sCreatureAIRegistry->GetRegistryItem("PetAI");
//scriptname in db
if (!ai_factory)
@@ -43,32 +42,32 @@ namespace FactorySelector
// AIname in db
std::string ainame=creature->GetAIName();
if (!ai_factory && !ainame.empty())
- ai_factory = ai_registry.GetRegistryItem(ainame);
+ ai_factory = sCreatureAIRegistry->GetRegistryItem(ainame);
// select by NPC flags
if (!ai_factory)
{
if (creature->IsVehicle())
- ai_factory = ai_registry.GetRegistryItem("VehicleAI");
+ ai_factory = sCreatureAIRegistry->GetRegistryItem("VehicleAI");
else if (creature->HasUnitTypeMask(UNIT_MASK_CONTROLABLE_GUARDIAN) && ((Guardian*)creature)->GetOwner()->GetTypeId() == TYPEID_PLAYER)
- ai_factory = ai_registry.GetRegistryItem("PetAI");
+ ai_factory = sCreatureAIRegistry->GetRegistryItem("PetAI");
else if (creature->HasFlag64(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK))
- ai_factory = ai_registry.GetRegistryItem("NullCreatureAI");
+ ai_factory = sCreatureAIRegistry->GetRegistryItem("NullCreatureAI");
else if (creature->IsGuard())
- ai_factory = ai_registry.GetRegistryItem("GuardAI");
+ ai_factory = sCreatureAIRegistry->GetRegistryItem("GuardAI");
else if (creature->HasUnitTypeMask(UNIT_MASK_CONTROLABLE_GUARDIAN))
- ai_factory = ai_registry.GetRegistryItem("PetAI");
+ ai_factory = sCreatureAIRegistry->GetRegistryItem("PetAI");
else if (creature->IsTotem())
- ai_factory = ai_registry.GetRegistryItem("TotemAI");
+ ai_factory = sCreatureAIRegistry->GetRegistryItem("TotemAI");
else if (creature->IsTrigger())
{
if (creature->m_spells[0])
- ai_factory = ai_registry.GetRegistryItem("TriggerAI");
+ ai_factory = sCreatureAIRegistry->GetRegistryItem("TriggerAI");
else
- ai_factory = ai_registry.GetRegistryItem("NullCreatureAI");
+ ai_factory = sCreatureAIRegistry->GetRegistryItem("NullCreatureAI");
}
else if (creature->IsCritter() && !creature->HasUnitTypeMask(UNIT_MASK_GUARDIAN))
- ai_factory = ai_registry.GetRegistryItem("CritterAI");
+ ai_factory = sCreatureAIRegistry->GetRegistryItem("CritterAI");
}
// select by permit check
@@ -76,7 +75,7 @@ namespace FactorySelector
{
int best_val = -1;
typedef CreatureAIRegistry::RegistryMapType RMT;
- RMT const& l = ai_registry.GetRegisteredItems();
+ RMT const& l = sCreatureAIRegistry->GetRegisteredItems();
for (RMT::const_iterator iter = l.begin(); iter != l.end(); ++iter)
{
const CreatureAICreator* factory = iter->second;
@@ -128,14 +127,13 @@ namespace FactorySelector
GameObjectAI* SelectGameObjectAI(GameObject* go)
{
- const GameObjectAICreator* ai_factory = NULL;
- GameObjectAIRegistry& ai_registry(*GameObjectAIRegistry::instance());
+ GameObjectAICreator const* ai_factory = NULL;
// scriptname in db
if (GameObjectAI* scriptedAI = sScriptMgr->GetGameObjectAI(go))
return scriptedAI;
- ai_factory = ai_registry.GetRegistryItem(go->GetAIName());
+ ai_factory = sGameObjectAIRegistry->GetRegistryItem(go->GetAIName());
//future goAI types go here
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
index 512385a67b6..28f9ad591df 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
@@ -446,7 +446,13 @@ BossAI::BossAI(Creature* creature, uint32 bossId) : ScriptedAI(creature),
instance(creature->GetInstanceScript()),
summons(creature),
_boundary(instance ? instance->GetBossBoundary(bossId) : NULL),
- _bossId(bossId) { }
+ _bossId(bossId)
+{
+ scheduler.SetValidator([this]
+ {
+ return !me->HasUnitState(UNIT_STATE_CASTING);
+ });
+}
void BossAI::_Reset()
{
@@ -457,6 +463,7 @@ void BossAI::_Reset()
me->ResetLootMode();
events.Reset();
summons.DespawnAll();
+ scheduler.CancelAll();
if (instance)
instance->SetBossState(_bossId, NOT_STARTED);
}
@@ -465,15 +472,13 @@ void BossAI::_JustDied()
{
events.Reset();
summons.DespawnAll();
+ scheduler.CancelAll();
if (instance)
instance->SetBossState(_bossId, DONE);
}
void BossAI::_EnterCombat()
{
- me->SetCombatPulseDelay(5);
- me->setActive(true);
- DoZoneInCombat();
if (instance)
{
// bosses do not respawn, check only on enter combat
@@ -484,6 +489,11 @@ void BossAI::_EnterCombat()
}
instance->SetBossState(_bossId, IN_PROGRESS);
}
+
+ me->SetCombatPulseDelay(5);
+ me->setActive(true);
+ DoZoneInCombat();
+ ScheduleTasks();
}
void BossAI::TeleportCheaters()
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h
index 74d0654dff2..49e2e0e8518 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h
@@ -23,6 +23,7 @@
#include "CreatureAI.h"
#include "CreatureAIImpl.h"
#include "InstanceScript.h"
+#include "TaskScheduler.h"
#define CAST_AI(a, b) (dynamic_cast<a*>(b))
#define ENSURE_AI(a,b) (EnsureAI<a>(b))
@@ -356,6 +357,8 @@ class BossAI : public ScriptedAI
// is supposed to run more than once
virtual void ExecuteEvent(uint32 /*eventId*/) { }
+ virtual void ScheduleTasks() { }
+
void Reset() override { _Reset(); }
void EnterCombat(Unit* /*who*/) override { _EnterCombat(); }
void JustDied(Unit* /*killer*/) override { _JustDied(); }
@@ -382,6 +385,7 @@ class BossAI : public ScriptedAI
EventMap events;
SummonList summons;
+ TaskScheduler scheduler;
private:
BossBoundaryMap const* const _boundary;
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
index 1d71652c948..deabd1dc484 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
+++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
@@ -68,8 +68,8 @@ struct npc_escortAI : public ScriptedAI
void EnterEvadeMode() override;
- void UpdateAI(uint32 diff) override; //the "internal" update, calls UpdateEscortAI()
- virtual void UpdateEscortAI(uint32 const diff); //used when it's needed to add code in update (abilities, scripted events, etc)
+ void UpdateAI(uint32 diff) override; // the "internal" update, calls UpdateEscortAI()
+ virtual void UpdateEscortAI(uint32 diff); // used when it's needed to add code in update (abilities, scripted events, etc)
void MovementInform(uint32, uint32) override;
diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h
index 9baa4caeea7..4c630d44c48 100644
--- a/src/server/game/Accounts/RBAC.h
+++ b/src/server/game/Accounts/RBAC.h
@@ -726,6 +726,7 @@ enum RBACPermissions
RBAC_PERM_COMMAND_TICKET_RESET_COMPLAINT = 832,
RBAC_PERM_COMMAND_TICKET_RESET_SUGGESTION = 833,
RBAC_PERM_COMMAND_GO_QUEST = 834,
+ RBAC_PERM_COMMAND_DEBUG_LOADCELLS = 835,
// custom permissions 1000+
RBAC_PERM_MAX
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index 04fbc45e709..4f1bae9eccd 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -3132,7 +3132,7 @@ void AchievementGlobalMgr::LoadAchievementCriteriaData()
if (dataType != ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT)
TC_LOG_ERROR("sql.sql", "Table `achievement_criteria_data` has ScriptName set for non-scripted data type (Entry: %u, type %u), useless data.", criteria_id, dataType);
else
- scriptId = sObjectMgr->GetScriptId(scriptName.c_str());
+ scriptId = sObjectMgr->GetScriptId(scriptName);
}
AchievementCriteriaData data(dataType, fields[2].GetUInt32(), fields[3].GetUInt32(), scriptId);
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index 07c88486c50..82e3aafc098 100644
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -835,19 +835,20 @@ void Battleground::EndBattleground(uint32 winner)
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PVPSTATS_PLAYER);
BattlegroundScoreMap::const_iterator score = PlayerScores.find(player->GetGUID());
- stmt->setUInt32(0, battlegroundId);
- stmt->setUInt64(1, player->GetGUID().GetCounter());
- stmt->setUInt32(2, score->second->GetKillingBlows());
- stmt->setUInt32(3, score->second->GetDeaths());
- stmt->setUInt32(4, score->second->GetHonorableKills());
- stmt->setUInt32(5, score->second->GetBonusHonor());
- stmt->setUInt32(6, score->second->GetDamageDone());
- stmt->setUInt32(7, score->second->GetHealingDone());
- stmt->setUInt32(8, score->second->GetAttr1());
- stmt->setUInt32(9, score->second->GetAttr2());
- stmt->setUInt32(10, score->second->GetAttr3());
- stmt->setUInt32(11, score->second->GetAttr4());
- stmt->setUInt32(12, score->second->GetAttr5());
+ stmt->setUInt32(0, battlegroundId);
+ stmt->setUInt64(1, player->GetGUID().GetCounter());
+ stmt->setBool (2, team == winner);
+ stmt->setUInt32(3, score->second->GetKillingBlows());
+ stmt->setUInt32(4, score->second->GetDeaths());
+ stmt->setUInt32(5, score->second->GetHonorableKills());
+ stmt->setUInt32(6, score->second->GetBonusHonor());
+ stmt->setUInt32(7, score->second->GetDamageDone());
+ stmt->setUInt32(8, score->second->GetHealingDone());
+ stmt->setUInt32(9, score->second->GetAttr1());
+ stmt->setUInt32(10, score->second->GetAttr2());
+ stmt->setUInt32(11, score->second->GetAttr3());
+ stmt->setUInt32(12, score->second->GetAttr4());
+ stmt->setUInt32(13, score->second->GetAttr5());
CharacterDatabase.Execute(stmt);
}
@@ -1250,48 +1251,58 @@ void Battleground::RemoveFromBGFreeSlotQueue()
// returns the number how many players can join battleground to MaxPlayersPerTeam
uint32 Battleground::GetFreeSlotsForTeam(uint32 Team) const
{
- // if BG is starting ... invite anyone
- if (GetStatus() == STATUS_WAIT_JOIN)
+ // if BG is starting and CONFIG_BATTLEGROUND_INVITATION_TYPE == BG_QUEUE_INVITATION_TYPE_NO_BALANCE, invite anyone
+ if (GetStatus() == STATUS_WAIT_JOIN && sWorld->getIntConfig(CONFIG_BATTLEGROUND_INVITATION_TYPE) == BG_QUEUE_INVITATION_TYPE_NO_BALANCE)
return (GetInvitedCount(Team) < GetMaxPlayersPerTeam()) ? GetMaxPlayersPerTeam() - GetInvitedCount(Team) : 0;
- // if BG is already started .. do not allow to join too much players of one faction
- uint32 otherTeam;
- uint32 otherIn;
+
+ // if BG is already started or CONFIG_BATTLEGROUND_INVITATION_TYPE != BG_QUEUE_INVITATION_TYPE_NO_BALANCE, do not allow to join too much players of one faction
+ uint32 otherTeamInvitedCount;
+ uint32 thisTeamInvitedCount;
+ uint32 otherTeamPlayersCount;
+ uint32 thisTeamPlayersCount;
+
if (Team == ALLIANCE)
{
- otherTeam = GetInvitedCount(HORDE);
- otherIn = GetPlayersCountByTeam(HORDE);
+ thisTeamInvitedCount = GetInvitedCount(ALLIANCE);
+ otherTeamInvitedCount = GetInvitedCount(HORDE);
+ thisTeamPlayersCount = GetPlayersCountByTeam(ALLIANCE);
+ otherTeamPlayersCount = GetPlayersCountByTeam(HORDE);
}
else
{
- otherTeam = GetInvitedCount(ALLIANCE);
- otherIn = GetPlayersCountByTeam(ALLIANCE);
+ thisTeamInvitedCount = GetInvitedCount(HORDE);
+ otherTeamInvitedCount = GetInvitedCount(ALLIANCE);
+ thisTeamPlayersCount = GetPlayersCountByTeam(HORDE);
+ otherTeamPlayersCount = GetPlayersCountByTeam(ALLIANCE);
}
- if (GetStatus() == STATUS_IN_PROGRESS)
+ if (GetStatus() == STATUS_IN_PROGRESS || GetStatus() == STATUS_WAIT_JOIN)
{
// difference based on ppl invited (not necessarily entered battle)
// default: allow 0
uint32 diff = 0;
- // allow join one person if the sides are equal (to fill up bg to minplayersperteam)
- if (otherTeam == GetInvitedCount(Team))
+
+ // allow join one person if the sides are equal (to fill up bg to minPlayerPerTeam)
+ if (otherTeamInvitedCount == thisTeamInvitedCount)
diff = 1;
// allow join more ppl if the other side has more players
- else if (otherTeam > GetInvitedCount(Team))
- diff = otherTeam - GetInvitedCount(Team);
+ else if (otherTeamInvitedCount > thisTeamInvitedCount)
+ diff = otherTeamInvitedCount - thisTeamInvitedCount;
// difference based on max players per team (don't allow inviting more)
- uint32 diff2 = (GetInvitedCount(Team) < GetMaxPlayersPerTeam()) ? GetMaxPlayersPerTeam() - GetInvitedCount(Team) : 0;
+ uint32 diff2 = (thisTeamInvitedCount < GetMaxPlayersPerTeam()) ? GetMaxPlayersPerTeam() - thisTeamInvitedCount : 0;
+
// difference based on players who already entered
// default: allow 0
uint32 diff3 = 0;
- // allow join one person if the sides are equal (to fill up bg minplayersperteam)
- if (otherIn == GetPlayersCountByTeam(Team))
+ // allow join one person if the sides are equal (to fill up bg minPlayerPerTeam)
+ if (otherTeamPlayersCount == thisTeamPlayersCount)
diff3 = 1;
// allow join more ppl if the other side has more players
- else if (otherIn > GetPlayersCountByTeam(Team))
- diff3 = otherIn - GetPlayersCountByTeam(Team);
+ else if (otherTeamPlayersCount > thisTeamPlayersCount)
+ diff3 = otherTeamPlayersCount - thisTeamPlayersCount;
// or other side has less than minPlayersPerTeam
- else if (GetInvitedCount(Team) <= GetMinPlayersPerTeam())
- diff3 = GetMinPlayersPerTeam() - GetInvitedCount(Team) + 1;
+ else if (thisTeamInvitedCount <= GetMinPlayersPerTeam())
+ diff3 = GetMinPlayersPerTeam() - thisTeamInvitedCount + 1;
// return the minimum of the 3 differences
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
index 74a9ac32b1b..afa6403cc22 100644
--- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
@@ -502,7 +502,7 @@ void BattlegroundMgr::LoadBattlegroundTemplates()
float dist = fields[7].GetFloat();
bgTemplate.MaxStartDistSq = dist * dist;
bgTemplate.Weight = fields[8].GetUInt8();
- bgTemplate.ScriptId = sObjectMgr->GetScriptId(fields[9].GetCString());
+ bgTemplate.ScriptId = sObjectMgr->GetScriptId(fields[9].GetString());
bgTemplate.BattlemasterEntry = bl;
if (bgTemplate.MaxPlayersPerTeam == 0 || bgTemplate.MinPlayersPerTeam > bgTemplate.MaxPlayersPerTeam)
diff --git a/src/server/game/Battlegrounds/BattlegroundQueue.cpp b/src/server/game/Battlegrounds/BattlegroundQueue.cpp
index 8f459432d01..ab38b89baac 100644
--- a/src/server/game/Battlegrounds/BattlegroundQueue.cpp
+++ b/src/server/game/Battlegrounds/BattlegroundQueue.cpp
@@ -497,24 +497,51 @@ void BattlegroundQueue::FillPlayersToBG(Battleground* bg, BattlegroundBracketId
{
int32 hordeFree = bg->GetFreeSlotsForTeam(HORDE);
int32 aliFree = bg->GetFreeSlotsForTeam(ALLIANCE);
+ uint32 aliCount = m_QueuedGroups[bracket_id][BG_QUEUE_NORMAL_ALLIANCE].size();
+ uint32 hordeCount = m_QueuedGroups[bracket_id][BG_QUEUE_NORMAL_HORDE].size();
+
+ // try to get even teams
+ if (sWorld->getIntConfig(CONFIG_BATTLEGROUND_INVITATION_TYPE) == BG_QUEUE_INVITATION_TYPE_EVEN)
+ {
+ // check if the teams are even
+ if (hordeFree == 1 && aliFree == 1)
+ {
+ // if we are here, the teams have the same amount of players
+ // then we have to allow to join the same amount of players
+ int32 hordeExtra = hordeCount - aliCount;
+ int32 aliExtra = aliCount - hordeCount;
+
+ hordeExtra = std::max(hordeExtra, 0);
+ aliExtra = std::max(aliExtra, 0);
+
+ if (aliCount != hordeCount)
+ {
+ aliFree -= aliExtra;
+ hordeFree -= hordeExtra;
+
+ aliFree = std::max(aliFree, 0);
+ hordeFree = std::max(hordeFree, 0);
+ }
+ }
+ }
//iterator for iterating through bg queue
GroupsQueueType::const_iterator Ali_itr = m_QueuedGroups[bracket_id][BG_QUEUE_NORMAL_ALLIANCE].begin();
//count of groups in queue - used to stop cycles
- uint32 aliCount = m_QueuedGroups[bracket_id][BG_QUEUE_NORMAL_ALLIANCE].size();
+
//index to queue which group is current
uint32 aliIndex = 0;
for (; aliIndex < aliCount && m_SelectionPools[TEAM_ALLIANCE].AddGroup((*Ali_itr), aliFree); aliIndex++)
++Ali_itr;
//the same thing for horde
GroupsQueueType::const_iterator Horde_itr = m_QueuedGroups[bracket_id][BG_QUEUE_NORMAL_HORDE].begin();
- uint32 hordeCount = m_QueuedGroups[bracket_id][BG_QUEUE_NORMAL_HORDE].size();
+
uint32 hordeIndex = 0;
for (; hordeIndex < hordeCount && m_SelectionPools[TEAM_HORDE].AddGroup((*Horde_itr), hordeFree); hordeIndex++)
++Horde_itr;
//if ofc like BG queue invitation is set in config, then we are happy
- if (sWorld->getIntConfig(CONFIG_BATTLEGROUND_INVITATION_TYPE) == 0)
+ if (sWorld->getIntConfig(CONFIG_BATTLEGROUND_INVITATION_TYPE) == BG_QUEUE_INVITATION_TYPE_NO_BALANCE)
return;
/*
@@ -649,7 +676,7 @@ bool BattlegroundQueue::CheckNormalMatch(Battleground* /*bg_template*/, Battlegr
uint32 j = TEAM_ALLIANCE;
if (m_SelectionPools[TEAM_HORDE].GetPlayerCount() < m_SelectionPools[TEAM_ALLIANCE].GetPlayerCount())
j = TEAM_HORDE;
- if (sWorld->getIntConfig(CONFIG_BATTLEGROUND_INVITATION_TYPE) != 0
+ if (sWorld->getIntConfig(CONFIG_BATTLEGROUND_INVITATION_TYPE) != BG_QUEUE_INVITATION_TYPE_NO_BALANCE
&& m_SelectionPools[TEAM_HORDE].GetPlayerCount() >= minPlayers && m_SelectionPools[TEAM_ALLIANCE].GetPlayerCount() >= minPlayers)
{
//we will try to invite more groups to team with less players indexed by j
diff --git a/src/server/game/Battlegrounds/BattlegroundQueue.h b/src/server/game/Battlegrounds/BattlegroundQueue.h
index eb225250a56..2a64e1cb324 100644
--- a/src/server/game/Battlegrounds/BattlegroundQueue.h
+++ b/src/server/game/Battlegrounds/BattlegroundQueue.h
@@ -64,6 +64,13 @@ enum BattlegroundQueueGroupTypes
};
#define BG_QUEUE_GROUP_TYPES_COUNT 4
+enum BattlegroundQueueInvitationType
+{
+ BG_QUEUE_INVITATION_TYPE_NO_BALANCE = 0, // no balance: N+M vs N players
+ BG_QUEUE_INVITATION_TYPE_BALANCED = 1, // teams balanced: N+1 vs N players
+ BG_QUEUE_INVITATION_TYPE_EVEN = 2 // teams even: N vs N players
+};
+
class Battleground;
class BattlegroundQueue
{
diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h
index cc208277ba3..9dc232c4010 100644
--- a/src/server/game/Chat/Chat.h
+++ b/src/server/game/Chat/Chat.h
@@ -43,7 +43,7 @@ class ChatCommand
public:
ChatCommand(char const* name, uint32 permission, bool allowConsole, pHandler handler, std::string help, std::vector<ChatCommand> childCommands = std::vector<ChatCommand>())
- : Name(name), Permission(permission), AllowConsole(allowConsole), Handler(handler), Help(std::move(help)), ChildCommands(std::move(childCommands)) { }
+ : Name(ASSERT_NOTNULL(name)), Permission(permission), AllowConsole(allowConsole), Handler(handler), Help(std::move(help)), ChildCommands(std::move(childCommands)) { }
char const* Name;
uint32 Permission; // function pointer required correct align (use uint32)
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index ede1dfca9e1..84830e07eed 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -996,7 +996,7 @@ void ConditionMgr::LoadConditions(bool isReload)
cond->NegativeCondition = fields[10].GetBool();
cond->ErrorType = fields[11].GetUInt32();
cond->ErrorTextId = fields[12].GetUInt32();
- cond->ScriptId = sObjectMgr->GetScriptId(fields[13].GetCString());
+ cond->ScriptId = sObjectMgr->GetScriptId(fields[13].GetString());
if (iConditionTypeOrReference >= 0)
cond->ConditionType = ConditionTypes(iConditionTypeOrReference);
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index 68798d43e38..0e835e02dc2 100644
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -1273,14 +1273,6 @@ void LFGMgr::TeleportPlayer(Player* player, bool out, bool fromOpcode /*= false*
if (player->GetMapId() == uint32(dungeon->map))
player->TeleportToBGEntryPoint();
- // in the case were we are the last in lfggroup then we must disband when porting out of the instance
- if (group && group->GetMembersCount() == 1)
- {
- group->Disband();
- TC_LOG_DEBUG("lfg.teleport", "Player %s is last in lfggroup so we disband the group.",
- player->GetName().c_str());
- }
-
return;
}
diff --git a/src/server/game/DungeonFinding/LFGScripts.cpp b/src/server/game/DungeonFinding/LFGScripts.cpp
index 42e1f4a545f..224cec71d86 100644
--- a/src/server/game/DungeonFinding/LFGScripts.cpp
+++ b/src/server/game/DungeonFinding/LFGScripts.cpp
@@ -101,7 +101,17 @@ void LFGPlayerScript::OnMapChanged(Player* player)
player->CastSpell(player, LFG_SPELL_LUCK_OF_THE_DRAW, true);
}
else
+ {
+ Group* group = player->GetGroup();
+ if (group && group->GetMembersCount() == 1)
+ {
+ sLFGMgr->LeaveLfg(group->GetGUID());
+ group->Disband();
+ TC_LOG_DEBUG("lfg", "LFGPlayerScript::OnMapChanged, Player %s(%s) is last in the lfggroup so we disband the group.",
+ player->GetName().c_str(), player->GetGUID().ToString().c_str());
+ }
player->RemoveAurasDueToSpell(LFG_SPELL_LUCK_OF_THE_DRAW);
+ }
}
LFGGroupScript::LFGGroupScript() : GroupScript("LFGGroupScript") { }
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index ffa924cc0ea..955f03b6c8e 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -790,6 +790,22 @@ bool Item::CanBeTraded(bool mail, bool trade) const
return true;
}
+void Item::SetCount(uint32 value)
+{
+ SetUInt32Value(ITEM_FIELD_STACK_COUNT, value);
+
+ if (Player* player = GetOwner())
+ {
+ if (TradeData* tradeData = player->GetTradeData())
+ {
+ TradeSlots slot = tradeData->GetTradeSlotForItem(GetGUID());
+
+ if (slot != TRADE_SLOT_INVALID)
+ tradeData->SetItem(slot, this, true);
+ }
+ }
+}
+
bool Item::HasEnchantRequiredSkill(const Player* player) const
{
// Check all enchants for required skill
diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h
index 37d7e3613f2..3452951d554 100644
--- a/src/server/game/Entities/Item/Item.h
+++ b/src/server/game/Entities/Item/Item.h
@@ -318,7 +318,7 @@ class Item : public Object
bool GemsFitSockets() const;
uint32 GetCount() const { return GetUInt32Value(ITEM_FIELD_STACK_COUNT); }
- void SetCount(uint32 value) { SetUInt32Value(ITEM_FIELD_STACK_COUNT, value); }
+ void SetCount(uint32 value);
uint32 GetMaxStackCount() const { return GetTemplate()->GetMaxStackSize(); }
uint8 GetGemCountWithID(uint32 GemID) const;
uint8 GetGemCountWithLimitCategory(uint32 limitCategory) const;
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index ab2d4fbdbd0..576c86fbcc5 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -165,13 +165,13 @@ Item* TradeData::GetSpellCastItem() const
return !m_spellCastItem.IsEmpty() ? m_player->GetItemByGuid(m_spellCastItem) : NULL;
}
-void TradeData::SetItem(TradeSlots slot, Item* item)
+void TradeData::SetItem(TradeSlots slot, Item* item, bool update /*= false*/)
{
ObjectGuid itemGuid;
if (item)
itemGuid = item->GetGUID();
- if (m_items[slot] == itemGuid)
+ if (m_items[slot] == itemGuid && !update)
return;
m_items[slot] = itemGuid;
@@ -9267,6 +9267,17 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid)
packet.Worldstates.emplace_back(4131, 0); // 10 WORLDSTATE_ALGALON_DESPAWN_TIMER
}
break;
+ // Violet Hold
+ case 4415:
+ if (instance && mapid == 608)
+ instance->FillInitialWorldStates(packet);
+ else
+ {
+ packet.Worldstates.emplace_back(3816, 0); // 9 WORLD_STATE_VH_SHOW
+ packet.Worldstates.emplace_back(3815, 100); // 10 WORLD_STATE_VH_PRISON_STATE
+ packet.Worldstates.emplace_back(3810, 0); // 11 WORLD_STATE_VH_WAVE_COUNT
+ }
+ break;
// Halls of Refection
case 4820:
if (instance && mapid == 668)
@@ -15299,6 +15310,16 @@ bool Player::GetQuestRewardStatus(uint32 quest_id) const
Quest const* qInfo = sObjectMgr->GetQuestTemplate(quest_id);
if (qInfo)
{
+ if (qInfo->IsSeasonal() && !qInfo->IsRepeatable())
+ {
+ uint16 eventId = sGameEventMgr->GetEventIdForQuest(qInfo);
+ if (m_seasonalquests.find(eventId) != m_seasonalquests.end())
+ return m_seasonalquests.find(eventId)->second.find(quest_id) != m_seasonalquests.find(eventId)->second.end();
+
+ return false;
+ }
+
+
// for repeatable quests: rewarded field is set after first reward only to prevent getting XP more than once
if (!qInfo->IsRepeatable())
return m_RewardedQuests.find(quest_id) != m_RewardedQuests.end();
@@ -15317,8 +15338,17 @@ QuestStatus Player::GetQuestStatus(uint32 quest_id) const
return itr->second.Status;
if (Quest const* qInfo = sObjectMgr->GetQuestTemplate(quest_id))
+ {
+ if (qInfo->IsSeasonal() && !qInfo->IsRepeatable())
+ {
+ uint16 eventId = sGameEventMgr->GetEventIdForQuest(qInfo);
+ if (m_seasonalquests.find(eventId) == m_seasonalquests.end() || m_seasonalquests.find(eventId)->second.find(quest_id) == m_seasonalquests.find(eventId)->second.end())
+ return QUEST_STATUS_NONE;
+ }
+
if (!qInfo->IsRepeatable() && m_RewardedQuests.find(quest_id) != m_RewardedQuests.end())
return QUEST_STATUS_REWARDED;
+ }
}
return QUEST_STATUS_NONE;
}
@@ -18722,7 +18752,7 @@ void Player::SaveToDB(bool create /*=false*/)
stmt->setString(index++, GetName());
stmt->setUInt8(index++, getRace());
stmt->setUInt8(index++, getClass());
- stmt->setUInt8(index++, getGender());
+ stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_GENDER)); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
stmt->setUInt8(index++, getLevel());
stmt->setUInt32(index++, GetUInt32Value(PLAYER_XP));
stmt->setUInt64(index++, GetMoney());
@@ -18844,7 +18874,7 @@ void Player::SaveToDB(bool create /*=false*/)
stmt->setString(index++, GetName());
stmt->setUInt8(index++, getRace());
stmt->setUInt8(index++, getClass());
- stmt->setUInt8(index++, getGender());
+ stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_GENDER)); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
stmt->setUInt8(index++, getLevel());
stmt->setUInt32(index++, GetUInt32Value(PLAYER_XP));
stmt->setUInt64(index++, GetMoney());
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 6b981528d63..e78c12f9cf6 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -28,6 +28,7 @@
#include "PetDefines.h"
#include "QuestDef.h"
#include "SpellMgr.h"
+#include "SpellHistory.h"
#include "Unit.h"
#include "Opcodes.h"
#include "WorldSession.h"
@@ -1145,7 +1146,7 @@ class TradeData
Item* GetItem(TradeSlots slot) const;
bool HasItem(ObjectGuid itemGuid) const;
TradeSlots GetTradeSlotForItem(ObjectGuid itemGuid) const;
- void SetItem(TradeSlots slot, Item* item);
+ void SetItem(TradeSlots slot, Item* item, bool update = false);
uint32 GetSpell() const { return m_spell; }
void SetSpell(uint32 spell_id, Item* castItem = NULL);
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index a1a1afe6f74..c15fe26f60e 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -11901,7 +11901,7 @@ void CharmInfo::InitPossessCreateSpells()
{
uint32 spellId = _unit->ToCreature()->m_spells[i];
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId);
- if (spellInfo && !spellInfo->HasAttribute(SPELL_ATTR0_CASTABLE_WHILE_DEAD))
+ if (spellInfo)
{
if (spellInfo->IsPassive())
_unit->CastSpell(_unit, spellInfo, true);
@@ -11929,7 +11929,7 @@ void CharmInfo::InitCharmCreateSpells()
uint32 spellId = _unit->ToCreature()->m_spells[x];
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId);
- if (!spellInfo || spellInfo->HasAttribute(SPELL_ATTR0_CASTABLE_WHILE_DEAD))
+ if (!spellInfo)
{
_charmspells[x].SetActionAndType(spellId, ACT_DISABLED);
continue;
@@ -12778,6 +12778,9 @@ bool Unit::IsPolymorphed() const
void Unit::SetDisplayId(uint32 modelId)
{
SetUInt32Value(UNIT_FIELD_DISPLAYID, modelId);
+ // Set Gender by modelId
+ if (CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelInfo(modelId))
+ SetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_GENDER, minfo->gender);
}
void Unit::RestoreDisplayId()
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 3e418f08880..b650cef7a7f 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -524,7 +524,7 @@ void ObjectMgr::LoadCreatureTemplate(Field* fields)
creatureTemplate.RegenHealth = fields[74].GetBool();
creatureTemplate.MechanicImmuneMask = fields[75].GetUInt32();
creatureTemplate.flags_extra = fields[76].GetUInt32();
- creatureTemplate.ScriptID = GetScriptId(fields[77].GetCString());
+ creatureTemplate.ScriptID = GetScriptId(fields[77].GetString());
}
void ObjectMgr::LoadCreatureTemplateAddons()
@@ -2733,7 +2733,7 @@ void ObjectMgr::LoadItemScriptNames()
continue;
}
- _itemTemplateStore[itemId].ScriptId = GetScriptId(fields[1].GetCString());
+ _itemTemplateStore[itemId].ScriptId = GetScriptId(fields[1].GetString());
++count;
} while (result->NextRow());
}
@@ -4935,8 +4935,8 @@ void ObjectMgr::LoadSpellScriptNames()
Field* fields = result->Fetch();
- int32 spellId = fields[0].GetInt32();
- char const* scriptName = fields[1].GetCString();
+ int32 spellId = fields[0].GetInt32();
+ std::string const scriptName = fields[1].GetString();
bool allRanks = false;
if (spellId < 0)
@@ -4948,18 +4948,18 @@ void ObjectMgr::LoadSpellScriptNames()
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId);
if (!spellInfo)
{
- TC_LOG_ERROR("sql.sql", "Scriptname: `%s` spell (Id: %d) does not exist.", scriptName, fields[0].GetInt32());
+ TC_LOG_ERROR("sql.sql", "Scriptname: `%s` spell (Id: %d) does not exist.", scriptName.c_str(), fields[0].GetInt32());
continue;
}
if (allRanks)
{
if (!spellInfo->IsRanked())
- TC_LOG_ERROR("sql.sql", "Scriptname: `%s` spell (Id: %d) has no ranks of spell.", scriptName, fields[0].GetInt32());
+ TC_LOG_ERROR("sql.sql", "Scriptname: `%s` spell (Id: %d) has no ranks of spell.", scriptName.c_str(), fields[0].GetInt32());
if (spellInfo->GetFirstRankSpell()->Id != uint32(spellId))
{
- TC_LOG_ERROR("sql.sql", "Scriptname: `%s` spell (Id: %d) is not first rank of spell.", scriptName, fields[0].GetInt32());
+ TC_LOG_ERROR("sql.sql", "Scriptname: `%s` spell (Id: %d) is not first rank of spell.", scriptName.c_str(), fields[0].GetInt32());
continue;
}
while (spellInfo)
@@ -4971,7 +4971,7 @@ void ObjectMgr::LoadSpellScriptNames()
else
{
if (spellInfo->IsRanked())
- TC_LOG_ERROR("sql.sql", "Scriptname: `%s` spell (Id: %d) is ranked spell. Perhaps not all ranks are assigned to this script.", scriptName, spellId);
+ TC_LOG_ERROR("sql.sql", "Scriptname: `%s` spell (Id: %d) is ranked spell. Perhaps not all ranks are assigned to this script.", scriptName.c_str(), spellId);
_spellScriptsStore.insert(SpellScriptsContainer::value_type(spellInfo->Id, GetScriptId(scriptName)));
}
@@ -5009,7 +5009,7 @@ void ObjectMgr::ValidateSpellScripts()
bool valid = true;
if (!spellScript && !auraScript)
{
- TC_LOG_ERROR("scripts", "Functions GetSpellScript() and GetAuraScript() of script `%s` do not return objects - script skipped", GetScriptName(sitr->second->second));
+ TC_LOG_ERROR("scripts", "Functions GetSpellScript() and GetAuraScript() of script `%s` do not return objects - script skipped", GetScriptName(sitr->second->second).c_str());
valid = false;
}
if (spellScript)
@@ -5149,7 +5149,7 @@ void ObjectMgr::LoadInstanceTemplate()
instanceTemplate.AllowMount = fields[3].GetBool();
instanceTemplate.Parent = uint32(fields[1].GetUInt16());
- instanceTemplate.ScriptId = sObjectMgr->GetScriptId(fields[2].GetCString());
+ instanceTemplate.ScriptId = sObjectMgr->GetScriptId(fields[2].GetString());
_instanceTemplateStore[mapID] = instanceTemplate;
@@ -5641,8 +5641,8 @@ void ObjectMgr::LoadAreaTriggerScripts()
{
Field* fields = result->Fetch();
- uint32 triggerId = fields[0].GetUInt32();
- char const* scriptName = fields[1].GetCString();
+ uint32 triggerId = fields[0].GetUInt32();
+ std::string const scriptName = fields[1].GetString();
AreaTriggerEntry const* atEntry = sAreaTriggerStore.LookupEntry(triggerId);
if (!atEntry)
@@ -6533,7 +6533,7 @@ void ObjectMgr::LoadGameObjectTemplate()
got.unkInt32 = fields[43].GetInt32();
got.AIName = fields[44].GetString();
- got.ScriptId = GetScriptId(fields[45].GetCString());
+ got.ScriptId = GetScriptId(fields[45].GetString());
// Checks
@@ -8527,11 +8527,17 @@ void ObjectMgr::LoadScriptNames()
TC_LOG_INFO("server.loading", ">> Loaded " SZFMTD " ScriptNames in %u ms", _scriptNamesStore.size(), GetMSTimeDiffToNow(oldMSTime));
}
-uint32 ObjectMgr::GetScriptId(char const* name)
+std::string const& ObjectMgr::GetScriptName(uint32 id) const
+{
+ static std::string const empty = "";
+ return id < _scriptNamesStore.size() ? _scriptNamesStore[id] : empty;
+}
+
+uint32 ObjectMgr::GetScriptId(std::string const& name)
{
// use binary search to find the script name in the sorted vector
// assume "" is the first element
- if (!name)
+ if (name.empty())
return 0;
ScriptNameContainer::const_iterator itr = std::lower_bound(_scriptNamesStore.begin(), _scriptNamesStore.end(), name);
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index c6f155dbff5..6b3712e0b92 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -1273,8 +1273,8 @@ class ObjectMgr
bool IsVendorItemValid(uint32 vendor_entry, uint32 id, int32 maxcount, uint32 ptime, uint32 ExtendedCost, uint8 type, Player* player = NULL, std::set<uint32>* skip_vendors = NULL, uint32 ORnpcflag = 0) const;
void LoadScriptNames();
- char const* GetScriptName(uint32 id) const { return id < _scriptNamesStore.size() ? _scriptNamesStore[id].c_str() : ""; }
- uint32 GetScriptId(char const* name);
+ std::string const& GetScriptName(uint32 id) const;
+ uint32 GetScriptId(std::string const& name);
SpellClickInfoMapBounds GetSpellClickInfoMapBounds(uint32 creature_id) const
{
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index 76303c063e5..33c15e271c7 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -115,8 +115,7 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPackets::Quest::QuestG
if (Player* playerQuestObject = object->ToPlayer())
{
- if ((!_player->GetDivider().IsEmpty() && _player->GetDivider() != packet.QuestGiverGUID) ||
- ((object != _player && !playerQuestObject->CanShareQuest(packet.QuestID))))
+ if ((_player->GetDivider().IsEmpty() && _player->GetDivider() != packet.QuestGiverGUID) || !playerQuestObject->CanShareQuest(packet.QuestID))
{
CLOSE_GOSSIP_CLEAR_DIVIDER();
return;
diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp
index 80024879a43..122c08acc1d 100644
--- a/src/server/game/Instances/InstanceScript.cpp
+++ b/src/server/game/Instances/InstanceScript.cpp
@@ -319,6 +319,11 @@ bool InstanceScript::SetBossState(uint32 id, EncounterState state)
return false;
}
+bool InstanceScript::_SkipCheckRequiredBosses(Player const* player /*= nullptr*/) const
+{
+ return player && player->GetSession()->HasPermission(rbac::RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES);
+}
+
void InstanceScript::Load(char const* data)
{
if (!data)
@@ -654,3 +659,25 @@ void InstanceScript::UpdatePhasing()
if (Player* player = itr->GetSource())
player->SendUpdatePhasing();
}
+
+std::string InstanceScript::GetBossStateName(uint8 state)
+{
+ // See enum EncounterState in InstanceScript.h
+ switch (state)
+ {
+ case NOT_STARTED:
+ return "NOT_STARTED";
+ case IN_PROGRESS:
+ return "IN_PROGRESS";
+ case FAIL:
+ return "FAIL";
+ case DONE:
+ return "DONE";
+ case SPECIAL:
+ return "SPECIAL";
+ case TO_BE_DECIDED:
+ return "TO_BE_DECIDED";
+ default:
+ return "INVALID";
+ }
+}
diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h
index d932c24abf3..d5fa76a1b06 100644
--- a/src/server/game/Instances/InstanceScript.h
+++ b/src/server/game/Instances/InstanceScript.h
@@ -224,6 +224,7 @@ class InstanceScript : public ZoneScript
virtual bool SetBossState(uint32 id, EncounterState state);
EncounterState GetBossState(uint32 id) const { return id < bosses.size() ? bosses[id].state : TO_BE_DECIDED; }
+ static std::string GetBossStateName(uint8 state);
BossBoundaryMap const* GetBossBoundary(uint32 id) const { return id < bosses.size() ? &bosses[id].boundary : NULL; }
// Achievement criteria additional requirements check
@@ -280,6 +281,8 @@ class InstanceScript : public ZoneScript
void WriteSaveDataBossStates(std::ostringstream& data);
virtual void WriteSaveDataMore(std::ostringstream& /*data*/) { }
+ bool _SkipCheckRequiredBosses(Player const* player = nullptr) const;
+
private:
static void LoadObjectData(ObjectData const* creatureData, ObjectInfoMap& objectInfo);
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index 12ce3e1d13a..e625cc9c70b 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -302,19 +302,19 @@ template<>
void Map::AddToGrid(Corpse* obj, Cell const& cell)
{
NGridType* grid = getNGrid(cell.GridX(), cell.GridY());
- if (obj->IsWorldObject())
- {
- // Corpses are a special object type - they can be added to grid via a call to AddToMap
- // or loaded through ObjectGridLoader.
- // Both corpses loaded from database and these freshly generated by Player::CreateCoprse are added to _corpsesByCell
- // ObjectGridLoader loads all corpses from _corpsesByCell even if they were already added to grid before it was loaded
- // so we need to explicitly check it here (Map::AddToGrid is only called from Player::BuildPlayerRepop, not from ObjectGridLoader)
- // to avoid failing an assertion in GridObject::AddToGrid
- if (grid->isGridObjectDataLoaded())
+ // Corpses are a special object type - they can be added to grid via a call to AddToMap
+ // or loaded through ObjectGridLoader.
+ // Both corpses loaded from database and these freshly generated by Player::CreateCoprse are added to _corpsesByCell
+ // ObjectGridLoader loads all corpses from _corpsesByCell even if they were already added to grid before it was loaded
+ // so we need to explicitly check it here (Map::AddToGrid is only called from Player::BuildPlayerRepop, not from ObjectGridLoader)
+ // to avoid failing an assertion in GridObject::AddToGrid
+ if (grid->isGridObjectDataLoaded())
+ {
+ if (obj->IsWorldObject())
grid->GetGridType(cell.CellX(), cell.CellY()).AddWorldObject(obj);
+ else
+ grid->GetGridType(cell.CellX(), cell.CellY()).AddGridObject(obj);
}
- else
- grid->GetGridType(cell.CellX(), cell.CellY()).AddGridObject(obj); // bones. nothing special here
}
template<class T>
@@ -3213,7 +3213,7 @@ void InstanceMap::CreateInstanceData(bool load)
i_data->SetCompletedEncountersMask(fields[1].GetUInt32());
if (!data.empty())
{
- TC_LOG_DEBUG("maps", "Loading instance data for `%s` with id %u", sObjectMgr->GetScriptName(i_script_id), i_InstanceId);
+ TC_LOG_DEBUG("maps", "Loading instance data for `%s` with id %u", sObjectMgr->GetScriptName(i_script_id).c_str(), i_InstanceId);
i_data->Load(data.c_str());
}
}
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index 625ad8cda49..7455ad91913 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -388,7 +388,8 @@ enum TrinityStrings
LANG_COMMAND_CHEAT_POWER = 361,
LANG_COMMAND_CHEAT_WW = 362,
LANG_COMMAND_WHISPEROFFPLAYER = 363,
- // Room for more level 2 364-399 not used
+ LANG_COMMAND_CHEAT_TAXINODES = 364,
+ // Room for more level 2 365-399 not used
// level 3 chat
LANG_SCRIPTS_RELOADED = 400,
@@ -1210,5 +1211,6 @@ enum TrinityStrings
LANG_NPCINFO_INHABIT_TYPE = 11008,
LANG_NPCINFO_FLAGS_EXTRA = 11009
+
};
#endif
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index 117f4b675bf..ad6f1b457aa 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -417,6 +417,24 @@ void MotionMaster::MoveCirclePath(float x, float y, float z, float radius, bool
init.Launch();
}
+void MotionMaster::MoveSmoothPath(uint32 pointId, G3D::Vector3 const* pathPoints, size_t pathSize, bool walk)
+{
+ Movement::PointsArray path(pathPoints, pathPoints + pathSize);
+
+ Movement::MoveSplineInit init(_owner);
+ init.MovebyPath(path);
+ init.SetSmooth();
+ init.SetWalk(walk);
+ init.Launch();
+
+ // This code is not correct
+ // EffectMovementGenerator does not affect UNIT_STATE_ROAMING | UNIT_STATE_ROAMING_MOVE
+ // need to call PointMovementGenerator with various pointIds
+ Mutate(new EffectMovementGenerator(pointId), MOTION_SLOT_ACTIVE);
+ //Position pos(pathPoints[pathSize - 1].x, pathPoints[pathSize - 1].y, pathPoints[pathSize - 1].z);
+ //MovePoint(EVENT_CHARGE_PREPATH, pos, false);
+}
+
void MotionMaster::MoveFall(uint32 id /*=0*/)
{
// use larger distance for vmap height search than in most other cases
diff --git a/src/server/game/Movement/MotionMaster.h b/src/server/game/Movement/MotionMaster.h
index c8da50364ba..9a8950de9f7 100644
--- a/src/server/game/Movement/MotionMaster.h
+++ b/src/server/game/Movement/MotionMaster.h
@@ -185,6 +185,7 @@ class MotionMaster //: private std::stack<MovementGenerator *>
{ MoveJump(pos.m_positionX, pos.m_positionY, pos.m_positionZ, speedXY, speedZ, id); }
void MoveJump(float x, float y, float z, float speedXY, float speedZ, uint32 id = EVENT_JUMP);
void MoveCirclePath(float x, float y, float z, float radius, bool clockwise, uint8 stepCount);
+ void MoveSmoothPath(uint32 pointId, G3D::Vector3 const* pathPoints, size_t pathSize, bool walk);
void MoveFall(uint32 id = 0);
void MoveSeekAssistance(float x, float y, float z);
diff --git a/src/server/game/OutdoorPvP/OutdoorPvPMgr.cpp b/src/server/game/OutdoorPvP/OutdoorPvPMgr.cpp
index b07d21436b2..65b9f67342a 100644
--- a/src/server/game/OutdoorPvP/OutdoorPvPMgr.cpp
+++ b/src/server/game/OutdoorPvP/OutdoorPvPMgr.cpp
@@ -71,7 +71,7 @@ void OutdoorPvPMgr::InitOutdoorPvP()
OutdoorPvPData* data = new OutdoorPvPData();
OutdoorPvPTypes realTypeId = OutdoorPvPTypes(typeId);
data->TypeId = realTypeId;
- data->ScriptId = sObjectMgr->GetScriptId(fields[1].GetCString());
+ data->ScriptId = sObjectMgr->GetScriptId(fields[1].GetString());
m_OutdoorPvPDatas[realTypeId] = data;
++count;
diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp
index aa8be4946e4..40e522a185e 100644
--- a/src/server/game/Scripting/ScriptLoader.cpp
+++ b/src/server/game/Scripting/ScriptLoader.cpp
@@ -93,6 +93,7 @@ void AddSC_npcs_special();
void AddSC_npc_taxi();
void AddSC_achievement_scripts();
void AddSC_action_ip_logger();
+void AddSC_duel_reset();
//eastern kingdoms
void AddSC_alterac_valley(); //Alterac Valley
@@ -113,11 +114,8 @@ void AddSC_blackrock_caverns();
void AddSC_instance_blackrock_caverns();
void AddSC_blackrock_depths(); //Blackrock Depths
void AddSC_boss_ambassador_flamelash();
-void AddSC_boss_anubshiah();
void AddSC_boss_draganthaurissan();
void AddSC_boss_general_angerforge();
-void AddSC_boss_gorosh_the_dervish();
-void AddSC_boss_grizzle();
void AddSC_boss_high_interrogator_gerstahn();
void AddSC_boss_magmus();
void AddSC_boss_moira_bronzebeard();
@@ -812,6 +810,7 @@ void AddWorldScripts()
// To avoid duplicate code, we check once /*ONLY*/ if logging is permitted or not.
if (sWorld->getBoolConfig(CONFIG_IP_BASED_ACTION_LOGGING))
AddSC_action_ip_logger(); // location: scripts\World\action_ip_logger.cpp
+ AddSC_duel_reset();
#endif
}
@@ -836,11 +835,8 @@ void AddEasternKingdomsScripts()
AddSC_instance_blackrock_caverns();
AddSC_blackrock_depths(); //Blackrock Depths
AddSC_boss_ambassador_flamelash();
- AddSC_boss_anubshiah();
AddSC_boss_draganthaurissan();
AddSC_boss_general_angerforge();
- AddSC_boss_gorosh_the_dervish();
- AddSC_boss_grizzle();
AddSC_boss_high_interrogator_gerstahn();
AddSC_boss_magmus();
AddSC_boss_moira_bronzebeard();
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index 0267061bc69..4ad2e8af23d 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -41,6 +41,60 @@
UnusedScriptNamesContainer UnusedScriptNames;
// }
+// Trait which indicates whether this script type
+// must be assigned in the database.
+template<typename>
+struct is_script_database_bound
+ : std::false_type { };
+
+template<>
+struct is_script_database_bound<SpellScriptLoader>
+ : std::true_type { };
+
+template<>
+struct is_script_database_bound<InstanceMapScript>
+ : std::true_type { };
+
+template<>
+struct is_script_database_bound<ItemScript>
+ : std::true_type { };
+
+template<>
+struct is_script_database_bound<CreatureScript>
+ : std::true_type { };
+
+template<>
+struct is_script_database_bound<GameObjectScript>
+ : std::true_type { };
+
+template<>
+struct is_script_database_bound<AreaTriggerScript>
+ : std::true_type { };
+
+template<>
+struct is_script_database_bound<BattlegroundScript>
+ : std::true_type { };
+
+template<>
+struct is_script_database_bound<OutdoorPvPScript>
+ : std::true_type { };
+
+template<>
+struct is_script_database_bound<WeatherScript>
+ : std::true_type { };
+
+template<>
+struct is_script_database_bound<ConditionScript>
+ : std::true_type { };
+
+template<>
+struct is_script_database_bound<TransportScript>
+ : std::true_type { };
+
+template<>
+struct is_script_database_bound<AchievementCriteriaScript>
+ : std::true_type { };
+
// This is the global static registry of scripts.
template<class TScript>
class ScriptRegistry
@@ -71,78 +125,83 @@ class ScriptRegistry
}
}
- if (script->IsDatabaseBound())
+ AddScript(is_script_database_bound<TScript>{}, script);
+ }
+
+ // Gets a script by its ID (assigned by ObjectMgr).
+ static TScript* GetScriptById(uint32 id)
+ {
+ ScriptMapIterator it = ScriptPointerList.find(id);
+ if (it != ScriptPointerList.end())
+ return it->second;
+
+ return NULL;
+ }
+
+ private:
+
+ // Adds a database bound script
+ static void AddScript(std::true_type, TScript* const script)
+ {
+ // Get an ID for the script. An ID only exists if it's a script that is assigned in the database
+ // through a script name (or similar).
+ uint32 id = sObjectMgr->GetScriptId(script->GetName());
+ if (id)
{
- // Get an ID for the script. An ID only exists if it's a script that is assigned in the database
- // through a script name (or similar).
- uint32 id = sObjectMgr->GetScriptId(script->GetName().c_str());
- if (id)
+ // Try to find an existing script.
+ bool existing = false;
+ for (ScriptMapIterator it = ScriptPointerList.begin(); it != ScriptPointerList.end(); ++it)
{
- // Try to find an existing script.
- bool existing = false;
- for (ScriptMapIterator it = ScriptPointerList.begin(); it != ScriptPointerList.end(); ++it)
- {
- // If the script names match...
- if (it->second->GetName() == script->GetName())
- {
- // ... It exists.
- existing = true;
- break;
- }
- }
-
- // If the script isn't assigned -> assign it!
- if (!existing)
+ // If the script names match...
+ if (it->second->GetName() == script->GetName())
{
- ScriptPointerList[id] = script;
- sScriptMgr->IncrementScriptCount();
-
- #ifdef SCRIPTS
- UnusedScriptNamesContainer::iterator itr = std::lower_bound(UnusedScriptNames.begin(), UnusedScriptNames.end(), script->GetName());
- if (itr != UnusedScriptNames.end() && *itr == script->GetName())
- UnusedScriptNames.erase(itr);
- #endif
+ // ... It exists.
+ existing = true;
+ break;
}
- else
- {
- // If the script is already assigned -> delete it!
- TC_LOG_ERROR("scripts", "Script '%s' already assigned with the same script name, so the script can't work.",
- script->GetName().c_str());
+ }
- ABORT(); // Error that should be fixed ASAP.
- }
+ // If the script isn't assigned -> assign it!
+ if (!existing)
+ {
+ ScriptPointerList[id] = script;
+ sScriptMgr->IncrementScriptCount();
+
+ #ifdef SCRIPTS
+ UnusedScriptNamesContainer::iterator itr = std::lower_bound(UnusedScriptNames.begin(), UnusedScriptNames.end(), script->GetName());
+ if (itr != UnusedScriptNames.end() && *itr == script->GetName())
+ UnusedScriptNames.erase(itr);
+ #endif
}
else
{
- // The script uses a script name from database, but isn't assigned to anything.
- TC_LOG_ERROR("sql.sql", "Script named '%s' does not have a script name assigned in database.", script->GetName().c_str());
+ // If the script is already assigned -> delete it!
+ TC_LOG_ERROR("scripts", "Script '%s' already assigned with the same script name, so the script can't work.",
+ script->GetName().c_str());
- // Avoid calling "delete script;" because we are currently in the script constructor
- // In a valid scenario this will not happen because every script has a name assigned in the database
- UnusedScripts.push_back(script);
- return;
+ ABORT(); // Error that should be fixed ASAP.
}
}
else
{
- // We're dealing with a code-only script; just add it.
- ScriptPointerList[_scriptIdCounter++] = script;
- sScriptMgr->IncrementScriptCount();
+ // The script uses a script name from database, but isn't assigned to anything.
+ TC_LOG_ERROR("sql.sql", "Script named '%s' does not have a script name assigned in database.", script->GetName().c_str());
+
+ // Avoid calling "delete script;" because we are currently in the script constructor
+ // In a valid scenario this will not happen because every script has a name assigned in the database
+ UnusedScripts.push_back(script);
+ return;
}
}
- // Gets a script by its ID (assigned by ObjectMgr).
- static TScript* GetScriptById(uint32 id)
+ // Adds a non database bound script
+ static void AddScript(std::false_type, TScript* const script)
{
- ScriptMapIterator it = ScriptPointerList.find(id);
- if (it != ScriptPointerList.end())
- return it->second;
-
- return NULL;
+ // We're dealing with a code-only script; just add it.
+ ScriptPointerList[_scriptIdCounter++] = script;
+ sScriptMgr->IncrementScriptCount();
}
- private:
-
// Counter used for code-only scripts.
static uint32 _scriptIdCounter;
};
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 68a37163695..fc84d3d2275 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -152,10 +152,6 @@ class ScriptObject
public:
- // Do not override this in scripts; it should be overridden by the various script type classes. It indicates
- // whether or not this script type must be assigned in the database.
- virtual bool IsDatabaseBound() const { return false; }
-
const std::string& GetName() const { return _name; }
protected:
@@ -197,8 +193,6 @@ class SpellScriptLoader : public ScriptObject
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Should return a fully valid SpellScript pointer.
virtual SpellScript* GetSpellScript() const { return NULL; }
@@ -355,8 +349,6 @@ class InstanceMapScript : public ScriptObject, public MapScript<InstanceMap>
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Gets an InstanceScript object for this instance.
virtual InstanceScript* GetInstanceScript(InstanceMap* /*map*/) const { return NULL; }
};
@@ -376,8 +368,6 @@ class ItemScript : public ScriptObject
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Called when a dummy spell effect is triggered on the item.
virtual bool OnDummyEffect(Unit* /*caster*/, uint32 /*spellId*/, SpellEffIndex /*effIndex*/, Item* /*target*/) { return false; }
@@ -425,8 +415,6 @@ class CreatureScript : public UnitScript, public UpdatableScript<Creature>
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Called when a dummy spell effect is triggered on the creature.
virtual bool OnDummyEffect(Unit* /*caster*/, uint32 /*spellId*/, SpellEffIndex /*effIndex*/, Creature* /*target*/) { return false; }
@@ -463,8 +451,6 @@ class GameObjectScript : public ScriptObject, public UpdatableScript<GameObject>
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Called when a dummy spell effect is triggered on the gameobject.
virtual bool OnDummyEffect(Unit* /*caster*/, uint32 /*spellId*/, SpellEffIndex /*effIndex*/, GameObject* /*target*/) { return false; }
@@ -510,8 +496,6 @@ class AreaTriggerScript : public ScriptObject
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Called when the area trigger is activated by a player.
virtual bool OnTrigger(Player* /*player*/, AreaTriggerEntry const* /*trigger*/, bool /*entered*/) { return false; }
};
@@ -524,8 +508,6 @@ class BattlegroundScript : public ScriptObject
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Should return a fully valid Battleground object for the type ID.
virtual Battleground* GetBattleground() const = 0;
};
@@ -538,8 +520,6 @@ class OutdoorPvPScript : public ScriptObject
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Should return a fully valid OutdoorPvP object for the type ID.
virtual OutdoorPvP* GetOutdoorPvP() const = 0;
};
@@ -564,8 +544,6 @@ class WeatherScript : public ScriptObject, public UpdatableScript<Weather>
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Called when the weather changes in the zone this script is associated with.
virtual void OnChange(Weather* /*weather*/, WeatherState /*state*/, float /*grade*/) { }
};
@@ -599,8 +577,6 @@ class ConditionScript : public ScriptObject
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Called when a single condition is checked for a player.
virtual bool OnConditionCheck(Condition const* /*condition*/, ConditionSourceInfo& /*sourceInfo*/) { return true; }
};
@@ -647,8 +623,6 @@ class TransportScript : public ScriptObject, public UpdatableScript<Transport>
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Called when a player boards the transport.
virtual void OnAddPassenger(Transport* /*transport*/, Player* /*player*/) { }
@@ -670,8 +644,6 @@ class AchievementCriteriaScript : public ScriptObject
public:
- bool IsDatabaseBound() const final override { return true; }
-
// Called when an additional criteria is checked.
virtual bool OnCheck(Player* source, Unit* target) = 0;
};
@@ -808,8 +780,6 @@ class GuildScript : public ScriptObject
public:
- bool IsDatabaseBound() const final override { return false; }
-
// Called when a member is added to the guild.
virtual void OnAddMember(Guild* /*guild*/, Player* /*player*/, uint8& /*plRank*/) { }
@@ -851,8 +821,6 @@ class GroupScript : public ScriptObject
public:
- bool IsDatabaseBound() const final override { return false; }
-
// Called when a member is added to a group.
virtual void OnAddMember(Group* /*group*/, ObjectGuid /*guid*/) { }
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index 2189fbffeff..f0126cd2782 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -1411,6 +1411,7 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co
case CMSG_STAND_STATE_CHANGE: // not profiled
case CMSG_RANDOM_ROLL: // not profiled
case CMSG_TIME_SYNC_RESPONSE: // not profiled
+ case CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK: // not profiled
{
// "0" is a magic number meaning there's no limit for the opcode.
// All the opcodes above must cause little CPU usage and no sync/async database queries at all
diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp
index 6839e5831de..030ca1966f8 100644
--- a/src/server/game/Server/WorldSocket.cpp
+++ b/src/server/game/Server/WorldSocket.cpp
@@ -533,11 +533,11 @@ struct AccountInfo
uint32 Id;
bool IsLockedToIP;
std::string LastIP;
+ std::string LockCountry;
LocaleConstant Locale;
std::string OS;
bool IsBanned;
- std::string LockCountry;
} BattleNet;
struct
@@ -556,9 +556,9 @@ struct AccountInfo
explicit AccountInfo(Field* fields)
{
- // 0 1 2 3 4 5 6 7 8 9 10
- // SELECT a.id, a.sessionkey, ba.last_ip, ba.locked, a.expansion, a.mutetime, ba.locale, a.recruiter, ba.os, ba.id, aa.gmLevel,
- // 11 12 13
+ // 0 1 2 3 4 5 6 7 8 9 10 11
+ // SELECT a.id, a.sessionkey, ba.last_ip, ba.locked, ba.lock_country, a.expansion, a.mutetime, ba.locale, a.recruiter, ba.os, ba.id, aa.gmLevel,
+ // 12 13 14
// bab.unbandate > UNIX_TIMESTAMP() OR bab.unbandate = bab.bandate, ab.unbandate > UNIX_TIMESTAMP() OR ab.unbandate = ab.bandate, r.id
// FROM account a LEFT JOIN battlenet_accounts ba ON a.battlenet_account = ba.id LEFT JOIN account_access aa ON a.id = aa.id AND aa.RealmID IN (-1, ?)
// LEFT JOIN battlenet_account_bans bab ON ba.id = bab.id LEFT JOIN account_banned ab ON a.id = ab.id LEFT JOIN account r ON a.id = r.recruiter
@@ -567,16 +567,17 @@ struct AccountInfo
Game.SessionKey.SetHexStr(fields[1].GetCString());
BattleNet.LastIP = fields[2].GetString();
BattleNet.IsLockedToIP = fields[3].GetBool();
- Game.Expansion = fields[4].GetUInt8();
- Game.MuteTime = fields[5].GetInt64();
- BattleNet.Locale = LocaleConstant(fields[6].GetUInt8());
- Game.Recruiter = fields[7].GetUInt32();
- BattleNet.OS = fields[8].GetString();
- BattleNet.Id = fields[9].GetUInt32();
- Game.Security = AccountTypes(fields[10].GetUInt8());
- BattleNet.IsBanned = fields[11].GetUInt64() != 0;
- Game.IsBanned = fields[12].GetUInt64() != 0;
- Game.IsRectuiter = fields[13].GetUInt32() != 0;
+ BattleNet.LockCountry = fields[4].GetString();
+ Game.Expansion = fields[5].GetUInt8();
+ Game.MuteTime = fields[6].GetInt64();
+ BattleNet.Locale = LocaleConstant(fields[7].GetUInt8());
+ Game.Recruiter = fields[8].GetUInt32();
+ BattleNet.OS = fields[9].GetString();
+ BattleNet.Id = fields[10].GetUInt32();
+ Game.Security = AccountTypes(fields[11].GetUInt8());
+ BattleNet.IsBanned = fields[12].GetUInt64() != 0;
+ Game.IsBanned = fields[13].GetUInt64() != 0;
+ Game.IsRectuiter = fields[14].GetUInt32() != 0;
uint32 world_expansion = sWorld->getIntConfig(CONFIG_EXPANSION);
if (Game.Expansion > world_expansion)
@@ -698,7 +699,7 @@ void WorldSocket::HandleAuthSessionCallback(std::shared_ptr<WorldPackets::Auth::
return;
}
}
- else if (!account.BattleNet.LockCountry.empty() && !_ipCountry.empty())
+ else if (!account.BattleNet.LockCountry.empty() && account.BattleNet.LockCountry != "00" && !_ipCountry.empty())
{
if (account.BattleNet.LockCountry != _ipCountry)
{
diff --git a/src/server/game/Skills/SkillExtraItems.cpp b/src/server/game/Skills/SkillExtraItems.cpp
index 8df9ce86f9a..2c9a2a7bcfd 100644
--- a/src/server/game/Skills/SkillExtraItems.cpp
+++ b/src/server/game/Skills/SkillExtraItems.cpp
@@ -20,11 +20,98 @@
#include "DatabaseEnv.h"
#include "Log.h"
#include "Player.h"
+#include "ObjectMgr.h"
#include <map>
// some type definitions
// no use putting them in the header file, they're only used in this .cpp
+// struct to store information about perfection procs
+// one entry per spell
+struct SkillPerfectItemEntry
+{
+ // the spell id of the spell required - it's named "specialization" to conform with SkillExtraItemEntry
+ uint32 requiredSpecialization;
+ // perfection proc chance
+ float perfectCreateChance;
+ // itemid of the resulting perfect item
+ uint32 perfectItemType;
+
+ SkillPerfectItemEntry()
+ : requiredSpecialization(0), perfectCreateChance(0.0f), perfectItemType(0) { }
+ SkillPerfectItemEntry(uint32 rS, float pCC, uint32 pIT)
+ : requiredSpecialization(rS), perfectCreateChance(pCC), perfectItemType(pIT) { }
+};
+
+// map to store perfection info. key = spellId of the creation spell, value is the perfectitementry as specified above
+typedef std::map<uint32, SkillPerfectItemEntry> SkillPerfectItemMap;
+
+SkillPerfectItemMap SkillPerfectItemStore;
+
+// loads the perfection proc info from DB
+void LoadSkillPerfectItemTable()
+{
+ uint32 oldMSTime = getMSTime();
+
+ SkillPerfectItemStore.clear(); // reload capability
+
+ // 0 1 2 3
+ QueryResult result = WorldDatabase.Query("SELECT spellId, requiredSpecialization, perfectCreateChance, perfectItemType FROM skill_perfect_item_template");
+
+ if (!result)
+ {
+ TC_LOG_ERROR("server.loading", ">> Loaded 0 spell perfection definitions. DB table `skill_perfect_item_template` is empty.");
+ return;
+ }
+
+ uint32 count = 0;
+
+ do /* fetch data and run sanity checks */
+ {
+ Field* fields = result->Fetch();
+
+ uint32 spellId = fields[0].GetUInt32();
+
+ if (!sSpellMgr->GetSpellInfo(spellId))
+ {
+ TC_LOG_ERROR("sql.sql", "Skill perfection data for spell %u has non-existent spell id in `skill_perfect_item_template`!", spellId);
+ continue;
+ }
+
+ uint32 requiredSpecialization = fields[1].GetUInt32();
+ if (!sSpellMgr->GetSpellInfo(requiredSpecialization))
+ {
+ TC_LOG_ERROR("sql.sql", "Skill perfection data for spell %u has non-existent required specialization spell id %u in `skill_perfect_item_template`!", spellId, requiredSpecialization);
+ continue;
+ }
+
+ float perfectCreateChance = fields[2].GetFloat();
+ if (perfectCreateChance <= 0.0f)
+ {
+ TC_LOG_ERROR("sql.sql", "Skill perfection data for spell %u has impossibly low proc chance in `skill_perfect_item_template`!", spellId);
+ continue;
+ }
+
+ uint32 perfectItemType = fields[3].GetUInt32();
+ if (!sObjectMgr->GetItemTemplate(perfectItemType))
+ {
+ TC_LOG_ERROR("sql.sql", "Skill perfection data for spell %u references non-existent perfect item id %u in `skill_perfect_item_template`!", spellId, perfectItemType);
+ continue;
+ }
+
+ SkillPerfectItemEntry& skillPerfectItemEntry = SkillPerfectItemStore[spellId];
+
+ skillPerfectItemEntry.requiredSpecialization = requiredSpecialization;
+ skillPerfectItemEntry.perfectCreateChance = perfectCreateChance;
+ skillPerfectItemEntry.perfectItemType = perfectItemType;
+
+ ++count;
+ }
+ while (result->NextRow());
+
+ TC_LOG_INFO("server.loading", ">> Loaded %u spell perfection definitions in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
+}
+
// struct to store information about extra item creation
// one entry for every spell that is able to create an extra item
struct SkillExtraItemEntry
@@ -112,6 +199,30 @@ void LoadSkillExtraItemTable()
TC_LOG_INFO("server.loading", ">> Loaded %u spell specialization definitions in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
}
+bool CanCreatePerfectItem(Player* player, uint32 spellId, float &perfectCreateChance, uint32 &perfectItemType)
+{
+ SkillPerfectItemMap::const_iterator ret = SkillPerfectItemStore.find(spellId);
+ // no entry in DB means no perfection proc possible
+ if (ret == SkillPerfectItemStore.end())
+ return false;
+
+ SkillPerfectItemEntry const* thisEntry = &ret->second;
+ // lack of entry means no perfection proc possible
+ if (!thisEntry)
+ return false;
+
+ // if you don't have the spell needed, then no procs for you
+ if (!player->HasSpell(thisEntry->requiredSpecialization))
+ return false;
+
+ // set values as appropriate
+ perfectCreateChance = thisEntry->perfectCreateChance;
+ perfectItemType = thisEntry->perfectItemType;
+
+ // and tell the caller to start rolling the dice
+ return true;
+}
+
bool CanCreateExtraItems(Player* player, uint32 spellId, float &additionalChance, uint8 &additionalMax)
{
// get the info for the specified spell
diff --git a/src/server/game/Skills/SkillExtraItems.h b/src/server/game/Skills/SkillExtraItems.h
index 0cdfff74ed2..118c49ed00f 100644
--- a/src/server/game/Skills/SkillExtraItems.h
+++ b/src/server/game/Skills/SkillExtraItems.h
@@ -23,6 +23,10 @@
// predef classes used in functions
class Player;
+// returns true and sets the appropriate info if the player can create a perfect item with the given spellId
+bool CanCreatePerfectItem(Player* player, uint32 spellId, float &perfectCreateChance, uint32 &perfectItemType);
+// load perfection proc info from DB
+void LoadSkillPerfectItemTable();
// returns true and sets the appropriate info if the player can create extra items with the given spellId
bool CanCreateExtraItems(Player* player, uint32 spellId, float &additionalChance, uint8 &additionalMax);
// function to load the extra item creation info from DB
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 77f3d2b905e..3431eb71898 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -1456,6 +1456,22 @@ void Spell::DoCreateItem(uint32 /*i*/, uint32 itemtype, std::vector<int32> const
if (num_to_add > pProto->GetMaxStackSize())
num_to_add = pProto->GetMaxStackSize();
+ /* == gem perfection handling == */
+
+ // the chance of getting a perfect result
+ float perfectCreateChance = 0.0f;
+ // the resulting perfect item if successful
+ uint32 perfectItemType = itemtype;
+ // get perfection capability and chance
+ if (CanCreatePerfectItem(player, m_spellInfo->Id, perfectCreateChance, perfectItemType))
+ if (roll_chance_f(perfectCreateChance)) // if the roll succeeds...
+ newitemid = perfectItemType; // the perfect item replaces the regular one
+
+ /* == gem perfection handling over == */
+
+
+ /* == profession specialization handling == */
+
// init items_count to 1, since 1 item will be created regardless of specialization
int items_count=1;
// the chance to create additional items
@@ -1464,15 +1480,16 @@ void Spell::DoCreateItem(uint32 /*i*/, uint32 itemtype, std::vector<int32> const
uint8 additionalMaxNum=0;
// get the chance and maximum number for creating extra items
if (CanCreateExtraItems(player, m_spellInfo->Id, additionalCreateChance, additionalMaxNum))
- {
// roll with this chance till we roll not to create or we create the max num
while (roll_chance_f(additionalCreateChance) && items_count <= additionalMaxNum)
++items_count;
- }
// really will be created more items
num_to_add *= items_count;
+ /* == profession specialization handling over == */
+
+
// can the player store the new item?
ItemPosCountVec dest;
uint32 no_space = 0;
@@ -4114,11 +4131,14 @@ void Spell::EffectEnchantHeldItem(SpellEffIndex /*effIndex*/)
if (effectInfo->MiscValue)
{
uint32 enchant_id = effectInfo->MiscValue;
- int32 duration = m_spellInfo->GetDuration(); //Try duration index first ..
+ int32 duration = m_spellInfo->GetDuration(); //Try duration index first ..
if (!duration)
- duration = damage;//+1; //Base points after ..
+ duration = damage;//+1; //Base points after ..
if (!duration)
- duration = 10; //10 seconds for enchants which don't have listed duration
+ duration = 10 * IN_MILLISECONDS; //10 seconds for enchants which don't have listed duration
+
+ if (m_spellInfo->Id == 14792) // Venomhide Poison
+ duration = 5 * MINUTE * IN_MILLISECONDS;
SpellItemEnchantmentEntry const* pEnchant = sSpellItemEnchantmentStore.LookupEntry(enchant_id);
if (!pEnchant)
@@ -4132,7 +4152,7 @@ void Spell::EffectEnchantHeldItem(SpellEffIndex /*effIndex*/)
return;
// Apply the temporary enchantment
- item->SetEnchantment(slot, enchant_id, duration*IN_MILLISECONDS, 0, m_caster->GetGUID());
+ item->SetEnchantment(slot, enchant_id, duration, 0, m_caster->GetGUID());
item_owner->ApplyEnchantment(item, slot, true);
}
}
diff --git a/src/server/game/Spells/SpellHistory.cpp b/src/server/game/Spells/SpellHistory.cpp
index 3b86e3d594b..c2d1356e61a 100644
--- a/src/server/game/Spells/SpellHistory.cpp
+++ b/src/server/game/Spells/SpellHistory.cpp
@@ -870,6 +870,60 @@ void SpellHistory::SendClearCooldowns(std::vector<int32> const& cooldowns) const
}
}
+void SpellHistory::SaveCooldownStateBeforeDuel()
+{
+ _spellCooldownsBeforeDuel = _spellCooldowns;
+}
+
+void SpellHistory::RestoreCooldownStateAfterDuel()
+{
+ if (Player* player = _owner->ToPlayer())
+ {
+ // add all profession CDs created while in duel (if any)
+ for (auto const& c : _spellCooldowns)
+ {
+ SpellInfo const* spellInfo = sSpellMgr->AssertSpellInfo(c.first);
+
+ if (spellInfo->RecoveryTime > 10 * MINUTE * IN_MILLISECONDS ||
+ spellInfo->CategoryRecoveryTime > 10 * MINUTE * IN_MILLISECONDS)
+ _spellCooldownsBeforeDuel[c.first] = _spellCooldowns[c.first];
+ }
+
+ _spellCooldowns = _spellCooldownsBeforeDuel;
+
+ // update the client: clear all cooldowns
+ std::vector<int32> resetCooldowns;
+ resetCooldowns.reserve(_spellCooldowns.size());
+
+ for (auto const& c : _spellCooldowns)
+ resetCooldowns.push_back(c.first);
+
+ if (resetCooldowns.empty())
+ return;
+
+ SendClearCooldowns(resetCooldowns);
+
+ // update the client: restore old cooldowns
+ WorldPackets::Spells::SpellCooldown spellCooldown;
+ spellCooldown.Caster = _owner->GetGUID();
+ spellCooldown.Flags = SPELL_COOLDOWN_FLAG_NONE;
+
+ for (auto const& c : _spellCooldowns)
+ {
+ Clock::time_point now = Clock::now();
+ uint32 cooldownDuration = c.second.CooldownEnd > now ? std::chrono::duration_cast<std::chrono::milliseconds>(c.second.CooldownEnd - now).count() : 0;
+
+ // cooldownDuration must be between 0 and 10 minutes in order to avoid any visual bugs
+ if (cooldownDuration == 0 || cooldownDuration > 10 * MINUTE * IN_MILLISECONDS)
+ continue;
+
+ spellCooldown.SpellCooldowns.emplace_back(c.first, cooldownDuration);
+ }
+
+ player->SendDirectMessage(spellCooldown.Write());
+ }
+}
+
template void SpellHistory::LoadFromDB<Player>(PreparedQueryResult cooldownsResult, PreparedQueryResult chargesResult);
template void SpellHistory::LoadFromDB<Pet>(PreparedQueryResult cooldownsResult, PreparedQueryResult chargesResult);
template void SpellHistory::SaveToDB<Player>(SQLTransaction& trans);
diff --git a/src/server/game/Spells/SpellHistory.h b/src/server/game/Spells/SpellHistory.h
index 0a504668997..1a6fc205f96 100644
--- a/src/server/game/Spells/SpellHistory.h
+++ b/src/server/game/Spells/SpellHistory.h
@@ -144,6 +144,10 @@ public:
void AddGlobalCooldown(SpellInfo const* spellInfo, uint32 duration);
void CancelGlobalCooldown(SpellInfo const* spellInfo);
+ uint16 GetArenaCooldownsSize();
+ void SaveCooldownStateBeforeDuel();
+ void RestoreCooldownStateAfterDuel();
+
private:
Player* GetPlayerOwner() const;
void SendClearCooldowns(std::vector<int32> const& cooldowns) const;
@@ -155,6 +159,7 @@ private:
Unit* _owner;
CooldownStorageType _spellCooldowns;
+ CooldownStorageType _spellCooldownsBeforeDuel;
CategoryCooldownStorageType _categoryCooldowns;
Clock::time_point _schoolLockouts[MAX_SPELL_SCHOOL];
ChargeStorageType _categoryCharges;
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 9d6466dfab7..75f419dc99e 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -3228,6 +3228,19 @@ void SpellMgr::LoadSpellInfoCorrections()
//! HACK: This spell break quest complete for alliance and on retail not used °_O
const_cast<SpellEffectInfo*>(spellInfo->GetEffect(EFFECT_0))->Effect = 0;
break;
+ // VIOLET HOLD SPELLS
+ //
+ case 54258: // Water Globule (Ichoron)
+ case 54264: // Water Globule (Ichoron)
+ case 54265: // Water Globule (Ichoron)
+ case 54266: // Water Globule (Ichoron)
+ case 54267: // Water Globule (Ichoron)
+ // in 3.3.5 there is only one radius in dbc which is 0 yards in this case
+ // use max radius from 4.3.4
+ const_cast<SpellEffectInfo*>(spellInfo->GetEffect(EFFECT_0))->RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_25_YARDS);
+ break;
+ // ENDOF VIOLET HOLD
+ //
// ULDUAR SPELLS
//
case 62374: // Pursued (Flame Leviathan)
diff --git a/src/server/game/Weather/WeatherMgr.cpp b/src/server/game/Weather/WeatherMgr.cpp
index 8ab122a82bb..f80e2977b1e 100644
--- a/src/server/game/Weather/WeatherMgr.cpp
+++ b/src/server/game/Weather/WeatherMgr.cpp
@@ -132,7 +132,7 @@ void LoadWeatherData()
}
}
- wzc.ScriptId = sObjectMgr->GetScriptId(fields[13].GetCString());
+ wzc.ScriptId = sObjectMgr->GetScriptId(fields[13].GetString());
++count;
}
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index 872f3bb160a..fa0b67082d2 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1278,6 +1278,7 @@ void World::LoadConfigSettings(bool reload)
if (m_bool_configs[CONFIG_START_ALL_SPELLS])
TC_LOG_WARN("server.loading", "PlayerStart.AllSpells enabled - may not function as intended!");
m_int_configs[CONFIG_HONOR_AFTER_DUEL] = sConfigMgr->GetIntDefault("HonorPointsAfterDuel", 0);
+ m_bool_configs[CONFIG_RESET_DUEL_COOLDOWNS] = sConfigMgr->GetBoolDefault("ResetDuelCooldowns", false);
m_bool_configs[CONFIG_START_ALL_EXPLORED] = sConfigMgr->GetBoolDefault("PlayerStart.MapsExplored", false);
m_bool_configs[CONFIG_START_ALL_REP] = sConfigMgr->GetBoolDefault("PlayerStart.AllReputation", false);
m_bool_configs[CONFIG_ALWAYS_MAXSKILL] = sConfigMgr->GetBoolDefault("AlwaysMaxWeaponSkill", false);
@@ -1750,6 +1751,9 @@ void World::SetInitialWorldSettings()
TC_LOG_INFO("server.loading", "Loading Skill Extra Item Table...");
LoadSkillExtraItemTable();
+ TC_LOG_INFO("server.loading", "Loading Skill Perfection Data Table...");
+ LoadSkillPerfectItemTable();
+
TC_LOG_INFO("server.loading", "Loading Skill Fishing base level requirements...");
sObjectMgr->LoadFishingBaseSkillLevel();
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index f7b61452fda..153a7730bef 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -176,6 +176,7 @@ enum WorldBoolConfigs
CONFIG_CALCULATE_GAMEOBJECT_ZONE_AREA_DATA,
CONFIG_FEATURE_SYSTEM_BPAY_STORE_ENABLED,
CONFIG_FEATURE_SYSTEM_CHARACTER_UNDELETE_ENABLED,
+ CONFIG_RESET_DUEL_COOLDOWNS,
BOOL_CONFIG_VALUE_COUNT
};
diff --git a/src/server/scripts/Commands/cs_cheat.cpp b/src/server/scripts/Commands/cs_cheat.cpp
index fda2f885cd5..6262d380075 100644
--- a/src/server/scripts/Commands/cs_cheat.cpp
+++ b/src/server/scripts/Commands/cs_cheat.cpp
@@ -24,7 +24,6 @@ EndScriptData */
#include "Chat.h"
#include "Language.h"
-#include "ObjectMgr.h"
#include "Player.h"
#include "ScriptMgr.h"
@@ -163,8 +162,8 @@ public:
{
Player* player = handler->GetSession()->GetPlayer();
- const char* enabled = "enabled";
- const char* disabled = "disabled";
+ const char* enabled = "ON";
+ const char* disabled = "OFF";
handler->SendSysMessage(LANG_COMMAND_CHEAT_STATUS);
handler->PSendSysMessage(LANG_COMMAND_CHEAT_GOD, player->GetCommandStatus(CHEAT_GOD) ? enabled : disabled);
@@ -172,6 +171,7 @@ public:
handler->PSendSysMessage(LANG_COMMAND_CHEAT_CT, player->GetCommandStatus(CHEAT_CASTTIME) ? enabled : disabled);
handler->PSendSysMessage(LANG_COMMAND_CHEAT_POWER, player->GetCommandStatus(CHEAT_POWER) ? enabled : disabled);
handler->PSendSysMessage(LANG_COMMAND_CHEAT_WW, player->GetCommandStatus(CHEAT_WATERWALK) ? enabled : disabled);
+ handler->PSendSysMessage(LANG_COMMAND_CHEAT_TAXINODES, player->isTaxiCheater() ? enabled : disabled);
return true;
}
@@ -184,13 +184,7 @@ public:
Player* target = handler->GetSession()->GetPlayer();
if (!*args)
- {
argstr = (target->GetCommandStatus(CHEAT_WATERWALK)) ? "off" : "on";
- if (target->GetCommandStatus(CHEAT_WATERWALK))
- argstr = "off";
- else
- argstr = "on";
- }
if (argstr == "off")
{
@@ -212,15 +206,8 @@ public:
static bool HandleTaxiCheatCommand(ChatHandler* handler, const char* args)
{
- if (!*args)
- {
- handler->SendSysMessage(LANG_USE_BOL);
- handler->SetSentErrorMessage(true);
- return false;
- }
std::string argstr = (char*)args;
-
Player* chr = handler->getSelectedPlayer();
if (!chr)
@@ -228,24 +215,28 @@ public:
else if (handler->HasLowerSecurity(chr, ObjectGuid::Empty)) // check online security
return false;
- if (argstr == "on")
- {
- chr->SetTaxiCheater(true);
- handler->PSendSysMessage(LANG_YOU_GIVE_TAXIS, handler->GetNameLink(chr).c_str());
- if (handler->needReportToTarget(chr))
- ChatHandler(chr->GetSession()).PSendSysMessage(LANG_YOURS_TAXIS_ADDED, handler->GetNameLink().c_str());
- return true;
- }
+ if (!*args)
+ argstr = (chr->isTaxiCheater()) ? "off" : "on";
+
if (argstr == "off")
+
{
chr->SetTaxiCheater(false);
handler->PSendSysMessage(LANG_YOU_REMOVE_TAXIS, handler->GetNameLink(chr).c_str());
if (handler->needReportToTarget(chr))
ChatHandler(chr->GetSession()).PSendSysMessage(LANG_YOURS_TAXIS_REMOVED, handler->GetNameLink().c_str());
-
return true;
}
+ else if (argstr == "on")
+ {
+ chr->SetTaxiCheater(true);
+ handler->PSendSysMessage(LANG_YOU_GIVE_TAXIS, handler->GetNameLink(chr).c_str());
+ if (handler->needReportToTarget(chr))
+ ChatHandler(chr->GetSession()).PSendSysMessage(LANG_YOURS_TAXIS_ADDED, handler->GetNameLink().c_str());
+ return true;
+ }
+
handler->SendSysMessage(LANG_USE_BOL);
handler->SetSentErrorMessage(true);
@@ -257,10 +248,11 @@ public:
if (!*args)
return false;
+ // std::int flag = (char*)args;
int flag = atoi((char*)args);
Player* chr = handler->getSelectedPlayer();
- if (chr == NULL)
+ if (!chr)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
handler->SetSentErrorMessage(true);
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp
index b3a1f0317c1..07c9af94bf4 100644
--- a/src/server/scripts/Commands/cs_debug.cpp
+++ b/src/server/scripts/Commands/cs_debug.cpp
@@ -33,6 +33,7 @@ EndScriptData */
#include "GossipDef.h"
#include "Transport.h"
#include "Language.h"
+#include "MapManager.h"
#include "MovementPackets.h"
#include "SpellPackets.h"
#include "ScenePackets.h"
@@ -95,6 +96,7 @@ public:
{ "los", rbac::RBAC_PERM_COMMAND_DEBUG_LOS, false, &HandleDebugLoSCommand, "" },
{ "moveflags", rbac::RBAC_PERM_COMMAND_DEBUG_MOVEFLAGS, false, &HandleDebugMoveflagsCommand, "" },
{ "transport", rbac::RBAC_PERM_COMMAND_DEBUG_TRANSPORT, false, &HandleDebugTransportCommand, "" },
+ { "loadcells", rbac::RBAC_PERM_COMMAND_DEBUG_LOADCELLS, false, &HandleDebugLoadCellsCommand, "",},
{ "phase", rbac::RBAC_PERM_COMMAND_DEBUG_PHASE, false, &HandleDebugPhaseCommand, "" },
};
static std::vector<ChatCommand> commandTable =
@@ -1393,6 +1395,30 @@ public:
return true;
}
+ static bool HandleDebugLoadCellsCommand(ChatHandler* handler, char const* args)
+ {
+ Player* player = handler->GetSession()->GetPlayer();
+ if (!player)
+ return false;
+
+ Map* map = nullptr;
+
+ if (*args)
+ {
+ int32 mapId = atoi(args);
+ map = sMapMgr->FindBaseNonInstanceMap(mapId);
+ }
+ if (!map)
+ map = player->GetMap();
+
+ for (uint32 cellX = 0; cellX < TOTAL_NUMBER_OF_CELLS_PER_MAP; cellX++)
+ for (uint32 cellY = 0; cellY < TOTAL_NUMBER_OF_CELLS_PER_MAP; cellY++)
+ map->LoadGrid((cellX + 0.5f - CENTER_GRID_CELL_ID) * SIZE_OF_GRID_CELL, (cellY + 0.5f - CENTER_GRID_CELL_ID) * SIZE_OF_GRID_CELL);
+
+ handler->PSendSysMessage("Cells loaded (mapId: %u)", map->GetId());
+ return true;
+ }
+
static bool HandleDebugPhaseCommand(ChatHandler* handler, char const* /*args*/)
{
Unit* target = handler->getSelectedUnit();
diff --git a/src/server/scripts/Commands/cs_instance.cpp b/src/server/scripts/Commands/cs_instance.cpp
index 347252ce90d..4ebc257b58b 100644
--- a/src/server/scripts/Commands/cs_instance.cpp
+++ b/src/server/scripts/Commands/cs_instance.cpp
@@ -252,7 +252,8 @@ public:
}
map->GetInstanceScript()->SetBossState(encounterId, EncounterState(state));
- handler->PSendSysMessage(LANG_COMMAND_INST_SET_BOSS_STATE, encounterId, state);
+ std::string stateName = InstanceScript::GetBossStateName(state);
+ handler->PSendSysMessage(LANG_COMMAND_INST_SET_BOSS_STATE, encounterId, state, stateName);
return true;
}
@@ -316,7 +317,8 @@ public:
}
uint32 state = map->GetInstanceScript()->GetBossState(encounterId);
- handler->PSendSysMessage(LANG_COMMAND_INST_GET_BOSS_STATE, encounterId, state);
+ std::string stateName = InstanceScript::GetBossStateName(state);
+ handler->PSendSysMessage(LANG_COMMAND_INST_GET_BOSS_STATE, encounterId, state, stateName);
return true;
}
};
diff --git a/src/server/scripts/Commands/cs_lfg.cpp b/src/server/scripts/Commands/cs_lfg.cpp
index 6939d2c4946..92bc7c5f543 100644
--- a/src/server/scripts/Commands/cs_lfg.cpp
+++ b/src/server/scripts/Commands/cs_lfg.cpp
@@ -19,7 +19,9 @@
#include "Chat.h"
#include "Language.h"
#include "LFGMgr.h"
+#include "ObjectMgr.h"
#include "Group.h"
+#include "GroupMgr.h"
#include "Player.h"
void GetPlayerInfo(ChatHandler* handler, Player* player)
@@ -72,25 +74,55 @@ public:
static bool HandleLfgGroupInfoCommand(ChatHandler* handler, char const* args)
{
- Player* target = NULL;
- std::string playerName;
- if (!handler->extractPlayerTarget((char*)args, &target, NULL, &playerName))
+ Player* playerTarget;
+ ObjectGuid guidTarget;
+ std::string nameTarget;
+
+ ObjectGuid parseGUID = ObjectGuid::Create<HighGuid::Player>(uint64(atoull(args)));
+
+ if (sObjectMgr->GetPlayerNameByGUID(parseGUID, nameTarget))
+ {
+ playerTarget = ObjectAccessor::FindPlayer(parseGUID);
+ guidTarget = parseGUID;
+ }
+ else if (!handler->extractPlayerTarget((char*)args, &playerTarget, &guidTarget, &nameTarget))
return false;
- Group* grp = target->GetGroup();
- if (!grp)
+ Group* groupTarget = NULL;
+
+ if (playerTarget)
+ groupTarget = playerTarget->GetGroup();
+ else
+ {
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_GROUP_MEMBER);
+ stmt->setUInt32(0, guidTarget.GetCounter());
+ PreparedQueryResult resultGroup = CharacterDatabase.Query(stmt);
+ if (resultGroup)
+ groupTarget = sGroupMgr->GetGroupByDbStoreId((*resultGroup)[0].GetUInt32());
+ }
+ if (!groupTarget)
{
- handler->PSendSysMessage(LANG_LFG_NOT_IN_GROUP, playerName.c_str());
- return true;
+ handler->PSendSysMessage(LANG_LFG_NOT_IN_GROUP, nameTarget.c_str());
+ handler->SetSentErrorMessage(true);
+ return false;
}
- ObjectGuid guid = grp->GetGUID();
+ ObjectGuid guid = groupTarget->GetGUID();
std::string const& state = lfg::GetStateString(sLFGMgr->GetState(guid));
- handler->PSendSysMessage(LANG_LFG_GROUP_INFO, grp->isLFGGroup(),
+ handler->PSendSysMessage(LANG_LFG_GROUP_INFO, groupTarget->isLFGGroup(),
state.c_str(), sLFGMgr->GetDungeon(guid));
- for (GroupReference* itr = grp->GetFirstMember(); itr != NULL; itr = itr->next())
- GetPlayerInfo(handler, itr->GetSource());
+ Group::MemberSlotList const& members = groupTarget->GetMemberSlots();
+
+ for (Group::MemberSlotList::const_iterator itr = members.begin(); itr != members.end(); ++itr)
+ {
+ Group::MemberSlot const& slot = *itr;
+ Player* p = ObjectAccessor::FindPlayer((*itr).guid);
+ if (p)
+ GetPlayerInfo(handler, p);
+ else
+ handler->PSendSysMessage("%s is offline.", slot.name.c_str());
+ }
return true;
}
diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp
index e63e9e98527..674b6dd74ee 100644
--- a/src/server/scripts/Commands/cs_modify.cpp
+++ b/src/server/scripts/Commands/cs_modify.cpp
@@ -133,7 +133,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -161,17 +161,6 @@ public:
if (!*args)
return false;
- // char* pmana = strtok((char*)args, " ");
- // if (!pmana)
- // return false;
-
- // char* pmanaMax = strtok(NULL, " ");
- // if (!pmanaMax)
- // return false;
-
- // int32 manam = atoi(pmanaMax);
- // int32 mana = atoi(pmana);
-
int32 energy = atoi((char*)args)*10;
int32 energym = atoi((char*)args)*10;
@@ -182,7 +171,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -212,17 +201,6 @@ public:
if (!*args)
return false;
- // char* pmana = strtok((char*)args, " ");
- // if (!pmana)
- // return false;
-
- // char* pmanaMax = strtok(NULL, " ");
- // if (!pmanaMax)
- // return false;
-
- // int32 manam = atoi(pmanaMax);
- // int32 mana = atoi(pmana);
-
int32 rage = atoi((char*)args)*10;
int32 ragem = atoi((char*)args)*10;
@@ -233,7 +211,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -271,7 +249,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -387,7 +365,7 @@ public:
else
mark = atoi(pmark);
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (target == NULL)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -946,7 +924,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -987,7 +965,7 @@ public:
if (!*args)
return false;
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -1112,7 +1090,7 @@ public:
if (!*args)
return false;
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_PLAYER_NOT_FOUND);
@@ -1142,7 +1120,7 @@ public:
if (drunklevel > 100)
drunklevel = 100;
- if (Player* target = handler->getSelectedPlayer())
+ if (Player* target = handler->getSelectedPlayerOrSelf())
target->SetDrunkValue(drunklevel);
return true;
@@ -1153,7 +1131,7 @@ public:
if (!*args)
return false;
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_PLAYER_NOT_FOUND);
@@ -1306,7 +1284,7 @@ public:
if (!*args)
return false;
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp
index 99b6ff888a5..dfddcaf395e 100644
--- a/src/server/scripts/Commands/cs_reload.cpp
+++ b/src/server/scripts/Commands/cs_reload.cpp
@@ -752,12 +752,21 @@ public:
return true;
}
- static bool HandleReloadSkillExtraItemTemplateCommand(ChatHandler* handler, const char* /*args*/)
+ static bool HandleReloadSkillPerfectItemTemplateCommand(ChatHandler* handler, const char* /*args*/)
+ { // latched onto HandleReloadSkillExtraItemTemplateCommand as it's part of that table group (and i don't want to chance all the command IDs)
+ TC_LOG_INFO("misc", "Re-Loading Skill Perfection Data Table...");
+ LoadSkillPerfectItemTable();
+ handler->SendGlobalGMSysMessage("DB table `skill_perfect_item_template` (perfect item procs when crafting) reloaded.");
+ return true;
+ }
+
+ static bool HandleReloadSkillExtraItemTemplateCommand(ChatHandler* handler, const char* args)
{
TC_LOG_INFO("misc", "Re-Loading Skill Extra Item Table...");
LoadSkillExtraItemTable();
handler->SendGlobalGMSysMessage("DB table `skill_extra_item_template` (extra item creation when crafting) reloaded.");
- return true;
+
+ return HandleReloadSkillPerfectItemTemplateCommand(handler, args);
}
static bool HandleReloadSkillFishingBaseLevelCommand(ChatHandler* handler, const char* /*args*/)
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
deleted file mode 100644
index c2261785782..00000000000
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-
-enum Spells
-{
- SPELL_SHADOWBOLT = 17228,
- SPELL_CURSEOFTONGUES = 15470,
- SPELL_CURSEOFWEAKNESS = 17227,
- SPELL_DEMONARMOR = 11735,
- SPELL_ENVELOPINGWEB = 15471
-};
-
-enum Events
-{
- EVENT_SHADOWBOLT = 1,
- EVENT_CURSE_OF_TONGUES = 2,
- EVENT_CURSE_OF_WEAKNESS = 3,
- EVENT_DEMON_ARMOR = 4,
- EVENT_ENVELOPING_WEB = 5
-};
-
-class boss_anubshiah : public CreatureScript
-{
- public:
- boss_anubshiah() : CreatureScript("boss_anubshiah") { }
-
- struct boss_anubshiahAI : public ScriptedAI
- {
- boss_anubshiahAI(Creature* creature) : ScriptedAI(creature) { }
-
- void Reset() override
- {
- _events.Reset();
- }
-
- void EnterCombat(Unit* /*who*/) override
- {
- _events.ScheduleEvent(EVENT_SHADOWBOLT, 7000);
- _events.ScheduleEvent(EVENT_CURSE_OF_TONGUES, 24000);
- _events.ScheduleEvent(EVENT_CURSE_OF_WEAKNESS, 12000);
- _events.ScheduleEvent(EVENT_DEMON_ARMOR, 3000);
- _events.ScheduleEvent(EVENT_ENVELOPING_WEB, 16000);
- }
-
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
-
- _events.Update(diff);
-
- while (uint32 eventId = _events.ExecuteEvent())
- {
- switch (eventId)
- {
- case EVENT_SHADOWBOLT:
- DoCast(me, SPELL_SHADOWBOLT);
- _events.ScheduleEvent(EVENT_SHADOWBOLT, 7000);
- break;
- case EVENT_CURSE_OF_TONGUES:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_CURSEOFTONGUES);
- _events.ScheduleEvent(EVENT_CURSE_OF_TONGUES, 18000);
- break;
- case EVENT_CURSE_OF_WEAKNESS:
- DoCastVictim(SPELL_CURSEOFWEAKNESS);
- _events.ScheduleEvent(EVENT_CURSE_OF_WEAKNESS, 45000);
- break;
- case EVENT_DEMON_ARMOR:
- DoCast(me, SPELL_DEMONARMOR);
- _events.ScheduleEvent(EVENT_DEMON_ARMOR, 300000);
- break;
- case EVENT_ENVELOPING_WEB:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_ENVELOPINGWEB);
- _events.ScheduleEvent(EVENT_ENVELOPING_WEB, 12000);
- break;
- default:
- break;
- }
- }
-
- DoMeleeAttackIfReady();
- }
-
- private:
- EventMap _events;
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new boss_anubshiahAI(creature);
- }
-};
-
-void AddSC_boss_anubshiah()
-{
- new boss_anubshiah();
-}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
deleted file mode 100644
index 83702ffb16d..00000000000
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-
-enum Spells
-{
- SPELL_WHIRLWIND = 15589,
- SPELL_MORTALSTRIKE = 24573
-};
-
-enum Events
-{
- EVENT_WHIRLWIND = 1,
- EVENT_MORTALSTRIKE = 2
-};
-
-class boss_gorosh_the_dervish : public CreatureScript
-{
- public:
- boss_gorosh_the_dervish() : CreatureScript("boss_gorosh_the_dervish") { }
-
- struct boss_gorosh_the_dervishAI : public ScriptedAI
- {
- boss_gorosh_the_dervishAI(Creature* creature) : ScriptedAI(creature) { }
-
- void Reset() override
- {
- _events.Reset();
- }
-
- void EnterCombat(Unit* /*who*/) override
- {
- _events.ScheduleEvent(EVENT_WHIRLWIND, 12000);
- _events.ScheduleEvent(EVENT_MORTALSTRIKE, 22000);
- }
-
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
-
- _events.Update(diff);
-
- while (uint32 eventId = _events.ExecuteEvent())
- {
- switch (eventId)
- {
- case EVENT_WHIRLWIND:
- DoCast(me, SPELL_WHIRLWIND);
- _events.ScheduleEvent(EVENT_WHIRLWIND, 15000);
- break;
- case EVENT_MORTALSTRIKE:
- DoCastVictim(SPELL_MORTALSTRIKE);
- _events.ScheduleEvent(EVENT_MORTALSTRIKE, 15000);
- break;
- default:
- break;
- }
- }
-
- DoMeleeAttackIfReady();
- }
-
- private:
- EventMap _events;
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new boss_gorosh_the_dervishAI(creature);
- }
-};
-
-void AddSC_boss_gorosh_the_dervish()
-{
- new boss_gorosh_the_dervish();
-}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
deleted file mode 100644
index 44dbbe3f4c2..00000000000
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-
-enum Grizzle
-{
- SPELL_GROUNDTREMOR = 6524,
- SPELL_FRENZY = 28371,
- EMOTE_FRENZY_KILL = 0
-};
-
-enum Events
-{
- EVENT_GROUNDTREMOR = 1,
- EVENT_FRENZY = 2
-};
-
-enum Phases
-{
- PHASE_ONE = 1,
- PHASE_TWO = 2
-};
-
-class boss_grizzle : public CreatureScript
-{
- public:
- boss_grizzle() : CreatureScript("boss_grizzle") { }
-
- struct boss_grizzleAI : public ScriptedAI
- {
- boss_grizzleAI(Creature* creature) : ScriptedAI(creature) { }
-
- void Reset() override
- {
- _events.Reset();
- }
-
- void EnterCombat(Unit* /*who*/) override
- {
- _events.SetPhase(PHASE_ONE);
- _events.ScheduleEvent(EVENT_GROUNDTREMOR, 12000);
- }
-
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
- {
- if (me->HealthBelowPctDamaged(50, damage) && _events.IsInPhase(PHASE_ONE))
- {
- _events.SetPhase(PHASE_TWO);
- _events.ScheduleEvent(EVENT_FRENZY, 0, 0, PHASE_TWO);
- }
- }
-
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
-
- _events.Update(diff);
-
- while (uint32 eventId = _events.ExecuteEvent())
- {
- switch (eventId)
- {
- case EVENT_GROUNDTREMOR:
- DoCastVictim(SPELL_GROUNDTREMOR);
- _events.ScheduleEvent(EVENT_GROUNDTREMOR, 8000);
- break;
- case EVENT_FRENZY:
- DoCast(me, SPELL_FRENZY);
- Talk(EMOTE_FRENZY_KILL);
- _events.ScheduleEvent(EVENT_FRENZY, 15000, 0, PHASE_TWO);
- break;
- default:
- break;
- }
- }
-
- DoMeleeAttackIfReady();
- }
-
- private:
- EventMap _events;
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new boss_grizzleAI(creature);
- }
-};
-
-void AddSC_boss_grizzle()
-{
- new boss_grizzle();
-}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
index c79a57d0746..12798833a3f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
@@ -25,14 +25,18 @@ uint32 const EncounterCount = 8;
enum BWLEncounter
{
- BOSS_RAZORGORE = 0,
- BOSS_VAELASTRAZ = 1,
- BOSS_BROODLORD = 2,
- BOSS_FIREMAW = 3,
- BOSS_EBONROC = 4,
- BOSS_FLAMEGOR = 5,
- BOSS_CHROMAGGUS = 6,
- BOSS_NEFARIAN = 7
+ // Encounter States/Boss GUIDs
+ DATA_RAZORGORE_THE_UNTAMED = 0,
+ DATA_VAELASTRAZ_THE_CORRUPT = 1,
+ DATA_BROODLORD_LASHLAYER = 2,
+ DATA_FIREMAW = 3,
+ DATA_EBONROC = 4,
+ DATA_FLAMEGOR = 5,
+ DATA_CHROMAGGUS = 6,
+ DATA_NEFARIAN = 7,
+
+ // Additional Data
+ DATA_LORD_VICTOR_NEFARIUS = 8
};
enum CreatureIds
@@ -44,7 +48,7 @@ enum CreatureIds
NPC_BLACKWING_WARLOCK = 12459,
NPC_VAELASTRAZ = 13020,
NPC_BROODLORD = 12017,
- NPC_FIRENAW = 11983,
+ NPC_FIREMAW = 11983,
NPC_EBONROC = 14601,
NPC_FLAMEGOR = 11981,
NPC_CHROMAGGUS = 14020,
@@ -52,17 +56,14 @@ enum CreatureIds
NPC_NEFARIAN = 11583
};
-enum BWLData64
+enum GameObjectIds
{
- DATA_RAZORGORE_THE_UNTAMED = 1,
- DATA_VAELASTRAZ_THE_CORRUPT,
- DATA_BROODLORD_LASHLAYER,
- DATA_FIRENAW,
- DATA_EBONROC,
- DATA_FLAMEGOR,
- DATA_CHROMAGGUS,
- DATA_LORD_VICTOR_NEFARIUS,
- DATA_NEFARIAN
+ GO_BLACK_DRAGON_EGG = 177807,
+ GO_BOSSGATE01 = 175946,
+ GO_DRAKE_RIDER_PORTCULLIS = 175185,
+ GO_ALTERAC_VALLEY_GATE = 180424,
+ GO_GATE = 185483,
+ GO_VACCUUM_EXIT_GATE = 181125
};
enum BWLEvents
@@ -79,4 +80,4 @@ enum BWLMisc
DATA_EGG_EVENT
};
-#endif \ No newline at end of file
+#endif
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
index 2609cf5fdf8..5ba933005ec 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
@@ -50,16 +50,10 @@ public:
struct boss_broodlordAI : public BossAI
{
- boss_broodlordAI(Creature* creature) : BossAI(creature, BOSS_BROODLORD) { }
+ boss_broodlordAI(Creature* creature) : BossAI(creature, DATA_BROODLORD_LASHLAYER) { }
void EnterCombat(Unit* /*who*/) override
{
- if (instance->GetBossState(BOSS_VAELASTRAZ) != DONE)
- {
- EnterEvadeMode();
- return;
- }
-
_EnterCombat();
Talk(SAY_AGGRO);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
index 61d6c052cdf..9a49b96e68e 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
@@ -71,7 +71,7 @@ public:
struct boss_chromaggusAI : public BossAI
{
- boss_chromaggusAI(Creature* creature) : BossAI(creature, BOSS_CHROMAGGUS)
+ boss_chromaggusAI(Creature* creature) : BossAI(creature, DATA_CHROMAGGUS)
{
Initialize();
@@ -193,11 +193,6 @@ public:
void EnterCombat(Unit* /*who*/) override
{
- if (instance->GetBossState(BOSS_FLAMEGOR) != DONE)
- {
- EnterEvadeMode();
- return;
- }
_EnterCombat();
events.ScheduleEvent(EVENT_SHIMMER, 0);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
index 8bd3ae0ebce..7a7e30f7913 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
@@ -41,15 +41,10 @@ public:
struct boss_ebonrocAI : public BossAI
{
- boss_ebonrocAI(Creature* creature) : BossAI(creature, BOSS_EBONROC) { }
+ boss_ebonrocAI(Creature* creature) : BossAI(creature, DATA_EBONROC) { }
void EnterCombat(Unit* /*who*/) override
{
- if (instance->GetBossState(BOSS_BROODLORD) != DONE)
- {
- EnterEvadeMode();
- return;
- }
_EnterCombat();
events.ScheduleEvent(EVENT_SHADOWFLAME, urand(10000, 20000));
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
index e41153796e5..3dcdbfe01df 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
@@ -41,15 +41,10 @@ public:
struct boss_firemawAI : public BossAI
{
- boss_firemawAI(Creature* creature) : BossAI(creature, BOSS_FIREMAW) { }
+ boss_firemawAI(Creature* creature) : BossAI(creature, DATA_FIREMAW) { }
void EnterCombat(Unit* /*who*/) override
{
- if (instance->GetBossState(BOSS_BROODLORD) != DONE)
- {
- EnterEvadeMode();
- return;
- }
_EnterCombat();
events.ScheduleEvent(EVENT_SHADOWFLAME, urand(10000, 20000));
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
index 011c695b61f..20e69211da2 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
@@ -46,15 +46,10 @@ public:
struct boss_flamegorAI : public BossAI
{
- boss_flamegorAI(Creature* creature) : BossAI(creature, BOSS_FLAMEGOR) { }
+ boss_flamegorAI(Creature* creature) : BossAI(creature, DATA_FLAMEGOR) { }
void EnterCombat(Unit* /*who*/) override
{
- if (instance->GetBossState(BOSS_BROODLORD) != DONE)
- {
- EnterEvadeMode();
- return;
- }
_EnterCombat();
events.ScheduleEvent(EVENT_SHADOWFLAME, urand(10000, 20000));
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
index 94d8c2f9c2e..cbb1447c261 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
@@ -166,7 +166,7 @@ public:
struct boss_victor_nefariusAI : public BossAI
{
- boss_victor_nefariusAI(Creature* creature) : BossAI(creature, BOSS_NEFARIAN)
+ boss_victor_nefariusAI(Creature* creature) : BossAI(creature, DATA_NEFARIAN)
{
Initialize();
}
@@ -393,7 +393,7 @@ public:
struct boss_nefarianAI : public BossAI
{
- boss_nefarianAI(Creature* creature) : BossAI(creature, BOSS_NEFARIAN)
+ boss_nefarianAI(Creature* creature) : BossAI(creature, DATA_NEFARIAN)
{
Initialize();
}
@@ -457,7 +457,7 @@ public:
{
if (canDespawn && DespawnTimer <= diff)
{
- instance->SetBossState(BOSS_NEFARIAN, FAIL);
+ instance->SetBossState(DATA_NEFARIAN, FAIL);
std::list<Creature*> constructList;
me->GetCreatureListWithEntryInGrid(constructList, NPC_BONE_CONSTRUCT, 500.0f);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
index 8d660fc17d1..1d66964ce6b 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
@@ -68,7 +68,7 @@ public:
struct boss_razorgoreAI : public BossAI
{
- boss_razorgoreAI(Creature* creature) : BossAI(creature, BOSS_RAZORGORE)
+ boss_razorgoreAI(Creature* creature) : BossAI(creature, DATA_RAZORGORE_THE_UNTAMED)
{
Initialize();
}
@@ -175,7 +175,7 @@ public:
{
if (InstanceScript* instance = go->GetInstanceScript())
if (instance->GetData(DATA_EGG_EVENT) != DONE)
- if (Creature* razor = ObjectAccessor::GetCreature(*go, instance->GetGuidData(DATA_RAZORGORE_THE_UNTAMED)))
+ if (Creature* razor = instance->GetCreature(DATA_RAZORGORE_THE_UNTAMED))
{
razor->Attack(player, true);
player->CastSpell(razor, SPELL_MINDCONTROL);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
index 827cc34d1a9..cb1306c3ea8 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
@@ -68,7 +68,7 @@ public:
struct boss_vaelAI : public BossAI
{
- boss_vaelAI(Creature* creature) : BossAI(creature, BOSS_VAELASTRAZ)
+ boss_vaelAI(Creature* creature) : BossAI(creature, DATA_VAELASTRAZ_THE_CORRUPT)
{
Initialize();
creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
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 b8843afef98..9ba255991c0 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
@@ -15,23 +15,36 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "ScriptMgr.h"
+#include "Player.h"
#include "ScriptedCreature.h"
-#include "PassiveAI.h"
+#include "ScriptMgr.h"
#include "blackwing_lair.h"
-#include "Player.h"
-/*
-Blackwing Lair Encounter:
-1 - boss_razorgore.cpp
-2 - boss_vaelastrasz.cpp
-3 - boss_broodlord_lashlayer.cpp
-4 - boss_firemaw.cpp
-5 - boss_ebonroc.cpp
-6 - boss_flamegor.cpp
-7 - boss_chromaggus.cpp
-8 - boss_nefarian.cpp
-*/
+DoorData const doorData[] =
+{
+ { GO_BOSSGATE01, DATA_RAZORGORE_THE_UNTAMED, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
+ { GO_DRAKE_RIDER_PORTCULLIS, DATA_VAELASTRAZ_THE_CORRUPT, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
+ { GO_ALTERAC_VALLEY_GATE, DATA_BROODLORD_LASHLAYER, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
+ { GO_GATE, DATA_FIREMAW, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
+ { GO_GATE, DATA_EBONROC, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
+ { GO_GATE, DATA_FLAMEGOR, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
+ { GO_VACCUUM_EXIT_GATE, DATA_CHROMAGGUS, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
+ { 0, 0, DOOR_TYPE_ROOM, BOUNDARY_NONE } // END
+};
+
+ObjectData const creatureData[] =
+{
+ { NPC_RAZORGORE, DATA_RAZORGORE_THE_UNTAMED },
+ { NPC_VAELASTRAZ, DATA_VAELASTRAZ_THE_CORRUPT },
+ { NPC_BROODLORD, DATA_BROODLORD_LASHLAYER },
+ { NPC_FIREMAW, DATA_FIREMAW },
+ { NPC_EBONROC, DATA_EBONROC },
+ { NPC_FLAMEGOR, DATA_FLAMEGOR },
+ { NPC_CHROMAGGUS, DATA_CHROMAGGUS },
+ { NPC_NEFARIAN, DATA_NEFARIAN },
+ { NPC_VICTOR_NEFARIUS, DATA_LORD_VICTOR_NEFARIUS },
+ { 0, 0 } // END
+};
Position const SummonPosition[8] =
{
@@ -57,92 +70,84 @@ public:
instance_blackwing_lair_InstanceMapScript(Map* map) : InstanceScript(map)
{
SetHeaders(DataHeader);
+ SetBossNumber(EncounterCount);
+ LoadDoorData(doorData);
+ LoadObjectData(creatureData, nullptr);
+
// Razorgore
EggCount = 0;
EggEvent = 0;
- SetBossNumber(EncounterCount);
}
void OnCreatureCreate(Creature* creature) override
{
+ InstanceScript::OnCreatureCreate(creature);
+
switch (creature->GetEntry())
{
- case NPC_RAZORGORE:
- RazorgoreTheUntamedGUID = creature->GetGUID();
- break;
case NPC_BLACKWING_DRAGON:
case NPC_BLACKWING_TASKMASTER:
case NPC_BLACKWING_LEGIONAIRE:
case NPC_BLACKWING_WARLOCK:
- if (Creature* razor = instance->GetCreature(RazorgoreTheUntamedGUID))
+ if (Creature* razor = GetCreature(DATA_RAZORGORE_THE_UNTAMED))
razor->AI()->JustSummoned(creature);
break;
- case NPC_VAELASTRAZ:
- VaelastraszTheCorruptGUID = creature->GetGUID();
- break;
- case NPC_BROODLORD:
- BroodlordLashlayerGUID = creature->GetGUID();
- break;
- case NPC_FIRENAW:
- FiremawGUID = creature->GetGUID();
- break;
- case NPC_EBONROC:
- EbonrocGUID = creature->GetGUID();
- break;
- case NPC_FLAMEGOR:
- FlamegorGUID = creature->GetGUID();
- break;
- case NPC_CHROMAGGUS:
- ChromaggusGUID = creature->GetGUID();
- break;
- case NPC_VICTOR_NEFARIUS:
- LordVictorNefariusGUID = creature->GetGUID();
- break;
- case NPC_NEFARIAN:
- NefarianGUID = creature->GetGUID();
+ default:
break;
}
}
void OnGameObjectCreate(GameObject* go) override
{
- switch (go->GetEntry())
+ InstanceScript::OnGameObjectCreate(go);
+
+ if (go->GetEntry() == GO_BLACK_DRAGON_EGG)
{
- case 177807: // Egg
- if (GetBossState(BOSS_FIREMAW) == DONE)
- go->SetLootState(GO_JUST_DEACTIVATED);
- else
- EggList.push_back(go->GetGUID());
- break;
- case 175946: // Door
- RazorgoreDoorGUID = go->GetGUID();
- HandleGameObject(ObjectGuid::Empty, GetBossState(BOSS_RAZORGORE) == DONE, go);
- break;
- case 175185: // Door
- VaelastraszDoorGUID = go->GetGUID();
- HandleGameObject(ObjectGuid::Empty, GetBossState(BOSS_VAELASTRAZ) == DONE, go);
- break;
- case 180424: // Door
- BroodlordDoorGUID = go->GetGUID();
- HandleGameObject(ObjectGuid::Empty, GetBossState(BOSS_BROODLORD) == DONE, go);
- break;
- case 185483: // Door
- ChrommagusDoorGUID = go->GetGUID();
- HandleGameObject(ObjectGuid::Empty, GetBossState(BOSS_FIREMAW) == DONE && GetBossState(BOSS_EBONROC) == DONE && GetBossState(BOSS_FLAMEGOR) == DONE, go);
- break;
- case 181125: // Door
- NefarianDoorGUID = go->GetGUID();
- HandleGameObject(ObjectGuid::Empty, GetBossState(BOSS_CHROMAGGUS) == DONE, go);
- break;
+ if (GetBossState(DATA_FIREMAW) == DONE)
+ go->SetPhaseMask(2, true);
+ else
+ EggList.push_back(go->GetGUID());
}
}
void OnGameObjectRemove(GameObject* go) override
{
- if (go->GetEntry() == 177807) // Egg
+ InstanceScript::OnGameObjectRemove(go);
+
+ if (go->GetEntry() == GO_BLACK_DRAGON_EGG)
EggList.remove(go->GetGUID());
}
+ bool CheckRequiredBosses(uint32 bossId, Player const* player /*= nullptr*/) const override
+ {
+ if (_SkipCheckRequiredBosses(player))
+ return true;
+
+ switch (bossId)
+ {
+ case DATA_BROODLORD_LASHLAYER:
+ if (GetBossState(DATA_VAELASTRAZ_THE_CORRUPT) != DONE)
+ return false;
+ break;
+ case DATA_FIREMAW:
+ case DATA_EBONROC:
+ case DATA_FLAMEGOR:
+ if (GetBossState(DATA_BROODLORD_LASHLAYER) != DONE)
+ return false;
+ break;
+ case DATA_CHROMAGGUS:
+ if (GetBossState(DATA_FIREMAW) != DONE
+ || GetBossState(DATA_EBONROC) != DONE
+ || GetBossState(DATA_FLAMEGOR) != DONE)
+ return false;
+ break;
+ default:
+ break;
+ }
+
+ return true;
+ }
+
bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
@@ -150,40 +155,25 @@ public:
switch (type)
{
- case BOSS_RAZORGORE:
- HandleGameObject(RazorgoreDoorGUID, state == DONE);
+ case DATA_RAZORGORE_THE_UNTAMED:
if (state == DONE)
{
for (GuidList::const_iterator itr = EggList.begin(); itr != EggList.end(); ++itr)
- if (GameObject* egg = instance->GetGameObject((*itr)))
+ if (GameObject* egg = instance->GetGameObject(*itr))
egg->SetLootState(GO_JUST_DEACTIVATED);
}
SetData(DATA_EGG_EVENT, NOT_STARTED);
break;
- case BOSS_VAELASTRAZ:
- HandleGameObject(VaelastraszDoorGUID, state == DONE);
- break;
- case BOSS_BROODLORD:
- HandleGameObject(BroodlordDoorGUID, state == DONE);
- break;
- case BOSS_FIREMAW:
- case BOSS_EBONROC:
- case BOSS_FLAMEGOR:
- HandleGameObject(ChrommagusDoorGUID, GetBossState(BOSS_FIREMAW) == DONE && GetBossState(BOSS_EBONROC) == DONE && GetBossState(BOSS_FLAMEGOR) == DONE);
- break;
- case BOSS_CHROMAGGUS:
- HandleGameObject(NefarianDoorGUID, state == DONE);
- break;
- case BOSS_NEFARIAN:
+ case DATA_NEFARIAN:
switch (state)
{
case NOT_STARTED:
- if (Creature* nefarian = instance->GetCreature(NefarianGUID))
+ if (Creature* nefarian = GetCreature(DATA_NEFARIAN))
nefarian->DespawnOrUnsummon();
break;
case FAIL:
- _events.ScheduleEvent(EVENT_RESPAWN_NEFARIUS, 15*IN_MILLISECONDS*MINUTE);
- SetBossState(BOSS_NEFARIAN, NOT_STARTED);
+ _events.ScheduleEvent(EVENT_RESPAWN_NEFARIUS, 15 * IN_MILLISECONDS * MINUTE);
+ SetBossState(DATA_NEFARIAN, NOT_STARTED);
break;
default:
break;
@@ -193,24 +183,6 @@ public:
return true;
}
- ObjectGuid GetGuidData(uint32 id) const override
- {
- switch (id)
- {
- case DATA_RAZORGORE_THE_UNTAMED: return RazorgoreTheUntamedGUID;
- case DATA_VAELASTRAZ_THE_CORRUPT: return VaelastraszTheCorruptGUID;
- case DATA_BROODLORD_LASHLAYER: return BroodlordLashlayerGUID;
- case DATA_FIRENAW: return FiremawGUID;
- case DATA_EBONROC: return EbonrocGUID;
- case DATA_FLAMEGOR: return FlamegorGUID;
- case DATA_CHROMAGGUS: return ChromaggusGUID;
- case DATA_LORD_VICTOR_NEFARIUS: return LordVictorNefariusGUID;
- case DATA_NEFARIAN: return NefarianGUID;
- }
-
- return ObjectGuid::Empty;
- }
-
void SetData(uint32 type, uint32 data) override
{
if (type == DATA_EGG_EVENT)
@@ -218,7 +190,7 @@ public:
switch (data)
{
case IN_PROGRESS:
- _events.ScheduleEvent(EVENT_RAZOR_SPAWN, 45*IN_MILLISECONDS);
+ _events.ScheduleEvent(EVENT_RAZOR_SPAWN, 45 * IN_MILLISECONDS);
EggEvent = data;
EggCount = 0;
break;
@@ -230,13 +202,13 @@ public:
case SPECIAL:
if (++EggCount == 15)
{
- if (Creature* razor = instance->GetCreature(RazorgoreTheUntamedGUID))
+ if (Creature* razor = GetCreature(DATA_RAZORGORE_THE_UNTAMED))
{
SetData(DATA_EGG_EVENT, DONE);
razor->RemoveAurasDueToSpell(42013); // MindControl
DoRemoveAurasDueToSpellOnPlayers(42013);
}
- _events.ScheduleEvent(EVENT_RAZOR_PHASE_TWO, IN_MILLISECONDS);
+ _events.ScheduleEvent(EVENT_RAZOR_PHASE_TWO, 1 * IN_MILLISECONDS);
_events.CancelEvent(EVENT_RAZOR_SPAWN);
}
if (EggEvent == NOT_STARTED)
@@ -249,8 +221,8 @@ public:
void OnUnitDeath(Unit* unit) override
{
//! HACK, needed because of buggy CreatureAI after charm
- if (unit->GetEntry() == NPC_RAZORGORE && GetBossState(BOSS_RAZORGORE) != DONE)
- SetBossState(BOSS_RAZORGORE, DONE);
+ if (unit->GetEntry() == NPC_RAZORGORE && GetBossState(DATA_RAZORGORE_THE_UNTAMED) != DONE)
+ SetBossState(DATA_RAZORGORE_THE_UNTAMED, DONE);
}
void Update(uint32 diff) override
@@ -268,15 +240,15 @@ public:
for (uint8 i = urand(2, 5); i > 0 ; --i)
if (Creature* summon = instance->SummonCreature(Entry[urand(0, 4)], SummonPosition[urand(0, 7)]))
summon->SetInCombatWithZone();
- _events.ScheduleEvent(EVENT_RAZOR_SPAWN, urand(12, 17)*IN_MILLISECONDS);
+ _events.ScheduleEvent(EVENT_RAZOR_SPAWN, urand(12, 17) * IN_MILLISECONDS);
break;
case EVENT_RAZOR_PHASE_TWO:
_events.CancelEvent(EVENT_RAZOR_SPAWN);
- if (Creature* razor = instance->GetCreature(RazorgoreTheUntamedGUID))
+ if (Creature* razor = GetCreature(DATA_RAZORGORE_THE_UNTAMED))
razor->AI()->DoAction(ACTION_PHASE_TWO);
break;
case EVENT_RESPAWN_NEFARIUS:
- if (Creature* nefarius = instance->GetCreature(LordVictorNefariusGUID))
+ if (Creature* nefarius = GetCreature(DATA_LORD_VICTOR_NEFARIUS))
{
nefarius->SetPhaseMask(1, true);
nefarius->setActive(true);
@@ -291,34 +263,11 @@ public:
protected:
// Misc
EventMap _events;
+
// Razorgore
uint8 EggCount;
uint32 EggEvent;
- ObjectGuid RazorgoreTheUntamedGUID;
- ObjectGuid RazorgoreDoorGUID;
GuidList EggList;
-
- // Vaelastrasz the Corrupt
- ObjectGuid VaelastraszTheCorruptGUID;
- ObjectGuid VaelastraszDoorGUID;
-
- // Broodlord Lashlayer
- ObjectGuid BroodlordLashlayerGUID;
- ObjectGuid BroodlordDoorGUID;
-
- // 3 Dragons
- ObjectGuid FiremawGUID;
- ObjectGuid EbonrocGUID;
- ObjectGuid FlamegorGUID;
- ObjectGuid ChrommagusDoorGUID;
-
- // Chormaggus
- ObjectGuid ChromaggusGUID;
- ObjectGuid NefarianDoorGUID;
-
- // Nefarian
- ObjectGuid LordVictorNefariusGUID;
- ObjectGuid NefarianGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/EasternKingdoms/CMakeLists.txt b/src/server/scripts/EasternKingdoms/CMakeLists.txt
index 754f0173c97..f3ba8f8d470 100644
--- a/src/server/scripts/EasternKingdoms/CMakeLists.txt
+++ b/src/server/scripts/EasternKingdoms/CMakeLists.txt
@@ -29,12 +29,9 @@ set(scripts_STAT_SRCS
EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp
EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.h
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
- EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
- EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
- EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
index 87dadd44dd7..c1470d3bc47 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
@@ -361,7 +361,7 @@ public:
}
}
- void UpdateEscortAI(const uint32 uiDiff) override
+ void UpdateEscortAI(uint32 uiDiff) override
{
if (uiPhase)
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index 238ca194a65..44d48e3f0bb 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -731,13 +731,19 @@ class npc_dark_rider_of_acherus : public CreatureScript
## npc_salanar_the_horseman
######*/
-enum Spells_Salanar
+enum SalanarTheHorseman
{
- SPELL_REALM_OF_SHADOWS = 52693,
+ GOSSIP_SALANAR_MENU = 9739,
+ GOSSIP_SALANAR_OPTION = 0,
+ SALANAR_SAY = 0,
+ QUEST_INTO_REALM_OF_SHADOWS = 12687,
+ NPC_DARK_RIDER_OF_ACHERUS = 28654,
+ NPC_SALANAR_IN_REALM_OF_SHADOWS = 28788,
SPELL_EFFECT_STOLEN_HORSE = 52263,
SPELL_DELIVER_STOLEN_HORSE = 52264,
SPELL_CALL_DARK_RIDER = 52266,
- SPELL_EFFECT_OVERTAKE = 52349
+ SPELL_EFFECT_OVERTAKE = 52349,
+ SPELL_REALM_OF_SHADOWS = 52693
};
class npc_salanar_the_horseman : public CreatureScript
@@ -745,15 +751,19 @@ class npc_salanar_the_horseman : public CreatureScript
public:
npc_salanar_the_horseman() : CreatureScript("npc_salanar_the_horseman") { }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_salanar_the_horsemanAI(creature);
- }
-
struct npc_salanar_the_horsemanAI : public ScriptedAI
{
npc_salanar_the_horsemanAI(Creature* creature) : ScriptedAI(creature) { }
+ void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) override
+ {
+ if (menuId == GOSSIP_SALANAR_MENU && gossipListId == GOSSIP_SALANAR_OPTION)
+ {
+ player->CastSpell(player, SPELL_REALM_OF_SHADOWS, true);
+ player->PlayerTalkClass->SendCloseGossip();
+ }
+ }
+
void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (spell->Id == SPELL_DELIVER_STOLEN_HORSE)
@@ -768,7 +778,7 @@ public:
caster->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
caster->setFaction(35);
DoCast(caster, SPELL_CALL_DARK_RIDER, true);
- if (Creature* Dark_Rider = me->FindNearestCreature(28654, 15))
+ if (Creature* Dark_Rider = me->FindNearestCreature(NPC_DARK_RIDER_OF_ACHERUS, 15))
ENSURE_AI(npc_dark_rider_of_acherus::npc_dark_rider_of_acherusAI, Dark_Rider->AI())->InitDespawnHorse(caster);
}
}
@@ -786,10 +796,11 @@ public:
{
if (Player* player = charmer->ToPlayer())
{
- // for quest Into the Realm of Shadows(12687)
- if (me->GetEntry() == 28788 && player->GetQuestStatus(12687) == QUEST_STATUS_INCOMPLETE)
+ // for quest Into the Realm of Shadows(QUEST_INTO_REALM_OF_SHADOWS)
+ if (me->GetEntry() == NPC_SALANAR_IN_REALM_OF_SHADOWS && player->GetQuestStatus(QUEST_INTO_REALM_OF_SHADOWS) == QUEST_STATUS_INCOMPLETE)
{
- player->GroupEventHappens(12687, me);
+ player->GroupEventHappens(QUEST_INTO_REALM_OF_SHADOWS, me);
+ Talk(SALANAR_SAY);
charmer->RemoveAurasDueToSpell(SPELL_EFFECT_OVERTAKE);
if (Creature* creature = who->ToCreature())
{
@@ -798,14 +809,17 @@ public:
}
}
- if (player->HasAura(SPELL_REALM_OF_SHADOWS))
- player->RemoveAurasDueToSpell(SPELL_REALM_OF_SHADOWS);
+ player->RemoveAurasDueToSpell(SPELL_REALM_OF_SHADOWS);
}
}
}
}
};
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_salanar_the_horsemanAI(creature);
+ }
};
/*######
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
index 15280bc7848..29002460b2a 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
@@ -41,14 +41,17 @@ enum Says
enum Spells
{
- SPELL_GROUND_TREMOR = 6524,
- SPELL_ARCHAEDAS_AWAKEN = 10347,
- SPELL_BOSS_OBJECT_VISUAL = 11206,
- SPELL_BOSS_AGGRO = 10340,
- SPELL_SUB_BOSS_AGGRO = 11568,
- SPELL_AWAKEN_VAULT_WALKER = 10258,
- SPELL_AWAKEN_EARTHEN_GUARDIAN = 10252,
- SPELL_SELF_DESTRUCT = 9874
+ SPELL_GROUND_TREMOR = 6524,
+ SPELL_ARCHAEDAS_AWAKEN = 10347,
+ SPELL_BOSS_OBJECT_VISUAL = 11206,
+ SPELL_BOSS_AGGRO = 10340,
+ SPELL_SUB_BOSS_AGGRO = 11568,
+ SPELL_AWAKEN_VAULT_WALKER = 10258,
+ SPELL_AWAKEN_EARTHEN_GUARDIAN = 10252,
+ SPELL_SELF_DESTRUCT = 9874,
+ SPELL_FREEZE_ANIM = 16245,
+ SPELL_MINION_FREEZE_ANIM = 10255
+
};
class boss_archaedas : public CreatureScript
@@ -96,6 +99,7 @@ class boss_archaedas : public CreatureScript
me->setFaction(35);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
+ me->AddAura(SPELL_FREEZE_ANIM, me);
}
void ActivateMinion(ObjectGuid uiGuid, bool flag)
@@ -109,6 +113,7 @@ class boss_archaedas : public CreatureScript
minion->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
minion->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
minion->setFaction(14);
+ minion->RemoveAura(SPELL_MINION_FREEZE_ANIM);
}
}
@@ -258,6 +263,7 @@ class npc_archaedas_minions : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
me->RemoveAllAuras();
+ me->AddAura(SPELL_MINION_FREEZE_ANIM, me);
}
void EnterCombat(Unit* /*who*/) override
@@ -297,7 +303,7 @@ class npc_archaedas_minions : public CreatureScript
{
bWakingUp = false;
bAmIAwake = true;
- // AttackStart(ObjectAccessor::GetUnit(*me, instance->GetGuidData(0))); // whoWokeArchaedasGUID
+ AttackStart(ObjectAccessor::GetUnit(*me, instance->GetGuidData(0))); // whoWokeArchaedasGUID
return; // dont want to continue until we finish the AttackStart method
}
@@ -346,6 +352,7 @@ class npc_stonekeepers : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
me->RemoveAllAuras();
+ me->AddAura(SPELL_MINION_FREEZE_ANIM, me);
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
index de899c04e1a..7f0faa138ec 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
@@ -28,10 +28,9 @@ EndScriptData */
enum Ironaya
{
- SAY_AGGRO = 0,
SPELL_ARCINGSMASH = 8374,
SPELL_KNOCKAWAY = 10101,
- SPELL_WSTOMP = 11876,
+ SPELL_WSTOMP = 11876
};
class boss_ironaya : public CreatureScript
@@ -66,10 +65,7 @@ class boss_ironaya : public CreatureScript
Initialize();
}
- void EnterCombat(Unit* /*who*/) override
- {
- Talk(SAY_AGGRO);
- }
+ void EnterCombat(Unit* /*who*/) override { }
void UpdateAI(uint32 uiDiff) override
{
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
index 9d33d41af62..b59c040d90b 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
@@ -18,7 +18,7 @@
/* ScriptData
SDName: instance_uldaman
-SD%Complete: 99
+SD%Complete: 80%
SDComment: Need some cosmetics updates when archeadas door are closing (Guardians Waypoints).
SDCategory: Uldaman
EndScriptData */
@@ -31,6 +31,8 @@ enum Spells
{
SPELL_ARCHAEDAS_AWAKEN = 10347,
SPELL_AWAKEN_VAULT_WALKER = 10258,
+ SPELL_FREEZE_ANIM = 16245,
+ SPELL_MINION_FREEZE_ANIM = 10255
};
enum Events
@@ -38,6 +40,13 @@ enum Events
EVENT_SUB_BOSS_AGGRO = 2228
};
+enum IronayaTalk
+{
+ SAY_AGGRO = 0
+};
+
+const Position IronayaPoint = { -231.228f, 246.6135f, -49.01617f, 0.0f };
+
class instance_uldaman : public InstanceMapScript
{
public:
@@ -136,9 +145,9 @@ class instance_uldaman : public InstanceMapScript
{
creature->setFaction(35);
creature->RemoveAllAuras();
- //creature->RemoveFlag (UNIT_FIELD_FLAGS, UNIT_FLAG_ANIMATION_FROZEN);
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
+ creature->AddAura(SPELL_MINION_FREEZE_ANIM, creature);
}
void SetDoor(ObjectGuid guid, bool open)
@@ -171,6 +180,8 @@ class instance_uldaman : public InstanceMapScript
target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
target->setFaction(14);
target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ target->RemoveAura(SPELL_MINION_FREEZE_ANIM);
+
return; // only want the first one we find
}
// if we get this far than all four are dead so open the door
@@ -190,11 +201,13 @@ class instance_uldaman : public InstanceMapScript
Creature* target = instance->GetCreature(*i);
if (!target || !target->IsAlive() || target->getFaction() == 14)
continue;
- archaedas->CastSpell(target, SPELL_AWAKEN_VAULT_WALKER, true);
- target->CastSpell(target, SPELL_ARCHAEDAS_AWAKEN, true);
target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
target->setFaction(14);
+ target->RemoveAura(SPELL_MINION_FREEZE_ANIM);
+ archaedas->CastSpell(target, SPELL_AWAKEN_VAULT_WALKER, true);
+ target->CastSpell(target, SPELL_ARCHAEDAS_AWAKEN, true);
+
return; // only want the first one we find
}
}
@@ -241,6 +254,7 @@ class instance_uldaman : public InstanceMapScript
if (ObjectAccessor::GetUnit(*archaedas, target))
{
+ archaedas->RemoveAura(SPELL_FREEZE_ANIM);
archaedas->CastSpell(archaedas, SPELL_ARCHAEDAS_AWAKEN, false);
whoWokeuiArchaedasGUID = target;
}
@@ -255,6 +269,12 @@ class instance_uldaman : public InstanceMapScript
ironaya->setFaction(415);
ironaya->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
ironaya->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+
+ ironaya->GetMotionMaster()->Clear();
+ ironaya->GetMotionMaster()->MovePoint(0, IronayaPoint);
+ ironaya->SetHomePosition(IronayaPoint);
+
+ ironaya->AI()->Talk(SAY_AGGRO);
}
void RespawnMinions()
diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
index 1c9d5cf2c62..978fc6d96fc 100644
--- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp
+++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
@@ -607,7 +607,7 @@ public:
summoned->AI()->AttackStart(me);
}
- void UpdateEscortAI(const uint32 Diff) override
+ void UpdateEscortAI(uint32 Diff) override
{
if (!UpdateVictim())
{
diff --git a/src/server/scripts/Kalimdor/zone_winterspring.cpp b/src/server/scripts/Kalimdor/zone_winterspring.cpp
index b287e5e9a91..067f36afad6 100644
--- a/src/server/scripts/Kalimdor/zone_winterspring.cpp
+++ b/src/server/scripts/Kalimdor/zone_winterspring.cpp
@@ -568,7 +568,7 @@ public:
}
- void UpdateEscortAI(const uint32 diff) override
+ void UpdateEscortAI(uint32 diff) override
{
DialogueUpdate(diff);
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
index eb6230fabfc..eb004505bab 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
@@ -263,7 +263,7 @@ class npc_onyx_flamecaller : public CreatureScript
}
}
- void UpdateEscortAI(uint32 const diff) override
+ void UpdateEscortAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
index 5111247b84c..4438c4ab199 100644
--- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
+++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
@@ -18,7 +18,6 @@
#include "InstanceScript.h"
#include "Player.h"
#include "ScriptMgr.h"
-#include "WorldSession.h"
#include "gundrak.h"
#include "EventMap.h"
@@ -191,7 +190,7 @@ class instance_gundrak : public InstanceMapScript
bool CheckRequiredBosses(uint32 bossId, Player const* player = nullptr) const override
{
- if (player && player->GetSession()->HasPermission(rbac::RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES))
+ if (_SkipCheckRequiredBosses(player))
return true;
switch (bossId)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
index c832efabbe7..6a7c6a1fd5c 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
@@ -203,7 +203,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
{
instance->SetData(DATA_BLOOD_QUICKENING_STATE, DONE);
if (Player* player = killer->ToPlayer())
- player->RewardPlayerAndGroupAtEvent(NPC_INFILTRATOR_MINCHAR_BQ, player);
+ player->RewardPlayerAndGroupAtEvent(Is25ManRaid() ? NPC_INFILTRATOR_MINCHAR_BQ_25 : NPC_INFILTRATOR_MINCHAR_BQ, player);
if (Creature* minchar = me->FindNearestCreature(NPC_INFILTRATOR_MINCHAR_BQ, 200.0f))
{
minchar->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 943be27943d..365e0a1588d 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -203,6 +203,9 @@ enum Misc
{
DATA_MADE_A_MESS = 45374613, // 4537, 4613 are achievement IDs
FACTION_SCOURGE = 974,
+
+ GOSSIP_MENU_MURADIN_BRONZEBEARD = 10934,
+ GOSSIP_MENU_HIGH_OVERLORD_SAURFANG = 10952
};
enum MovePoints
@@ -634,6 +637,15 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
_events.Reset();
}
+ void sGossipSelect(Player* player, uint32 menuId, uint32 /*gossipListId*/) override
+ {
+ if (menuId == GOSSIP_MENU_HIGH_OVERLORD_SAURFANG)
+ {
+ player->PlayerTalkClass->SendCloseGossip();
+ DoAction(ACTION_START_EVENT);
+ }
+ }
+
void DoAction(int32 action) override
{
switch (action)
@@ -798,28 +810,6 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
std::list<Creature*> _guardList;
};
- bool OnGossipHello(Player* player, Creature* creature) override
- {
- InstanceScript* instance = creature->GetInstanceScript();
- if (instance && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE)
- {
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "We are ready to go, High Overlord. The Lich King must fall!", 631, -ACTION_START_EVENT);
- player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
- }
-
- return true;
- }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
- {
- player->PlayerTalkClass->ClearMenus();
- player->CLOSE_GOSSIP_MENU();
- if (action == -ACTION_START_EVENT)
- creature->AI()->DoAction(ACTION_START_EVENT);
-
- return true;
- }
-
CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_high_overlord_saurfangAI>(creature);
@@ -843,6 +833,15 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
_events.Reset();
}
+ void sGossipSelect(Player* player, uint32 menuId, uint32 /*gossipListId*/) override
+ {
+ if (menuId == GOSSIP_MENU_MURADIN_BRONZEBEARD)
+ {
+ player->PlayerTalkClass->SendCloseGossip();
+ DoAction(ACTION_START_EVENT);
+ }
+ }
+
void DoAction(int32 action) override
{
switch (action)
@@ -946,28 +945,6 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
std::list<Creature*> _guardList;
};
- bool OnGossipHello(Player* player, Creature* creature) override
- {
- InstanceScript* instance = creature->GetInstanceScript();
- if (instance && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE)
- {
- player->ADD_GOSSIP_ITEM(0, "Let it begin...", 631, -ACTION_START_EVENT + 1);
- player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
- }
-
- return true;
- }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
- {
- player->PlayerTalkClass->ClearMenus();
- player->CLOSE_GOSSIP_MENU();
- if (action == -ACTION_START_EVENT + 1)
- creature->AI()->DoAction(ACTION_START_EVENT);
-
- return true;
- }
-
CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_muradin_bronzebeard_iccAI>(creature);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
index c04d53079c5..4a8f56d0d55 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -1336,7 +1336,7 @@ class spell_dreamwalker_summon_dream_portal : public SpellScriptLoader
if (!GetHitUnit())
return;
- uint32 spellId = RAND<uint32>(71301, 72220, 72223, 72225);
+ uint32 spellId = RAND(71301, 72220, 72223, 72225);
GetHitUnit()->CastSpell(GetHitUnit(), spellId, true);
}
@@ -1367,7 +1367,7 @@ class spell_dreamwalker_summon_nightmare_portal : public SpellScriptLoader
if (!GetHitUnit())
return;
- uint32 spellId = RAND<uint32>(71977, 72481, 72482, 72483);
+ uint32 spellId = RAND(71977, 72481, 72482, 72483);
GetHitUnit()->CastSpell(GetHitUnit(), spellId, true);
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index 30b797bf98d..8676b6c0506 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -1140,7 +1140,7 @@ class npc_crok_scourgebane : public CreatureScript
}
}
- void UpdateEscortAI(uint32 const diff) override
+ void UpdateEscortAI(uint32 diff) override
{
if (_wipeCheckTimer <= diff)
_wipeCheckTimer = 0;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
index 091190b6b4e..e739f5a5036 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
@@ -155,6 +155,7 @@ enum CreaturesIds
NPC_ALCHEMIST_ADRIANNA = 38501,
NPC_ALRIN_THE_AGILE = 38551,
NPC_INFILTRATOR_MINCHAR_BQ = 38558,
+ NPC_INFILTRATOR_MINCHAR_BQ_25 = 39123,
NPC_MINCHAR_BEAM_STALKER = 38557,
NPC_VALITHRIA_DREAMWALKER_QUEST = 38589,
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
index d38d630f775..555ed40e805 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
@@ -17,7 +17,6 @@
#include "AccountMgr.h"
#include "InstanceScript.h"
-#include "Map.h"
#include "ObjectMgr.h"
#include "Player.h"
#include "PoolMgr.h"
@@ -26,7 +25,6 @@
#include "Transport.h"
#include "TransportMgr.h"
#include "WorldPacket.h"
-#include "WorldSession.h"
#include "icecrown_citadel.h"
enum EventIds
@@ -1118,7 +1116,7 @@ class instance_icecrown_citadel : public InstanceMapScript
bool CheckRequiredBosses(uint32 bossId, Player const* player = nullptr) const override
{
- if (player && player->GetSession()->HasPermission(rbac::RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES))
+ if (_SkipCheckRequiredBosses(player))
return true;
switch (bossId)
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
index 28d181a990e..998d519c7fe 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
@@ -17,39 +17,61 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "Player.h"
#include "naxxramas.h"
-enum Says
+enum AnubSays
{
SAY_AGGRO = 0,
SAY_GREET = 1,
- SAY_SLAY = 2
+ SAY_SLAY = 2,
+
+ EMOTE_LOCUST = 3
};
-Position const GuardSummonPos = {3333.72f, -3476.30f, 287.1f, 6.2801f};
+enum GuardSays
+{
+ EMOTE_FRENZY = 0,
+ EMOTE_SPAWN = 1,
+ EMOTE_SCARAB = 2
+};
enum Events
{
- EVENT_IMPALE = 1,
- EVENT_LOCUST,
- EVENT_SPAWN_GUARDIAN_NORMAL,
- EVENT_BERSERK
+ EVENT_IMPALE = 1, // Cast Impale on a random target
+ EVENT_LOCUST, // Begin channeling Locust Swarm
+ EVENT_LOCUST_ENDS, // Locust swarm dissipates
+ EVENT_SPAWN_GUARD, // 10-man only - crypt guard has delayed spawn; also used for the locust swarm crypt guard in both modes
+ EVENT_SCARABS, // spawn corpse scarabs
+ EVENT_BERSERK // Berserk
};
enum Spells
{
- SPELL_IMPALE = 28783,
- SPELL_LOCUST_SWARM = 28785,
+ SPELL_IMPALE = 28783, // 25-man: 56090
+ SPELL_LOCUST_SWARM = 28785, // 25-man: 54021
SPELL_SUMMON_CORPSE_SCARABS_PLR = 29105, // This spawns 5 corpse scarabs on top of player
SPELL_SUMMON_CORPSE_SCARABS_MOB = 28864, // This spawns 10 corpse scarabs on top of dead guards
SPELL_BERSERK = 27680
};
+enum SpawnGroups
+{
+ GROUP_INITIAL_25M = 1,
+ GROUP_SINGLE_SPAWN = 2
+};
+
enum Misc
{
ACHIEV_TIMED_START_EVENT = 9891
};
+enum Phases
+{
+ PHASE_NORMAL = 1,
+ PHASE_SWARM
+};
+
class boss_anubrekhan : public CreatureScript
{
public:
@@ -62,46 +84,64 @@ public:
struct boss_anubrekhanAI : public BossAI
{
- boss_anubrekhanAI(Creature* creature) : BossAI(creature, BOSS_ANUBREKHAN)
+ boss_anubrekhanAI(Creature* creature) : BossAI(creature, BOSS_ANUBREKHAN) { }
+
+ void SummonGuards()
{
- Initialize();
+ if (Is25ManRaid())
+ me->SummonCreatureGroup(GROUP_INITIAL_25M);
}
- void Initialize()
+ void InitializeAI() override
{
- hasTaunted = false;
+ if (!me->isDead())
+ {
+ Reset();
+ SummonGuards();
+ }
}
- bool hasTaunted;
-
void Reset() override
{
_Reset();
+ guardCorpses.clear();
+ }
- Initialize();
+ void JustReachedHome() override
+ {
+ _JustReachedHome();
+ SummonGuards();
+ }
- if (GetDifficulty() == DIFFICULTY_25_N)
- {
- Position pos;
+ void JustSummoned(Creature* summon) override
+ {
+ BossAI::JustSummoned(summon);
+
+ if (me->IsInCombat())
+ if (summon->GetEntry() == NPC_CRYPT_GUARD)
+ summon->AI()->Talk(EMOTE_SPAWN, me);
+ }
- // respawn guard using home position,
- // otherwise, after a wipe, they respawn where boss was at wipe moment.
- pos = me->GetHomePosition();
- pos.m_positionY -= 10.0f;
- me->SummonCreature(NPC_CRYPT_GUARD, pos, TEMPSUMMON_CORPSE_DESPAWN);
+ void SummonedCreatureDies(Creature* summon, Unit* killer) override
+ {
+ BossAI::SummonedCreatureDies(summon, killer);
- pos = me->GetHomePosition();
- pos.m_positionY += 10.0f;
- me->SummonCreature(NPC_CRYPT_GUARD, pos, TEMPSUMMON_CORPSE_DESPAWN);
- }
+ if (summon->GetEntry() == NPC_CRYPT_GUARD)
+ guardCorpses.insert(summon->GetGUID());
+ }
+
+ void SummonedCreatureDespawn(Creature* summon) override
+ {
+ BossAI::SummonedCreatureDespawn(summon);
+
+ if (summon->GetEntry() == NPC_CRYPT_GUARD)
+ guardCorpses.erase(summon->GetGUID());
}
void KilledUnit(Unit* victim) override
{
- /// Force the player to spawn corpse scarabs via spell, @todo Check percent chance for scarabs, 20% at the moment
- if (!(rand32() % 5))
- if (victim->GetTypeId() == TYPEID_PLAYER)
- victim->CastSpell(victim, SPELL_SUMMON_CORPSE_SCARABS_PLR, true, NULL, NULL, me->GetGUID());
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ victim->CastSpell(victim, SPELL_SUMMON_CORPSE_SCARABS_PLR, true, nullptr, nullptr, me->GetGUID());
Talk(SAY_SLAY);
}
@@ -113,37 +153,22 @@ public:
// start achievement timer (kill Maexna within 20 min)
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
+
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
- events.ScheduleEvent(EVENT_IMPALE, urand(10000, 20000));
- events.ScheduleEvent(EVENT_LOCUST, 90000);
- events.ScheduleEvent(EVENT_BERSERK, 600000);
-
- if (GetDifficulty() == DIFFICULTY_10_N)
- events.ScheduleEvent(EVENT_SPAWN_GUARDIAN_NORMAL, urand(15000, 20000));
- }
- void MoveInLineOfSight(Unit* who) override
- {
- if (!hasTaunted && me->IsWithinDistInMap(who, 60.0f) && who->GetTypeId() == TYPEID_PLAYER)
- {
- Talk(SAY_GREET);
- hasTaunted = true;
- }
- ScriptedAI::MoveInLineOfSight(who);
- }
-
- void SummonedCreatureDespawn(Creature* summon) override
- {
- BossAI::SummonedCreatureDespawn(summon);
-
- // check if it is an actual killed guard
- if (!me->IsAlive() || summon->IsAlive() || summon->GetEntry() != NPC_CRYPT_GUARD)
- return;
+ summons.DoZoneInCombat();
+
+ events.SetPhase(PHASE_NORMAL);
+ events.ScheduleEvent(EVENT_IMPALE, urand(10 * IN_MILLISECONDS, 20 * IN_MILLISECONDS), 0, PHASE_NORMAL);
+ events.ScheduleEvent(EVENT_SCARABS, urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS), 0, PHASE_NORMAL);
+ events.ScheduleEvent(EVENT_LOCUST, urand(80,120) * IN_MILLISECONDS, 0, PHASE_NORMAL);
+ events.ScheduleEvent(EVENT_BERSERK, 10 * MINUTE * IN_MILLISECONDS);
- summon->CastSpell(summon, SPELL_SUMMON_CORPSE_SCARABS_MOB, true, NULL, NULL, me->GetGUID());
+ if (!Is25ManRaid())
+ events.ScheduleEvent(EVENT_SPAWN_GUARD, urand(15, 20) * IN_MILLISECONDS);
}
void UpdateAI(uint32 diff) override
@@ -158,22 +183,43 @@ public:
switch (eventId)
{
case EVENT_IMPALE:
- //Cast Impale on a random target
- //Do NOT cast it when we are afflicted by locust swarm
- if (!me->HasAura(SPELL_LOCUST_SWARM))
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_IMPALE);
- events.ScheduleEvent(EVENT_IMPALE, urand(10000, 20000));
+ if (events.GetTimeUntilEvent(EVENT_LOCUST) < 5 * IN_MILLISECONDS) break; // don't chain impale tank -> locust swarm
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
+ DoCast(target, SPELL_IMPALE);
+ else
+ EnterEvadeMode();
+
+ events.ScheduleEvent(EVENT_IMPALE, urand(10 * IN_MILLISECONDS, 20 * IN_MILLISECONDS), 0, PHASE_NORMAL);
+ break;
+ case EVENT_SCARABS:
+ events.ScheduleEvent(EVENT_SCARABS, urand(40 * IN_MILLISECONDS, 60 * IN_MILLISECONDS), 0, PHASE_NORMAL);
+
+ if (!guardCorpses.empty())
+ {
+ if (Creature* creatureTarget = ObjectAccessor::GetCreature(*me, Trinity::Containers::SelectRandomContainerElement(guardCorpses)))
+ {
+ creatureTarget->CastSpell(creatureTarget, SPELL_SUMMON_CORPSE_SCARABS_MOB, true, nullptr, nullptr, me->GetGUID());
+ creatureTarget->AI()->Talk(EMOTE_SCARAB);
+ creatureTarget->DespawnOrUnsummon();
+ }
+ }
break;
case EVENT_LOCUST:
- /// @todo Add Text
+ Talk(EMOTE_LOCUST);
DoCast(me, SPELL_LOCUST_SWARM);
- DoSummon(NPC_CRYPT_GUARD, GuardSummonPos, 0, TEMPSUMMON_CORPSE_DESPAWN);
+ events.ScheduleEvent(EVENT_SPAWN_GUARD, 3 * IN_MILLISECONDS);
+
+ events.ScheduleEvent(EVENT_LOCUST_ENDS, RAID_MODE(19, 23) * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_LOCUST, 90000);
+ events.SetPhase(PHASE_SWARM);
+ break;
+ case EVENT_LOCUST_ENDS:
+ events.ScheduleEvent(EVENT_IMPALE, urand(10 * IN_MILLISECONDS, 20 * IN_MILLISECONDS), 0, PHASE_NORMAL);
+ events.ScheduleEvent(EVENT_SCARABS, urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS), 0, PHASE_NORMAL);
+ events.SetPhase(PHASE_NORMAL);
break;
- case EVENT_SPAWN_GUARDIAN_NORMAL:
- /// @todo Add Text
- DoSummon(NPC_CRYPT_GUARD, GuardSummonPos, 0, TEMPSUMMON_CORPSE_DESPAWN);
+ case EVENT_SPAWN_GUARD:
+ me->SummonCreatureGroup(GROUP_SINGLE_SPAWN);
break;
case EVENT_BERSERK:
DoCast(me, SPELL_BERSERK, true);
@@ -182,13 +228,37 @@ public:
}
}
- DoMeleeAttackIfReady();
+ if (events.IsInPhase(PHASE_NORMAL))
+ DoMeleeAttackIfReady();
}
+ private:
+ GuidSet guardCorpses;
};
};
+class at_anubrekhan_entrance : public AreaTriggerScript
+{
+ public:
+ at_anubrekhan_entrance() : AreaTriggerScript("at_anubrekhan_entrance") { }
+
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override
+ {
+ InstanceScript* instance = player->GetInstanceScript();
+ if (!instance || instance->GetData(DATA_HAD_ANUBREKHAN_GREET) || instance->GetBossState(BOSS_ANUBREKHAN) != NOT_STARTED)
+ return true;
+
+ if (Creature* anub = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_ANUBREKHAN)))
+ anub->AI()->Talk(SAY_GREET);
+ instance->SetData(DATA_HAD_ANUBREKHAN_GREET, 1u);
+
+ return true;
+ }
+};
+
void AddSC_boss_anubrekhan()
{
new boss_anubrekhan();
+
+ new at_anubrekhan_entrance();
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
index a90b72b6842..78720964518 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
@@ -18,14 +18,20 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "naxxramas.h"
+#include "Player.h"
+#include "SpellAuras.h"
#include "SpellInfo.h"
enum Yells
{
- SAY_GREET = 0,
- SAY_AGGRO = 1,
- SAY_SLAY = 2,
- SAY_DEATH = 3
+ SAY_GREET = 0,
+ SAY_AGGRO = 1,
+ SAY_SLAY = 2,
+ SAY_DEATH = 3,
+
+ EMOTE_WIDOW_EMBRACE = 4,
+ EMOTE_FRENZY = 5
+
};
enum Spells
@@ -33,7 +39,9 @@ enum Spells
SPELL_POISON_BOLT_VOLLEY = 28796,
SPELL_RAIN_OF_FIRE = 28794,
SPELL_FRENZY = 28798,
- SPELL_WIDOWS_EMBRACE = 28732
+ SPELL_WIDOWS_EMBRACE = 28732,
+
+ SPELL_ADD_FIREBALL = 54095 // 25-man: 54096
};
#define SPELL_WIDOWS_EMBRACE_HELPER RAID_MODE<uint32>(28732, 54097)
@@ -45,6 +53,12 @@ enum Events
EVENT_FRENZY = 3
};
+enum SummonGroups
+{
+ SUMMON_GROUP_WORSHIPPERS = 1,
+ SUMMON_GROUP_FOLLOWERS = 2
+};
+
enum Misc
{
DATA_FRENZY_DISPELS = 1
@@ -57,39 +71,46 @@ class boss_faerlina : public CreatureScript
struct boss_faerlinaAI : public BossAI
{
- boss_faerlinaAI(Creature* creature) : BossAI(creature, BOSS_FAERLINA),
- _frenzyDispels(0), _introDone(false), _delayFrenzy(false)
+ boss_faerlinaAI(Creature* creature) : BossAI(creature, BOSS_FAERLINA), _frenzyDispels(0) { }
+
+ void SummonAdds()
{
+ me->SummonCreatureGroup(SUMMON_GROUP_WORSHIPPERS);
+ if (Is25ManRaid())
+ me->SummonCreatureGroup(SUMMON_GROUP_FOLLOWERS);
}
+ void InitializeAI() override
+ {
+ if (!me->isDead())
+ {
+ Reset();
+ SummonAdds();
+ }
+ }
+
+ void JustReachedHome() override
+ {
+ _JustReachedHome();
+ SummonAdds();
+ }
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
- events.ScheduleEvent(EVENT_POISON, urand(10000, 15000));
- events.ScheduleEvent(EVENT_FIRE, urand(6000, 18000));
- events.ScheduleEvent(EVENT_FRENZY, urand(60000, 80000));
+ summons.DoZoneInCombat();
+ events.ScheduleEvent(EVENT_POISON, urand(10 * IN_MILLISECONDS, 15 * IN_MILLISECONDS));
+ events.ScheduleEvent(EVENT_FIRE, urand(6 * IN_MILLISECONDS, 18 * IN_MILLISECONDS));
+ events.ScheduleEvent(EVENT_FRENZY, urand(60 * IN_MILLISECONDS, 80 * IN_MILLISECONDS));
}
void Reset() override
{
_Reset();
- _delayFrenzy = false;
_frenzyDispels = 0;
}
- void MoveInLineOfSight(Unit* who) override
- {
- if (!_introDone && who->GetTypeId() == TYPEID_PLAYER)
- {
- Talk(SAY_GREET);
- _introDone = true;
- }
-
- BossAI::MoveInLineOfSight(who);
- }
-
void KilledUnit(Unit* /*victim*/) override
{
if (!urand(0, 2))
@@ -106,9 +127,8 @@ class boss_faerlina : public CreatureScript
{
if (spell->Id == SPELL_WIDOWS_EMBRACE_HELPER)
{
- /// @todo Add Text
++_frenzyDispels;
- _delayFrenzy = true;
+ Talk(EMOTE_WIDOW_EMBRACE, caster);
me->Kill(caster);
}
}
@@ -126,12 +146,6 @@ class boss_faerlina : public CreatureScript
if (!UpdateVictim())
return;
- if (_delayFrenzy && !me->HasAura(SPELL_WIDOWS_EMBRACE_HELPER))
- {
- _delayFrenzy = false;
- DoCast(me, SPELL_FRENZY, true);
- }
-
events.Update(diff);
if (me->HasUnitState(UNIT_STATE_CASTING))
@@ -152,13 +166,14 @@ class boss_faerlina : public CreatureScript
events.ScheduleEvent(EVENT_FIRE, urand(6000, 18000));
break;
case EVENT_FRENZY:
- /// @todo Add Text
- if (!me->HasAura(SPELL_WIDOWS_EMBRACE_HELPER))
- DoCast(me, SPELL_FRENZY);
+ if (Aura* widowsEmbrace = me->GetAura(SPELL_WIDOWS_EMBRACE_HELPER))
+ events.ScheduleEvent(EVENT_FRENZY, widowsEmbrace->GetDuration()+1 * IN_MILLISECONDS);
else
- _delayFrenzy = true;
-
- events.ScheduleEvent(EVENT_FRENZY, urand(60000, 80000));
+ {
+ DoCast(SPELL_FRENZY);
+ Talk(EMOTE_FRENZY);
+ events.ScheduleEvent(EVENT_FRENZY, urand(60 * IN_MILLISECONDS, 80 * IN_MILLISECONDS));
+ }
break;
}
}
@@ -168,8 +183,6 @@ class boss_faerlina : public CreatureScript
private:
uint32 _frenzyDispels;
- bool _introDone;
- bool _delayFrenzy;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -192,19 +205,36 @@ class npc_faerlina_add : public CreatureScript
void Reset() override
{
- if (GetDifficulty() == DIFFICULTY_10_N) {
+ if (!Is25ManRaid()) {
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_BIND, true);
me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_CHARM, true);
}
}
+ void EnterCombat(Unit* /*who*/) override
+ {
+ if (Creature* faerlina = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_FAERLINA)))
+ faerlina->AI()->DoZoneInCombat(nullptr, 250.0f);
+ }
+
void JustDied(Unit* /*killer*/) override
{
- if (_instance && GetDifficulty() == DIFFICULTY_10_N)
+ if (!Is25ManRaid())
if (Creature* faerlina = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_FAERLINA)))
DoCast(faerlina, SPELL_WIDOWS_EMBRACE);
}
+ void UpdateAI(uint32 /*diff*/) override
+ {
+ if (!UpdateVictim())
+ return;
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ DoCastVictim(SPELL_ADD_FIREBALL);
+ DoMeleeAttackIfReady(); // this will only happen if the fireball cast fails for some reason
+ }
+
private:
InstanceScript* const _instance;
};
@@ -226,9 +256,29 @@ class achievement_momma_said_knock_you_out : public AchievementCriteriaScript
}
};
+class at_faerlina_entrance : public AreaTriggerScript
+{
+ public:
+ at_faerlina_entrance() : AreaTriggerScript("at_faerlina_entrance") { }
+
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/, bool /*entered*/) override
+ {
+ InstanceScript* instance = player->GetInstanceScript();
+ if (!instance || instance->GetData(DATA_HAD_FAERLINA_GREET) || instance->GetBossState(BOSS_FAERLINA) != NOT_STARTED)
+ return true;
+
+ if (Creature* faerlina = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_FAERLINA)))
+ faerlina->AI()->Talk(SAY_GREET);
+ instance->SetData(DATA_HAD_FAERLINA_GREET, 1u);
+
+ return true;
+ }
+};
+
void AddSC_boss_faerlina()
{
new boss_faerlina();
new npc_faerlina_add();
+ new at_faerlina_entrance();
new achievement_momma_said_knock_you_out();
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
index db6a7a77588..494c173f5fc 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
@@ -246,7 +246,7 @@ class spell_loatheb_deathbloom : public SpellScriptLoader
void Register() override
{
- AfterEffectRemove += AuraEffectRemoveFn(spell_loatheb_deathbloom_AuraScript::AfterRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ AfterEffectRemove += AuraEffectRemoveFn(spell_loatheb_deathbloom_AuraScript::AfterRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
}
};
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
index 7fbf0c913e0..5f9ca92aaf4 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
@@ -172,7 +172,7 @@ public:
Talk(SAY_DEATH);
}
- void DamageTaken(Unit* /*who*/, uint32& damage) // prevent noth from somehow dying in the balcony phase
+ void DamageTaken(Unit* /*who*/, uint32& damage) override // prevent noth from somehow dying in the balcony phase
{
if (!events.IsInPhase(PHASE_BALCONY))
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
index f366d0ce201..f0348c408b1 100644
--- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
@@ -60,7 +60,6 @@ DoorData const doorData[] =
MinionData const minionData[] =
{
- { NPC_FOLLOWER_WORSHIPPER, BOSS_FAERLINA },
{ NPC_DK_UNDERSTUDY, BOSS_RAZUVIOUS },
{ NPC_SIR, BOSS_HORSEMEN },
{ NPC_THANE, BOSS_HORSEMEN },
@@ -126,6 +125,8 @@ class instance_naxxramas : public InstanceMapScript
minHorsemenDiedTime = 0;
maxHorsemenDiedTime = 0;
AbominationCount = 0;
+ hadAnubRekhanGreet = false;
+ hadFaerlinaGreet = false;
CurrentWingTaunt = SAY_KELTHUZAD_FIRST_WING_TAUNT;
playerDied = 0;
@@ -135,6 +136,9 @@ class instance_naxxramas : public InstanceMapScript
{
switch (creature->GetEntry())
{
+ case NPC_ANUBREKHAN:
+ AnubRekhanGUID = creature->GetGUID();
+ break;
case NPC_FAERLINA:
FaerlinaGUID = creature->GetGUID();
break;
@@ -319,6 +323,14 @@ class instance_naxxramas : public InstanceMapScript
case DATA_ABOMINATION_KILLED:
AbominationCount = value;
break;
+ case DATA_HAD_ANUBREKHAN_GREET:
+ hadAnubRekhanGreet = (value == 1u);
+ break;
+ case DATA_HAD_FAERLINA_GREET:
+ hadFaerlinaGreet = (value == 1u);
+ break;
+ default:
+ break;
}
}
@@ -328,6 +340,10 @@ class instance_naxxramas : public InstanceMapScript
{
case DATA_ABOMINATION_KILLED:
return AbominationCount;
+ case DATA_HAD_ANUBREKHAN_GREET:
+ return (uint32)hadAnubRekhanGreet;
+ case DATA_HAD_FAERLINA_GREET:
+ return (uint32)hadFaerlinaGreet;
default:
break;
}
@@ -339,6 +355,8 @@ class instance_naxxramas : public InstanceMapScript
{
switch (id)
{
+ case DATA_ANUBREKHAN:
+ return AnubRekhanGUID;
case DATA_FAERLINA:
return FaerlinaGUID;
case DATA_THANE:
@@ -599,6 +617,8 @@ class instance_naxxramas : public InstanceMapScript
protected:
/* The Arachnid Quarter */
+ // Anub'rekhan
+ ObjectGuid AnubRekhanGUID;
// Grand Widow Faerlina
ObjectGuid FaerlinaGUID;
@@ -635,6 +655,8 @@ class instance_naxxramas : public InstanceMapScript
ObjectGuid KelthuzadDoorGUID;
ObjectGuid LichKingGUID;
uint8 AbominationCount;
+ bool hadAnubRekhanGreet;
+ bool hadFaerlinaGreet;
uint8 CurrentWingTaunt;
/* The Immortal / The Undying */
diff --git a/src/server/scripts/Northrend/Naxxramas/naxxramas.h b/src/server/scripts/Northrend/Naxxramas/naxxramas.h
index 459903c4c86..6289b707411 100644
--- a/src/server/scripts/Northrend/Naxxramas/naxxramas.h
+++ b/src/server/scripts/Northrend/Naxxramas/naxxramas.h
@@ -46,6 +46,9 @@ enum Data
DATA_HEIGAN_ERUPT,
DATA_GOTHIK_GATE,
DATA_SAPPHIRON_BIRTH,
+ DATA_HAD_ANUBREKHAN_GREET,
+
+ DATA_HAD_FAERLINA_GREET,
DATA_HORSEMEN0,
DATA_HORSEMEN1,
@@ -61,6 +64,7 @@ enum Data
enum Data64
{
+ DATA_ANUBREKHAN,
DATA_FAERLINA,
DATA_THANE,
DATA_LADY,
@@ -81,6 +85,7 @@ enum Data64
enum CreaturesIds
{
+ NPC_ANUBREKHAN = 15956,
NPC_FAERLINA = 15953,
NPC_THANE = 16064,
NPC_LADY = 16065,
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
index 6233c7e8953..86dbe6c16fb 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
@@ -437,7 +437,7 @@ public:
return 0;
}
- void UpdateEscortAI(const uint32 uiDiff) override
+ void UpdateEscortAI(uint32 uiDiff) override
{
if (uiPhaseTimer <= uiDiff)
{
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
index c67e31c4cc0..227b9c208cc 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
@@ -18,7 +18,6 @@
#include "InstanceScript.h"
#include "Player.h"
#include "ScriptMgr.h"
-#include "WorldSession.h"
#include "halls_of_stone.h"
DoorData const doorData[] =
@@ -172,7 +171,7 @@ class instance_halls_of_stone : public InstanceMapScript
bool CheckRequiredBosses(uint32 bossId, Player const* player = nullptr) const override
{
- if (player && player->GetSession()->HasPermission(rbac::RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES))
+ if (_SkipCheckRequiredBosses(player))
return true;
switch (bossId)
diff --git a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
index dc923e534b0..d3868b8df9c 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
@@ -16,11 +16,13 @@
*/
#include "ScriptMgr.h"
+#include "SpellScript.h"
#include "ScriptedCreature.h"
#include "violet_hold.h"
enum Spells
{
+ SPELL_SUMMON_PLAYER = 21150,
SPELL_ARCANE_VACUUM = 58694,
SPELL_BLIZZARD = 58693,
SPELL_MANA_DESTRUCTION = 59374,
@@ -42,119 +44,91 @@ enum Yells
class boss_cyanigosa : public CreatureScript
{
-public:
- boss_cyanigosa() : CreatureScript("boss_cyanigosa") { }
-
- struct boss_cyanigosaAI : public BossAI
- {
- boss_cyanigosaAI(Creature* creature) : BossAI(creature, DATA_CYANIGOSA)
- {
- Initialize();
- }
-
- void Initialize()
- {
- uiArcaneVacuumTimer = 10000;
- uiBlizzardTimer = 15000;
- uiManaDestructionTimer = 30000;
- uiTailSweepTimer = 20000;
- uiUncontrollableEnergyTimer = 25000;
- }
-
- uint32 uiArcaneVacuumTimer;
- uint32 uiBlizzardTimer;
- uint32 uiManaDestructionTimer;
- uint32 uiTailSweepTimer;
- uint32 uiUncontrollableEnergyTimer;
+ public:
+ boss_cyanigosa() : CreatureScript("boss_cyanigosa") { }
- void Reset() override
+ struct boss_cyanigosaAI : public BossAI
{
- Initialize();
- BossAI::Reset();
- }
+ boss_cyanigosaAI(Creature* creature) : BossAI(creature, DATA_CYANIGOSA) { }
- void EnterCombat(Unit* who) override
- {
- BossAI::EnterCombat(who);
- Talk(SAY_AGGRO);
- }
+ void EnterCombat(Unit* who) override
+ {
+ BossAI::EnterCombat(who);
+ Talk(SAY_AGGRO);
+ }
- void MoveInLineOfSight(Unit* /*who*/) override { }
+ void KilledUnit(Unit* victim) override
+ {
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
+ }
- void UpdateAI(uint32 diff) override
- {
- if (instance->GetData(DATA_REMOVE_NPC) == 1)
+ void JustDied(Unit* killer) override
{
- me->DespawnOrUnsummon();
- instance->SetData(DATA_REMOVE_NPC, 0);
+ BossAI::JustDied(killer);
+ Talk(SAY_DEATH);
}
- if (!UpdateVictim())
- return;
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- if (uiArcaneVacuumTimer <= diff)
+ void UpdateAI(uint32 diff) override
{
- DoCastAOE(SPELL_ARCANE_VACUUM);
- uiArcaneVacuumTimer = 10000;
- } else uiArcaneVacuumTimer -= diff;
+ if (!UpdateVictim())
+ return;
- if (uiBlizzardTimer <= diff)
- {
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_BLIZZARD);
- uiBlizzardTimer = 15000;
- } else uiBlizzardTimer -= diff;
+ scheduler.Update(diff,
+ std::bind(&BossAI::DoMeleeAttackIfReady, this));
+ }
- if (uiTailSweepTimer <= diff)
+ void ScheduleTasks() override
{
- DoCastVictim(SPELL_TAIL_SWEEP);
- uiTailSweepTimer = 20000;
- } else uiTailSweepTimer -= diff;
+ scheduler.Schedule(Seconds(10), [this](TaskContext task)
+ {
+ DoCastAOE(SPELL_ARCANE_VACUUM);
+ task.Repeat();
+ });
- if (uiUncontrollableEnergyTimer <= diff)
- {
- DoCastVictim(SPELL_UNCONTROLLABLE_ENERGY);
- uiUncontrollableEnergyTimer = 25000;
- } else uiUncontrollableEnergyTimer -= diff;
+ scheduler.Schedule(Seconds(15), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 45.0f, true))
+ DoCast(target, SPELL_BLIZZARD);
+ task.Repeat();
+ });
- if (IsHeroic())
- {
- if (uiManaDestructionTimer <= diff)
+ scheduler.Schedule(Seconds(20), [this](TaskContext task)
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_MANA_DESTRUCTION);
- uiManaDestructionTimer = 30000;
- } else uiManaDestructionTimer -= diff;
- }
+ DoCastVictim(SPELL_TAIL_SWEEP);
+ task.Repeat();
+ });
- DoMeleeAttackIfReady();
- }
+ scheduler.Schedule(Seconds(25), [this](TaskContext task)
+ {
+ DoCastVictim(SPELL_UNCONTROLLABLE_ENERGY);
+ task.Repeat();
+ });
- void JustDied(Unit* killer) override
- {
- BossAI::JustDied(killer);
- Talk(SAY_DEATH);
- }
+ if (IsHeroic())
+ {
+ scheduler.Schedule(Seconds(30), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f, true))
+ DoCast(target, SPELL_MANA_DESTRUCTION);
+ task.Repeat();
+ });
+ }
+ }
+ };
- void KilledUnit(Unit* victim) override
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (victim->GetTypeId() == TYPEID_PLAYER)
- Talk(SAY_SLAY);
+ return GetVioletHoldAI<boss_cyanigosaAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_cyanigosaAI>(creature);
- }
};
class achievement_defenseless : public AchievementCriteriaScript
{
public:
- achievement_defenseless() : AchievementCriteriaScript("achievement_defenseless")
- {
- }
+ achievement_defenseless() : AchievementCriteriaScript("achievement_defenseless") { }
bool OnCheck(Player* /*player*/, Unit* target) override
{
@@ -165,10 +139,40 @@ class achievement_defenseless : public AchievementCriteriaScript
if (!instance)
return false;
- if (!instance->GetData(DATA_DEFENSELESS))
- return false;
+ return instance->GetData(DATA_DEFENSELESS) != 0;
+ }
+};
+
+class spell_cyanigosa_arcane_vacuum : public SpellScriptLoader
+{
+ public:
+ spell_cyanigosa_arcane_vacuum() : SpellScriptLoader("spell_cyanigosa_arcane_vacuum") { }
- return true;
+ class spell_cyanigosa_arcane_vacuum_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_cyanigosa_arcane_vacuum_SpellScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_PLAYER))
+ return false;
+ return true;
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_SUMMON_PLAYER, true);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_cyanigosa_arcane_vacuum_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_cyanigosa_arcane_vacuum_SpellScript();
}
};
@@ -176,4 +180,5 @@ void AddSC_boss_cyanigosa()
{
new boss_cyanigosa();
new achievement_defenseless();
+ new spell_cyanigosa_arcane_vacuum();
}
diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
index 8ead8ab559e..cc27bf52118 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
@@ -41,269 +41,210 @@ enum Yells
SAY_BOTH_ADDS_KILLED = 5
};
-enum ErekemEvents
-{
- EVENT_EARTH_SHIELD = 1,
- EVENT_CHAIN_HEAL,
- EVENT_BLOODLUST,
- EVENT_LIGHTNING_BOLT,
- EVENT_EARTH_SHOCK,
- EVENT_WINDFURY,
- EVENT_STORMSTRIKE
-};
-
class boss_erekem : public CreatureScript
{
-public:
- boss_erekem() : CreatureScript("boss_erekem") { }
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_erekemAI>(creature);
- }
-
- struct boss_erekemAI : public ScriptedAI
- {
- boss_erekemAI(Creature* creature) : ScriptedAI(creature)
- {
- Initialize();
- instance = creature->GetInstanceScript();
- }
-
- void Initialize()
- {
- phase = 0;
- breakBondsCd = 0;
- }
+ public:
+ boss_erekem() : CreatureScript("boss_erekem") { }
- void Reset() override
+ struct boss_erekemAI : public BossAI
{
- Initialize();
-
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetBossState(DATA_1ST_BOSS_EVENT, NOT_STARTED);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetBossState(DATA_2ND_BOSS_EVENT, NOT_STARTED);
-
- if (instance->GetData(DATA_MAIN_EVENT_PHASE) == IN_PROGRESS)
+ boss_erekemAI(Creature* creature) : BossAI(creature, DATA_EREKEM)
{
- if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1)))
- pGuard1->DespawnOrUnsummon();
- if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2)))
- pGuard2->DespawnOrUnsummon();
+ Initialize();
}
- else
+
+ void Initialize()
{
- if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1)))
- {
- if (!pGuard1->IsAlive())
- pGuard1->Respawn();
- }
- if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2)))
- {
- if (!pGuard2->IsAlive())
- pGuard2->Respawn();
- }
+ _phase = 0;
}
- events.Reset();
- }
-
- void JustReachedHome() override
- {
- if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1)))
- pGuard1->Respawn();
+ void Reset() override
+ {
+ Initialize();
+ BossAI::Reset();
+ me->SetCanDualWield(false);
+ }
- if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2)))
- pGuard2->Respawn();
- }
+ void EnterCombat(Unit* who) override
+ {
+ BossAI::EnterCombat(who);
+ Talk(SAY_AGGRO);
+ DoCast(me, SPELL_EARTH_SHIELD);
+ }
- void AttackStart(Unit* who) override
- {
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
- return;
+ void MovementInform(uint32 type, uint32 pointId) override
+ {
+ if (type == EFFECT_MOTION_TYPE && pointId == POINT_INTRO)
+ me->SetFacingTo(4.921828f);
+ }
- if (me->Attack(who, true))
+ void JustReachedHome() override
{
- me->AddThreat(who, 0.0f);
- me->SetInCombatWith(who);
- who->SetInCombatWith(me);
- DoStartMovement(who);
+ BossAI::JustReachedHome();
+ instance->SetData(DATA_HANDLE_CELLS, DATA_EREKEM);
+ }
- if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1)))
- {
- pGuard1->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
- if (!pGuard1->GetVictim() && pGuard1->AI())
- pGuard1->AI()->AttackStart(who);
- }
- if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2)))
- {
- pGuard2->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
- if (!pGuard2->GetVictim() && pGuard2->AI())
- pGuard2->AI()->AttackStart(who);
- }
+ void KilledUnit(Unit* victim) override
+ {
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
}
- }
- void EnterCombat(Unit* /*who*/) override
- {
- Talk(SAY_AGGRO);
- DoCast(me, SPELL_EARTH_SHIELD);
+ void JustDied(Unit* killer) override
+ {
+ BossAI::JustDied(killer);
+ Talk(SAY_DEATH);
+ }
- if (GameObject* door = instance->GetGameObject(DATA_EREKEM_CELL))
- if (door->GetGoState() == GO_STATE_READY)
+ bool CheckGuardAuras(Creature* guard) const
+ {
+ static uint32 const MechanicImmunityList =
+ (1 << MECHANIC_SNARE)
+ | (1 << MECHANIC_ROOT)
+ | (1 << MECHANIC_FEAR)
+ | (1 << MECHANIC_STUN)
+ | (1 << MECHANIC_SLEEP)
+ | (1 << MECHANIC_CHARM)
+ | (1 << MECHANIC_SAPPED)
+ | (1 << MECHANIC_HORROR)
+ | (1 << MECHANIC_POLYMORPH)
+ | (1 << MECHANIC_DISORIENTED)
+ | (1 << MECHANIC_FREEZE)
+ | (1 << MECHANIC_TURN);
+
+ static std::list<AuraType> const AuraImmunityList =
{
- EnterEvadeMode();
- return;
- }
+ SPELL_AURA_MOD_STUN,
+ SPELL_AURA_MOD_DECREASE_SPEED,
+ SPELL_AURA_MOD_ROOT,
+ SPELL_AURA_MOD_CONFUSE,
+ SPELL_AURA_MOD_FEAR
+ };
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetBossState(DATA_1ST_BOSS_EVENT, IN_PROGRESS);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetBossState(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
+ if (guard->HasAuraWithMechanic(MechanicImmunityList))
+ return true;
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_NPC);
-
- events.ScheduleEvent(EVENT_EARTH_SHIELD, 20000);
- events.ScheduleEvent(EVENT_BLOODLUST, 15000);
- events.ScheduleEvent(EVENT_CHAIN_HEAL, 10000);
- events.ScheduleEvent(EVENT_LIGHTNING_BOLT, 2000);
- }
+ for (AuraType type : AuraImmunityList)
+ if (guard->HasAuraType(type))
+ return true;
- void JustDied(Unit* /*killer*/) override
- {
- Talk(SAY_DEATH);
-
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- {
- instance->SetBossState(DATA_1ST_BOSS_EVENT, DONE);
- instance->SetData(DATA_WAVE_COUNT, 7);
+ return false;
}
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
+
+ bool CheckGuardAlive() const
{
- instance->SetBossState(DATA_2ND_BOSS_EVENT, DONE);
- instance->SetData(DATA_WAVE_COUNT, 13);
- }
- }
+ for (uint32 i = DATA_EREKEM_GUARD_1; i <= DATA_EREKEM_GUARD_2; ++i)
+ {
+ if (Creature* guard = ObjectAccessor::GetCreature(*me, instance->GetGuidData(i)))
+ if (guard->IsAlive())
+ return true;
+ }
- void KilledUnit(Unit* victim) override
- {
- if (victim->GetTypeId() == TYPEID_PLAYER)
- Talk(SAY_SLAY);
- }
+ return false;
+ }
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
+ Unit* GetChainHealTarget() const
+ {
+ if (HealthBelowPct(85))
+ return me;
- if (phase == 0)
- if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1)))
+ for (uint32 i = DATA_EREKEM_GUARD_1; i <= DATA_EREKEM_GUARD_2; ++i)
{
- if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2)))
- {
- if (!pGuard1->IsAlive() && !pGuard2->IsAlive())
- {
- phase = 1;
- DoCastVictim(SPELL_STORMSTRIKE);
- DoCast(SPELL_WINDFURY);
- events.Reset();
- events.ScheduleEvent(EVENT_EARTH_SHOCK, urand(2000, 8000));
- events.ScheduleEvent(EVENT_WINDFURY, urand(1500, 2000));
- events.ScheduleEvent(EVENT_STORMSTRIKE, urand(1500, 2000));
- }
- }
+ if (Creature* guard = ObjectAccessor::GetCreature(*me, instance->GetGuidData(i)))
+ if (guard->IsAlive() && !guard->HealthAbovePct(75))
+ return guard;
}
- events.Update(diff);
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
+ return nullptr;
+ }
- if (breakBondsCd <= 0)
+ void UpdateAI(uint32 diff) override
{
- if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1)))
+ if (!UpdateVictim())
+ return;
+
+ if (_phase == 0 && !CheckGuardAlive())
{
- if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2)))
- {
- if (pGuard1->IsAlive())
- {
- if (pGuard1->HasAuraType(SPELL_AURA_MOD_STUN) || pGuard1->HasAuraType(SPELL_AURA_MOD_ROOT)
- || pGuard1->HasAuraType(SPELL_AURA_MOD_CONFUSE) || pGuard1->HasAuraType(SPELL_AURA_MOD_PACIFY)
- || pGuard1->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED))
- {
- DoCast(SPELL_BREAK_BONDS);
- breakBondsCd = 10000;
- return;
- }
- }
- if (pGuard2->IsAlive())
- {
- if (pGuard2->HasAuraType(SPELL_AURA_MOD_STUN) || pGuard2->HasAuraType(SPELL_AURA_MOD_ROOT)
- || pGuard2->HasAuraType(SPELL_AURA_MOD_CONFUSE) || pGuard2->HasAuraType(SPELL_AURA_MOD_PACIFY)
- || pGuard2->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED))
- {
- DoCast(SPELL_BREAK_BONDS);
- breakBondsCd = 10000;
- return;
- }
- }
- }
+ _phase = 1;
+ me->SetCanDualWield(true);
+ DoCast(me, SPELL_WINDFURY, true);
}
+
+ scheduler.Update(diff, [this]
+ {
+ if (_phase == 1)
+ DoSpellAttackIfReady(SPELL_STORMSTRIKE);
+ else
+ DoMeleeAttackIfReady();
+ });
}
- else
- breakBondsCd -= diff;
- switch (events.ExecuteEvent())
+ void ScheduleTasks() override
{
- case EVENT_EARTH_SHIELD:
+ scheduler.Schedule(Seconds(20), [this](TaskContext task)
+ {
if (Unit* ally = DoSelectLowestHpFriendly(30.0f))
DoCast(ally, SPELL_EARTH_SHIELD);
- events.ScheduleEvent(EVENT_EARTH_SHIELD, 20000);
- break;
- case EVENT_BLOODLUST:
+
+ task.Repeat(Seconds(20));
+ });
+
+ scheduler.Schedule(Seconds(2), [this](TaskContext task)
+ {
DoCast(SPELL_BLOODLUST);
- events.ScheduleEvent(EVENT_BLOODLUST, urand(35000, 45000));
- break;
- case EVENT_LIGHTNING_BOLT:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
+ task.Repeat(Seconds(35), Seconds(45));
+ });
+
+ scheduler.Schedule(Seconds(2), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f))
DoCast(target, SPELL_LIGHTNING_BOLT);
- events.ScheduleEvent(EVENT_LIGHTNING_BOLT, 2500);
- break;
- case EVENT_CHAIN_HEAL:
+
+ task.Repeat(Milliseconds(2500));
+ });
+
+ scheduler.Schedule(Seconds(10), [this](TaskContext task)
+ {
if (Unit* ally = DoSelectLowestHpFriendly(40.0f))
DoCast(ally, SPELL_CHAIN_HEAL);
+
+ if (!CheckGuardAlive())
+ task.Repeat(Seconds(3));
+ else
+ task.Repeat(Seconds(8), Seconds(11));
+ });
+
+ scheduler.Schedule(Seconds(2), Seconds(8), [this](TaskContext task)
+ {
+ DoCastVictim(SPELL_EARTH_SHOCK);
+ task.Repeat(Seconds(8), Seconds(13));
+ });
+
+ scheduler.Schedule(Seconds(0), [this](TaskContext task)
+ {
+ for (uint32 i = DATA_EREKEM_GUARD_1; i <= DATA_EREKEM_GUARD_2; ++i)
{
- Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1));
- Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2));
- events.ScheduleEvent(EVENT_CHAIN_HEAL, ((pGuard1 && !pGuard1->IsAlive()) || (pGuard2 && !pGuard2->IsAlive()) ? 3000 : 8000 + rand() % 3000));
+ Creature* guard = ObjectAccessor::GetCreature(*me, instance->GetGuidData(i));
+
+ if (guard && guard->IsAlive() && CheckGuardAuras(guard))
+ {
+ DoCastAOE(SPELL_BREAK_BONDS);
+ task.Repeat(Seconds(10));
+ return;
+ }
}
- break;
- case EVENT_EARTH_SHOCK:
- DoCastVictim(SPELL_EARTH_SHOCK);
- events.ScheduleEvent(EVENT_EARTH_SHOCK, urand(8000, 13000));
- break;
- case EVENT_WINDFURY:
- DoCast(SPELL_WINDFURY);
- events.ScheduleEvent(EVENT_WINDFURY, urand(1500, 2000));
- break;
- case EVENT_STORMSTRIKE:
- DoCastVictim(SPELL_STORMSTRIKE);
- events.ScheduleEvent(EVENT_STORMSTRIKE, urand(1500, 2000));
- break;
- default:
- break;
+ task.Repeat(Milliseconds(500));
+ });
}
- DoMeleeAttackIfReady();
- }
+ private:
+ uint8 _phase;
+ };
- private:
- EventMap events;
- InstanceScript* instance;
- uint8 phase;
- int32 breakBondsCd;
- };
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<boss_erekemAI>(creature);
+ }
};
enum GuardSpells
@@ -315,85 +256,61 @@ enum GuardSpells
class npc_erekem_guard : public CreatureScript
{
-public:
- npc_erekem_guard() : CreatureScript("npc_erekem_guard") { }
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_erekem_guardAI>(creature);
- }
+ public:
+ npc_erekem_guard() : CreatureScript("npc_erekem_guard") { }
- struct npc_erekem_guardAI : public ScriptedAI
- {
- npc_erekem_guardAI(Creature* creature) : ScriptedAI(creature)
+ struct npc_erekem_guardAI : public ScriptedAI
{
- Initialize();
- instance = creature->GetInstanceScript();
- }
+ npc_erekem_guardAI(Creature* creature) : ScriptedAI(creature) { }
- void Initialize()
- {
- uiStrikeTimer = urand(4000, 8000);
- uiHowlingScreechTimer = urand(8000, 13000);
- uiGushingWoundTimer = urand(1000, 3000);
- }
+ void Reset() override
+ {
+ scheduler.CancelAll();
+ }
- uint32 uiGushingWoundTimer;
- uint32 uiHowlingScreechTimer;
- uint32 uiStrikeTimer;
+ void EnterCombat(Unit* /*who*/) override
+ {
+ DoZoneInCombat();
+ }
- InstanceScript* instance;
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
- void Reset() override
- {
- Initialize();
+ scheduler.Update(diff,
+ std::bind(&ScriptedAI::DoMeleeAttackIfReady, this));
+ }
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC);
- }
+ void ScheduledTasks()
+ {
+ scheduler.Schedule(Seconds(4), Seconds(8), [this](TaskContext task)
+ {
+ DoCastVictim(SPELL_STRIKE);
+ task.Repeat(Seconds(4), Seconds(8));
+ });
- void AttackStart(Unit* who) override
- {
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
- return;
+ scheduler.Schedule(Seconds(8), Seconds(13), [this](TaskContext task)
+ {
+ DoCastAOE(SPELL_HOWLING_SCREECH);
+ task.Repeat(Seconds(8), Seconds(13));
+ });
- if (me->Attack(who, true))
- {
- me->AddThreat(who, 0.0f);
- me->SetInCombatWith(who);
- who->SetInCombatWith(me);
- DoStartMovement(who);
+ scheduler.Schedule(Seconds(1), Seconds(3), [this](TaskContext task)
+ {
+ DoCastVictim(SPELL_GUSHING_WOUND);
+ task.Repeat(Seconds(7), Seconds(12));
+ });
}
- }
- void MoveInLineOfSight(Unit* /*who*/) override { }
+ private:
+ TaskScheduler scheduler;
+ };
- void UpdateAI(uint32 diff) override
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (!UpdateVictim())
- return;
-
- DoMeleeAttackIfReady();
-
- if (uiStrikeTimer <= diff)
- {
- DoCastVictim(SPELL_STRIKE);
- uiStrikeTimer = urand(4000, 8000);
- } else uiStrikeTimer -= diff;
-
- if (uiHowlingScreechTimer <= diff)
- {
- DoCastVictim(SPELL_HOWLING_SCREECH);
- uiHowlingScreechTimer = urand(8000, 13000);
- } else uiHowlingScreechTimer -= diff;
-
- if (uiGushingWoundTimer <= diff)
- {
- DoCastVictim(SPELL_GUSHING_WOUND);
- uiGushingWoundTimer = urand(7000, 12000);
- } else uiGushingWoundTimer -= diff;
+ return GetVioletHoldAI<npc_erekem_guardAI>(creature);
}
- };
};
void AddSC_boss_erekem()
diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
index caf1392ea38..3c29cc1123c 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
@@ -17,26 +17,32 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "SpellAuraEffects.h"
+#include "SpellScript.h"
#include "violet_hold.h"
enum Spells
{
- SPELL_DRAINED = 59820,
- SPELL_FRENZY = 54312,
- SPELL_PROTECTIVE_BUBBLE = 54306,
SPELL_WATER_BLAST = 54237,
SPELL_WATER_BOLT_VOLLEY = 54241,
- SPELL_SPLASH = 59516,
+ SPELL_SPLATTER = 54259,
+ SPELL_PROTECTIVE_BUBBLE = 54306,
+ SPELL_FRENZY = 54312,
SPELL_BURST = 54379,
- SPELL_WATER_GLOBULE = 54268,
- SPELL_MERGE = 54269,
- SPELL_WATER_GLOBULE_VISUAL = 54260
-};
+ SPELL_DRAINED = 59820,
+ SPELL_THREAT_PROC = 61732,
+ SPELL_SHRINK = 54297,
-enum IchoronCreatures
-{
- NPC_ICHOR_GLOBULE = 29321,
- NPC_ICHORON_SUMMON_TARGET = 29326
+ SPELL_WATER_GLOBULE_SUMMON_1 = 54258,
+ SPELL_WATER_GLOBULE_SUMMON_2 = 54264,
+ SPELL_WATER_GLOBULE_SUMMON_3 = 54265,
+ SPELL_WATER_GLOBULE_SUMMON_4 = 54266,
+ SPELL_WATER_GLOBULE_SUMMON_5 = 54267,
+ SPELL_WATER_GLOBULE_TRANSFORM = 54268,
+ SPELL_WATER_GLOBULE_VISUAL = 54260,
+
+ SPELL_MERGE = 54269,
+ SPELL_SPLASH = 59516
};
enum Yells
@@ -47,483 +53,412 @@ enum Yells
SAY_SPAWN = 3,
SAY_ENRAGE = 4,
SAY_SHATTER = 5,
- SAY_BUBBLE = 6
+ SAY_BUBBLE = 6,
+ EMOTE_SHATTER = 7
};
enum Actions
{
- ACTION_WATER_ELEMENT_HIT = 1
-};
-
-enum IchoronEvents
-{
- EVENT_WATER_BLAST = 1,
- EVENT_WATER_BOLT_VOLLEY
-};
-
-enum GlobuleEvents
-{
- EVENT_GLOBULE_MOVE = 1
+ ACTION_WATER_GLOBULE_HIT = 1,
+ ACTION_PROTECTIVE_BUBBLE_SHATTERED = 2,
+ ACTION_DRAINED = 3
};
enum Misc
{
- DATA_GLOBULE_PATH = 0,
DATA_DEHYDRATION = 1
};
-
-#define MAX_GLOBULE_PATHS 10
-
-Position const globulePaths[MAX_GLOBULE_PATHS] =
-{
- // first target
- { 1861.357f, 804.039f, 44.008f, 6.268f },
- { 1869.375f, 803.976f, 38.781f, 0.009f },
- // second target
- { 1888.063f, 763.488f, 47.667f, 1.744f },
- { 1882.865f, 776.385f, 38.824f, 1.882f },
- // third target
- { 1935.140f, 817.752f, 52.181f, 1.885f },
- { 1916.642f, 826.337f, 39.139f, 2.851f },
- // fourth target
- { 1930.257f, 833.053f, 46.906f, 4.579f },
- { 1916.642f, 826.337f, 39.139f, 2.851f },
- // fifth target
- { 1878.248f, 841.883f, 43.334f, 4.717f },
- { 1879.438f, 834.443f, 38.699f, 4.831f }
-};
-
class boss_ichoron : public CreatureScript
{
-public:
- boss_ichoron() : CreatureScript("boss_ichoron") { }
+ public:
+ boss_ichoron() : CreatureScript("boss_ichoron") { }
- struct boss_ichoronAI : public ScriptedAI
- {
- boss_ichoronAI(Creature* creature) : ScriptedAI(creature), m_waterElements(creature)
+ struct boss_ichoronAI : public BossAI
{
- Initialize();
- instance = creature->GetInstanceScript();
- }
+ boss_ichoronAI(Creature* creature) : BossAI(creature, DATA_ICHORON)
+ {
+ Initialize();
- void Initialize()
- {
- bIsExploded = false;
- bIsFrenzy = false;
- bIsDrained = false;
- dehydration = true;
- drainedTimer = 50;
- burstTimer = 15000;
- }
+ /// for some reason ichoron can't walk back to it's water basin on evade
+ me->AddUnitState(UNIT_STATE_IGNORE_PATHFINDING);
+ }
- void Reset() override
- {
- Initialize();
+ void Initialize()
+ {
+ _isFrenzy = false;
+ _dehydration = true;
+ }
- events.Reset();
- me->SetVisible(true);
- DespawnWaterElements();
+ void Reset() override
+ {
+ Initialize();
+ BossAI::Reset();
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetBossState(DATA_1ST_BOSS_EVENT, NOT_STARTED);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetBossState(DATA_2ND_BOSS_EVENT, NOT_STARTED);
- }
+ DoCast(me, SPELL_THREAT_PROC, true);
+ }
- void EnterCombat(Unit* /*who*/) override
- {
- Talk(SAY_AGGRO);
+ void EnterCombat(Unit* who) override
+ {
+ BossAI::EnterCombat(who);
+ Talk(SAY_AGGRO);
+ }
- DoCast(me, SPELL_PROTECTIVE_BUBBLE);
+ void JustReachedHome() override
+ {
+ BossAI::JustReachedHome();
+ instance->SetData(DATA_HANDLE_CELLS, DATA_ICHORON);
+ }
- if (GameObject* door = instance->GetGameObject(DATA_ICHORON_CELL))
- if (door->GetGoState() == GO_STATE_READY)
+ void DoAction(int32 actionId) override
+ {
+ switch (actionId)
{
- EnterEvadeMode();
- return;
- }
+ case ACTION_WATER_GLOBULE_HIT:
+ if (!me->IsAlive())
+ break;
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetBossState(DATA_1ST_BOSS_EVENT, IN_PROGRESS);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetBossState(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
+ me->ModifyHealth(int32(me->CountPctFromMaxHealth(3)));
+ _dehydration = false;
+ break;
+ case ACTION_PROTECTIVE_BUBBLE_SHATTERED:
+ {
+ Talk(SAY_SHATTER);
+ Talk(EMOTE_SHATTER);
- events.ScheduleEvent(EVENT_WATER_BOLT_VOLLEY, urand(10000, 15000));
- events.ScheduleEvent(EVENT_WATER_BLAST, urand(6000, 9000));
- }
+ DoCastAOE(SPELL_SPLATTER, true);
+ DoCastAOE(SPELL_BURST, true);
+ DoCast(me, SPELL_DRAINED, true);
- void AttackStart(Unit* who) override
- {
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
- return;
+ uint32 damage = me->CountPctFromMaxHealth(30);
+ me->LowerPlayerDamageReq(damage);
+ me->ModifyHealth(-std::min<int32>(damage, me->GetHealth() - 1));
- if (me->Attack(who, true))
- {
- me->AddThreat(who, 0.0f);
- me->SetInCombatWith(who);
- who->SetInCombatWith(me);
- DoStartMovement(who);
+ scheduler.DelayAll(Seconds(15));
+ break;
+ }
+ case ACTION_DRAINED:
+ if (HealthAbovePct(30))
+ {
+ Talk(SAY_BUBBLE);
+ DoCast(me, SPELL_PROTECTIVE_BUBBLE, true);
+ }
+ break;
+ default:
+ break;
+ }
}
- }
- void DoAction(int32 param) override
- {
- if (!me->IsAlive())
- return;
+ uint32 GetData(uint32 type) const override
+ {
+ if (type == DATA_DEHYDRATION)
+ return _dehydration ? 1 : 0;
+ return 0;
+ }
- switch (param)
+ void KilledUnit(Unit* victim) override
{
- case ACTION_WATER_ELEMENT_HIT:
- {
- if (bIsExploded)
- DoExplodeCompleted();
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
+ }
- me->SetHealth(me->GetHealth() + me->CountPctFromMaxHealth(3));
- dehydration = false;
- }
- break;
+ void JustDied(Unit* killer) override
+ {
+ BossAI::JustDied(killer);
+ Talk(SAY_DEATH);
}
- }
- void DespawnWaterElements()
- {
- m_waterElements.DespawnAll();
- }
+ void JustSummoned(Creature* summon) override
+ {
+ summons.Summon(summon);
- // call when explode shall stop.
- // either when "hit" by a bubble, or when there is no bubble left.
- void DoExplodeCompleted()
- {
- bIsExploded = false;
- bIsDrained = false;
+ if (summon->GetEntry() == NPC_ICHOR_GLOBULE)
+ DoCast(summon, SPELL_WATER_GLOBULE_VISUAL);
+ }
- if (!HealthBelowPct(25))
+ void SummonedCreatureDespawn(Creature* summon) override
{
- Talk(SAY_BUBBLE);
- DoCast(me, SPELL_PROTECTIVE_BUBBLE, true);
+ BossAI::SummonedCreatureDespawn(summon);
+
+ if (summons.empty())
+ me->RemoveAurasDueToSpell(SPELL_DRAINED, ObjectGuid::Empty, 0, AURA_REMOVE_BY_EXPIRE);
}
- me->SetVisible(true);
- me->GetMotionMaster()->MoveChase(me->GetVictim());
- }
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
- uint32 GetData(uint32 type) const override
- {
- if (type == DATA_DEHYDRATION)
- return dehydration ? 1 : 0;
+ if (!_isFrenzy && HealthBelowPct(25) && !me->HasAura(SPELL_DRAINED))
+ {
+ Talk(SAY_ENRAGE);
+ DoCast(me, SPELL_FRENZY, true);
+ _isFrenzy = true;
+ }
- return 0;
- }
+ scheduler.Update(diff,
+ std::bind(&BossAI::DoMeleeAttackIfReady, this));
+ }
- void MoveInLineOfSight(Unit* who) override
- {
- if (!who->ToCreature())
- return;
+ void ScheduleTasks() override
+ {
+ scheduler.Async([this]
+ {
+ DoCast(me, SPELL_SHRINK);
+ DoCast(me, SPELL_PROTECTIVE_BUBBLE);
+ });
- if (who->GetEntry() != NPC_ICHOR_GLOBULE)
- return;
+ scheduler.Schedule(Seconds(10), Seconds(15), [this](TaskContext task)
+ {
+ DoCastAOE(SPELL_WATER_BOLT_VOLLEY);
+ task.Repeat(Seconds(10), Seconds(15));
+ });
- if (!me->IsWithinDist(who, 4.0f, false))
- return;
+ scheduler.Schedule(Seconds(6), Seconds(9), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f))
+ DoCast(target, SPELL_WATER_BLAST);
+ task.Repeat(Seconds(6), Seconds(9));
+ });
+ }
- if (who->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
- return;
+ private:
+ bool _isFrenzy;
+ bool _dehydration;
+ };
- who->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- who->CastSpell(who, SPELL_MERGE);
- DoAction(ACTION_WATER_ELEMENT_HIT);
- who->ToCreature()->DespawnOrUnsummon(1000);
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<boss_ichoronAI>(creature);
}
+};
- void JustDied(Unit* /*killer*/) override
- {
- Talk(SAY_DEATH);
+class npc_ichor_globule : public CreatureScript
+{
+ public:
+ npc_ichor_globule() : CreatureScript("npc_ichor_globule") { }
- if (bIsExploded)
+ struct npc_ichor_globuleAI : public ScriptedAI
+ {
+ npc_ichor_globuleAI(Creature* creature) : ScriptedAI(creature)
{
- bIsExploded = false;
- me->SetVisible(true);
+ _instance = creature->GetInstanceScript();
+ creature->SetReactState(REACT_PASSIVE);
}
- DespawnWaterElements();
-
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- {
- instance->SetBossState(DATA_1ST_BOSS_EVENT, DONE);
- instance->SetData(DATA_WAVE_COUNT, 7);
- }
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
+ void SpellHit(Unit* caster, SpellInfo const* spellInfo) override
{
- instance->SetBossState(DATA_2ND_BOSS_EVENT, DONE);
- instance->SetData(DATA_WAVE_COUNT, 13);
+ if (spellInfo->Id == SPELL_WATER_GLOBULE_VISUAL)
+ {
+ DoCast(me, SPELL_WATER_GLOBULE_TRANSFORM);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ me->GetMotionMaster()->MoveFollow(caster, 0.0f, 0.0f);
+ }
}
- }
- void JustSummoned(Creature* summoned) override
- {
- summoned->SetSpeed(MOVE_RUN, 0.3f);
- m_waterElements.Summon(summoned);
+ void MovementInform(uint32 type, uint32 id) override
+ {
+ if (type != FOLLOW_MOTION_TYPE)
+ return;
- instance->SetGuidData(DATA_ADD_TRASH_MOB, summoned->GetGUID());
- }
+ if (_instance->GetObjectGuid(DATA_ICHORON).GetCounter() != id)
+ return;
- void SummonedCreatureDespawn(Creature* summoned) override
- {
- m_waterElements.Despawn(summoned);
+ me->CastSpell(me, SPELL_MERGE);
+ me->DespawnOrUnsummon(1);
+ }
- if (m_waterElements.empty() && bIsExploded)
+ // on retail spell casted on a creature's death are not casted after death but keeping mob at 1 health, casting it and then letting the mob die.
+ // this feature should be still implemented
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
- me->RemoveAllAuras();
- DoExplodeCompleted();
+ if (damage >= me->GetHealth())
+ DoCastAOE(SPELL_SPLASH);
}
- instance->SetGuidData(DATA_DEL_TRASH_MOB, summoned->GetGUID());
- }
+ void UpdateAI(uint32 /*diff*/) override { }
+
+ private:
+ InstanceScript* _instance;
+ };
- void KilledUnit(Unit* victim) override
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (victim->GetTypeId() == TYPEID_PLAYER)
- Talk(SAY_SLAY);
+ return GetVioletHoldAI<npc_ichor_globuleAI>(creature);
}
+};
+
+// 59820 - Drained
+class spell_ichoron_drained : public SpellScriptLoader
+{
+ public:
+ spell_ichoron_drained() : SpellScriptLoader("spell_ichoron_drained") { }
- void UpdateAI(uint32 diff) override
+ class spell_ichoron_drained_AuraScript : public AuraScript
{
- if (!UpdateVictim())
- return;
+ PrepareAuraScript(spell_ichoron_drained_AuraScript);
- if (!bIsFrenzy && HealthBelowPct(25) && !bIsExploded)
+ bool Load() override
{
- Talk(SAY_ENRAGE);
- DoCast(me, SPELL_FRENZY, true);
- bIsFrenzy = true;
+ return GetOwner()->GetEntry() == NPC_ICHORON || GetOwner()->GetEntry() == NPC_DUMMY_ICHORON;
}
- if (!bIsFrenzy)
+ void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
- if (!bIsExploded)
- {
- if (!me->HasAura(SPELL_PROTECTIVE_BUBBLE))
- {
- bIsExploded = true;
- Talk(SAY_SHATTER);
- DoCast(SPELL_BURST);
- me->RemoveAllAuras();
- burstTimer = 15000;
+ GetTarget()->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_UNK_31);
+ GetTarget()->SetFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH);
+ }
- std::list<Creature*> summonTargets;
- GetCreatureListWithEntryInGrid(summonTargets, me, NPC_ICHORON_SUMMON_TARGET, 200.0f);
- std::list<Creature*>::iterator itr = summonTargets.begin();
+ void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ GetTarget()->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_UNK_31);
+ GetTarget()->RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH);
- for (uint8 i = 0; i < MAX_GLOBULE_PATHS; i++)
- {
- std::advance(itr, urand(0, summonTargets.size() - 1)); // I take a random minion in the list
- Position targetPos = (*itr)->GetRandomNearPosition(10.0f);
- itr = summonTargets.begin();
- TempSummon* globule = me->SummonCreature(NPC_ICHOR_GLOBULE, targetPos, TEMPSUMMON_CORPSE_DESPAWN);
- DoCast(globule, SPELL_WATER_GLOBULE_VISUAL);
-
- float minDistance = 1000.0f;
- uint8 nextPath = 0;
- // I move the globules to next position. the 10 positions are in couples, defined in globulePaths, so i have to increase by 2.
- for (uint8 gpath = 0; gpath < MAX_GLOBULE_PATHS; gpath += 2)
- {
- if (globule->GetDistance(globulePaths[gpath]) < minDistance)
- {
- minDistance = globule->GetDistance(globulePaths[gpath]);
- nextPath = gpath;
- }
- }
-
- globule->GetAI()->SetData(DATA_GLOBULE_PATH, nextPath);
- }
- return;
- }
+ if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_EXPIRE)
+ if (GetTarget()->IsAIEnabled)
+ GetTarget()->GetAI()->DoAction(ACTION_DRAINED);
+ }
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
+ void Register() override
+ {
+ AfterEffectApply += AuraEffectApplyFn(spell_ichoron_drained_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
+ AfterEffectRemove += AuraEffectRemoveFn(spell_ichoron_drained_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
- events.Update(diff);
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_ichoron_drained_AuraScript();
+ }
+};
- switch (events.ExecuteEvent())
- {
- case EVENT_WATER_BLAST:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_WATER_BLAST);
- events.ScheduleEvent(EVENT_WATER_BLAST, urand(6000, 9000));
- break;
- case EVENT_WATER_BOLT_VOLLEY:
- DoCast(SPELL_WATER_BOLT_VOLLEY);
- events.ScheduleEvent(EVENT_WATER_BOLT_VOLLEY, urand(10000, 15000));
- break;
- }
+// 54269 - Merge
+class spell_ichoron_merge : public SpellScriptLoader
+{
+ public:
+ spell_ichoron_merge() : SpellScriptLoader("spell_ichoron_merge") { }
- DoMeleeAttackIfReady();
- }
- else if (!bIsDrained)
- {
- if (drainedTimer <= 0)
- {
- bIsDrained = true;
- drainedTimer = 50;
- uint32 damage = me->CountPctFromMaxHealth(30);
- if (me->GetHealth() < damage)
- me->SetHealth(me->CountPctFromMaxHealth(1));
- else
- {
- me->SetHealth(me->GetHealth() - damage);
- me->LowerPlayerDamageReq(damage);
- }
- DoCast(SPELL_DRAINED);
- me->SetVisible(false);
- me->AttackStop();
- }
- else
- drainedTimer -= diff;
- }
- else if (bIsDrained)
- {
- if (burstTimer <= 0)
- {
- DoExplodeCompleted();
- }
- else
- burstTimer -= diff;
- }
- }
- else
- {
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
+ class spell_ichoron_merge_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_ichoron_merge_SpellScript);
- events.Update(diff);
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_SHRINK))
+ return false;
+ return true;
+ }
- switch (events.ExecuteEvent())
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ if (Creature* target = GetHitCreature())
{
- case EVENT_WATER_BLAST:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_WATER_BLAST);
- events.ScheduleEvent(EVENT_WATER_BLAST, urand(6000, 9000));
- break;
- case EVENT_WATER_BOLT_VOLLEY:
- DoCast(SPELL_WATER_BOLT_VOLLEY);
- events.ScheduleEvent(EVENT_WATER_BOLT_VOLLEY, urand(10000, 15000));
- break;
+ if (Aura* aura = target->GetAura(SPELL_SHRINK))
+ aura->ModStackAmount(-1);
+
+ target->AI()->DoAction(ACTION_WATER_GLOBULE_HIT);
}
+ }
- DoMeleeAttackIfReady();
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_ichoron_merge_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
- }
+ };
- private:
- InstanceScript* instance;
- SummonList m_waterElements;
- EventMap events;
- bool bIsExploded;
- bool bIsFrenzy;
- bool bIsDrained;
- bool dehydration;
- int32 drainedTimer;
- int32 burstTimer;
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_ichoronAI>(creature);
- }
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_ichoron_merge_SpellScript();
+ }
};
-class npc_ichor_globule : public CreatureScript
+// 54306 - Protective Bubble
+class spell_ichoron_protective_bubble : public SpellScriptLoader
{
-public:
- npc_ichor_globule() : CreatureScript("npc_ichor_globule") { }
+ public:
+ spell_ichoron_protective_bubble() : SpellScriptLoader("spell_ichoron_protective_bubble") { }
- struct npc_ichor_globuleAI : public ScriptedAI
- {
- npc_ichor_globuleAI(Creature* creature) : ScriptedAI(creature)
+ class spell_ichoron_protective_bubble_AuraScript : public AuraScript
{
- Initialize();
- instance = creature->GetInstanceScript();
- }
+ PrepareAuraScript(spell_ichoron_protective_bubble_AuraScript);
- void Initialize()
- {
- pathId = 0;
- }
+ bool Load() override
+ {
+ return GetOwner()->GetEntry() == NPC_ICHORON || GetOwner()->GetEntry() == NPC_DUMMY_ICHORON;
+ }
- void Reset() override
- {
- Initialize();
- events.Reset();
- DoCast(SPELL_WATER_GLOBULE);
- me->SetReactState(REACT_PASSIVE);
- }
+ void HandleShatter(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ //if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_ENEMY_SPELL)
+ if (GetAura()->GetCharges() <= 1)
+ if (GetTarget()->IsAIEnabled)
+ GetTarget()->GetAI()->DoAction(ACTION_PROTECTIVE_BUBBLE_SHATTERED);
+ }
- void SetData(uint32 id, uint32 data) override
- {
- if (id == DATA_GLOBULE_PATH)
+ void Register() override
{
- pathId = data;
- me->GetMotionMaster()->MovePoint(0, globulePaths[pathId]);
+ AfterEffectRemove += AuraEffectRemoveFn(spell_ichoron_protective_bubble_AuraScript::HandleShatter, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, AURA_EFFECT_HANDLE_REAL);
}
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_ichoron_protective_bubble_AuraScript();
}
+};
- void MovementInform(uint32 type, uint32 id) override
+// 54259 - Splatter
+class spell_ichoron_splatter : public SpellScriptLoader
+{
+ public:
+ spell_ichoron_splatter() : SpellScriptLoader("spell_ichoron_splatter") { }
+
+ class spell_ichoron_splatter_AuraScript : public AuraScript
{
- if (type != POINT_MOTION_TYPE)
- return;
+ PrepareAuraScript(spell_ichoron_splatter_AuraScript);
- switch (id)
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
- case 0:
- me->GetMotionMaster()->Clear();
- events.ScheduleEvent(EVENT_GLOBULE_MOVE, 500);
- break;
- case 1:
- me->GetMotionMaster()->Clear();
- if (Creature* ichoron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ICHORON)))
- me->GetMotionMaster()->MoveFollow(ichoron, 0.0f, 0.0f);
- break;
+ if (!sSpellMgr->GetSpellInfo(SPELL_WATER_GLOBULE_SUMMON_1)
+ || !sSpellMgr->GetSpellInfo(SPELL_WATER_GLOBULE_SUMMON_2)
+ || !sSpellMgr->GetSpellInfo(SPELL_WATER_GLOBULE_SUMMON_3)
+ || !sSpellMgr->GetSpellInfo(SPELL_WATER_GLOBULE_SUMMON_4)
+ || !sSpellMgr->GetSpellInfo(SPELL_WATER_GLOBULE_SUMMON_5)
+ || !sSpellMgr->GetSpellInfo(SPELL_SHRINK))
+ return false;
+ return true;
}
- }
- // on retail spell casted on a creature's death are not casted after death but keeping mob at 1 health, casting it and then letting the mob die.
- // this feature should be still implemented
- void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
- {
- int32 actualHp = me->GetHealth();
- actualHp -= damage;
+ void PeriodicTick(AuraEffect const* /*aurEff*/)
+ {
+ PreventDefaultAction();
+ GetTarget()->CastSpell(GetTarget(), RAND(SPELL_WATER_GLOBULE_SUMMON_1, SPELL_WATER_GLOBULE_SUMMON_2, SPELL_WATER_GLOBULE_SUMMON_3, SPELL_WATER_GLOBULE_SUMMON_4, SPELL_WATER_GLOBULE_SUMMON_5), true);
+ }
- if (actualHp <= 0)
- DoCast(SPELL_SPLASH);
- }
+ void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_EXPIRE)
+ if (Aura* aura = GetTarget()->GetAura(SPELL_SHRINK))
+ aura->ModStackAmount(10);
+ }
- void UpdateAI(uint32 diff) override
- {
- events.Update(diff);
+ void Register() override
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_ichoron_splatter_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
+ AfterEffectRemove += AuraEffectRemoveFn(spell_ichoron_splatter_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
- if (events.ExecuteEvent() == EVENT_GLOBULE_MOVE)
- me->GetMotionMaster()->MovePoint(1, globulePaths[pathId + 1]);
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_ichoron_splatter_AuraScript();
}
-
- private:
- InstanceScript* instance;
- EventMap events;
- uint8 pathId;
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_ichor_globuleAI>(creature);
- }
};
class achievement_dehydration : public AchievementCriteriaScript
{
public:
- achievement_dehydration() : AchievementCriteriaScript("achievement_dehydration")
- {
- }
+ achievement_dehydration() : AchievementCriteriaScript("achievement_dehydration") { }
bool OnCheck(Player* /*player*/, Unit* target) override
{
@@ -542,5 +477,9 @@ void AddSC_boss_ichoron()
{
new boss_ichoron();
new npc_ichor_globule();
+ new spell_ichoron_drained();
+ new spell_ichoron_merge();
+ new spell_ichoron_protective_bubble();
+ new spell_ichoron_splatter();
new achievement_dehydration();
}
diff --git a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
index 8b77b512ca4..c3b617f8199 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
@@ -27,130 +27,82 @@ enum Spells
SPELL_LAVA_BURN = 54249
};
-enum LavanthorEvents
-{
- EVENT_CAUTERIZING_FLAMES = 1,
- EVENT_FIREBOLT,
- EVENT_FLAME_BREATH,
- EVENT_LAVA_BURN
-};
-
class boss_lavanthor : public CreatureScript
{
-public:
- boss_lavanthor() : CreatureScript("boss_lavanthor") { }
+ public:
+ boss_lavanthor() : CreatureScript("boss_lavanthor") { }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_lavanthorAI>(creature);
- }
-
- struct boss_lavanthorAI : public ScriptedAI
- {
- boss_lavanthorAI(Creature* creature) : ScriptedAI(creature)
+ struct boss_lavanthorAI : public BossAI
{
- instance = creature->GetInstanceScript();
- }
+ boss_lavanthorAI(Creature* creature) : BossAI(creature, DATA_LAVANTHOR) { }
- void Reset() override
- {
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetBossState(DATA_1ST_BOSS_EVENT, NOT_STARTED);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetBossState(DATA_2ND_BOSS_EVENT, NOT_STARTED);
-
- events.Reset();
- }
-
- void EnterCombat(Unit* /*who*/) override
- {
- if (GameObject* door = instance->GetGameObject(DATA_LAVANTHOR_CELL))
- if (door->GetGoState() == GO_STATE_READY)
- {
- EnterEvadeMode();
- return;
- }
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetBossState(DATA_1ST_BOSS_EVENT, IN_PROGRESS);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetBossState(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
-
- events.ScheduleEvent(EVENT_FIREBOLT, 1000);
- events.ScheduleEvent(EVENT_FLAME_BREATH, 5000);
- events.ScheduleEvent(EVENT_LAVA_BURN, 10000);
- if (IsHeroic())
- events.ScheduleEvent(EVENT_CAUTERIZING_FLAMES, 3000);
- }
+ void Reset() override
+ {
+ BossAI::Reset();
+ }
- void AttackStart(Unit* who) override
- {
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
- return;
+ void EnterCombat(Unit* who) override
+ {
+ BossAI::EnterCombat(who);
+ }
- if (me->Attack(who, true))
+ void JustReachedHome() override
{
- me->AddThreat(who, 0.0f);
- me->SetInCombatWith(who);
- who->SetInCombatWith(me);
- DoStartMovement(who);
+ BossAI::JustReachedHome();
+ instance->SetData(DATA_HANDLE_CELLS, DATA_LAVANTHOR);
}
- }
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
+ void JustDied(Unit* killer) override
+ {
+ BossAI::JustDied(killer);
+ }
- events.Update(diff);
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
+ scheduler.Update(diff,
+ std::bind(&BossAI::DoMeleeAttackIfReady, this));
+ }
- switch (events.ExecuteEvent())
+ void ScheduleTasks() override
{
- case EVENT_FIREBOLT:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
+ scheduler.Schedule(Seconds(1), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f, true))
DoCast(target, SPELL_FIREBOLT);
- events.ScheduleEvent(EVENT_FIREBOLT, urand(5000, 13000));
- break;
- case EVENT_FLAME_BREATH:
- DoCast(SPELL_FLAME_BREATH);
- events.ScheduleEvent(EVENT_FLAME_BREATH, urand(10000, 15000));
- break;
- case EVENT_LAVA_BURN:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
+ task.Repeat(Seconds(5), Seconds(13));
+ });
+
+ scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ DoCastVictim(SPELL_FLAME_BREATH);
+ task.Repeat(Seconds(10), Seconds(15));
+ });
+
+ scheduler.Schedule(Seconds(10), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f))
DoCast(target, SPELL_LAVA_BURN);
- events.ScheduleEvent(EVENT_LAVA_BURN, urand(15000, 23000));
- break;
- case EVENT_CAUTERIZING_FLAMES:
- DoCast(SPELL_CAUTERIZING_FLAMES);
- events.ScheduleEvent(EVENT_CAUTERIZING_FLAMES, urand(10000, 16000));
- break;
- default:
- break;
- }
+ task.Repeat(Seconds(15), Seconds(23));
+ });
- DoMeleeAttackIfReady();
- }
+ if (IsHeroic())
+ {
+ scheduler.Schedule(Seconds(3), [this](TaskContext task)
+ {
+ DoCastAOE(SPELL_CAUTERIZING_FLAMES);
+ task.Repeat(Seconds(10), Seconds(16));
+ });
+ }
+ }
+ };
- void JustDied(Unit* /*killer*/) override
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- {
- instance->SetBossState(DATA_1ST_BOSS_EVENT, DONE);
- instance->SetData(DATA_WAVE_COUNT, 7);
- }
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- {
- instance->SetBossState(DATA_2ND_BOSS_EVENT, DONE);
- instance->SetData(DATA_WAVE_COUNT, 13);
- }
+ return GetVioletHoldAI<boss_lavanthorAI>(creature);
}
-
- private:
- EventMap events;
- InstanceScript* instance;
- };
};
void AddSC_boss_lavanthor()
diff --git a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
index ee89faac3a4..4c5c0373b8c 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
@@ -25,8 +25,10 @@ enum Spells
{
SPELL_CORROSIVE_SALIVA = 54527,
SPELL_OPTIC_LINK = 54396,
- SPELL_RAY_OF_PAIN = 54438, // NYI missing spelldifficulty
- SPELL_RAY_OF_SUFFERING = 54442, // NYI missing spelldifficulty
+ SPELL_RAY_OF_PAIN = 54438,
+ SPELL_RAY_OF_PAIN_H = 59523,
+ SPELL_RAY_OF_SUFFERING = 54442,
+ SPELL_RAY_OF_SUFFERING_H = 59524,
// Visual
SPELL_OPTIC_LINK_LEVEL_1 = 54393,
@@ -34,191 +36,107 @@ enum Spells
SPELL_OPTIC_LINK_LEVEL_3 = 54395
};
-enum MoraggEvents
-{
- EVENT_CORROSIVE_SALIVA = 1,
- EVENT_OPTIC_LINK
-};
-
class boss_moragg : public CreatureScript
{
-public:
- boss_moragg() : CreatureScript("boss_moragg") { }
-
- struct boss_moraggAI : public ScriptedAI
- {
- boss_moraggAI(Creature* creature) : ScriptedAI(creature)
- {
- instance = creature->GetInstanceScript();
- }
-
- void Reset() override
- {
- events.Reset();
-
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetBossState(DATA_1ST_BOSS_EVENT, NOT_STARTED);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetBossState(DATA_2ND_BOSS_EVENT, NOT_STARTED);
- }
+ public:
+ boss_moragg() : CreatureScript("boss_moragg") { }
- void EnterCombat(Unit* /*who*/) override
+ struct boss_moraggAI : public BossAI
{
- if (GameObject* door = instance->GetGameObject(DATA_MORAGG_CELL))
- if (door->GetGoState() == GO_STATE_READY)
- {
- EnterEvadeMode();
- return;
- }
-
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetBossState(DATA_1ST_BOSS_EVENT, IN_PROGRESS);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetBossState(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
-
- me->SetInCombatWithZone();
-
- DoCast(SPELL_RAY_OF_PAIN);
- DoCast(SPELL_RAY_OF_SUFFERING);
- events.ScheduleEvent(EVENT_OPTIC_LINK, 15000);
- events.ScheduleEvent(EVENT_CORROSIVE_SALIVA, 5000);
- }
-
- void AttackStart(Unit* who) override
- {
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
- return;
+ boss_moraggAI(Creature* creature) : BossAI(creature, DATA_MORAGG) { }
- if (me->Attack(who, true))
+ void Reset() override
{
- me->AddThreat(who, 0.0f);
- me->SetInCombatWith(who);
- who->SetInCombatWith(me);
- DoStartMovement(who);
+ BossAI::Reset();
}
- }
-
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
- events.Update(diff);
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
-
- switch (events.ExecuteEvent())
+ void EnterCombat(Unit* who) override
{
- case EVENT_OPTIC_LINK:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_OPTIC_LINK);
- events.ScheduleEvent(EVENT_OPTIC_LINK, 25000);
- break;
- case EVENT_CORROSIVE_SALIVA:
- DoCastVictim(SPELL_CORROSIVE_SALIVA);
- events.ScheduleEvent(EVENT_CORROSIVE_SALIVA, 10000);
- break;
- default:
- break;
+ BossAI::EnterCombat(who);
}
- DoMeleeAttackIfReady();
- }
-
- void JustDied(Unit* /*killer*/) override
- {
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
+ void JustReachedHome() override
{
- instance->SetBossState(DATA_1ST_BOSS_EVENT, DONE);
- instance->SetData(DATA_WAVE_COUNT, 7);
+ BossAI::JustReachedHome();
+ instance->SetData(DATA_HANDLE_CELLS, DATA_MORAGG);
}
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
+
+ void JustDied(Unit* killer) override
{
- instance->SetBossState(DATA_2ND_BOSS_EVENT, DONE);
- instance->SetData(DATA_WAVE_COUNT, 13);
+ BossAI::JustDied(killer);
}
- }
-
- private:
- EventMap events;
- InstanceScript* instance;
- };
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_moraggAI>(creature);
- }
-};
-
-class spell_moragg_ray_of_suffering : public SpellScriptLoader
-{
-public:
- spell_moragg_ray_of_suffering() : SpellScriptLoader("spell_moragg_ray_of_suffering") { }
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
- class spell_moragg_ray_of_suffering_AuraScript : public AuraScript
- {
- PrepareAuraScript(spell_moragg_ray_of_suffering_AuraScript);
+ scheduler.Update(diff,
+ std::bind(&BossAI::DoMeleeAttackIfReady, this));
+ }
- void OnPeriodic(AuraEffect const* aurEff)
- {
- PreventDefaultAction();
- std::list<HostileReference*> players = GetTarget()->getThreatManager().getThreatList();
- if (!players.empty())
+ void ScheduleTasks() override
{
- std::list<HostileReference*>::iterator itr = players.begin();
- std::advance(itr, urand(0, players.size() - 1));
+ scheduler.Async([this]
+ {
+ DoCast(me, DUNGEON_MODE(SPELL_RAY_OF_PAIN, SPELL_RAY_OF_PAIN_H));
+ DoCast(me, DUNGEON_MODE(SPELL_RAY_OF_SUFFERING, SPELL_RAY_OF_SUFFERING_H));
+ });
+
+ scheduler.Schedule(Seconds(15), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f, true))
+ DoCast(target, SPELL_OPTIC_LINK);
+ task.Repeat(Seconds(25));
+ });
- uint32 triggerSpell = GetSpellInfo()->GetEffect(aurEff->GetEffIndex())->TriggerSpell;
- GetTarget()->CastCustomSpell(triggerSpell, SPELLVALUE_MAX_TARGETS, 1, (*itr)->getTarget(), TRIGGERED_FULL_MASK, NULL, aurEff);
+ scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ DoCastVictim(SPELL_CORROSIVE_SALIVA);
+ task.Repeat(Seconds(10));
+ });
}
- }
+ };
- void Register() override
+ CreatureAI* GetAI(Creature* creature) const override
{
- OnEffectPeriodic += AuraEffectPeriodicFn(spell_moragg_ray_of_suffering_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
+ return GetVioletHoldAI<boss_moraggAI>(creature);
}
- };
-
- AuraScript* GetAuraScript() const override
- {
- return new spell_moragg_ray_of_suffering_AuraScript();
- }
};
-class spell_moragg_ray_of_pain : public SpellScriptLoader
+class spell_moragg_ray : public SpellScriptLoader
{
-public:
- spell_moragg_ray_of_pain() : SpellScriptLoader("spell_moragg_ray_of_pain") { }
+ public:
+ spell_moragg_ray() : SpellScriptLoader("spell_moragg_ray") { }
- class spell_moragg_ray_of_pain_AuraScript : public AuraScript
- {
- PrepareAuraScript(spell_moragg_ray_of_pain_AuraScript);
-
- void OnPeriodic(AuraEffect const* aurEff)
+ class spell_moragg_ray_AuraScript : public AuraScript
{
- PreventDefaultAction();
- std::list<HostileReference*> players = GetTarget()->getThreatManager().getThreatList();
- if (!players.empty())
+ PrepareAuraScript(spell_moragg_ray_AuraScript);
+
+ void OnPeriodic(AuraEffect const* aurEff)
{
- std::list<HostileReference*>::iterator itr = players.begin();
- std::advance(itr, urand(0, players.size() - 1));
+ PreventDefaultAction();
+
+ if (!GetTarget()->IsAIEnabled)
+ return;
- uint32 triggerSpell = GetSpellInfo()->GetEffect(aurEff->GetEffIndex())->TriggerSpell;
- GetTarget()->CastCustomSpell(triggerSpell, SPELLVALUE_MAX_TARGETS, 1, (*itr)->getTarget(), TRIGGERED_FULL_MASK, NULL, aurEff);
+ if (Unit* target = GetTarget()->GetAI()->SelectTarget(SELECT_TARGET_RANDOM, 0, 45.0f, true))
+ {
+ uint32 triggerSpell = aurEff->GetSpellEffectInfo()->TriggerSpell;
+ GetTarget()->CastSpell(target, triggerSpell, TRIGGERED_FULL_MASK, nullptr, aurEff);
+ }
}
- }
- void Register() override
+ void Register() override
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_moragg_ray_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
{
- OnEffectPeriodic += AuraEffectPeriodicFn(spell_moragg_ray_of_pain_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
+ return new spell_moragg_ray_AuraScript();
}
- };
-
- AuraScript* GetAuraScript() const override
- {
- return new spell_moragg_ray_of_pain_AuraScript();
- }
};
class spell_moragg_optic_link : public SpellScriptLoader
@@ -232,30 +150,15 @@ public:
void OnPeriodic(AuraEffect const* aurEff)
{
- switch (aurEff->GetTickNumber()) // Different visual based on tick
+ if (Unit* caster = GetCaster())
{
- case 1:
- case 2:
- case 3:
- GetTarget()->CastCustomSpell(SPELL_OPTIC_LINK_LEVEL_1, SPELLVALUE_MAX_TARGETS, 1, (Unit*)NULL, TRIGGERED_FULL_MASK, NULL, aurEff);
- break;
- case 4:
- case 5:
- case 6:
- case 7:
- GetTarget()->CastCustomSpell(SPELL_OPTIC_LINK_LEVEL_1, SPELLVALUE_MAX_TARGETS, 1, (Unit*)NULL, TRIGGERED_FULL_MASK, NULL, aurEff);
- GetTarget()->CastCustomSpell(SPELL_OPTIC_LINK_LEVEL_2, SPELLVALUE_MAX_TARGETS, 1, (Unit*)NULL, TRIGGERED_FULL_MASK, NULL, aurEff);
- break;
- case 8:
- case 9:
- case 10:
- case 11:
- GetTarget()->CastCustomSpell(SPELL_OPTIC_LINK_LEVEL_1, SPELLVALUE_MAX_TARGETS, 1, (Unit*)NULL, TRIGGERED_FULL_MASK, NULL, aurEff);
- GetTarget()->CastCustomSpell(SPELL_OPTIC_LINK_LEVEL_2, SPELLVALUE_MAX_TARGETS, 1, (Unit*)NULL, TRIGGERED_FULL_MASK, NULL, aurEff);
- GetTarget()->CastCustomSpell(SPELL_OPTIC_LINK_LEVEL_3, SPELLVALUE_MAX_TARGETS, 1, (Unit*)NULL, TRIGGERED_FULL_MASK, NULL, aurEff);
- break;
- default:
- break;
+ if (aurEff->GetTickNumber() >= 8)
+ caster->CastSpell(GetTarget(), SPELL_OPTIC_LINK_LEVEL_3, TRIGGERED_FULL_MASK, nullptr, aurEff);
+
+ if (aurEff->GetTickNumber() >= 4)
+ caster->CastSpell(GetTarget(), SPELL_OPTIC_LINK_LEVEL_2, TRIGGERED_FULL_MASK, nullptr, aurEff);
+
+ caster->CastSpell(GetTarget(), SPELL_OPTIC_LINK_LEVEL_1, TRIGGERED_FULL_MASK, nullptr, aurEff);
}
}
@@ -293,7 +196,6 @@ public:
void AddSC_boss_moragg()
{
new boss_moragg();
- new spell_moragg_ray_of_suffering();
- new spell_moragg_ray_of_pain();
+ new spell_moragg_ray();
new spell_moragg_optic_link();
}
diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
index fe0f161cc27..62fcda47c9b 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
@@ -22,50 +22,53 @@
#include "Player.h"
#include "violet_hold.h"
+/*
+ * TODO:
+ * - Implement Ethereal Summon Target
+ */
+
enum Spells
{
SPELL_ARCANE_BARRAGE_VOLLEY = 54202,
SPELL_ARCANE_BUFFET = 54226,
- SPELL_SUMMON_ETHEREAL_SPHERE_1 = 54102,
- SPELL_SUMMON_ETHEREAL_SPHERE_2 = 61337,
- SPELL_SUMMON_ETHEREAL_SPHERE_3 = 54138
+ SPELL_SUMMON_TARGET_VISUAL = 54111
};
+static uint32 const EtherealSphereCount = 3;
+static uint32 const EtherealSphereSummonSpells[EtherealSphereCount] = { 54102, 54137, 54138 };
+static uint32 const EtherealSphereHeroicSummonSpells[EtherealSphereCount] = { 54102, 54137, 54138 };
+
enum NPCs
{
NPC_ETHEREAL_SPHERE = 29271,
- NPC_ETHEREAL_SPHERE2 = 32582
+ NPC_ETHEREAL_SPHERE2 = 32582,
+ NPC_ETHEREAL_SUMMON_TARGET = 29276
};
enum CreatureSpells
{
SPELL_ARCANE_POWER = 54160,
H_SPELL_ARCANE_POWER = 59474,
+ SPELL_MAGIC_PULL = 50770,
SPELL_SUMMON_PLAYERS = 54164,
SPELL_POWER_BALL_VISUAL = 54141,
- SPELL_POWER_BALL_DAMAGE_TRIGGER = 54207
+ SPELL_POWER_BALL_DAMAGE_TRIGGER = 54207,
+ SPELL_POWER_BALL_DAMAGE_TRIGGER_H = 59476
};
enum Yells
{
+ // Xevozz
SAY_AGGRO = 0,
SAY_SLAY = 1,
SAY_DEATH = 2,
SAY_SPAWN = 3,
SAY_CHARGED = 4,
SAY_REPEAT_SUMMON = 5,
- SAY_SUMMON_ENERGY = 6
-};
+ SAY_SUMMON_ENERGY = 6,
-enum XevozzEvents
-{
- EVENT_ARCANE_BARRAGE = 1,
- EVENT_ARCANE_BUFFET,
- EVENT_SUMMON_SPHERE,
- EVENT_SUMMON_SPHERE_2,
- EVENT_RANGE_CHECK,
- EVENT_SUMMON_PLAYERS,
- EVENT_DESPAWN_SPHERE
+ // Ethereal Sphere
+ SAY_ETHEREAL_SPHERE_SUMMON = 0
};
enum SphereActions
@@ -75,319 +78,210 @@ enum SphereActions
class boss_xevozz : public CreatureScript
{
-public:
- boss_xevozz() : CreatureScript("boss_xevozz") { }
-
- struct boss_xevozzAI : public ScriptedAI
- {
- boss_xevozzAI(Creature* creature) : ScriptedAI(creature)
- {
- instance = creature->GetInstanceScript();
- }
+ public:
+ boss_xevozz() : CreatureScript("boss_xevozz") { }
- void Reset() override
+ struct boss_xevozzAI : public BossAI
{
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetBossState(DATA_1ST_BOSS_EVENT, NOT_STARTED);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetBossState(DATA_2ND_BOSS_EVENT, NOT_STARTED);
+ boss_xevozzAI(Creature* creature) : BossAI(creature, DATA_XEVOZZ) { }
- DespawnSphere();
- events.Reset();
- }
+ void Reset() override
+ {
+ BossAI::Reset();
+ }
- void DespawnSphere()
- {
- std::list<Creature*> assistList;
- GetCreatureListWithEntryInGrid(assistList, me, NPC_ETHEREAL_SPHERE, 150.0f);
- GetCreatureListWithEntryInGrid(assistList, me, NPC_ETHEREAL_SPHERE2, 150.0f);
+ void EnterCombat(Unit* who) override
+ {
+ BossAI::EnterCombat(who);
+ Talk(SAY_AGGRO);
+ }
- if (assistList.empty())
- return;
+ void JustReachedHome() override
+ {
+ BossAI::JustReachedHome();
+ instance->SetData(DATA_HANDLE_CELLS, DATA_XEVOZZ);
+ }
- for (std::list<Creature*>::const_iterator iter = assistList.begin(); iter != assistList.end(); ++iter)
+ void JustSummoned(Creature* summon) override
{
- if (Creature* pSphere = *iter)
- pSphere->Kill(pSphere, false);
+ BossAI::JustSummoned(summon);
+ summon->GetMotionMaster()->MoveFollow(me, 0.0f, 0.0f);
}
- }
- void JustSummoned(Creature* summoned) override
- {
- summoned->SetSpeed(MOVE_RUN, 0.5f);
- summoned->GetMotionMaster()->MoveFollow(me, 0.0f, 0.0f);
- }
+ void KilledUnit(Unit* victim) override
+ {
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
+ }
- void AttackStart(Unit* who) override
- {
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
- return;
+ void JustDied(Unit* killer) override
+ {
+ BossAI::JustDied(killer);
+ Talk(SAY_DEATH);
+ }
- if (me->Attack(who, true))
+ void SpellHit(Unit* /*who*/, SpellInfo const* spell) override
{
- me->AddThreat(who, 0.0f);
- me->SetInCombatWith(who);
- who->SetInCombatWith(me);
- DoStartMovement(who);
+ if (spell->Id == SPELL_ARCANE_POWER || spell->Id == H_SPELL_ARCANE_POWER)
+ Talk(SAY_SUMMON_ENERGY);
}
- }
- void EnterCombat(Unit* /*who*/) override
- {
- if (GameObject* door = instance->GetGameObject(DATA_XEVOZZ_CELL))
- if (door->GetGoState() == GO_STATE_READY)
- {
- EnterEvadeMode();
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
return;
- }
-
- Talk(SAY_AGGRO);
-
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetBossState(DATA_1ST_BOSS_EVENT, IN_PROGRESS);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetBossState(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
-
- events.ScheduleEvent(EVENT_SUMMON_SPHERE, 5000);
- events.ScheduleEvent(EVENT_ARCANE_BARRAGE, urand(8000, 10000));
- events.ScheduleEvent(EVENT_ARCANE_BUFFET, urand(10000, 11000));
- }
- void JustDied(Unit* /*killer*/) override
- {
- Talk(SAY_DEATH);
-
- DespawnSphere();
-
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- {
- instance->SetBossState(DATA_1ST_BOSS_EVENT, DONE);
- instance->SetData(DATA_WAVE_COUNT, 7);
+ scheduler.Update(diff,
+ std::bind(&BossAI::DoMeleeAttackIfReady, this));
}
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
+
+ void ScheduleTasks() override
{
- instance->SetBossState(DATA_2ND_BOSS_EVENT, NOT_STARTED);
- instance->SetData(DATA_WAVE_COUNT, 13);
- }
- }
+ scheduler.Schedule(Seconds(8), Seconds(10), [this](TaskContext task)
+ {
+ DoCastAOE(SPELL_ARCANE_BARRAGE_VOLLEY);
+ task.Repeat(Seconds(8), Seconds(10));
+ });
- void KilledUnit(Unit* victim) override
- {
- if (victim->GetTypeId() == TYPEID_PLAYER)
- Talk(SAY_SLAY);
- }
+ scheduler.Schedule(Seconds(10), Seconds(11), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 45.0f, true))
+ DoCast(target, SPELL_ARCANE_BUFFET);
+ task.Repeat(Seconds(15), Seconds(20));
+ });
- void SpellHit(Unit* who, const SpellInfo* spell) override
- {
- if (!who->ToCreature())
- return;
+ scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ Talk(SAY_REPEAT_SUMMON);
- if ((spell->Id == SPELL_ARCANE_POWER) || (spell->Id == H_SPELL_ARCANE_POWER))
- Talk(SAY_SUMMON_ENERGY);
- }
+ std::list<uint8> summonSpells = { 0, 1, 2 };
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
+ uint8 spell = Trinity::Containers::SelectRandomContainerElement(summonSpells);
+ DoCast(me, EtherealSphereSummonSpells[spell]);
+ summonSpells.remove(spell);
- events.Update(diff);
+ if (IsHeroic())
+ {
+ spell = Trinity::Containers::SelectRandomContainerElement(summonSpells);
+ task.Schedule(Milliseconds(2500), [this, spell](TaskContext /*task*/)
+ {
+ DoCast(me, EtherealSphereHeroicSummonSpells[spell]);
+ });
+ }
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
+ task.Schedule(Seconds(33), Seconds(35), [this](TaskContext /*task*/)
+ {
+ DummyEntryCheckPredicate pred;
+ summons.DoAction(ACTION_SUMMON, pred);
+ });
- switch (events.ExecuteEvent())
- {
- case EVENT_ARCANE_BARRAGE:
- DoCast(SPELL_ARCANE_BARRAGE_VOLLEY);
- events.ScheduleEvent(EVENT_ARCANE_BARRAGE, urand(8000, 10000));
- break;
- case EVENT_ARCANE_BUFFET:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_ARCANE_BUFFET);
- events.ScheduleEvent(EVENT_ARCANE_BUFFET, urand(15000, 20000));
- break;
- case EVENT_SUMMON_SPHERE:
- Talk(SAY_REPEAT_SUMMON);
- DoCast(SPELL_SUMMON_ETHEREAL_SPHERE_1);
- if (IsHeroic())
- events.ScheduleEvent(EVENT_SUMMON_SPHERE_2, 2500);
- events.ScheduleEvent(EVENT_SUMMON_PLAYERS, urand(33000, 35000));
- events.ScheduleEvent(EVENT_SUMMON_SPHERE, urand(45000, 47000));
- break;
- case EVENT_SUMMON_SPHERE_2:
- Talk(SAY_REPEAT_SUMMON);
- DoCast(SPELL_SUMMON_ETHEREAL_SPHERE_2);
- break;
- case EVENT_SUMMON_PLAYERS:
- {
- Creature* sphere = me->FindNearestCreature(NPC_ETHEREAL_SPHERE, 150.0f);
- if (!sphere)
- sphere = me->FindNearestCreature(NPC_ETHEREAL_SPHERE2, 150.0f);
- if (sphere)
- sphere->GetAI()->DoAction(ACTION_SUMMON);
- break;
- }
- default:
- break;
+ task.Repeat(Seconds(45), Seconds(47));
+ });
}
+ };
- DoMeleeAttackIfReady();
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<boss_xevozzAI>(creature);
}
-
- private:
- InstanceScript* instance;
- EventMap events;
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_xevozzAI>(creature);
- }
};
class npc_ethereal_sphere : public CreatureScript
{
-public:
- npc_ethereal_sphere() : CreatureScript("npc_ethereal_sphere") { }
+ public:
+ npc_ethereal_sphere() : CreatureScript("npc_ethereal_sphere") { }
- struct npc_ethereal_sphereAI : public ScriptedAI
- {
- npc_ethereal_sphereAI(Creature* creature) : ScriptedAI(creature)
+ struct npc_ethereal_sphereAI : public ScriptedAI
{
- Initialize();
- instance = creature->GetInstanceScript();
- }
+ npc_ethereal_sphereAI(Creature* creature) : ScriptedAI(creature)
+ {
+ instance = creature->GetInstanceScript();
+ }
- void Initialize()
- {
- arcanePower = false;
- }
+ void Reset() override
+ {
+ scheduler.CancelAll();
+ ScheduledTasks();
- void Reset() override
- {
- Initialize();
- events.Reset();
- DoCast(SPELL_POWER_BALL_VISUAL);
- DoCast(SPELL_POWER_BALL_DAMAGE_TRIGGER);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
- me->setFaction(16);
- events.ScheduleEvent(EVENT_DESPAWN_SPHERE, 40000);
- events.ScheduleEvent(EVENT_RANGE_CHECK, 1000);
- }
+ DoCast(me, SPELL_POWER_BALL_VISUAL);
+ DoCast(me, DUNGEON_MODE(SPELL_POWER_BALL_DAMAGE_TRIGGER, SPELL_POWER_BALL_DAMAGE_TRIGGER_H));
- void DoAction(int32 action) override
- {
- if (action == ACTION_SUMMON)
- DoCast(SPELL_SUMMON_PLAYERS);
- }
+ me->DespawnOrUnsummon(40000);
+ }
- void UpdateAI(uint32 diff) override
- {
- events.Update(diff);
+ void DoAction(int32 action) override
+ {
+ if (action == ACTION_SUMMON)
+ {
+ Talk(SAY_ETHEREAL_SPHERE_SUMMON);
+ DoCastAOE(SPELL_SUMMON_PLAYERS);
+ }
+ }
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
+ void UpdateAI(uint32 diff) override
+ {
+ scheduler.Update(diff);
+ }
- switch (events.ExecuteEvent())
+ void ScheduledTasks()
{
- case EVENT_RANGE_CHECK:
- if (Creature* xevozz = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_XEVOZZ)))
+ scheduler.Schedule(Seconds(1), [this](TaskContext task)
+ {
+ if (Creature* xevozz = instance->GetCreature(DATA_XEVOZZ))
{
- if (me->IsWithinDist(xevozz, 3.0f) && !arcanePower)
+ if (me->IsWithinDist(xevozz, 3.0f))
{
- DoCast(SPELL_ARCANE_POWER);
- arcanePower = true;
- events.ScheduleEvent(EVENT_DESPAWN_SPHERE, 8000);
+ DoCastAOE(SPELL_ARCANE_POWER);
+ me->DespawnOrUnsummon(8000);
+ return;
}
}
- events.ScheduleEvent(EVENT_RANGE_CHECK, 1000);
- break;
- case EVENT_DESPAWN_SPHERE:
- me->DespawnOrUnsummon();
- break;
+ task.Repeat();
+ });
}
- }
- private:
- InstanceScript* instance;
- EventMap events;
- bool arcanePower;
- };
+ private:
+ InstanceScript* instance;
+ TaskScheduler scheduler;
+ };
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_ethereal_sphereAI>(creature);
- }
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<npc_ethereal_sphereAI>(creature);
+ }
};
class spell_xevozz_summon_players : public SpellScriptLoader
{
-public:
- spell_xevozz_summon_players() : SpellScriptLoader("spell_xevozz_summon_players") { }
-
- class spell_xevozz_summon_players_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_xevozz_summon_players_SpellScript);
+ public:
+ spell_xevozz_summon_players() : SpellScriptLoader("spell_xevozz_summon_players") { }
- void HandleScript(SpellEffIndex /*effIndex*/)
+ class spell_xevozz_summon_players_SpellScript : public SpellScript
{
- Unit* target = GetHitUnit();
+ PrepareSpellScript(spell_xevozz_summon_players_SpellScript);
- if (target)
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
- Position pos = GetOriginalCaster()->GetPosition();
-
- target->NearTeleportTo(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation());
+ if (!sSpellMgr->GetSpellInfo(SPELL_MAGIC_PULL))
+ return false;
+ return true;
}
- }
-
- void Register() override
- {
- OnEffectHitTarget += SpellEffectFn(spell_xevozz_summon_players_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
- }
- };
-
- SpellScript* GetSpellScript() const override
- {
- return new spell_xevozz_summon_players_SpellScript();
- }
-};
-
-class spell_xevozz_summon_ethereal_sphere : public SpellScriptLoader
-{
-public:
- spell_xevozz_summon_ethereal_sphere() : SpellScriptLoader("spell_xevozz_summon_ethereal_sphere") { }
-
- class spell_xevozz_summon_ethereal_sphere_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_xevozz_summon_ethereal_sphere_SpellScript);
- void HandleScript(SpellDestination& target)
- {
- Unit* caster = GetOriginalCaster();
- Position pos;
- float distance = 0.0f;
-
- while (distance < 20.0f)
+ void HandleScript(SpellEffIndex /*effIndex*/)
{
- pos = caster->GetRandomNearPosition(60.0f);
- distance = caster->GetDistance(pos);
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_MAGIC_PULL, true);
}
- target.Relocate(pos);
- }
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_xevozz_summon_players_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+ };
- void Register() override
+ SpellScript* GetSpellScript() const override
{
- OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_xevozz_summon_ethereal_sphere_SpellScript::HandleScript, EFFECT_0, TARGET_DEST_DB);
+ return new spell_xevozz_summon_players_SpellScript();
}
- };
-
- SpellScript* GetSpellScript() const override
- {
- return new spell_xevozz_summon_ethereal_sphere_SpellScript();
- }
};
void AddSC_boss_xevozz()
@@ -395,5 +289,4 @@ void AddSC_boss_xevozz()
new boss_xevozz();
new npc_ethereal_sphere();
new spell_xevozz_summon_players();
- new spell_xevozz_summon_ethereal_sphere();
}
diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
index 5b3f06c9e40..14d7b5fcd95 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
@@ -25,6 +25,10 @@ enum Spells
SPELL_SUMMON_VOID_SENTRY = 54369,
SPELL_VOID_SHIFT = 54361,
SPELL_VOID_SHIFTED = 54343,
+ SPELL_ZURAMAT_ADD = 54341,
+ SPELL_ZURAMAT_ADD_2 = 54342,
+ SPELL_ZURAMAT_ADD_DUMMY = 54351,
+ SPELL_SUMMON_VOID_SENTRY_BALL = 58650
};
enum Yells
@@ -39,188 +43,172 @@ enum Yells
enum Misc
{
+ ACTION_DESPAWN_VOID_SENTRY_BALL = 1,
DATA_VOID_DANCE = 2153
};
-enum ZuramatEvents
-{
- EVENT_VOID_SHIFT = 1,
- EVENT_SUMMON_VOID,
- EVENT_SHROUD_OF_DARKNESS
-};
-
class boss_zuramat : public CreatureScript
{
-public:
- boss_zuramat() : CreatureScript("boss_zuramat") { }
+ public:
+ boss_zuramat() : CreatureScript("boss_zuramat") { }
- struct boss_zuramatAI : public ScriptedAI
- {
- boss_zuramatAI(Creature* creature) : ScriptedAI(creature), sentries(me)
+ struct boss_zuramatAI : public BossAI
{
- Initialize();
- instance = creature->GetInstanceScript();
- }
+ boss_zuramatAI(Creature* creature) : BossAI(creature, DATA_ZURAMAT)
+ {
+ Initialize();
+ }
- void Initialize()
- {
- voidDance = true;
- }
+ void Initialize()
+ {
+ _voidDance = true;
+ }
- void DespawnSentries()
- {
- sentries.DespawnAll();
- std::list<Creature*> sentrylist;
- GetCreatureListWithEntryInGrid(sentrylist, me, NPC_VOID_SENTRY_BALL, 200.0f);
- if (!sentrylist.empty())
- for (std::list<Creature*>::const_iterator itr = sentrylist.begin(); itr != sentrylist.end(); ++itr)
- (*itr)->DespawnOrUnsummon();
- }
+ void Reset() override
+ {
+ BossAI::Reset();
+ Initialize();
+ }
- void Reset() override
- {
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetData(DATA_1ST_BOSS_EVENT, NOT_STARTED);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetData(DATA_2ND_BOSS_EVENT, NOT_STARTED);
-
- Initialize();
- events.Reset();
- DespawnSentries();
- }
+ void EnterCombat(Unit* who) override
+ {
+ BossAI::EnterCombat(who);
+ Talk(SAY_AGGRO);
+ }
- void AttackStart(Unit* who) override
- {
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
- return;
+ void JustReachedHome() override
+ {
+ BossAI::JustReachedHome();
+ instance->SetData(DATA_HANDLE_CELLS, DATA_ZURAMAT);
+ }
- if (me->Attack(who, true))
+ void SummonedCreatureDies(Creature* summon, Unit* /*who*/) override
{
- me->AddThreat(who, 0.0f);
- me->SetInCombatWith(who);
- who->SetInCombatWith(me);
- DoStartMovement(who);
+ if (summon->GetEntry() == NPC_VOID_SENTRY)
+ _voidDance = false;
}
- }
- void EnterCombat(Unit* /*who*/) override
- {
- if (GameObject* door = instance->GetGameObject(DATA_ZURAMAT_CELL))
- if (door->GetGoState() == GO_STATE_READY)
- {
- EnterEvadeMode();
+ void SummonedCreatureDespawn(Creature* summon) override
+ {
+ if (summon->GetEntry() == NPC_VOID_SENTRY)
+ summon->AI()->DoAction(ACTION_DESPAWN_VOID_SENTRY_BALL);
+ BossAI::SummonedCreatureDespawn(summon);
+ }
+
+ uint32 GetData(uint32 type) const override
+ {
+ if (type == DATA_VOID_DANCE)
+ return _voidDance ? 1 : 0;
+
+ return 0;
+ }
+
+ void JustDied(Unit* killer) override
+ {
+ BossAI::JustDied(killer);
+ Talk(SAY_DEATH);
+ }
+
+ void KilledUnit(Unit* victim) override
+ {
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
return;
- }
- Talk(SAY_AGGRO);
+ scheduler.Update(diff,
+ std::bind(&BossAI::DoMeleeAttackIfReady, this));
+ }
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
- instance->SetBossState(DATA_1ST_BOSS_EVENT, IN_PROGRESS);
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
- instance->SetData(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
+ void ScheduleTasks() override
+ {
+ scheduler.Schedule(Seconds(4), [this](TaskContext task)
+ {
+ DoCast(me, SPELL_SUMMON_VOID_SENTRY);
+ task.Repeat(Seconds(7), Seconds(10));
+ });
- me->SetInCombatWithZone();
- events.ScheduleEvent(EVENT_SHROUD_OF_DARKNESS, urand(18000, 20000));
- events.ScheduleEvent(EVENT_VOID_SHIFT, 9000);
- events.ScheduleEvent(EVENT_SUMMON_VOID, 4000);
- }
+ scheduler.Schedule(Seconds(9), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 60.0f, true))
+ DoCast(target, SPELL_VOID_SHIFT);
+ task.Repeat(Seconds(15));
+ });
- void JustSummoned(Creature* summon) override
- {
- sentries.Summon(summon);
- }
+ scheduler.Schedule(Seconds(18), Seconds(20), [this](TaskContext task)
+ {
+ DoCast(me, SPELL_SHROUD_OF_DARKNESS);
+ task.Repeat(Seconds(18), Seconds(20));
+ });
+ }
- void SummonedCreatureDies(Creature* summoned, Unit* /*who*/) override
- {
- if (summoned->GetEntry() == NPC_VOID_SENTRY)
- voidDance = false;
- }
+ private:
+ bool _voidDance;
+ };
- uint32 GetData(uint32 type) const override
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (type == DATA_VOID_DANCE)
- return voidDance ? 1 : 0;
-
- return 0;
+ return GetVioletHoldAI<boss_zuramatAI>(creature);
}
+};
- void JustDied(Unit* /*killer*/) override
+class npc_void_sentry : public CreatureScript
+{
+ public:
+ npc_void_sentry() : CreatureScript("npc_void_sentry") { }
+
+ struct npc_void_sentryAI : public ScriptedAI
{
- instance->SetData(DATA_ZURAMAT, 1);
+ npc_void_sentryAI(Creature* creature) : ScriptedAI(creature), _summons(creature)
+ {
+ me->SetReactState(REACT_PASSIVE);
+ }
- Talk(SAY_DEATH);
+ void IsSummonedBy(Unit* /*summoner*/) override
+ {
+ me->CastSpell(me, SPELL_SUMMON_VOID_SENTRY_BALL, true);
+ }
- DespawnSentries();
+ void JustSummoned(Creature* summon) override
+ {
+ _summons.Summon(summon);
+ summon->SetReactState(REACT_PASSIVE);
+ }
- if (instance->GetData(DATA_WAVE_COUNT) == 6)
+ void SummonedCreatureDespawn(Creature* summon) override
{
- instance->SetBossState(DATA_1ST_BOSS_EVENT, DONE);
- instance->SetData(DATA_WAVE_COUNT, 7);
+ _summons.Despawn(summon);
}
- else if (instance->GetData(DATA_WAVE_COUNT) == 12)
+
+ void DoAction(int32 actionId) override
{
- instance->SetBossState(DATA_2ND_BOSS_EVENT, DONE);
- instance->SetData(DATA_WAVE_COUNT, 13);
+ if (actionId == ACTION_DESPAWN_VOID_SENTRY_BALL)
+ _summons.DespawnAll();
}
- }
- void KilledUnit(Unit* victim) override
- {
- if (victim->GetTypeId() == TYPEID_PLAYER)
- Talk(SAY_SLAY);
- }
+ void JustDied(Unit* /*killer*/) override
+ {
+ DoAction(ACTION_DESPAWN_VOID_SENTRY_BALL);
+ }
- void UpdateAI(uint32 diff) override
+ private:
+ SummonList _summons;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (!UpdateVictim())
- return;
-
- events.Update(diff);
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
-
- switch (events.ExecuteEvent())
- {
- case EVENT_SUMMON_VOID:
- DoCast(SPELL_SUMMON_VOID_SENTRY);
- events.ScheduleEvent(EVENT_SUMMON_VOID, urand(7000, 10000));
- break;
- case EVENT_VOID_SHIFT:
- if (Unit* unit = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(unit, SPELL_VOID_SHIFT);
- events.ScheduleEvent(EVENT_VOID_SHIFT, 15000);
- break;
- case EVENT_SHROUD_OF_DARKNESS:
- DoCast(SPELL_SHROUD_OF_DARKNESS);
- events.ScheduleEvent(EVENT_SHROUD_OF_DARKNESS, urand(18000, 20000));
- break;
- default:
- break;
- }
-
- DoMeleeAttackIfReady();
+ return GetVioletHoldAI<npc_void_sentryAI>(creature);
}
-
- private:
- InstanceScript* instance;
- EventMap events;
- SummonList sentries;
- bool voidDance;
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_zuramatAI>(creature);
- }
};
class achievement_void_dance : public AchievementCriteriaScript
{
public:
- achievement_void_dance() : AchievementCriteriaScript("achievement_void_dance")
- {
- }
+ achievement_void_dance() : AchievementCriteriaScript("achievement_void_dance") { }
bool OnCheck(Player* /*player*/, Unit* target) override
{
@@ -238,5 +226,6 @@ class achievement_void_dance : public AchievementCriteriaScript
void AddSC_boss_zuramat()
{
new boss_zuramat();
+ new npc_void_sentry();
new achievement_void_dance();
}
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index e9c526df42e..9b51e5611ad 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -18,82 +18,150 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "InstanceScript.h"
+#include "WorldStatePackets.h"
#include "violet_hold.h"
#include "Player.h"
-#include "TemporarySummon.h"
-
-/* Violet Hold encounters:
-0 - First boss
-1 - Second boss
-2 - Cyanigosa*/
-
-/* Violet hold bosses:
-1 - Moragg
-2 - Erekem
-3 - Ichoron
-4 - Lavanthor
-5 - Xevozz
-6 - Zuramat
-7 - Cyanigosa */
-
-enum AzureSaboteurSpells
+
+/*
+ * TODO:
+ * - replace bosses by dummy npcs also after grid unload
+ */
+
+Position const DefenseSystemLocation = { 1888.146f, 803.382f, 58.60389f, 3.071779f }; // sniff
+
+Position const CyanigosaSpawnLocation = { 1922.109f, 804.4493f, 52.49254f, 3.176499f }; // sniff
+Position const CyanigosaJumpLocation = { 1888.32f, 804.473f, 38.3578f, 0.0f }; // sniff
+
+Position const SaboteurSpawnLocation = { 1886.251f, 803.0743f, 38.42326f, 3.211406f }; // sniff
+
+uint32 const PortalPositionsSize = 5;
+Position const PortalPositions[PortalPositionsSize] = // sniff
+{
+ { 1877.523f, 850.1788f, 45.36822f, 4.34587f }, // 0
+ { 1890.679f, 753.4202f, 48.771f, 1.675516f }, // 1
+ { 1936.09f, 803.1875f, 54.09715f, 3.054326f }, // 2
+ { 1858.243f, 770.2379f, 40.42146f, 0.9075712f }, // 3
+ { 1907.288f, 831.1111f, 40.22015f, 3.560472f } // 4
+};
+
+uint32 const PortalElitePositionsSize = 3;
+Position const PortalElitePositions[PortalElitePositionsSize] = // sniff
+{
+ { 1911.281f, 800.9722f, 39.91673f, 3.01942f }, // 5
+ { 1926.516f, 763.6616f, 52.35725f, 2.251475f }, // 6
+ { 1922.464f, 847.0699f, 48.50161f, 3.961897f } // 7
+};
+
+uint32 const PortalIntroPositionsSize = 5;
+Position const PortalIntroPositions[PortalIntroPositionsSize] = // sniff
+{
+ { 1877.51f, 850.1042f, 44.65989f, 4.782202f }, // 0 - Intro
+ { 1890.637f, 753.4705f, 48.72239f, 1.710423f }, // 1 - Intro
+ { 1936.073f, 803.1979f, 53.37491f, 3.124139f }, // 2 - Intro
+ { 1886.545f, 803.2014f, 40.40931f, 3.159046f }, // 3 - Boss 1/2
+ { 1924.096f, 804.3707f, 54.29256f, 3.228859f } // 4 - Boss 3
+};
+
+uint32 const EncouterPortalsCount = PortalPositionsSize + PortalElitePositionsSize;
+
+uint32 const MoraggPathSize = 3;
+G3D::Vector3 const MoraggPath[MoraggPathSize] = // sniff
+{
+ { 1893.895f, 728.1261f, 47.75016f },
+ { 1892.997f, 738.4987f, 47.66684f },
+ { 1889.76f, 758.1089f, 47.66684f }
+};
+
+uint32 const ErekemPathSize = 3;
+G3D::Vector3 const ErekemPath[ErekemPathSize] = // sniff
+{
+ { 1871.456f, 871.0361f, 43.41524f },
+ { 1874.948f, 859.5452f, 43.33349f },
+ { 1877.245f, 851.967f, 43.3335f }
+};
+
+uint32 const ErekemGuardLeftPathSize = 3;
+G3D::Vector3 const ErekemGuardLeftPath[ErekemGuardLeftPathSize] = // sniff
+{
+ { 1853.752f, 862.4528f, 43.41614f },
+ { 1866.931f, 854.577f, 43.3335f },
+ { 1872.973f, 850.7875f, 43.3335f }
+};
+
+uint32 const ErekemGuardRightPathSize = 3;
+G3D::Vector3 const ErekemGuardRightPath[ErekemGuardRightPathSize] = // sniff
+{
+ { 1892.418f, 872.2831f, 43.41563f },
+ { 1885.639f, 859.0245f, 43.3335f },
+ { 1882.432f, 852.2423f, 43.3335f }
+};
+
+uint32 const IchoronPathSize = 5;
+G3D::Vector3 const IchoronPath[IchoronPathSize] = // sniff
{
- SABOTEUR_SHIELD_DISRUPTION = 58291,
- SABOTEUR_SHIELD_EFFECT = 45775
+ { 1942.041f, 749.5228f, 30.95229f },
+ { 1930.571f, 762.9065f, 31.98814f },
+ { 1923.657f, 770.6718f, 34.07256f },
+ { 1910.631f, 784.4096f, 37.09015f },
+ { 1906.595f, 788.3828f, 37.99429f }
};
-enum CrystalSpells
+uint32 const LavanthorPathSize = 3;
+G3D::Vector3 const LavanthorPath[LavanthorPathSize] = // sniff
{
- SPELL_ARCANE_LIGHTNING = 57930
+ { 1844.557f, 748.7083f, 38.74205f },
+ { 1854.618f, 761.5295f, 38.65631f },
+ { 1862.17f, 773.2255f, 38.74879f }
};
-Position const PortalLocation[] =
+uint32 const XevozzPathSize = 3;
+G3D::Vector3 const XevozzPath[XevozzPathSize] = // sniff
{
- {1877.51f, 850.104f, 44.6599f, 4.7822f }, // WP 1
- {1918.37f, 853.437f, 47.1624f, 4.12294f}, // WP 2
- {1936.07f, 803.198f, 53.3749f, 3.12414f}, // WP 3
- {1927.61f, 758.436f, 51.4533f, 2.20891f}, // WP 4
- {1890.64f, 753.471f, 48.7224f, 1.71042f}, // WP 5
- {1908.31f, 809.657f, 38.7037f, 3.08701f} // WP 6
+ { 1908.417f, 845.8502f, 38.71947f },
+ { 1905.557f, 841.3157f, 38.65529f },
+ { 1899.453f, 832.533f, 38.70752f }
+};
+
+uint32 const ZuramatPathSize = 3;
+G3D::Vector3 const ZuramatPath[ZuramatPathSize] = // sniff
+{
+ { 1934.151f, 860.9463f, 47.29499f },
+ { 1927.085f, 852.1342f, 47.19214f },
+ { 1923.226f, 847.3297f, 47.15541f }
};
-Position const ArcaneSphere = {1887.060059f, 806.151001f, 61.321602f, 0.0f};
-Position const BossStartMove1 = {1894.684448f, 739.390503f, 47.668003f, 0.0f};
-Position const BossStartMove2 = {1875.173950f, 860.832703f, 43.333565f, 0.0f};
-Position const BossStartMove21 = {1858.854614f, 855.071411f, 43.333565f, 0.0f};
-Position const BossStartMove22 = {1891.926636f, 863.388977f, 43.333565f, 0.0f};
-Position const BossStartMove3 = {1916.138062f, 778.152222f, 35.772308f, 0.0f};
-Position const BossStartMove4 = {1853.618286f, 758.557617f, 38.657505f, 0.0f};
-Position const BossStartMove5 = {1906.683960f, 842.348022f, 38.637459f, 0.0f};
-Position const BossStartMove6 = {1928.207031f, 852.864441f, 47.200813f, 0.0f};
-
-Position const CyanigosasSpawnLocation = {1930.281250f, 804.407715f, 52.410946f, 3.139621f};
-Position const MiddleRoomLocation = {1892.291260f, 805.696838f, 38.438862f, 3.139621f};
-Position const MiddleRoomPortalSaboLocation = {1896.622925f, 804.854126f, 38.504772f, 3.139621f};
-
-// Cyanigosa's prefight event data
enum Yells
{
- CYANIGOSA_SAY_SPAWN = 0
+ SAY_CYANIGOSA_SPAWN = 3,
+ SAY_XEVOZZ_SPAWN = 3,
+ SAY_EREKEM_SPAWN = 3,
+ SAY_ICHORON_SPAWN = 3,
+ SAY_ZURAMAT_SPAWN = 3,
+
+ SOUND_MORAGG_SPAWN = 10112
};
enum Spells
{
- CYANIGOSA_SPELL_TRANSFORM = 58668,
- CYANIGOSA_BLUE_AURA = 47759,
+ SPELL_CYANIGOSA_TRANSFORM = 58668,
+ SPELL_CYANIGOSA_ARCANE_POWER_STATE = 49411,
+ SPELL_MORAGG_EMOTE_ROAR = 48350,
+ SPELL_LAVANTHOR_SPECIAL_UNARMED = 33334,
+ SPELL_ZURAMAT_COSMETIC_CHANNEL_OMNI = 57552
};
ObjectData const creatureData[] =
{
- { NPC_XEVOZZ, DATA_XEVOZZ },
- { NPC_LAVANTHOR, DATA_LAVANTHOR },
- { NPC_ICHORON, DATA_ICHORON },
- { NPC_ZURAMAT, DATA_ZURAMAT },
- { NPC_EREKEM, DATA_EREKEM },
- { NPC_MORAGG, DATA_MORAGG },
- { NPC_CYANIGOSA, DATA_CYANIGOSA },
- { NPC_SINCLARI, DATA_SINCLARI },
- { 0, 0 } // END
+ { NPC_XEVOZZ, DATA_XEVOZZ },
+ { NPC_LAVANTHOR, DATA_LAVANTHOR },
+ { NPC_ICHORON, DATA_ICHORON },
+ { NPC_ZURAMAT, DATA_ZURAMAT },
+ { NPC_EREKEM, DATA_EREKEM },
+ { NPC_MORAGG, DATA_MORAGG },
+ { NPC_CYANIGOSA, DATA_CYANIGOSA },
+ { NPC_SINCLARI, DATA_SINCLARI },
+ { NPC_SINCLARI_TRIGGER, DATA_SINCLARI_TRIGGER },
+ { 0, 0 } // END
};
ObjectData const gameObjectData[] =
@@ -110,598 +178,770 @@ ObjectData const gameObjectData[] =
{ 0, 0 } // END
};
+MinionData const minionData[] =
+{
+ { NPC_EREKEM_GUARD, DATA_EREKEM },
+ { 0, 0, } // END
+};
+
class instance_violet_hold : public InstanceMapScript
{
-public:
- instance_violet_hold() : InstanceMapScript("instance_violet_hold", 608) { }
+ public:
+ instance_violet_hold() : InstanceMapScript(VioletHoldScriptName, 608) { }
- struct instance_violet_hold_InstanceMapScript : public InstanceScript
- {
- instance_violet_hold_InstanceMapScript(Map* map) : InstanceScript(map)
+ struct instance_violet_hold_InstanceMapScript : public InstanceScript
{
- SetHeaders(DataHeader);
- SetBossNumber(EncounterCount);
- LoadObjectData(creatureData, gameObjectData);
-
- uiRemoveNpc = 0;
-
- uiDoorIntegrity = 100;
-
- uiWaveCount = 0;
- uiLocation = urand(0, 5);
- uiFirstBoss = 0;
- uiSecondBoss = 0;
- uiCountErekemGuards = 0;
- uiCountActivationCrystals = 0;
- uiCyanigosaEventPhase = 1;
-
- uiActivationTimer = 5000;
- uiDoorSpellTimer = 2000;
- uiCyanigosaEventTimer = 3 * IN_MILLISECONDS;
-
- bActive = false;
- bWiped = false;
- bIsDoorSpellCast = false;
- bCrystalActivated = false;
- defenseless = true;
- uiMainEventPhase = NOT_STARTED;
- zuramatDead = false;
- }
+ instance_violet_hold_InstanceMapScript(Map* map) : InstanceScript(map)
+ {
+ SetHeaders(DataHeader);
+ SetBossNumber(EncounterCount);
+ LoadObjectData(creatureData, gameObjectData);
+ LoadMinionData(minionData);
- ObjectGuid uiErekemGuard[2];
+ FirstBossId = 0;
+ SecondBossId = 0;
- ObjectGuid uiTeleportationPortal;
- ObjectGuid uiSaboteurPortal;
+ DoorIntegrity = 100;
+ WaveCount = 0;
+ EventState = NOT_STARTED;
- ObjectGuid uiActivationCrystal[4];
+ LastPortalLocation = urand(0, EncouterPortalsCount - 1);
- uint32 uiActivationTimer;
- uint32 uiCyanigosaEventTimer;
- uint32 uiDoorSpellTimer;
+ Defenseless = true;
+ }
- GuidSet trashMobs; // to kill with crystal
+ void OnCreatureCreate(Creature* creature) override
+ {
+ InstanceScript::OnCreatureCreate(creature);
- uint8 uiWaveCount;
- uint8 uiLocation;
- uint8 uiFirstBoss;
- uint8 uiSecondBoss;
- uint8 uiRemoveNpc;
+ switch (creature->GetEntry())
+ {
+ case NPC_EREKEM_GUARD:
+ for (uint8 i = 0; i < ErekemGuardCount; ++i)
+ if (ErekemGuardGUIDs[i].IsEmpty())
+ {
+ ErekemGuardGUIDs[i] = creature->GetGUID();
+ break;
+ }
+ break;
+ default:
+ break;
+ }
+ }
- uint8 uiDoorIntegrity;
+ void OnCreatureRemove(Creature* creature) override
+ {
+ InstanceScript::OnCreatureRemove(creature);
- uint8 uiCountErekemGuards;
- uint8 uiCountActivationCrystals;
- uint8 uiCyanigosaEventPhase;
- uint8 uiMainEventPhase; // SPECIAL: pre event animations, IN_PROGRESS: event itself
+ switch (creature->GetEntry())
+ {
+ case NPC_EREKEM_GUARD:
+ for (uint8 i = 0; i < ErekemGuardCount; ++i)
+ if (ErekemGuardGUIDs[i] == creature->GetGUID())
+ {
+ ErekemGuardGUIDs[i].Clear();
+ break;
+ }
+ break;
+ default:
+ break;
+ }
+ }
- bool bActive;
- bool bWiped;
- bool bIsDoorSpellCast;
- bool bCrystalActivated;
- bool defenseless;
- bool zuramatDead;
+ void OnGameObjectCreate(GameObject* go) override
+ {
+ InstanceScript::OnGameObjectCreate(go);
- std::list<uint8> NpcAtDoorCastingList;
+ switch (go->GetEntry())
+ {
+ case GO_ACTIVATION_CRYSTAL:
+ for (uint8 i = 0; i < ActivationCrystalCount; ++i)
+ if (ActivationCrystalGUIDs[i].IsEmpty())
+ {
+ ActivationCrystalGUIDs[i] = go->GetGUID();
+ break;
+ }
+ break;
+ default:
+ break;
+ }
+ }
- void OnCreatureCreate(Creature* creature) override
- {
- InstanceScript::OnCreatureCreate(creature);
+ void OnGameObjectRemove(GameObject* go) override
+ {
+ InstanceScript::OnGameObjectRemove(go);
+
+ switch (go->GetEntry())
+ {
+ case GO_ACTIVATION_CRYSTAL:
+ for (uint8 i = 0; i < ActivationCrystalCount; ++i)
+ if (ActivationCrystalGUIDs[i] == go->GetGUID())
+ {
+ ActivationCrystalGUIDs[i].Clear();
+ break;
+ }
+ break;
+ default:
+ break;
+ }
+ }
- switch (creature->GetEntry())
+ void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& data) override
{
- case NPC_EREKEM_GUARD:
- if (uiCountErekemGuards < 2)
- {
- uiErekemGuard[uiCountErekemGuards++] = creature->GetGUID();
- creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NON_ATTACKABLE);
- }
- break;
- case NPC_CYANIGOSA:
- creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NON_ATTACKABLE);
- break;
- default:
- break;
- case NPC_VOID_SENTRY:
- if (zuramatDead)
- {
- creature->DespawnOrUnsummon();
- zuramatDead = false;
- }
- break;
+ data.Worldstates.emplace_back(uint32(WORLD_STATE_VH_SHOW), uint32(EventState == IN_PROGRESS ? 1 : 0));
+ data.Worldstates.emplace_back(uint32(WORLD_STATE_VH_PRISON_STATE), uint32(DoorIntegrity));
+ data.Worldstates.emplace_back(uint32(WORLD_STATE_VH_WAVE_COUNT), uint32(WaveCount));
}
- /*if (creature->GetGUID() == uiFirstBoss || creature->GetGUID() == uiSecondBoss)
+ bool CheckRequiredBosses(uint32 bossId, Player const* player = nullptr) const override
{
- creature->AllLootRemovedFromCorpse();
- creature->RemoveLootMode(1);
- }*/
- }
+ if (_SkipCheckRequiredBosses(player))
+ return true;
- void OnGameObjectCreate(GameObject* go) override
- {
- InstanceScript::OnGameObjectCreate(go);
+ switch (bossId)
+ {
+ case DATA_MORAGG:
+ case DATA_EREKEM:
+ case DATA_ICHORON:
+ case DATA_LAVANTHOR:
+ case DATA_XEVOZZ:
+ case DATA_ZURAMAT:
+ /// old code used cell door state to check this
+ if (!(WaveCount == 6 && FirstBossId == bossId) && !(WaveCount == 12 && SecondBossId == bossId))
+ return false;
+ break;
+ case DATA_CYANIGOSA:
+ if (WaveCount < 18)
+ return false;
+ break;
+ default:
+ break;
+ }
- switch (go->GetEntry())
+ return true;
+ }
+
+ bool SetBossState(uint32 type, EncounterState state) override
{
- case GO_ACTIVATION_CRYSTAL:
- if (uiCountActivationCrystals < 4)
- uiActivationCrystal[uiCountActivationCrystals++] = go->GetGUID();
- break;
- default:
- break;
+ if (!InstanceScript::SetBossState(type, state))
+ return false;
+
+ switch (type)
+ {
+ case DATA_1ST_BOSS:
+ if (state == DONE)
+ UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, NPC_EREKEM, nullptr);
+ break;
+ case DATA_2ND_BOSS:
+ if (state == DONE)
+ UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, NPC_MORAGG, nullptr);
+ break;
+ case DATA_CYANIGOSA:
+ if (state == DONE)
+ SetData(DATA_MAIN_EVENT_STATE, DONE);
+ break;
+ case DATA_MORAGG:
+ case DATA_EREKEM:
+ case DATA_ICHORON:
+ case DATA_LAVANTHOR:
+ case DATA_XEVOZZ:
+ case DATA_ZURAMAT:
+ // this won't work correctly because bossstate was initializd with TO_BE_DECIDED
+ if (WaveCount == 6)
+ SetBossState(DATA_1ST_BOSS, state);
+ else if (WaveCount == 12)
+ SetBossState(DATA_2ND_BOSS, state);
+
+ if (state == DONE)
+ SetData(DATA_WAVE_COUNT, WaveCount + 1);
+ break;
+ default:
+ break;
+ }
+
+ return true;
}
- }
- bool SetBossState(uint32 type, EncounterState state) override
- {
- if (!InstanceScript::SetBossState(type, state))
- return false;
+ void SetData(uint32 type, uint32 data) override
+ {
+ switch (type)
+ {
+ case DATA_WAVE_COUNT:
+ WaveCount = data;
+ if (WaveCount)
+ {
+ Scheduler.Schedule(Seconds(IsBossWave(WaveCount - 1) ? 45 : 5), [this](TaskContext /*task*/)
+ {
+ AddWave();
+ });
+ }
+ break;
+ case DATA_DOOR_INTEGRITY:
+ DoorIntegrity = data;
+ Defenseless = false;
+ DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, DoorIntegrity);
+ break;
+ case DATA_START_BOSS_ENCOUNTER:
+ switch (WaveCount)
+ {
+ case 6:
+ StartBossEncounter(FirstBossId);
+ break;
+ case 12:
+ StartBossEncounter(SecondBossId);
+ break;
+ }
+ break;
+ case DATA_MAIN_EVENT_STATE:
+ EventState = data;
+ if (data == IN_PROGRESS) // Start event
+ {
+ DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, WaveCount);
+ DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, DoorIntegrity);
+ DoUpdateWorldState(WORLD_STATE_VH_SHOW, 1);
- switch (type)
+ WaveCount = 1;
+ Scheduler.Async(std::bind(&instance_violet_hold_InstanceMapScript::AddWave, this));
+
+ for (uint8 i = 0; i < ActivationCrystalCount; ++i)
+ if (GameObject* crystal = instance->GetGameObject(ActivationCrystalGUIDs[i]))
+ crystal->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ }
+ else if (data == NOT_STARTED)
+ {
+ if (GameObject* mainDoor = GetGameObject(DATA_MAIN_DOOR))
+ {
+ mainDoor->SetGoState(GO_STATE_ACTIVE);
+ mainDoor->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
+ }
+
+ DoUpdateWorldState(WORLD_STATE_VH_SHOW, 0);
+ DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, WaveCount);
+ DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, DoorIntegrity);
+
+ for (uint8 i = 0; i < ActivationCrystalCount; ++i)
+ if (GameObject* crystal = instance->GetGameObject(ActivationCrystalGUIDs[i]))
+ crystal->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ }
+ else if (data == DONE)
+ {
+ if (GameObject* mainDoor = GetGameObject(DATA_MAIN_DOOR))
+ {
+ mainDoor->SetGoState(GO_STATE_ACTIVE);
+ mainDoor->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
+ }
+
+ DoUpdateWorldState(WORLD_STATE_VH_SHOW, 0);
+
+ for (uint8 i = 0; i < ActivationCrystalCount; ++i)
+ if (GameObject* crystal = instance->GetGameObject(ActivationCrystalGUIDs[i]))
+ crystal->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+
+ if (Creature* sinclari = GetCreature(DATA_SINCLARI))
+ sinclari->AI()->DoAction(ACTION_SINCLARI_OUTRO);
+ }
+ break;
+ case DATA_HANDLE_CELLS:
+ HandleCells(data, false);
+ break;
+ }
+ }
+
+ uint32 GetData(uint32 type) const override
{
- case DATA_1ST_BOSS_EVENT:
- if (state == DONE)
- UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, NPC_EREKEM, nullptr);
- break;
- case DATA_2ND_BOSS_EVENT:
- if (state == DONE)
- UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, NPC_MORAGG, nullptr);
- break;
- case DATA_CYANIGOSA:
- if (state == DONE)
- {
- uiMainEventPhase = DONE;
- if (GameObject* mainDoor = GetGameObject(DATA_MAIN_DOOR))
- mainDoor->SetGoState(GO_STATE_ACTIVE);
- }
- break;
- default:
- break;
+ switch (type)
+ {
+ case DATA_1ST_BOSS:
+ return FirstBossId;
+ case DATA_2ND_BOSS:
+ return SecondBossId;
+ case DATA_MAIN_EVENT_STATE:
+ return EventState;
+ case DATA_WAVE_COUNT:
+ return WaveCount;
+ case DATA_DOOR_INTEGRITY:
+ return DoorIntegrity;
+ case DATA_DEFENSELESS:
+ return Defenseless ? 1 : 0;
+ default:
+ break;
+ }
+
+ return 0;
}
- return true;
- }
+ ObjectGuid GetGuidData(uint32 type) const override
+ {
+ switch (type)
+ {
+ case DATA_EREKEM_GUARD_1:
+ case DATA_EREKEM_GUARD_2:
+ return ErekemGuardGUIDs[type - DATA_EREKEM_GUARD_1];
+ default:
+ break;
+ }
- void SetData(uint32 type, uint32 data) override
- {
- switch (type)
+ return InstanceScript::GetGuidData(type);
+ }
+
+ void SpawnPortal()
{
- case DATA_WAVE_COUNT:
- uiWaveCount = data;
- bActive = true;
- break;
- case DATA_REMOVE_NPC:
- uiRemoveNpc = data;
- break;
- case DATA_PORTAL_LOCATION:
- uiLocation = (uint8)data;
- break;
- case DATA_DOOR_INTEGRITY:
- uiDoorIntegrity = data;
- defenseless = false;
- DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, uiDoorIntegrity);
- break;
- case DATA_NPC_PRESENCE_AT_DOOR_ADD:
- NpcAtDoorCastingList.push_back(data);
- break;
- case DATA_NPC_PRESENCE_AT_DOOR_REMOVE:
- if (!NpcAtDoorCastingList.empty())
- NpcAtDoorCastingList.pop_back();
- break;
- case DATA_MAIN_DOOR:
- if (GameObject* mainDoor = GetGameObject(type))
- mainDoor->SetGoState(GOState(data));
- break;
- case DATA_START_BOSS_ENCOUNTER:
- switch (uiWaveCount)
+ LastPortalLocation = (LastPortalLocation + urand(1, EncouterPortalsCount - 1)) % (EncouterPortalsCount);
+ if (Creature* sinclari = GetCreature(DATA_SINCLARI))
+ {
+ if (LastPortalLocation < PortalPositionsSize)
{
- case 6:
- StartBossEncounter(uiFirstBoss);
- break;
- case 12:
- StartBossEncounter(uiSecondBoss);
- break;
+ if (Creature* portal = sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL, PortalPositions[LastPortalLocation], TEMPSUMMON_CORPSE_DESPAWN))
+ portal->AI()->SetData(DATA_PORTAL_LOCATION, LastPortalLocation);
}
- break;
- case DATA_ACTIVATE_CRYSTAL:
- ActivateCrystal();
- break;
- case DATA_MAIN_EVENT_PHASE:
- uiMainEventPhase = data;
- if (data == IN_PROGRESS) // Start event
+ else
{
- if (GameObject* mainDoor = GetGameObject(DATA_MAIN_DOOR))
- mainDoor->SetGoState(GO_STATE_READY);
- uiWaveCount = 1;
- bActive = true;
- for (int i = 0; i < 4; ++i)
- if (GameObject* crystal = instance->GetGameObject(uiActivationCrystal[i]))
- crystal->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- uiRemoveNpc = 0; // might not have been reset after a wipe on a boss.
+ if (Creature* portal = sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL_ELITE, PortalElitePositions[LastPortalLocation - PortalPositionsSize], TEMPSUMMON_CORPSE_DESPAWN))
+ portal->AI()->SetData(DATA_PORTAL_LOCATION, LastPortalLocation);
}
- break;
- case DATA_ZURAMAT:
- zuramatDead = true;
- break;
+ }
}
- }
- void SetGuidData(uint32 type, ObjectGuid data) override
- {
- switch (type)
+ void HandleCells(uint8 bossId, bool open = true)
{
- case DATA_ADD_TRASH_MOB:
- trashMobs.insert(data);
- break;
- case DATA_DEL_TRASH_MOB:
- trashMobs.erase(data);
- break;
+ switch (bossId)
+ {
+ case DATA_MORAGG:
+ HandleGameObject(GetObjectGuid(DATA_MORAGG_CELL), open);
+ break;
+ case DATA_EREKEM:
+ HandleGameObject(GetObjectGuid(DATA_EREKEM_CELL), open);
+ HandleGameObject(GetObjectGuid(DATA_EREKEM_LEFT_GUARD_CELL), open);
+ HandleGameObject(GetObjectGuid(DATA_EREKEM_RIGHT_GUARD_CELL), open);
+ break;
+ case DATA_ICHORON:
+ HandleGameObject(GetObjectGuid(DATA_ICHORON_CELL), open);
+ break;
+ case DATA_LAVANTHOR:
+ HandleGameObject(GetObjectGuid(DATA_LAVANTHOR_CELL), open);
+ break;
+ case DATA_XEVOZZ:
+ HandleGameObject(GetObjectGuid(DATA_XEVOZZ_CELL), open);
+ break;
+ case DATA_ZURAMAT:
+ HandleGameObject(GetObjectGuid(DATA_ZURAMAT_CELL), open);
+ break;
+ default:
+ break;
+ }
}
- }
- uint32 GetData(uint32 type) const override
- {
- switch (type)
+ void StartBossEncounter(uint8 bossId)
{
- case DATA_WAVE_COUNT: return uiWaveCount;
- case DATA_REMOVE_NPC: return uiRemoveNpc;
- case DATA_PORTAL_LOCATION: return uiLocation;
- case DATA_DOOR_INTEGRITY: return uiDoorIntegrity;
- case DATA_NPC_PRESENCE_AT_DOOR: return NpcAtDoorCastingList.size();
- case DATA_FIRST_BOSS: return uiFirstBoss;
- case DATA_SECOND_BOSS: return uiSecondBoss;
- case DATA_MAIN_EVENT_PHASE: return uiMainEventPhase;
- case DATA_DEFENSELESS: return defenseless ? 1 : 0;
- }
+ switch (bossId)
+ {
+ case DATA_MORAGG:
+ Scheduler.Schedule(Seconds(2), [this](TaskContext task)
+ {
+ if (Creature* moragg = GetCreature(DATA_MORAGG))
+ {
+ moragg->PlayDirectSound(SOUND_MORAGG_SPAWN);
+ moragg->CastSpell(moragg, SPELL_MORAGG_EMOTE_ROAR);
+ }
+
+ task.Schedule(Seconds(3), [this](TaskContext task)
+ {
+ if (Creature* moragg = GetCreature(DATA_MORAGG))
+ moragg->GetMotionMaster()->MoveSmoothPath(POINT_INTRO, MoraggPath, MoraggPathSize, true);
+
+ task.Schedule(Seconds(8), [this](TaskContext /*task*/)
+ {
+ if (Creature* moragg = GetCreature(DATA_MORAGG))
+ {
+ moragg->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ moragg->AI()->DoZoneInCombat(moragg, 200.0f);
+ }
+ });
+ });
+ });
+ break;
+ case DATA_EREKEM:
+ Scheduler.Schedule(Seconds(3), [this](TaskContext task)
+ {
+ if (Creature* erekem = GetCreature(DATA_EREKEM))
+ erekem->AI()->Talk(SAY_EREKEM_SPAWN);
+
+ task.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ if (Creature* erekem = GetCreature(DATA_EREKEM))
+ erekem->GetMotionMaster()->MoveSmoothPath(POINT_INTRO, ErekemPath, ErekemPathSize, true);
+
+ if (Creature* guard = instance->GetCreature(GetGuidData(DATA_EREKEM_GUARD_1)))
+ guard->GetMotionMaster()->MoveSmoothPath(POINT_INTRO, ErekemGuardLeftPath, ErekemGuardLeftPathSize, true);
+ if (Creature* guard = instance->GetCreature(GetGuidData(DATA_EREKEM_GUARD_2)))
+ guard->GetMotionMaster()->MoveSmoothPath(POINT_INTRO, ErekemGuardRightPath, ErekemGuardRightPathSize, true);
+
+ task.Schedule(Seconds(6), [this](TaskContext task)
+ {
+ if (Creature* erekem = GetCreature(DATA_EREKEM))
+ erekem->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
+
+ task.Schedule(Seconds(1), [this](TaskContext /*task*/)
+ {
+ for (uint32 i = DATA_EREKEM_GUARD_1; i <= DATA_EREKEM_GUARD_2; ++i)
+ {
+ if (Creature* guard = instance->GetCreature(GetGuidData(i)))
+ guard->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ }
+
+ if (Creature* erekem = GetCreature(DATA_EREKEM))
+ {
+ erekem->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ erekem->AI()->DoZoneInCombat(erekem, 200.0f);
+ }
+ });
+ });
+ });
+ });
+ break;
+ case DATA_ICHORON:
+ Scheduler.Schedule(Seconds(2), [this](TaskContext task)
+ {
+ if (Creature* ichoron = GetCreature(DATA_ICHORON))
+ ichoron->AI()->Talk(SAY_ICHORON_SPAWN);
+
+ task.Schedule(Seconds(3), [this](TaskContext task)
+ {
+ if (Creature* ichoron = GetCreature(DATA_ICHORON))
+ ichoron->GetMotionMaster()->MoveSmoothPath(POINT_INTRO, IchoronPath, IchoronPathSize, true);
+
+ task.Schedule(Seconds(14), [this](TaskContext /*task*/)
+ {
+ if (Creature* ichoron = GetCreature(DATA_ICHORON))
+ {
+ ichoron->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ ichoron->AI()->DoZoneInCombat(ichoron, 200.0f);
+ }
+ });
+ });
+ });
+ break;
+ case DATA_LAVANTHOR:
+ Scheduler.Schedule(Seconds(1), [this](TaskContext task)
+ {
+ if (Creature* lavanthor = GetCreature(DATA_LAVANTHOR))
+ lavanthor->CastSpell(lavanthor, SPELL_LAVANTHOR_SPECIAL_UNARMED);
+
+ task.Schedule(Seconds(3), [this](TaskContext task)
+ {
+ if (Creature* lavanthor = GetCreature(DATA_LAVANTHOR))
+ lavanthor->GetMotionMaster()->MoveSmoothPath(POINT_INTRO, LavanthorPath, LavanthorPathSize, true);
+
+ task.Schedule(Seconds(8), [this](TaskContext /*task*/)
+ {
+ if (Creature* lavanthor = GetCreature(DATA_LAVANTHOR))
+ {
+ lavanthor->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ lavanthor->AI()->DoZoneInCombat(lavanthor, 200.0f);
+ }
+ });
+ });
+ });
+ break;
+ case DATA_XEVOZZ:
+ Scheduler.Schedule(Seconds(2), [this](TaskContext task)
+ {
+ if (Creature* xevozz = GetCreature(DATA_XEVOZZ))
+ xevozz->AI()->Talk(SAY_XEVOZZ_SPAWN);
+
+ task.Schedule(Seconds(3), [this](TaskContext task)
+ {
+ if (Creature* xevozz = GetCreature(DATA_XEVOZZ))
+ xevozz->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NO_SHEATHE);
+
+ task.Schedule(Seconds(4), [this](TaskContext task)
+ {
+ if (Creature* xevozz = GetCreature(DATA_XEVOZZ))
+ xevozz->GetMotionMaster()->MoveSmoothPath(POINT_INTRO, XevozzPath, XevozzPathSize, true);
+
+ task.Schedule(Seconds(4), [this](TaskContext /*task*/)
+ {
+ if (Creature* xevozz = GetCreature(DATA_XEVOZZ))
+ {
+ xevozz->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ xevozz->AI()->DoZoneInCombat(xevozz, 200.0f);
+ }
+ });
+ });
+ });
+ });
+ break;
+ case DATA_ZURAMAT:
+ Scheduler.Schedule(Seconds(2), [this](TaskContext task)
+ {
+ if (Creature* zuramat = GetCreature(DATA_ZURAMAT))
+ {
+ zuramat->CastSpell(zuramat, SPELL_ZURAMAT_COSMETIC_CHANNEL_OMNI);
+ zuramat->AI()->Talk(SAY_ZURAMAT_SPAWN);
+ }
+
+ task.Schedule(Seconds(6), [this](TaskContext task)
+ {
+ if (Creature* zuramat = GetCreature(DATA_ZURAMAT))
+ zuramat->GetMotionMaster()->MoveSmoothPath(POINT_INTRO, ZuramatPath, ZuramatPathSize, true);
+
+ task.Schedule(Seconds(4), [this](TaskContext /*task*/)
+ {
+ if (Creature* zuramat = GetCreature(DATA_ZURAMAT))
+ {
+ zuramat->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ zuramat->AI()->DoZoneInCombat(zuramat, 200.0f);
+ }
+ });
+ });
+ });
+ break;
+ default:
+ return;
+ }
- return 0;
- }
+ HandleCells(bossId);
+ }
- ObjectGuid GetGuidData(uint32 type) const override
- {
- switch (type)
+ void ResetBossEncounter(uint8 bossId)
{
- case DATA_EREKEM_GUARD_1: return uiErekemGuard[0];
- case DATA_EREKEM_GUARD_2: return uiErekemGuard[1];
- case DATA_TELEPORTATION_PORTAL: return uiTeleportationPortal;
- case DATA_SABOTEUR_PORTAL: return uiSaboteurPortal;
- }
+ if (bossId < DATA_CYANIGOSA || bossId > DATA_ZURAMAT)
+ return;
- return InstanceScript::GetGuidData(type);
- }
+ Creature* boss = GetCreature(bossId);
+ if (!boss)
+ return;
- void SpawnPortal()
- {
- SetData(DATA_PORTAL_LOCATION, (GetData(DATA_PORTAL_LOCATION) + urand(1, 5))%6);
- if (Creature* sinclari = GetCreature(DATA_SINCLARI))
- if (Creature* portal = sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL, PortalLocation[GetData(DATA_PORTAL_LOCATION)], TEMPSUMMON_CORPSE_DESPAWN))
- uiTeleportationPortal = portal->GetGUID();
- }
+ switch (bossId)
+ {
+ case DATA_CYANIGOSA:
+ boss->DespawnOrUnsummon();
+ break;
+ case DATA_EREKEM:
+ for (uint32 i = DATA_EREKEM_GUARD_1; i <= DATA_EREKEM_GUARD_2; ++i)
+ {
+ if (Creature* guard = instance->GetCreature(GetGuidData(i)))
+ {
+ if (guard->isDead())
+ guard->Respawn();
- void StartBossEncounter(uint8 uiBoss, bool bForceRespawn = true)
- {
- Creature* boss = nullptr;
+ if (GetBossState(bossId) == DONE)
+ UpdateKilledBoss(guard);
- switch (uiBoss)
- {
- case BOSS_MORAGG:
- HandleGameObject(GetObjectGuid(DATA_MORAGG_CELL), bForceRespawn);
- boss = GetCreature(DATA_MORAGG);
- if (boss)
- boss->GetMotionMaster()->MovePoint(0, BossStartMove1);
- break;
- case BOSS_EREKEM:
- HandleGameObject(GetObjectGuid(DATA_EREKEM_CELL), bForceRespawn);
- HandleGameObject(GetObjectGuid(DATA_EREKEM_LEFT_GUARD_CELL), bForceRespawn);
- HandleGameObject(GetObjectGuid(DATA_EREKEM_RIGHT_GUARD_CELL), bForceRespawn);
-
- boss = GetCreature(DATA_EREKEM);
- if (boss)
- boss->GetMotionMaster()->MovePoint(0, BossStartMove2);
-
- if (Creature* pGuard1 = instance->GetCreature(uiErekemGuard[0]))
- {
- if (bForceRespawn)
+ guard->GetMotionMaster()->MoveTargetedHome();
+ guard->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ }
+ }
+ // no break
+ default:
+ if (boss->isDead())
{
- pGuard1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NON_ATTACKABLE);
- pGuard1->GetMotionMaster()->MovePoint(0, BossStartMove21);
+ // respawn and update to a placeholder npc to avoid be looted again
+ boss->Respawn();
+ UpdateKilledBoss(boss);
}
- else
- pGuard1->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
- }
- if (Creature* pGuard2 = instance->GetCreature(uiErekemGuard[1]))
- {
- if (bForceRespawn)
+ boss->GetMotionMaster()->MoveTargetedHome();
+ boss->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ break;
+ }
+ }
+
+ void AddWave()
+ {
+ DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, WaveCount);
+
+ switch (WaveCount)
+ {
+ case 6:
+ if (FirstBossId == 0)
+ FirstBossId = urand(DATA_MORAGG, DATA_ZURAMAT);
+ if (Creature* sinclari = GetCreature(DATA_SINCLARI))
{
- pGuard2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
- pGuard2->GetMotionMaster()->MovePoint(0, BossStartMove22);
+ sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL_INTRO, PortalIntroPositions[3], TEMPSUMMON_TIMED_DESPAWN, 3000);
+ sinclari->SummonCreature(NPC_SABOTEOUR, SaboteurSpawnLocation, TEMPSUMMON_DEAD_DESPAWN);
}
- else
- pGuard2->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
- }
- break;
- case BOSS_ICHORON:
- HandleGameObject(GetObjectGuid(DATA_ICHORON_CELL), bForceRespawn);
- boss = GetCreature(DATA_ICHORON);
- if (boss)
- boss->GetMotionMaster()->MovePoint(0, BossStartMove3);
- break;
- case BOSS_LAVANTHOR:
- HandleGameObject(GetObjectGuid(DATA_LAVANTHOR_CELL), bForceRespawn);
- boss = GetCreature(DATA_LAVANTHOR);
- if (boss)
- boss->GetMotionMaster()->MovePoint(0, BossStartMove4);
- break;
- case BOSS_XEVOZZ:
- HandleGameObject(GetObjectGuid(DATA_XEVOZZ_CELL), bForceRespawn);
- boss = GetCreature(DATA_XEVOZZ);
- if (boss)
- boss->GetMotionMaster()->MovePoint(0, BossStartMove5);
- break;
- case BOSS_ZURAMAT:
- HandleGameObject(GetObjectGuid(DATA_ZURAMAT_CELL), bForceRespawn);
- boss = GetCreature(DATA_ZURAMAT);
- if (boss)
- boss->GetMotionMaster()->MovePoint(0, BossStartMove6);
- break;
+ break;
+ case 12:
+ if (SecondBossId == 0)
+ do
+ {
+ SecondBossId = urand(DATA_MORAGG, DATA_ZURAMAT);
+ } while (SecondBossId == FirstBossId);
+ if (Creature* sinclari = GetCreature(DATA_SINCLARI))
+ {
+ sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL_INTRO, PortalIntroPositions[3], TEMPSUMMON_TIMED_DESPAWN, 3000);
+ sinclari->SummonCreature(NPC_SABOTEOUR, SaboteurSpawnLocation, TEMPSUMMON_DEAD_DESPAWN);
+ }
+ break;
+ case 18:
+ if (Creature* sinclari = GetCreature(DATA_SINCLARI))
+ {
+ sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL_INTRO, PortalIntroPositions[4], TEMPSUMMON_TIMED_DESPAWN, 6000);
+ if (Creature* cyanigosa = sinclari->SummonCreature(NPC_CYANIGOSA, CyanigosaSpawnLocation, TEMPSUMMON_DEAD_DESPAWN))
+ cyanigosa->CastSpell(cyanigosa, SPELL_CYANIGOSA_ARCANE_POWER_STATE, true);
+ ScheduleCyanigosaIntro();
+ }
+ break;
+ default:
+ SpawnPortal();
+ break;
+ }
}
- // generic boss state changes
- if (boss)
+ void WriteSaveDataMore(std::ostringstream& data) override
{
- boss->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
- boss->SetReactState(REACT_AGGRESSIVE);
+ data << FirstBossId << ' ' << SecondBossId;
+ }
+
+ void ReadSaveDataMore(std::istringstream& data) override
+ {
+ data >> FirstBossId;
+ data >> SecondBossId;
+ }
- if (!bForceRespawn)
+ bool CheckWipe() const
+ {
+ Map::PlayerList const& players = instance->GetPlayers();
+ for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
{
- if (boss->isDead())
- {
- // respawn but avoid to be looted again
- boss->Respawn();
- boss->RemoveLootMode(1);
- }
- else
- boss->GetMotionMaster()->MoveTargetedHome();
+ Player* player = itr->GetSource();
+ if (player->IsGameMaster())
+ continue;
- boss->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
- uiWaveCount = 0;
+ if (player->IsAlive())
+ return false;
}
- }
- }
- void AddWave()
- {
- DoUpdateWorldState(WORLD_STATE_VH, 1);
- DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, uiWaveCount);
+ return true;
+ }
- switch (uiWaveCount)
+ void UpdateKilledBoss(Creature* boss)
{
- case 6:
- if (uiFirstBoss == 0)
- uiFirstBoss = urand(1, 6);
- if (Creature* sinclari = GetCreature(DATA_SINCLARI))
- {
- if (Creature* portal = sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL, MiddleRoomPortalSaboLocation, TEMPSUMMON_CORPSE_DESPAWN))
- uiSaboteurPortal = portal->GetGUID();
- if (Creature* azureSaboteur = sinclari->SummonCreature(NPC_SABOTEOUR, MiddleRoomLocation, TEMPSUMMON_DEAD_DESPAWN))
- azureSaboteur->CastSpell(azureSaboteur, SABOTEUR_SHIELD_EFFECT, false);
- }
- break;
- case 12:
- if (uiSecondBoss == 0)
- do
- {
- uiSecondBoss = urand(1, 6);
- } while (uiSecondBoss == uiFirstBoss);
- if (Creature* sinclari = GetCreature(DATA_SINCLARI))
- {
- if (Creature* pPortal = sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL, MiddleRoomPortalSaboLocation, TEMPSUMMON_CORPSE_DESPAWN))
- uiSaboteurPortal = pPortal->GetGUID();
- if (Creature* pAzureSaboteur = sinclari->SummonCreature(NPC_SABOTEOUR, MiddleRoomLocation, TEMPSUMMON_DEAD_DESPAWN))
- pAzureSaboteur->CastSpell(pAzureSaboteur, SABOTEUR_SHIELD_EFFECT, false);
- }
- break;
- case 18:
- if (Creature* sinclari = GetCreature(DATA_SINCLARI))
- sinclari->SummonCreature(NPC_CYANIGOSA, CyanigosasSpawnLocation, TEMPSUMMON_DEAD_DESPAWN);
- break;
- case 1:
+ switch (boss->GetEntry())
{
- if (GameObject* mainDoor = GetGameObject(DATA_MAIN_DOOR))
- mainDoor->SetGoState(GO_STATE_READY);
- DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, 100);
- // no break
+ case NPC_XEVOZZ:
+ boss->UpdateEntry(NPC_DUMMY_XEVOZZ);
+ break;
+ case NPC_LAVANTHOR:
+ boss->UpdateEntry(NPC_DUMMY_LAVANTHOR);
+ break;
+ case NPC_ICHORON:
+ boss->UpdateEntry(NPC_DUMMY_ICHORON);
+ break;
+ case NPC_ZURAMAT:
+ boss->UpdateEntry(NPC_DUMMY_ZURAMAT);
+ break;
+ case NPC_EREKEM:
+ boss->UpdateEntry(NPC_DUMMY_EREKEM);
+ break;
+ case NPC_MORAGG:
+ boss->UpdateEntry(NPC_DUMMY_MORAGG);
+ break;
+ case NPC_EREKEM_GUARD:
+ boss->UpdateEntry(NPC_DUMMY_EREKEM_GUARD);
+ break;
+ default:
+ break;
}
- default:
- SpawnPortal();
- break;
}
- }
- void WriteSaveDataMore(std::ostringstream& data) override
- {
- data << uiFirstBoss << ' ' << uiSecondBoss;
- }
+ void Update(uint32 diff) override
+ {
+ if (!instance->HavePlayers())
+ return;
- void ReadSaveDataMore(std::istringstream& data) override
- {
- data >> uiFirstBoss;
- data >> uiSecondBoss;
- }
+ // if main event is in progress and players have wiped then reset instance
+ if ((EventState == IN_PROGRESS && CheckWipe()) || EventState == FAIL)
+ {
+ ResetBossEncounter(FirstBossId);
+ ResetBossEncounter(SecondBossId);
+ ResetBossEncounter(DATA_CYANIGOSA);
- bool CheckWipe()
- {
- Map::PlayerList const &players = instance->GetPlayers();
- for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
- {
- Player* player = itr->GetSource();
- if (player->IsGameMaster())
- continue;
+ WaveCount = 0;
+ DoorIntegrity = 100;
+ Defenseless = true;
+ SetData(DATA_MAIN_EVENT_STATE, NOT_STARTED);
- if (player->IsAlive())
- return false;
- }
+ Scheduler.CancelAll();
- zuramatDead = false;
- return true;
- }
+ if (Creature* sinclari = GetCreature(DATA_SINCLARI))
+ sinclari->AI()->EnterEvadeMode();
+ }
- void Update(uint32 diff) override
- {
- if (!instance->HavePlayers())
- return;
+ Scheduler.Update(diff);
- // portals should spawn if other portal is dead and doors are closed
- if (bActive && uiMainEventPhase == IN_PROGRESS)
- {
- if (uiActivationTimer < diff)
+ if (EventState == IN_PROGRESS)
{
- AddWave();
- bActive = false;
- // 1 minute waiting time after each boss fight
- uiActivationTimer = (uiWaveCount == 6 || uiWaveCount == 12) ? 60000 : 5000;
- } else uiActivationTimer -= diff;
+ // if door is destroyed, event is failed
+ if (!GetData(DATA_DOOR_INTEGRITY))
+ EventState = FAIL;
+ }
}
- // if main event is in progress and players have wiped then reset instance
- if (uiMainEventPhase == IN_PROGRESS && CheckWipe())
+ void ScheduleCyanigosaIntro()
{
- SetData(DATA_REMOVE_NPC, 1);
- StartBossEncounter(uiFirstBoss, false);
- StartBossEncounter(uiSecondBoss, false);
-
- SetData(DATA_MAIN_DOOR, GO_STATE_ACTIVE);
- SetData(DATA_WAVE_COUNT, 0);
- uiMainEventPhase = NOT_STARTED;
- uiActivationTimer = 5000;
-
- for (int i = 0; i < 4; ++i)
- if (GameObject* crystal = instance->GetGameObject(uiActivationCrystal[i]))
- crystal->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
-
- if (Creature* sinclari = GetCreature(DATA_SINCLARI))
+ Scheduler.Schedule(Seconds(2), [this](TaskContext task)
{
- sinclari->SetVisible(true);
+ if (Creature* cyanigosa = GetCreature(DATA_CYANIGOSA))
+ cyanigosa->AI()->Talk(SAY_CYANIGOSA_SPAWN);
- std::list<Creature*> GuardList;
- sinclari->GetCreatureListWithEntryInGrid(GuardList, NPC_VIOLET_HOLD_GUARD, 40.0f);
- if (!GuardList.empty())
+ task.Schedule(Seconds(6), [this](TaskContext task)
{
- for (Creature* guard : GuardList)
+ if (Creature* cyanigosa = GetCreature(DATA_CYANIGOSA))
+ cyanigosa->GetMotionMaster()->MoveJump(CyanigosaJumpLocation, 10.0f, 27.44744f);
+
+ task.Schedule(Seconds(7), [this](TaskContext /*task*/)
{
- guard->SetVisible(true);
- guard->SetReactState(REACT_AGGRESSIVE);
- guard->GetMotionMaster()->MovePoint(1, guard->GetHomePosition());
- }
- }
- sinclari->GetMotionMaster()->MovePoint(1, sinclari->GetHomePosition());
- sinclari->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- }
+ if (Creature* cyanigosa = GetCreature(DATA_CYANIGOSA))
+ {
+ cyanigosa->RemoveAurasDueToSpell(SPELL_CYANIGOSA_ARCANE_POWER_STATE);
+ cyanigosa->CastSpell(cyanigosa, SPELL_CYANIGOSA_TRANSFORM, true);
+ cyanigosa->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
+ }
+ });
+ });
+ });
}
- // Cyanigosa is spawned but not tranformed, prefight event
- Creature* cyanigosa = GetCreature(DATA_CYANIGOSA);
- if (cyanigosa && !cyanigosa->HasAura(CYANIGOSA_SPELL_TRANSFORM))
+ void ProcessEvent(WorldObject* /*go*/, uint32 eventId) override
{
- if (uiCyanigosaEventTimer <= diff)
+ if (eventId == EVENT_ACTIVATE_CRYSTAL)
{
- switch (uiCyanigosaEventPhase)
- {
- case 1:
- cyanigosa->CastSpell(cyanigosa, CYANIGOSA_BLUE_AURA, false);
- cyanigosa->AI()->Talk(CYANIGOSA_SAY_SPAWN);
- uiCyanigosaEventTimer = 7*IN_MILLISECONDS;
- ++uiCyanigosaEventPhase;
- break;
- case 2:
- cyanigosa->GetMotionMaster()->MoveJump(MiddleRoomLocation.GetPositionX(), MiddleRoomLocation.GetPositionY(), MiddleRoomLocation.GetPositionZ(), 10.0f, 20.0f);
- cyanigosa->CastSpell(cyanigosa, CYANIGOSA_BLUE_AURA, false);
- uiCyanigosaEventTimer = 7*IN_MILLISECONDS;
- ++uiCyanigosaEventPhase;
- break;
- case 3:
- cyanigosa->RemoveAurasDueToSpell(CYANIGOSA_BLUE_AURA);
- cyanigosa->CastSpell(cyanigosa, CYANIGOSA_SPELL_TRANSFORM, 0);
- cyanigosa->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
- cyanigosa->SetReactState(REACT_AGGRESSIVE);
- uiCyanigosaEventTimer = 2*IN_MILLISECONDS;
- ++uiCyanigosaEventPhase;
- break;
- case 4:
- uiCyanigosaEventPhase = 0;
- break;
- }
- } else uiCyanigosaEventTimer -= diff;
+ instance->SummonCreature(NPC_DEFENSE_SYSTEM, DefenseSystemLocation);
+ Defenseless = false;
+ }
}
- // if there are NPCs in front of the prison door, which are casting the door seal spell and doors are active
- if (GetData(DATA_NPC_PRESENCE_AT_DOOR) && uiMainEventPhase == IN_PROGRESS)
+ static bool IsBossWave(uint8 wave)
{
- // if door integrity is > 0 then decrase it's integrity state
- if (GetData(DATA_DOOR_INTEGRITY))
- {
- if (uiDoorSpellTimer < diff)
- {
- SetData(DATA_DOOR_INTEGRITY, GetData(DATA_DOOR_INTEGRITY)-1);
- uiDoorSpellTimer =2000;
- } else uiDoorSpellTimer -= diff;
- }
- // else set door state to active (means door will open and group have failed to sustain mob invasion on the door)
- else
- {
- SetData(DATA_MAIN_DOOR, GO_STATE_ACTIVE);
- uiMainEventPhase = FAIL;
- }
+ return wave && ((wave % 6) == 0);
}
- }
- void ActivateCrystal()
- {
- // just to make things easier we'll get the gameobject from the map
- GameObject* invoker = instance->GetGameObject(uiActivationCrystal[0]);
- if (!invoker)
- return;
+ protected:
+ TaskScheduler Scheduler;
- SpellInfo const* spellInfoLightning = sSpellMgr->GetSpellInfo(SPELL_ARCANE_LIGHTNING);
- if (!spellInfoLightning)
- return;
+ static uint8 const ErekemGuardCount = 2;
+ ObjectGuid ErekemGuardGUIDs[ErekemGuardCount];
- // the orb
- TempSummon* trigger = invoker->SummonCreature(NPC_DEFENSE_SYSTEM, ArcaneSphere, TEMPSUMMON_MANUAL_DESPAWN, 0);
- if (!trigger)
- return;
+ static uint8 const ActivationCrystalCount = 5;
+ ObjectGuid ActivationCrystalGUIDs[ActivationCrystalCount];
- // visuals
- trigger->CastSpell(trigger, spellInfoLightning, true, 0, 0, trigger->GetGUID());
+ uint32 FirstBossId;
+ uint32 SecondBossId;
- // Kill all mobs registered with SetGuidData(ADD_TRASH_MOB)
- for (GuidSet::const_iterator itr = trashMobs.begin(); itr != trashMobs.end();)
- {
- Creature* creature = instance->GetCreature(*itr);
- // Increment the iterator before killing the creature because the kill will remove itr from trashMobs
- ++itr;
- if (creature && creature->IsAlive())
- trigger->Kill(creature);
- }
- }
+ uint8 DoorIntegrity;
+ uint8 WaveCount;
+ uint8 EventState;
+ uint8 LastPortalLocation;
+
+ bool Defenseless;
+ };
- void ProcessEvent(WorldObject* /*go*/, uint32 uiEventId) override
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
- switch (uiEventId)
- {
- case EVENT_ACTIVATE_CRYSTAL:
- bCrystalActivated = true; // Activation by player's will throw event signal
- ActivateCrystal();
- break;
- }
+ return new instance_violet_hold_InstanceMapScript(map);
}
- };
-
- InstanceScript* GetInstanceScript(InstanceMap* map) const override
- {
- return new instance_violet_hold_InstanceMapScript(map);
- }
};
void AddSC_instance_violet_hold()
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index b05da4b994c..fdb4c4dc3fc 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -15,36 +15,41 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "Player.h"
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
-#include "violet_hold.h"
-#include "Player.h"
-#include "SpellAuras.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
+#include "violet_hold.h"
-#define GOSSIP_START_EVENT "Get your people to safety, we'll keep the Blue Dragonflight's forces at bay."
-#define GOSSIP_ITEM_1 "Activate the crystals when we get in trouble, right"
-#define GOSSIP_I_WANT_IN "I'm not fighting, so send me in now!"
-#define SAY_EVENT_LOCK "I'm locking the door. Good luck, and thank you for doing this."
-#define SPAWN_TIME 20000
+/*
+ * TODO:
+ * - add missing trash emotes
+ */
-enum PortalCreatures
+enum PortalCreatureIds
{
NPC_AZURE_INVADER_1 = 30661,
- NPC_AZURE_INVADER_2 = 30961,
NPC_AZURE_SPELLBREAKER_1 = 30662,
- NPC_AZURE_SPELLBREAKER_2 = 30962,
NPC_AZURE_BINDER_1 = 30663,
- NPC_AZURE_BINDER_2 = 30918,
NPC_AZURE_MAGE_SLAYER_1 = 30664,
+ NPC_VETERAN_MAGE_HUNTER = 30665,
+ NPC_AZURE_CAPTAIN_1 = 30666,
+ NPC_AZURE_SORCEROR_1 = 30667,
+ NPC_AZURE_RAIDER_1 = 30668,
+
+ NPC_AZURE_BINDER_2 = 30918,
+ NPC_AZURE_INVADER_2 = 30961,
+ NPC_AZURE_SPELLBREAKER_2 = 30962,
NPC_AZURE_MAGE_SLAYER_2 = 30963,
- NPC_AZURE_CAPTAIN = 30666,
- NPC_AZURE_SORCEROR = 30667,
- NPC_AZURE_RAIDER = 30668,
- NPC_AZURE_STALKER = 32191
+ NPC_AZURE_BINDER_3 = 31007,
+ NPC_AZURE_INVADER_3 = 31008,
+ NPC_AZURE_SPELLBREAKER_3 = 31009,
+ NPC_AZURE_MAGE_SLAYER_3 = 31010,
+ NPC_AZURE_RAIDER_2 = 31118,
+ NPC_AZURE_STALKER_1 = 32191
};
enum AzureInvaderSpells
@@ -103,8 +108,8 @@ enum AzureStalkerSpells
enum AzureSaboteurSpells
{
- SABOTEUR_SHIELD_DISRUPTION = 58291,
- SABOTEUR_SHIELD_EFFECT = 45775
+ SPELL_SHIELD_DISRUPTION = 58291,
+ SPELL_TELEPORT_VISUAL = 51347
};
enum TrashDoorSpell
@@ -112,19 +117,45 @@ enum TrashDoorSpell
SPELL_DESTROY_DOOR_SEAL = 58040
};
-enum Spells
+enum DefenseSystemSpells
+{
+ SPELL_ARCANE_LIGHTNING_DAMAGE = 57912,
+ SPELL_ARCANE_LIGHTNING_INSTAKILL = 58152,
+ SPELL_ARCANE_LIGHTNING_DUMMY = 57930
+};
+
+enum MiscSpells
+{
+ SPELL_PORTAL_PERIODIC = 58008,
+ SPELL_PORTAL_CHANNEL = 58012,
+ SPELL_CRYSTAL_ACTIVATION = 57804,
+
+ SPELL_TELEPORT_PLAYER = 62138,
+ SPELL_TELEPORT_PLAYER_EFFECT = 62139
+};
+
+enum MiscData
{
- SPELL_PORTAL_CHANNEL = 58012,
- SPELL_CRYSTAL_ACTIVATION = 57804, // visual effect
- SPELL_ARCANE_SPHERE_PASSIVE = 44263
+ DATA_PORTAL_PERIODIC_TICK = 1
};
enum Sinclari
{
- SAY_SINCLARI_1 = 0
+ // Sinclari
+ SAY_SINCLARI_INTRO_1 = 0,
+ SAY_SINCLARI_INTRO_2 = 1,
+ SAY_SINCLARI_OUTRO = 2,
+
+ GOSSIP_MENU_START_ENCOUNTER = 9998,
+ GOSSIP_MENU_SEND_ME_IN = 10275,
+
+ // Sinclari Trigger
+ SAY_SINCLARI_ELITE_SQUAD = 0,
+ SAY_SINCLARI_PORTAL_GUARDIAN = 1,
+ SAY_SINCLARI_PORTAL_KEEPER = 2
};
-float FirstPortalWPs [6][3] =
+G3D::Vector3 const FirstPortalWPs[6] =
{
{1877.670288f, 842.280273f, 43.333591f},
{1877.338867f, 834.615356f, 38.762287f},
@@ -135,7 +166,7 @@ float FirstPortalWPs [6][3] =
//{1825.736084f, 807.305847f, 44.363785f}
};
-float SecondPortalFirstWPs [9][3] =
+G3D::Vector3 const SecondPortalFirstWPs[9] =
{
{1902.561401f, 853.334656f, 47.106117f},
{1895.486084f, 855.376404f, 44.334591f},
@@ -149,7 +180,7 @@ float SecondPortalFirstWPs [9][3] =
//{1825.736084f, 807.305847f, 44.363785f}
};
-float SecondPortalSecondWPs [8][3] =
+G3D::Vector3 const SecondPortalSecondWPs[8] =
{
{1929.392212f, 837.614990f, 47.136166f},
{1928.290649f, 824.750427f, 45.474411f},
@@ -162,7 +193,7 @@ float SecondPortalSecondWPs [8][3] =
//{1825.736084f, 807.305847f, 44.363785f}
};
-float ThirdPortalWPs [8][3] =
+G3D::Vector3 const ThirdPortalWPs[8] =
{
{1934.049438f, 815.778503f, 52.408699f},
{1928.290649f, 824.750427f, 45.474411f},
@@ -175,7 +206,7 @@ float ThirdPortalWPs [8][3] =
//{1825.736084f, 807.305847f, 44.363785f}
};
-float FourthPortalWPs [9][3] =
+G3D::Vector3 const FourthPortalWPs[9] =
{
{1921.658447f, 761.657043f, 50.866741f},
{1910.559814f, 755.780457f, 47.701447f},
@@ -189,7 +220,7 @@ float FourthPortalWPs [9][3] =
//{1827.100342f, 801.605957f, 44.363358f}
};
-float FifthPortalWPs [6][3] =
+G3D::Vector3 const FifthPortalWPs[6] =
{
{1887.398804f, 763.633240f, 47.666851f},
{1879.020386f, 775.396973f, 38.705990f},
@@ -200,7 +231,7 @@ float FifthPortalWPs [6][3] =
//{1827.100342f, 801.605957f, 44.363358f}
};
-float SixthPoralWPs [4][3] =
+G3D::Vector3 const SixthPoralWPs[4] =
{
{1888.861084f, 805.074768f, 38.375790f},
{1869.793823f, 804.135804f, 38.647018f},
@@ -209,1308 +240,1188 @@ float SixthPoralWPs [4][3] =
//{1826.889648f, 803.929993f, 44.363239f}
};
-const float SaboteurFinalPos1[3][3] =
+G3D::Vector3 const DefaultPortalWPs[1] =
{
- {1892.502319f, 777.410767f, 38.630402f},
- {1891.165161f, 762.969421f, 47.666920f},
- {1893.168091f, 740.919189f, 47.666920f}
+ { 1843.567017f, 804.288208f, 44.139091f }
};
-const float SaboteurFinalPos2[3][3] =
+
+uint32 const SaboteurMoraggPathSize = 5;
+G3D::Vector3 const SaboteurMoraggPath[SaboteurMoraggPathSize] = // sniff
{
- {1882.242676f, 834.818726f, 38.646786f},
- {1879.220825f, 842.224854f, 43.333641f},
- {1873.842896f, 863.892456f, 43.333641f}
+ { 1886.251f, 803.0743f, 38.42326f },
+ { 1885.71f, 799.8929f, 38.37241f },
+ { 1889.505f, 762.3288f, 47.66684f },
+ { 1894.542f, 742.1829f, 47.66684f },
+ { 1894.603f, 739.9231f, 47.66684f },
};
-const float SaboteurFinalPos3[2][3] =
+
+uint32 const SaboteurErekemPathSize = 5;
+G3D::Vector3 const SaboteurErekemPath[SaboteurErekemPathSize] = // sniff
{
- {1904.298340f, 792.400391f, 38.646782f},
- {1935.716919f, 758.437073f, 30.627895f}
+ { 1886.251f, 803.0743f, 38.42326f },
+ { 1881.047f, 829.6866f, 38.64856f },
+ { 1877.585f, 844.6685f, 38.49014f },
+ { 1876.085f, 851.6685f, 42.99014f },
+ { 1873.747f, 864.1373f, 43.33349f }
};
-const float SaboteurFinalPos4[3] =
+
+uint32 const SaboteurIchoronPathSize = 3;
+G3D::Vector3 const SaboteurIchoronPath[SaboteurIchoronPathSize] = // sniff
{
- 1855.006104f, 760.641724f, 38.655266f
+ { 1886.251f, 803.0743f, 38.42326f },
+ { 1888.672f, 801.2348f, 38.42305f },
+ { 1901.987f, 793.3254f, 38.65126f }
};
-const float SaboteurFinalPos5[3] =
+
+uint32 const SaboteurLavanthorPathSize = 3;
+G3D::Vector3 const SaboteurLavanthorPath[SaboteurLavanthorPathSize] = // sniff
{
- 1906.667358f, 841.705566f, 38.637894f
+ { 1886.251f, 803.0743f, 38.42326f },
+ { 1867.925f, 778.8035f, 38.64702f },
+ { 1853.304f, 759.0161f, 38.65761f }
};
-const float SaboteurFinalPos6[5][3] =
-{
- {1911.437012f, 821.289246f, 38.684128f},
- {1920.734009f, 822.978027f, 41.525414f},
- {1928.262939f, 830.836609f, 44.668266f},
- {1929.338989f, 837.593933f, 47.137596f},
- {1931.063354f, 848.468445f, 47.190434f}
- };
-
-const Position PortalLocation[] =
+
+uint32 const SaboteurXevozzPathSize = 4;
+G3D::Vector3 const SaboteurXevozzPath[SaboteurXevozzPathSize] = // sniff
{
- { 1877.51f, 850.104f, 44.6599f, 4.7822f }, // WP 1
- { 1936.07f, 803.198f, 53.3749f, 3.12414f }, // WP 3
- { 1890.64f, 753.471f, 48.7224f, 1.71042f }, // WP 5
+ { 1886.251f, 803.0743f, 38.42326f },
+ { 1889.096f, 810.0487f, 38.43871f },
+ { 1896.547f, 823.5473f, 38.72863f },
+ { 1906.666f, 842.3111f, 38.63351f }
};
-#define MAX_PRE_EVENT_PORTAL 3
+uint32 const SaboteurZuramatPathSize = 7;
+G3D::Vector3 const SaboteurZuramatPath[SaboteurZuramatPathSize] = // sniff
+{
+ { 1886.251f, 803.0743f, 38.42326f },
+ { 1889.69f, 807.0032f, 38.39914f },
+ { 1906.91f, 818.2574f, 38.86596f },
+ { 1929.03f, 824.2713f, 46.09165f },
+ { 1928.441f, 842.8891f, 47.15078f },
+ { 1927.454f, 851.6091f, 47.19094f },
+ { 1927.947f, 852.2986f, 47.19637f }
+};
-ObjectGuid preEventPortalGUID[MAX_PRE_EVENT_PORTAL] = { ObjectGuid::Empty };
+Position const SinclariPositions[] = // sniff
+{
+ { 1829.142f, 798.219f, 44.36212f, 0.122173f }, // 0 - Crystal
+ { 1820.12f, 803.916f, 44.36466f, 0.0f }, // 1 - Outside
+ { 1816.185f, 804.0629f, 44.44799f, 3.176499f }, // 2 - Second Spawn Point
+ { 1827.886f, 804.0555f, 44.36467f, 0.0f } // 3 - Outro
+};
-const Position MovePosition = { 1806.955566f, 803.851807f, 44.363323f, 0.0f };
-const Position playerTeleportPosition = { 1830.531006f, 803.939758f, 44.340508f, 6.281611f };
-const Position sinclariOutsidePosition = { 1820.429810f, 804.066040f, 44.363998f, 0.0f };
-const Position sinclariCrystalPosition = { 1828.868286f, 798.468811f, 44.363998f, 3.890467f };
+Position const GuardsMovePosition = { 1802.099f, 803.7724f, 44.36466f, 0.0f }; // sniff
class npc_sinclari_vh : public CreatureScript
{
-public:
- npc_sinclari_vh() : CreatureScript("npc_sinclari_vh") { }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
- {
- player->PlayerTalkClass->ClearMenus();
- switch (action)
- {
- case GOSSIP_ACTION_INFO_DEF+1:
- player->CLOSE_GOSSIP_MENU();
- ENSURE_AI(npc_sinclari_vh::npc_sinclariAI, creature->AI())->uiPhase = 1;
- if (InstanceScript* instance = creature->GetInstanceScript())
- instance->SetData(DATA_MAIN_EVENT_PHASE, SPECIAL);
- break;
- case GOSSIP_ACTION_INFO_DEF+2:
- player->SEND_GOSSIP_MENU(13854, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+3:
- player->NearTeleportTo(playerTeleportPosition.GetPositionX(), playerTeleportPosition.GetPositionY(), playerTeleportPosition.GetPositionZ(), playerTeleportPosition.GetOrientation(), true);
- player->CLOSE_GOSSIP_MENU();
- break;
- }
- return true;
- }
+ public:
+ npc_sinclari_vh() : CreatureScript("npc_sinclari_vh") { }
- bool OnGossipHello(Player* player, Creature* creature) override
- {
- if (InstanceScript* instance = creature->GetInstanceScript())
+ bool OnGossipHello(Player* player, Creature* creature) override
{
- switch (instance->GetData(DATA_MAIN_EVENT_PHASE))
+ // override default gossip
+ if (InstanceScript* instance = creature->GetInstanceScript())
{
- case NOT_STARTED:
- case FAIL: // Allow to start event if not started or wiped
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_START_EVENT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
- player->SEND_GOSSIP_MENU(13853, creature->GetGUID());
- break;
- case IN_PROGRESS: // Allow to teleport inside if event is in progress
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_I_WANT_IN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3);
- player->SEND_GOSSIP_MENU(13853, creature->GetGUID());
- break;
- default:
- player->SEND_GOSSIP_MENU(13910, creature->GetGUID());
+ switch (instance->GetData(DATA_MAIN_EVENT_STATE))
+ {
+ case IN_PROGRESS:
+ player->PrepareGossipMenu(creature, GOSSIP_MENU_SEND_ME_IN, true);
+ player->SendPreparedGossip(creature);
+ return true;
+ case DONE:
+ return true; // NYI
+ case NOT_STARTED:
+ case FAIL:
+ default:
+ break;
+ }
}
- }
- return true;
- }
- struct npc_sinclariAI : public ScriptedAI
- {
- npc_sinclariAI(Creature* creature) : ScriptedAI(creature)
- {
- Initialize();
- instance = creature->GetInstanceScript();
+ // load default gossip
+ return false;
}
- void Initialize()
+ struct npc_sinclariAI : public ScriptedAI
{
- uiPhase = 0;
- uiTimer = 0;
- }
+ npc_sinclariAI(Creature* creature) : ScriptedAI(creature), _summons(creature)
+ {
+ _instance = creature->GetInstanceScript();
+ }
- InstanceScript* instance;
+ void Reset() override
+ {
+ _summons.DespawnAll();
+ for (uint8 i = 0; i < PortalIntroCount; ++i)
+ if (Creature* summon = me->SummonCreature(NPC_TELEPORTATION_PORTAL_INTRO, PortalIntroPositions[i], TEMPSUMMON_MANUAL_DESPAWN))
+ summon->AI()->SetData(DATA_PORTAL_LOCATION, i);
- uint8 uiPhase;
- uint32 uiTimer;
+ me->SetVisible(true);
+ me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
- void Reset() override
- {
- Initialize();
+ std::list<Creature*> guardList;
+ me->GetCreatureListWithEntryInGrid(guardList, NPC_VIOLET_HOLD_GUARD, 100.0f);
+ for (Creature* guard : guardList)
+ {
+ guard->Respawn(true);
+ guard->SetVisible(true);
+ guard->SetReactState(REACT_AGGRESSIVE);
+ guard->AI()->EnterEvadeMode();
+ }
+ }
- me->SetReactState(REACT_AGGRESSIVE);
- for (uint8 i = 0; i < MAX_PRE_EVENT_PORTAL; i++)
- if (TempSummon* summon = me->SummonCreature(NPC_TELEPORTATION_PORTAL, PortalLocation[i], TEMPSUMMON_MANUAL_DESPAWN))
- preEventPortalGUID[i] = summon->GetGUID();
+ void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) override
+ {
+ if (menuId == GOSSIP_MENU_START_ENCOUNTER && gossipListId == 0)
+ {
+ me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ _instance->SetData(DATA_MAIN_EVENT_STATE, SPECIAL);
+ ScheduleIntro();
+ player->PlayerTalkClass->SendCloseGossip();
+ }
+ else if (menuId == GOSSIP_MENU_SEND_ME_IN && gossipListId == 0)
+ {
+ me->CastSpell(player, SPELL_TELEPORT_PLAYER, true);
+ player->PlayerTalkClass->SendCloseGossip();
+ }
+ }
- std::list<Creature*> GuardList;
- me->GetCreatureListWithEntryInGrid(GuardList, NPC_VIOLET_HOLD_GUARD, 40.0f);
- if (!GuardList.empty())
+ void DoAction(int32 actionId) override
{
- for (std::list<Creature*>::const_iterator itr = GuardList.begin(); itr != GuardList.end(); ++itr)
+ if (actionId == ACTION_SINCLARI_OUTRO)
{
- if (Creature* pGuard = *itr)
- {
- pGuard->DisappearAndDie();
- pGuard->Respawn();
- pGuard->SetVisible(true);
- pGuard->SetReactState(REACT_AGGRESSIVE);
- }
+ me->SetVisible(true);
+ ScheduleOutro();
}
}
- }
- void UpdateAI(uint32 uiDiff) override
- {
- if (uiPhase)
+ void UpdateAI(uint32 diff) override
{
- if (uiTimer <= uiDiff)
+ _scheduler.Update(diff);
+
+ if (!UpdateVictim())
+ return;
+
+ DoMeleeAttackIfReady();
+ }
+
+ void ScheduleIntro()
+ {
+ _scheduler.Schedule(Seconds(1), [this](TaskContext task)
{
- switch (uiPhase)
+ switch (task.GetRepeatCounter())
{
- case 1:
+ case 0:
me->SetWalk(true);
- me->GetMotionMaster()->MovePoint(0, sinclariCrystalPosition);
- uiTimer = 1000;
- uiPhase = 6;
+ me->GetMotionMaster()->MovePoint(0, SinclariPositions[0]);
+ task.Repeat(Seconds(1));
break;
- case 2:
- {
- me->SetFacingTo(me->GetOrientation() - 3.14f);
- Talk(SAY_SINCLARI_1);
- uiTimer = 1500;
- uiPhase = 7;
+ case 1:
+ me->HandleEmoteCommand(EMOTE_ONESHOT_USE_STANDING);
+ me->GetMap()->SummonCreature(NPC_DEFENSE_SYSTEM, DefenseSystemLocation);
+ task.Repeat(Seconds(3));
break;
- }
- case 3:
- {
- std::list<Creature*> GuardList;
- me->GetCreatureListWithEntryInGrid(GuardList, NPC_VIOLET_HOLD_GUARD, 40.0f);
- if (!GuardList.empty())
- for (std::list<Creature*>::const_iterator itr = GuardList.begin(); itr != GuardList.end(); ++itr)
+ case 2:
+ me->SetFacingTo(SinclariPositions[0].GetOrientation());
+ Talk(SAY_SINCLARI_INTRO_1);
+
+ task.Schedule(Seconds(1), [this](TaskContext /*task*/)
+ {
+ std::list<Creature*> guardList;
+ me->GetCreatureListWithEntryInGrid(guardList, NPC_VIOLET_HOLD_GUARD, 100.0f);
+ for (Creature* guard : guardList)
{
- if (Creature* pGuard = *itr)
- {
- pGuard->SetVisible(false);
- }
+ guard->SetReactState(REACT_PASSIVE);
+ guard->SetWalk(false);
+ guard->GetMotionMaster()->MovePoint(0, GuardsMovePosition);
}
- uiTimer = 2000;
- uiPhase = 4;
+ });
+
+ task.Repeat(Seconds(2));
+ break;
+ case 3:
+ me->GetMotionMaster()->MovePoint(0, SinclariPositions[1]);
+ _summons.DespawnAll();
+ task.Repeat(Seconds(5));
break;
- }
case 4:
- me->GetMotionMaster()->MovePoint(0, sinclariOutsidePosition);
- uiTimer = 4000;
- uiPhase = 5;
+ me->SetFacingTo(SinclariPositions[1].GetOrientation());
+
+ task.Schedule(Seconds(1), [this](TaskContext /*task*/)
+ {
+ std::list<Creature*> guardList;
+ me->GetCreatureListWithEntryInGrid(guardList, NPC_VIOLET_HOLD_GUARD, 100.0f);
+ for (Creature* guard : guardList)
+ guard->SetVisible(false);
+ });
+
+ task.Repeat(Seconds(6));
break;
case 5:
- me->SetFacingTo(0.006673f);
- me->Say(SAY_EVENT_LOCK, LANG_UNIVERSAL, me); // need to change to db say
- me->SetReactState(REACT_PASSIVE);
- uiTimer = 3000;
- uiPhase = 8;
+ Talk(SAY_SINCLARI_INTRO_2);
+ task.Repeat(Seconds(4));
break;
case 6:
- me->GetMotionMaster()->MovementExpired();
- me->HandleEmoteCommand(EMOTE_STATE_USE_STANDING);
- uiTimer = 2000;
- uiPhase = 2;
+ me->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NO_SHEATHE);
+ task.Repeat(Seconds(1));
break;
case 7:
- {
- std::list<Creature*> creatures;
- GetCreatureListWithEntryInGrid(creatures, me, NPC_TELEPORTATION_PORTAL, 200.0f);
- GetCreatureListWithEntryInGrid(creatures, me, NPC_AZURE_BINDER_1, 200.0f);
- GetCreatureListWithEntryInGrid(creatures, me, NPC_AZURE_MAGE_SLAYER_1, 200.0f);
- GetCreatureListWithEntryInGrid(creatures, me, NPC_AZURE_INVADER_1, 200.0f);
- DoCast(SPELL_CRYSTAL_ACTIVATION);
- if (!creatures.empty())
+ if (GameObject* mainDoor = _instance->GetGameObject(DATA_MAIN_DOOR))
{
- for (std::list<Creature*>::iterator itr = creatures.begin(); itr != creatures.end(); ++itr)
- (*itr)->DisappearAndDie();
+ mainDoor->SetGoState(GO_STATE_READY);
+ mainDoor->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
- uiTimer = 500;
- uiPhase = 9;
- }
- break;
+ task.Repeat(Seconds(5));
+ break;
case 8:
- instance->SetData(DATA_MAIN_EVENT_PHASE, IN_PROGRESS);
- uiTimer = 0;
- uiPhase = 0;
+ me->SetVisible(false);
+ task.Repeat(Seconds(1));
break;
case 9:
- {
- std::list<Creature*> GuardList;
- me->GetCreatureListWithEntryInGrid(GuardList, NPC_VIOLET_HOLD_GUARD, 40.0f);
- if (!GuardList.empty())
- for (std::list<Creature*>::const_iterator itr = GuardList.begin(); itr != GuardList.end(); ++itr)
- {
- if (Creature* pGuard = *itr)
- {
- pGuard->SetReactState(REACT_PASSIVE);
- pGuard->SetWalk(false);
- pGuard->GetMotionMaster()->MovePoint(0, MovePosition);
- }
- }
- uiTimer = 4000;
- uiPhase = 3;
- }
- break;
+ _instance->SetData(DATA_MAIN_EVENT_STATE, IN_PROGRESS);
+ // [1] GUID: Full: 0xF1300077C202E6DD Type: Creature Entry: 30658 Low: 190173
+ break;
+ default:
+ break;
}
- }
- else uiTimer -= uiDiff;
+ });
}
- if (!UpdateVictim())
- return;
+ void ScheduleOutro()
+ {
+ _scheduler.Schedule(Seconds(4), [this](TaskContext task)
+ {
+ Talk(SAY_SINCLARI_OUTRO);
+ me->GetMotionMaster()->MovePoint(0, SinclariPositions[3]);
- DoMeleeAttackIfReady();
- }
- };
+ task.Schedule(Seconds(10), [this](TaskContext /*task*/)
+ {
+ me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ });
+ });
+ }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_sinclariAI>(creature);
- }
-};
+ void JustSummoned(Creature* summon) override
+ {
+ ScriptedAI::JustSummoned(summon);
+ _summons.Summon(summon);
+ }
-class npc_azure_saboteur : public CreatureScript
-{
-public:
- npc_azure_saboteur() : CreatureScript("npc_azure_saboteur") { }
+ void SummonedCreatureDespawn(Creature* summon) override
+ {
+ _summons.Despawn(summon);
+ ScriptedAI::SummonedCreatureDespawn(summon);
+ }
- struct npc_azure_saboteurAI : public npc_escortAI
- {
- npc_azure_saboteurAI(Creature* creature) : npc_escortAI(creature)
- {
- instance = creature->GetInstanceScript();
- bHasGotMovingPoints = false;
- uiBoss = 0;
- Reset();
- }
+ private:
+ InstanceScript* _instance;
+ TaskScheduler _scheduler;
- InstanceScript* instance;
- bool bHasGotMovingPoints;
- uint32 uiBoss;
+ SummonList _summons;
+ };
- void Reset() override
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (!uiBoss)
- uiBoss = instance->GetData(DATA_WAVE_COUNT) == 6 ? instance->GetData(DATA_FIRST_BOSS) : instance->GetData(DATA_SECOND_BOSS);
- me->SetReactState(REACT_PASSIVE);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ return GetVioletHoldAI<npc_sinclariAI>(creature);
}
+};
- void WaypointReached(uint32 waypointId) override
- {
- switch (uiBoss)
- {
- case 1:
- if (waypointId == 2)
- FinishPointReached();
- break;
- case 2:
- if (waypointId == 2)
- FinishPointReached();
- break;
- case 3:
- if (waypointId == 1)
- FinishPointReached();
- break;
- case 4:
- if (waypointId == 0)
- FinishPointReached();
- break;
- case 5:
- if (waypointId == 0)
- FinishPointReached();
- break;
- case 6:
- if (waypointId == 4)
- FinishPointReached();
- break;
- }
- }
+class npc_azure_saboteur : public CreatureScript
+{
+ public:
+ npc_azure_saboteur() : CreatureScript("npc_azure_saboteur") { }
- void UpdateAI(uint32 diff) override
+ struct npc_azure_saboteurAI : public ScriptedAI
{
- if (instance->GetData(DATA_MAIN_EVENT_PHASE) != IN_PROGRESS)
- me->CastStop();
+ npc_azure_saboteurAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _instance = creature->GetInstanceScript();
- npc_escortAI::UpdateAI(diff);
+ if (_instance->GetData(DATA_WAVE_COUNT) == 6)
+ _bossId = _instance->GetData(DATA_1ST_BOSS);
+ else
+ _bossId = _instance->GetData(DATA_2ND_BOSS);
+ }
- if (!bHasGotMovingPoints)
+ void StartMovement()
{
- bHasGotMovingPoints = true;
- switch (uiBoss)
+ uint32 pathSize = 0;
+ G3D::Vector3 const* path = nullptr;
+
+ switch (_bossId)
{
- case 1:
- for (int i=0;i<3;i++)
- AddWaypoint(i, SaboteurFinalPos1[i][0], SaboteurFinalPos1[i][1], SaboteurFinalPos1[i][2], 0);
- me->SetHomePosition(SaboteurFinalPos1[2][0], SaboteurFinalPos1[2][1], SaboteurFinalPos1[2][2], 4.762346f);
+ case DATA_MORAGG:
+ pathSize = SaboteurMoraggPathSize;
+ path = SaboteurMoraggPath;
break;
- case 2:
- for (int i=0;i<3;i++)
- AddWaypoint(i, SaboteurFinalPos2[i][0], SaboteurFinalPos2[i][1], SaboteurFinalPos2[i][2], 0);
- me->SetHomePosition(SaboteurFinalPos2[2][0], SaboteurFinalPos2[2][1], SaboteurFinalPos2[2][2], 1.862674f);
+ case DATA_EREKEM:
+ pathSize = SaboteurErekemPathSize;
+ path = SaboteurErekemPath;
break;
- case 3:
- for (int i=0;i<2;i++)
- AddWaypoint(i, SaboteurFinalPos3[i][0], SaboteurFinalPos3[i][1], SaboteurFinalPos3[i][2], 0);
- me->SetHomePosition(SaboteurFinalPos3[1][0], SaboteurFinalPos3[1][1], SaboteurFinalPos3[1][2], 5.500638f);
+ case DATA_ICHORON:
+ pathSize = SaboteurIchoronPathSize;
+ path = SaboteurIchoronPath;
break;
- case 4:
- AddWaypoint(0, SaboteurFinalPos4[0], SaboteurFinalPos4[1], SaboteurFinalPos4[2], 0);
- me->SetHomePosition(SaboteurFinalPos4[0], SaboteurFinalPos4[1], SaboteurFinalPos4[2], 3.991108f);
+ case DATA_LAVANTHOR:
+ pathSize = SaboteurLavanthorPathSize;
+ path = SaboteurLavanthorPath;
break;
- case 5:
- AddWaypoint(0, SaboteurFinalPos5[0], SaboteurFinalPos5[1], SaboteurFinalPos5[2], 0);
- me->SetHomePosition(SaboteurFinalPos5[0], SaboteurFinalPos5[1], SaboteurFinalPos5[2], 1.100841f);
+ case DATA_XEVOZZ:
+ pathSize = SaboteurXevozzPathSize;
+ path = SaboteurXevozzPath;
break;
- case 6:
- for (int i=0;i<5;i++)
- AddWaypoint(i, SaboteurFinalPos6[i][0], SaboteurFinalPos6[i][1], SaboteurFinalPos6[i][2], 0);
- me->SetHomePosition(SaboteurFinalPos6[4][0], SaboteurFinalPos6[4][1], SaboteurFinalPos6[4][2], 0.983031f);
+ case DATA_ZURAMAT:
+ pathSize = SaboteurZuramatPathSize;
+ path = SaboteurZuramatPath;
break;
}
- SetDespawnAtEnd(false);
- Start(true, true);
+ if (path)
+ me->GetMotionMaster()->MoveSmoothPath(POINT_INTRO, path, pathSize, false);
+ }
+
+ void Reset() override
+ {
+ _scheduler.CancelAll();
+ _scheduler.Schedule(Seconds(2), [this](TaskContext /*task*/)
+ {
+ StartMovement();
+ });
+ }
+
+ void MovementInform(uint32 type, uint32 pointId) override
+ {
+ if (type == EFFECT_MOTION_TYPE && pointId == POINT_INTRO)
+ {
+ _scheduler.Schedule(Seconds(0), [this](TaskContext task)
+ {
+ me->CastSpell(me, SPELL_SHIELD_DISRUPTION, false);
+
+ if (task.GetRepeatCounter() < 2)
+ task.Repeat(Seconds(1));
+ else
+ {
+ task.Schedule(Seconds(2), [this](TaskContext /*task*/)
+ {
+ _instance->SetData(DATA_START_BOSS_ENCOUNTER, 1);
+ me->CastSpell(me, SPELL_TELEPORT_VISUAL, false);
+ me->DespawnOrUnsummon(1000);
+ });
+ }
+ });
+ }
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ _scheduler.Update(diff);
}
- }
- void FinishPointReached()
+ private:
+ InstanceScript* _instance;
+ TaskScheduler _scheduler;
+
+ uint32 _bossId;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
{
- me->CastSpell(me, SABOTEUR_SHIELD_DISRUPTION, false);
- me->DisappearAndDie();
- if (Creature* pSaboPort = ObjectAccessor::GetCreature((*me), instance->GetGuidData(DATA_SABOTEUR_PORTAL)))
- pSaboPort->DisappearAndDie();
- instance->SetData(DATA_START_BOSS_ENCOUNTER, 1);
+ return GetVioletHoldAI<npc_azure_saboteurAI>(creature);
}
- };
+};
- CreatureAI* GetAI(Creature* creature) const override
+struct npc_violet_hold_teleportation_portal_commonAI : public ScriptedAI
+{
+ npc_violet_hold_teleportation_portal_commonAI(Creature* creature) : ScriptedAI(creature), _summons(me)
{
- return GetInstanceAI<npc_azure_saboteurAI>(creature);
+ _instance = creature->GetInstanceScript();
+ _portalLocation = 0;
}
-};
-class npc_teleportation_portal_vh : public CreatureScript
-{
-public:
- npc_teleportation_portal_vh() : CreatureScript("npc_teleportation_portal_vh") { }
+ void InitializeAI() override
+ {
+ ScriptedAI::InitializeAI();
+ ScheduleTasks();
+ }
- struct npc_teleportation_portalAI : public ScriptedAI
+ void SetData(uint32 type, uint32 data) override
{
- npc_teleportation_portalAI(Creature* creature) : ScriptedAI(creature), listOfMobs(me)
- {
- Initialize();
- instance = creature->GetInstanceScript();
- uiTypeOfMobsPortal = urand(0, 1); // 0 - elite mobs 1 - portal guardian or portal keeper with regular mobs
+ if (type == DATA_PORTAL_LOCATION)
+ _portalLocation = uint8(data);
+ }
- if (instance->GetData(DATA_MAIN_EVENT_PHASE) == NOT_STARTED)
- uiTypeOfMobsPortal = 2;
- }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void Initialize()
- {
- uiSpawnTimer = 10000;
- bPortalGuardianOrKeeperOrEliteSpawn = false;
- }
+ void EnterCombat(Unit* /*who*/) override { }
- uint32 uiSpawnTimer;
- bool bPortalGuardianOrKeeperOrEliteSpawn;
- uint8 uiTypeOfMobsPortal;
+ void JustSummoned(Creature* summon) override
+ {
+ _summons.Summon(summon);
+ summon->AI()->SetData(DATA_PORTAL_LOCATION, _portalLocation);
+ }
- SummonList listOfMobs;
+ void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) override
+ {
+ _summons.Despawn(summon);
+ }
- InstanceScript* instance;
+ virtual void ScheduleTasks() { }
- void Reset() override
- {
- Initialize();
- }
+ void UpdateAI(uint32 diff) override
+ {
+ _scheduler.Update(diff);
+ }
- void EnterCombat(Unit* /*who*/) override { }
+protected:
+ InstanceScript* _instance;
+ SummonList _summons;
+ TaskScheduler _scheduler;
+ uint8 _portalLocation;
+};
- void MoveInLineOfSight(Unit* /*who*/) override { }
+class npc_violet_hold_teleportation_portal : public CreatureScript
+{
+ public:
+ npc_violet_hold_teleportation_portal() : CreatureScript("npc_violet_hold_teleportation_portal") { }
- void UpdateAI(uint32 diff) override
+ struct npc_violet_hold_teleportation_portalAI : public npc_violet_hold_teleportation_portal_commonAI
{
- if (instance->GetData(DATA_MAIN_EVENT_PHASE) == IN_PROGRESS)
+ npc_violet_hold_teleportation_portalAI(Creature* creature) : npc_violet_hold_teleportation_portal_commonAI(creature)
{
- if (instance->GetData(DATA_REMOVE_NPC) == 1)
- {
- me->DespawnOrUnsummon();
- instance->SetData(DATA_REMOVE_NPC, 0);
- }
}
- uint8 uiWaveCount = instance->GetData(DATA_WAVE_COUNT);
- if ((uiWaveCount == 6) || (uiWaveCount == 12)) //Don't spawn mobs on boss encounters
- return;
+ void InitializeAI() override
+ {
+ npc_violet_hold_teleportation_portal_commonAI::InitializeAI();
+ me->CastSpell(me, SPELL_PORTAL_PERIODIC, true);
+ }
- switch (uiTypeOfMobsPortal)
+ void SetData(uint32 type, uint32 data) override
{
- // spawn elite mobs and then set portals visibility to make it look like it dissapeard
- case 0:
- if (!bPortalGuardianOrKeeperOrEliteSpawn)
+ npc_violet_hold_teleportation_portal_commonAI::SetData(type, data);
+
+ if (type == DATA_PORTAL_PERIODIC_TICK)
+ {
+ if (data == 1)
{
- if (uiSpawnTimer <= diff)
+ uint32 entry = RAND(NPC_PORTAL_GUARDIAN, NPC_PORTAL_KEEPER);
+ if (Creature* portalKeeper = DoSummon(entry, me, 2.0f, 0, TEMPSUMMON_DEAD_DESPAWN))
+ me->CastSpell(portalKeeper, SPELL_PORTAL_CHANNEL, false);
+
+ if (Creature* sinclariTrigger = _instance->GetCreature(DATA_SINCLARI_TRIGGER))
{
- bPortalGuardianOrKeeperOrEliteSpawn = true;
- uint8 k = uiWaveCount < 12 ? 2 : 3;
- for (uint8 i = 0; i < k; ++i)
- {
- uint32 entry = RAND(NPC_AZURE_CAPTAIN, NPC_AZURE_RAIDER, NPC_AZURE_STALKER, NPC_AZURE_SORCEROR);
- DoSummon(entry, me, 2.0f, 20000, TEMPSUMMON_DEAD_DESPAWN);
- }
- me->SetVisible(false);
- } else uiSpawnTimer -= diff;
+ if (entry == NPC_PORTAL_GUARDIAN)
+ sinclariTrigger->AI()->Talk(SAY_SINCLARI_PORTAL_GUARDIAN);
+ else if (entry == NPC_PORTAL_KEEPER)
+ sinclariTrigger->AI()->Talk(SAY_SINCLARI_PORTAL_KEEPER);
+ }
}
else
{
- // if all spawned elites have died kill portal
- if (listOfMobs.empty())
+ uint8 k = _instance->GetData(DATA_WAVE_COUNT) < 12 ? 3 : 4;
+ while (k--)
{
- me->Kill(me, false);
- me->RemoveCorpse();
+ uint32 entry = RAND(NPC_AZURE_INVADER_1, NPC_AZURE_INVADER_2, NPC_AZURE_SPELLBREAKER_1, NPC_AZURE_SPELLBREAKER_2, NPC_AZURE_MAGE_SLAYER_1, NPC_AZURE_MAGE_SLAYER_2, NPC_AZURE_BINDER_1, NPC_AZURE_BINDER_2);
+ DoSummon(entry, me, 2.0f, 20000, TEMPSUMMON_DEAD_DESPAWN);
}
}
- break;
- // spawn portal guardian or portal keeper with regular mobs
- case 1:
- if (uiSpawnTimer <= diff)
- {
- if (bPortalGuardianOrKeeperOrEliteSpawn)
- {
- uint8 k = instance->GetData(DATA_WAVE_COUNT) < 12 ? 3 : 4;
- for (uint8 i = 0; i < k; ++i)
- {
- uint32 entry = RAND(NPC_AZURE_INVADER_1, NPC_AZURE_INVADER_2, NPC_AZURE_SPELLBREAKER_1, NPC_AZURE_SPELLBREAKER_2, NPC_AZURE_MAGE_SLAYER_1, NPC_AZURE_MAGE_SLAYER_2, NPC_AZURE_BINDER_1, NPC_AZURE_BINDER_2);
- DoSummon(entry, me, 2.0f, 20000, TEMPSUMMON_DEAD_DESPAWN);
- }
- }
- else
- {
- bPortalGuardianOrKeeperOrEliteSpawn = true;
- uint32 entry = RAND(NPC_PORTAL_GUARDIAN, NPC_PORTAL_KEEPER);
- if (Creature* pPortalKeeper = DoSummon(entry, me, 2.0f, 0, TEMPSUMMON_DEAD_DESPAWN))
- me->CastSpell(pPortalKeeper, SPELL_PORTAL_CHANNEL, false);
- }
- uiSpawnTimer = SPAWN_TIME;
- } else uiSpawnTimer -= diff;
+ }
+ }
- if (bPortalGuardianOrKeeperOrEliteSpawn && !me->IsNonMeleeSpellCast(false))
+ void SummonedCreatureDies(Creature* summon, Unit* killer) override
+ {
+ npc_violet_hold_teleportation_portal_commonAI::SummonedCreatureDies(summon, killer);
+
+ if (summon->GetEntry() == NPC_PORTAL_GUARDIAN || summon->GetEntry() == NPC_PORTAL_KEEPER)
+ {
+ _instance->SetData(DATA_WAVE_COUNT, _instance->GetData(DATA_WAVE_COUNT) + 1);
+ me->DespawnOrUnsummon();
+ }
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<npc_violet_hold_teleportation_portalAI>(creature);
+ }
+};
+
+class npc_violet_hold_teleportation_portal_elite : public CreatureScript
+{
+ public:
+ npc_violet_hold_teleportation_portal_elite() : CreatureScript("npc_violet_hold_teleportation_portal_elite") { }
+
+ struct npc_violet_hold_teleportation_portal_eliteAI : public npc_violet_hold_teleportation_portal_commonAI
+ {
+ npc_violet_hold_teleportation_portal_eliteAI(Creature* creature) : npc_violet_hold_teleportation_portal_commonAI(creature)
+ {
+ }
+
+ void ScheduleTasks() override
+ {
+ _scheduler.Schedule(Seconds(15), [this](TaskContext task)
+ {
+ uint8 k = _instance->GetData(DATA_WAVE_COUNT) < 12 ? 3 : 4;
+ while (k--)
{
- me->Kill(me, false);
- me->RemoveCorpse();
+ uint32 entry = RAND(NPC_AZURE_CAPTAIN_1, NPC_AZURE_RAIDER_1, NPC_AZURE_STALKER_1, NPC_AZURE_SORCEROR_1);
+ DoSummon(entry, me, 2.0f, 20000, TEMPSUMMON_DEAD_DESPAWN);
}
- break;
- case 2: // Pre-event
- if (uiSpawnTimer <= diff)
+
+ if (Creature* sinclariTrigger = _instance->GetCreature(DATA_SINCLARI_TRIGGER))
+ sinclariTrigger->AI()->Talk(SAY_SINCLARI_ELITE_SQUAD);
+
+ task.Schedule(Seconds(1), [this](TaskContext /*task*/)
{
- uint32 entry = RAND(NPC_AZURE_INVADER_1, NPC_AZURE_MAGE_SLAYER_1, NPC_AZURE_BINDER_1);
- DoSummon(entry, me, 2.0f, 20000, TEMPSUMMON_DEAD_DESPAWN);
- uiSpawnTimer = SPAWN_TIME;
- } else uiSpawnTimer -= diff;
- break;
+ me->SetVisible(false);
+ });
+ });
}
- }
- void JustDied(Unit* /*killer*/) override
+ void SummonedCreatureDies(Creature* summon, Unit* killer) override
+ {
+ npc_violet_hold_teleportation_portal_commonAI::SummonedCreatureDies(summon, killer);
+
+ if (_summons.empty())
+ {
+ _instance->SetData(DATA_WAVE_COUNT, _instance->GetData(DATA_WAVE_COUNT) + 1);
+ me->DespawnOrUnsummon();
+ }
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (instance->GetData(DATA_MAIN_EVENT_PHASE) == IN_PROGRESS)
- instance->SetData(DATA_WAVE_COUNT, instance->GetData(DATA_WAVE_COUNT) + 1);
+ return GetVioletHoldAI<npc_violet_hold_teleportation_portal_eliteAI>(creature);
}
+};
+
+class npc_violet_hold_teleportation_portal_intro : public CreatureScript
+{
+ public:
+ npc_violet_hold_teleportation_portal_intro() : CreatureScript("npc_violet_hold_teleportation_portal_intro") { }
- void JustSummoned(Creature* summoned) override
+ struct npc_violet_hold_teleportation_portal_introAI : public npc_violet_hold_teleportation_portal_commonAI
{
- if (instance->GetData(DATA_MAIN_EVENT_PHASE) == IN_PROGRESS)
+ npc_violet_hold_teleportation_portal_introAI(Creature* creature) : npc_violet_hold_teleportation_portal_commonAI(creature)
{
- listOfMobs.Summon(summoned);
- instance->SetGuidData(DATA_ADD_TRASH_MOB, summoned->GetGUID());
}
- }
- void SummonedCreatureDies(Creature* summoned, Unit* /*killer*/) override
- {
- if (instance->GetData(DATA_MAIN_EVENT_PHASE) == IN_PROGRESS)
+ void ScheduleTasks() override
{
- listOfMobs.Despawn(summoned);
- instance->SetGuidData(DATA_DEL_TRASH_MOB, summoned->GetGUID());
+ if (_instance->GetData(DATA_MAIN_EVENT_STATE) != NOT_STARTED)
+ return;
+
+ _scheduler.Schedule(Seconds(15), [this](TaskContext task)
+ {
+ uint32 entry = RAND(NPC_AZURE_INVADER_1, NPC_AZURE_MAGE_SLAYER_1, NPC_AZURE_BINDER_1);
+ DoSummon(entry, me, 2.0f, 20000, TEMPSUMMON_DEAD_DESPAWN);
+
+ task.Repeat();
+ });
}
- }
- };
+ };
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_teleportation_portalAI>(creature);
- }
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<npc_violet_hold_teleportation_portal_introAI>(creature);
+ }
};
struct violet_hold_trashAI : public npc_escortAI
{
violet_hold_trashAI(Creature* creature) : npc_escortAI(creature)
{
- instance = creature->GetInstanceScript();
- bHasGotMovingPoints = false;
+ _instance = creature->GetInstanceScript();
+ _lastWaypointId = 0;
- if (instance->GetData(DATA_MAIN_EVENT_PHASE) == NOT_STARTED)
- {
- if (Creature* portal = me->FindNearestCreature(NPC_TELEPORTATION_PORTAL, 10.0f))
- {
- ObjectGuid portalGUID = portal->GetGUID();
- for (uint8 i = 0; i < MAX_PRE_EVENT_PORTAL; i++)
- if (portalGUID == preEventPortalGUID[i])
- portalLocationID = i * 2;
- }
- }
- else
+ SetDespawnAtEnd(false);
+
+ _scheduler.SetValidator([this]
{
- portalLocationID = instance->GetData(DATA_PORTAL_LOCATION);
- Reset();
- }
+ return !me->HasUnitState(UNIT_STATE_CASTING);
+ });
}
- public:
- InstanceScript* instance;
- bool bHasGotMovingPoints;
- uint32 portalLocationID;
- uint32 secondPortalRouteID;
-
- void WaypointReached(uint32 waypointId) override
+ void Reset() override
{
- switch (portalLocationID)
- {
- case 0:
- if (waypointId == 5)
- CreatureStartAttackDoor();
- break;
- case 1:
- if ((waypointId == 8 && secondPortalRouteID == 0) || (waypointId == 7 && secondPortalRouteID == 1))
- CreatureStartAttackDoor();
- break;
- case 2:
- if (waypointId == 7)
- CreatureStartAttackDoor();
- break;
- case 3:
- if (waypointId == 8)
- CreatureStartAttackDoor();
- break;
- case 4:
- if (waypointId == 5)
- CreatureStartAttackDoor();
- break;
- case 5:
- if (waypointId == 3)
- CreatureStartAttackDoor();
- break;
- }
+ _scheduler.CancelAll();
}
- void UpdateAI(uint32 diff) override
+ void SetData(uint32 type, uint32 data) override
{
- if (instance->GetData(DATA_MAIN_EVENT_PHASE) != IN_PROGRESS)
- me->CastStop();
-
- if (!bHasGotMovingPoints)
+ if (type == DATA_PORTAL_LOCATION)
{
- bHasGotMovingPoints = true;
- switch (portalLocationID)
+ G3D::Vector3 const* path = nullptr;
+
+ switch (data)
{
case 0:
- for (int i=0;i<6;i++)
- AddWaypoint(i, FirstPortalWPs[i][0]+irand(-1, 1), FirstPortalWPs[i][1]+irand(-1, 1), FirstPortalWPs[i][2]+irand(-1, 1), 0);
- me->SetHomePosition(FirstPortalWPs[5][0], FirstPortalWPs[5][1], FirstPortalWPs[5][2], 3.149439f);
+ _lastWaypointId = 5;
+ path = FirstPortalWPs;
break;
- case 1:
- secondPortalRouteID = urand(0, 1);
- switch (secondPortalRouteID)
+ case 7:
+ switch (urand(0, 1))
{
case 0:
- for (int i=0;i<9;i++)
- AddWaypoint(i, SecondPortalFirstWPs[i][0]+irand(-1, 1), SecondPortalFirstWPs[i][1]+irand(-1, 1), SecondPortalFirstWPs[i][2], 0);
- me->SetHomePosition(SecondPortalFirstWPs[8][0]+irand(-1, 1), SecondPortalFirstWPs[8][1]+irand(-1, 1), SecondPortalFirstWPs[8][2]+irand(-1, 1), 3.149439f);
+ _lastWaypointId = 8;
+ path = SecondPortalFirstWPs;
break;
case 1:
- for (int i=0;i<8;i++)
- AddWaypoint(i, SecondPortalSecondWPs[i][0]+irand(-1, 1), SecondPortalSecondWPs[i][1]+irand(-1, 1), SecondPortalSecondWPs[i][2], 0);
- me->SetHomePosition(SecondPortalSecondWPs[7][0], SecondPortalSecondWPs[7][1], SecondPortalSecondWPs[7][2], 3.149439f);
+ _lastWaypointId = 7;
+ path = SecondPortalSecondWPs;
break;
}
break;
case 2:
- for (int i=0;i<8;i++)
- AddWaypoint(i, ThirdPortalWPs[i][0]+irand(-1, 1), ThirdPortalWPs[i][1]+irand(-1, 1), ThirdPortalWPs[i][2], 0);
- me->SetHomePosition(ThirdPortalWPs[7][0], ThirdPortalWPs[7][1], ThirdPortalWPs[7][2], 3.149439f);
+ _lastWaypointId = 7;
+ path = ThirdPortalWPs;
break;
- case 3:
- for (int i=0;i<9;i++)
- AddWaypoint(i, FourthPortalWPs[i][0]+irand(-1, 1), FourthPortalWPs[i][1]+irand(-1, 1), FourthPortalWPs[i][2], 0);
- me->SetHomePosition(FourthPortalWPs[8][0], FourthPortalWPs[8][1], FourthPortalWPs[8][2], 3.149439f);
+ case 6:
+ _lastWaypointId = 8;
+ path = FourthPortalWPs;
break;
- case 4:
- for (int i=0;i<6;i++)
- AddWaypoint(i, FifthPortalWPs[i][0]+irand(-1, 1), FifthPortalWPs[i][1]+irand(-1, 1), FifthPortalWPs[i][2], 0);
- me->SetHomePosition(FifthPortalWPs[5][0], FifthPortalWPs[5][1], FifthPortalWPs[5][2], 3.149439f);
+ case 1:
+ _lastWaypointId = 5;
+ path = FifthPortalWPs;
break;
case 5:
- for (int i=0;i<4;i++)
- AddWaypoint(i, SixthPoralWPs[i][0]+irand(-1, 1), SixthPoralWPs[i][1]+irand(-1, 1), SixthPoralWPs[i][2], 0);
- me->SetHomePosition(SixthPoralWPs[3][0], SixthPoralWPs[3][1], SixthPoralWPs[3][2], 3.149439f);
+ _lastWaypointId = 3;
+ path = SixthPoralWPs;
break;
+ default:
+ _lastWaypointId = 0;
+ path = DefaultPortalWPs;
+ break;
+ }
+
+ if (path)
+ {
+ for (uint32 i = 0; i <= _lastWaypointId; i++)
+ AddWaypoint(i, path[i].x + irand(-1, 1), path[i].y + irand(-1, 1), path[i].z, 0);
+ me->SetHomePosition(path[_lastWaypointId].x, path[_lastWaypointId].y, path[_lastWaypointId].z, float(M_PI));
}
- SetDespawnAtEnd(false);
+
Start(true, true);
}
-
- npc_escortAI::UpdateAI(diff);
}
- void JustDied(Unit* /*killer*/) override
+ void WaypointReached(uint32 waypointId) override
{
- instance->SetData(DATA_NPC_PRESENCE_AT_DOOR_REMOVE, 1);
+ if (waypointId == _lastWaypointId)
+ CreatureStartAttackDoor();
}
- void CreatureStartAttackDoor()
+ void EnterCombat(Unit* who) override
{
- me->SetReactState(REACT_PASSIVE);
- DoCast(SPELL_DESTROY_DOOR_SEAL);
- instance->SetData(DATA_NPC_PRESENCE_AT_DOOR_ADD, 1);
+ npc_escortAI::EnterCombat(who);
+ ScheduledTasks();
}
-};
-
-class npc_azure_invader : public CreatureScript
-{
-public:
- npc_azure_invader() : CreatureScript("npc_azure_invader") { }
- struct npc_azure_invaderAI : public violet_hold_trashAI
+ void UpdateEscortAI(uint32 diff) override
{
- npc_azure_invaderAI(Creature* creature) : violet_hold_trashAI(creature)
- {
- Initialize();
- instance = creature->GetInstanceScript();
- }
+ if (_instance->GetData(DATA_MAIN_EVENT_STATE) != IN_PROGRESS)
+ me->CastStop();
- void Initialize()
- {
- uiCleaveTimer = 5000;
- uiImpaleTimer = 4000;
- uiBrutalStrikeTimer = 5000;
- uiSunderArmorTimer = 4000;
- }
+ if (!UpdateVictim())
+ return;
- uint32 uiCleaveTimer;
- uint32 uiImpaleTimer;
- uint32 uiBrutalStrikeTimer;
- uint32 uiSunderArmorTimer;
+ _scheduler.Update(diff,
+ std::bind(&npc_escortAI::DoMeleeAttackIfReady, this));
+ }
- void Reset() override
- {
- Initialize();
- }
+ virtual void ScheduledTasks() { }
- void UpdateAI(uint32 diff) override
- {
- violet_hold_trashAI::UpdateAI(diff);
+ void CreatureStartAttackDoor()
+ {
+ me->SetReactState(REACT_DEFENSIVE);
+ DoCastAOE(SPELL_DESTROY_DOOR_SEAL);
+ }
- if (!UpdateVictim())
- return;
+protected:
+ InstanceScript* _instance;
+ TaskScheduler _scheduler;
- if (me->GetEntry() == NPC_AZURE_INVADER_1)
- {
- if (uiCleaveTimer <= diff)
- {
- DoCastVictim(SPELL_CLEAVE);
- uiCleaveTimer = 5000;
- } else uiCleaveTimer -= diff;
+ uint32 _lastWaypointId;
+};
- if (uiImpaleTimer <= diff)
- {
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_IMPALE);
- uiImpaleTimer = 4000;
- } else uiImpaleTimer -= diff;
- }
+class npc_azure_invader : public CreatureScript
+{
+ public:
+ npc_azure_invader() : CreatureScript("npc_azure_invader") { }
- if (me->GetEntry() == NPC_AZURE_INVADER_2)
+ struct npc_azure_invaderAI : public violet_hold_trashAI
+ {
+ npc_azure_invaderAI(Creature* creature) : violet_hold_trashAI(creature) { }
+
+ void ScheduledTasks() override
{
- if (uiBrutalStrikeTimer <= diff)
+ if (me->GetEntry() == NPC_AZURE_INVADER_1)
{
- DoCastVictim(SPELL_BRUTAL_STRIKE);
- uiBrutalStrikeTimer = 5000;
- } else uiBrutalStrikeTimer -= diff;
+ _scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ DoCastVictim(SPELL_CLEAVE);
+ task.Repeat();
+ });
- if (uiSunderArmorTimer <= diff)
+ _scheduler.Schedule(Seconds(4), [this](TaskContext task)
+ {
+ DoCastVictim(SPELL_IMPALE);
+ task.Repeat();
+ });
+ }
+ else if (me->GetEntry() == NPC_AZURE_INVADER_2)
{
- DoCastVictim(SPELL_SUNDER_ARMOR);
- uiSunderArmorTimer = urand(8000, 10000);
- } else uiSunderArmorTimer -= diff;
+ _scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ DoCastVictim(SPELL_BRUTAL_STRIKE);
+ task.Repeat();
+ });
- DoMeleeAttackIfReady();
+ _scheduler.Schedule(Seconds(4), [this](TaskContext task)
+ {
+ DoCastVictim(SPELL_SUNDER_ARMOR);
+ task.Repeat(Seconds(8), Seconds(10));
+ });
+ }
}
+ };
- DoMeleeAttackIfReady();
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<npc_azure_invaderAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_azure_invaderAI>(creature);
- }
};
class npc_azure_binder : public CreatureScript
{
-public:
- npc_azure_binder() : CreatureScript("npc_azure_binder") { }
-
- struct npc_azure_binderAI : public violet_hold_trashAI
- {
- npc_azure_binderAI(Creature* creature) : violet_hold_trashAI(creature)
- {
- Initialize();
- instance = creature->GetInstanceScript();
- }
-
- void Initialize()
- {
- uiArcaneExplosionTimer = 5000;
- uiArcainBarrageTimer = 4000;
- uiFrostNovaTimer = 5000;
- uiFrostboltTimer = 4000;
- }
-
- uint32 uiArcaneExplosionTimer;
- uint32 uiArcainBarrageTimer;
- uint32 uiFrostNovaTimer;
- uint32 uiFrostboltTimer;
-
- void Reset() override
- {
- Initialize();
- }
+ public:
+ npc_azure_binder() : CreatureScript("npc_azure_binder") { }
- void UpdateAI(uint32 diff) override
+ struct npc_azure_binderAI : public violet_hold_trashAI
{
- violet_hold_trashAI::UpdateAI(diff);
+ npc_azure_binderAI(Creature* creature) : violet_hold_trashAI(creature) { }
- if (!UpdateVictim())
- return;
-
- if (me->GetEntry() == NPC_AZURE_BINDER_1)
+ void ScheduledTasks() override
{
- if (uiArcaneExplosionTimer <= diff)
- {
- DoCast(SPELL_ARCANE_EXPLOSION);
- uiArcaneExplosionTimer = 5000;
- } else uiArcaneExplosionTimer -= diff;
-
- if (uiArcainBarrageTimer <= diff)
+ if (me->GetEntry() == NPC_AZURE_BINDER_1)
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_ARCANE_BARRAGE);
- uiArcainBarrageTimer = 6000;
- } else uiArcainBarrageTimer -= diff;
- }
+ _scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ DoCastAOE(SPELL_ARCANE_EXPLOSION);
+ task.Repeat();
+ });
- if (me->GetEntry() == NPC_AZURE_BINDER_2)
- {
- if (uiFrostNovaTimer <= diff)
+ _scheduler.Schedule(Seconds(4), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 30.0f))
+ DoCast(target, SPELL_ARCANE_BARRAGE);
+ task.Repeat(Seconds(6));
+ });
+ }
+ else if (me->GetEntry() == NPC_AZURE_BINDER_2)
{
- DoCast(SPELL_FROST_NOVA);
- uiFrostNovaTimer = 5000;
- } else uiFrostNovaTimer -= diff;
+ _scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ DoCastAOE(SPELL_FROST_NOVA);
+ task.Repeat();
+ });
- if (uiFrostboltTimer <= diff)
- {
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_FROSTBOLT);
- uiFrostboltTimer = 6000;
- } else uiFrostboltTimer -= diff;
+ _scheduler.Schedule(Seconds(4), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f))
+ DoCast(target, SPELL_FROSTBOLT);
+ task.Repeat(Seconds(6));
+ });
+ }
}
+ };
- DoMeleeAttackIfReady();
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<npc_azure_binderAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_azure_binderAI>(creature);
- }
};
class npc_azure_mage_slayer : public CreatureScript
{
-public:
- npc_azure_mage_slayer() : CreatureScript("npc_azure_mage_slayer") { }
-
- struct npc_azure_mage_slayerAI : public violet_hold_trashAI
- {
- npc_azure_mage_slayerAI(Creature* creature) : violet_hold_trashAI(creature)
- {
- Initialize();
- instance = creature->GetInstanceScript();
- }
-
- void Initialize()
- {
- uiArcaneEmpowermentTimer = 5000;
- uiSpellLockTimer = 5000;
- }
-
- uint32 uiArcaneEmpowermentTimer;
- uint32 uiSpellLockTimer;
-
- void Reset() override
- {
- Initialize();
- }
+ public:
+ npc_azure_mage_slayer() : CreatureScript("npc_azure_mage_slayer") { }
- void UpdateAI(uint32 diff) override
+ struct npc_azure_mage_slayerAI : public violet_hold_trashAI
{
- violet_hold_trashAI::UpdateAI(diff);
-
- if (!UpdateVictim())
- return;
+ npc_azure_mage_slayerAI(Creature* creature) : violet_hold_trashAI(creature) { }
- if (me->GetEntry() == NPC_AZURE_MAGE_SLAYER_1)
+ void ScheduledTasks() override
{
- if (uiArcaneEmpowermentTimer <= diff)
+ if (me->GetEntry() == NPC_AZURE_MAGE_SLAYER_1)
{
- DoCast(me, SPELL_ARCANE_EMPOWERMENT);
- uiArcaneEmpowermentTimer = 14000;
- } else uiArcaneEmpowermentTimer -= diff;
- }
-
- if (me->GetEntry() == NPC_AZURE_MAGE_SLAYER_2)
- {
- if (uiSpellLockTimer <= diff)
+ _scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ DoCast(me, SPELL_ARCANE_EMPOWERMENT);
+ task.Repeat(Seconds(14));
+ });
+ }
+ else if (me->GetEntry() == NPC_AZURE_MAGE_SLAYER_2)
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_SPELL_LOCK);
- uiSpellLockTimer = 9000;
- } else uiSpellLockTimer -= diff;
+ _scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ // wrong spellid?
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 30.0f))
+ DoCast(target, SPELL_SPELL_LOCK);
+ task.Repeat(Seconds(9));
+ });
+ }
}
+ };
- DoMeleeAttackIfReady();
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<npc_azure_mage_slayerAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_azure_mage_slayerAI>(creature);
- }
};
class npc_azure_raider : public CreatureScript
{
-public:
- npc_azure_raider() : CreatureScript("npc_azure_raider") { }
-
- struct npc_azure_raiderAI : public violet_hold_trashAI
- {
- npc_azure_raiderAI(Creature* creature) : violet_hold_trashAI(creature)
- {
- Initialize();
- instance = creature->GetInstanceScript();
- }
-
- void Initialize()
- {
- uiConcussionBlowTimer = 5000;
- uiMagicReflectionTimer = 8000;
- }
-
- uint32 uiConcussionBlowTimer;
- uint32 uiMagicReflectionTimer;
-
- void Reset() override
- {
- Initialize();
- }
+ public:
+ npc_azure_raider() : CreatureScript("npc_azure_raider") { }
- void UpdateAI(uint32 diff) override
+ struct npc_azure_raiderAI : public violet_hold_trashAI
{
- violet_hold_trashAI::UpdateAI(diff);
+ npc_azure_raiderAI(Creature* creature) : violet_hold_trashAI(creature) { }
- if (!UpdateVictim())
- return;
-
- if (uiConcussionBlowTimer <= diff)
+ void ScheduledTasks() override
{
- DoCastVictim(SPELL_CONCUSSION_BLOW);
- uiConcussionBlowTimer = 5000;
- } else uiConcussionBlowTimer -= diff;
+ _scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ DoCastVictim(SPELL_CONCUSSION_BLOW);
+ task.Repeat();
+ });
- if (uiMagicReflectionTimer <= diff)
- {
- DoCast(SPELL_MAGIC_REFLECTION);
- uiMagicReflectionTimer = urand(10000, 15000);
- } else uiMagicReflectionTimer -= diff;
+ _scheduler.Schedule(Seconds(8), [this](TaskContext task)
+ {
+ DoCast(me, SPELL_MAGIC_REFLECTION);
+ task.Repeat(Seconds(10), Seconds(15));
+ });
+ }
+ };
- DoMeleeAttackIfReady();
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<npc_azure_raiderAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_azure_raiderAI>(creature);
- }
};
class npc_azure_stalker : public CreatureScript
{
-public:
- npc_azure_stalker() : CreatureScript("npc_azure_stalker") { }
-
- struct npc_azure_stalkerAI : public violet_hold_trashAI
- {
- npc_azure_stalkerAI(Creature* creature) : violet_hold_trashAI(creature)
- {
- Initialize();
- instance = creature->GetInstanceScript();
- }
-
- void Initialize()
- {
- _backstabTimer = 1300;
- _tacticalBlinkTimer = 8000;
- _tacticalBlinkCast = false;
- }
-
- void Reset() override
- {
- Initialize();
- }
+ public:
+ npc_azure_stalker() : CreatureScript("npc_azure_stalker") { }
- void UpdateAI(uint32 diff) override
+ struct npc_azure_stalkerAI : public violet_hold_trashAI
{
- violet_hold_trashAI::UpdateAI(diff);
-
- if (!UpdateVictim())
- return;
+ npc_azure_stalkerAI(Creature* creature) : violet_hold_trashAI(creature) { }
- if (!_tacticalBlinkCast)
+ void ScheduledTasks() override
{
- if (_tacticalBlinkTimer <= diff)
+ _scheduler.Schedule(Seconds(8), [this](TaskContext task)
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40, true))
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f))
DoCast(target, SPELL_TACTICAL_BLINK);
- _tacticalBlinkTimer = 6000;
- _tacticalBlinkCast = true;
- } else _tacticalBlinkTimer -= diff;
- }
- else
- {
- if (_backstabTimer <= diff)
- {
- if (Unit* target = SelectTarget(SELECT_TARGET_NEAREST, 0, 10, true))
- DoCast(target, SPELL_BACKSTAB);
- _tacticalBlinkCast = false;
- _backstabTimer =1300;
- } else _backstabTimer -= diff;
+ task.Schedule(Milliseconds(1300), [this](TaskContext /*task*/)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_NEAREST, 0, 5.0f))
+ DoCast(target, SPELL_BACKSTAB);
+ });
+
+ task.Repeat();
+ });
}
+ };
- DoMeleeAttackIfReady();
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<npc_azure_stalkerAI>(creature);
}
-
- private:
- uint32 _backstabTimer;
- uint32 _tacticalBlinkTimer;
- bool _tacticalBlinkCast;
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_azure_stalkerAI>(creature);
- }
};
class npc_azure_spellbreaker : public CreatureScript
{
-public:
- npc_azure_spellbreaker() : CreatureScript("npc_azure_spellbreaker") { }
+ public:
+ npc_azure_spellbreaker() : CreatureScript("npc_azure_spellbreaker") { }
- struct npc_azure_spellbreakerAI : public violet_hold_trashAI
- {
- npc_azure_spellbreakerAI(Creature* creature) : violet_hold_trashAI(creature)
+ struct npc_azure_spellbreakerAI : public violet_hold_trashAI
{
- Initialize();
- instance = creature->GetInstanceScript();
- }
+ npc_azure_spellbreakerAI(Creature* creature) : violet_hold_trashAI(creature) { }
- void Initialize()
- {
- uiArcaneBlastTimer = 5000;
- uiSlowTimer = 4000;
- uiChainsOfIceTimer = 5000;
- uiConeOfColdTimer = 4000;
- }
+ void ScheduledTasks() override
+ {
+ if (me->GetEntry() == NPC_AZURE_SPELLBREAKER_1)
+ {
+ _scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 30.0f))
+ DoCast(target, SPELL_ARCANE_BLAST);
+ task.Repeat(Seconds(6));
+ });
- uint32 uiArcaneBlastTimer;
- uint32 uiSlowTimer;
- uint32 uiChainsOfIceTimer;
- uint32 uiConeOfColdTimer;
+ _scheduler.Schedule(Seconds(4), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 30.0f))
+ DoCast(target, SPELL_SLOW);
+ task.Repeat(Seconds(5));
+ });
+ }
+ else if (me->GetEntry() == NPC_AZURE_SPELLBREAKER_2)
+ {
+ _scheduler.Schedule(Seconds(5), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 30.0f))
+ DoCast(target, SPELL_CHAINS_OF_ICE);
+ task.Repeat(Seconds(7));
+ });
- void Reset() override
- {
- Initialize();
- }
+ _scheduler.Schedule(Seconds(4), [this](TaskContext task)
+ {
+ DoCast(me, SPELL_CONE_OF_COLD);
+ task.Repeat(Seconds(5));
+ });
+ }
+ }
+ };
- void UpdateAI(uint32 diff) override
+ CreatureAI* GetAI(Creature* creature) const override
{
- violet_hold_trashAI::UpdateAI(diff);
-
- if (!UpdateVictim())
- return;
+ return GetVioletHoldAI<npc_azure_spellbreakerAI>(creature);
+ }
+};
- if (me->GetEntry() == NPC_AZURE_SPELLBREAKER_1)
- {
- if (uiArcaneBlastTimer <= diff)
- {
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_ARCANE_BLAST);
- uiArcaneBlastTimer = 6000;
- } else uiArcaneBlastTimer -= diff;
+class npc_azure_captain : public CreatureScript
+{
+ public:
+ npc_azure_captain() : CreatureScript("npc_azure_captain") { }
- if (uiSlowTimer <= diff)
- {
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_SLOW);
- uiSlowTimer = 5000;
- } else uiSlowTimer -= diff;
- }
+ struct npc_azure_captainAI : public violet_hold_trashAI
+ {
+ npc_azure_captainAI(Creature* creature) : violet_hold_trashAI(creature) { }
- if (me->GetEntry() == NPC_AZURE_SPELLBREAKER_2)
+ void ScheduledTasks() override
{
- if (uiChainsOfIceTimer <= diff)
+ _scheduler.Schedule(Seconds(5), [this](TaskContext task)
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_CHAINS_OF_ICE);
- uiChainsOfIceTimer = 7000;
- } else uiChainsOfIceTimer -= diff;
+ DoCastVictim(SPELL_MORTAL_STRIKE);
+ task.Repeat();
+ });
- if (uiConeOfColdTimer <= diff)
+ _scheduler.Schedule(Seconds(8), [this](TaskContext task)
{
- DoCast(SPELL_CONE_OF_COLD);
- uiConeOfColdTimer = 5000;
- } else uiConeOfColdTimer -= diff;
+ DoCast(me, SPELL_WHIRLWIND_OF_STEEL);
+ task.Repeat();
+ });
}
+ };
- DoMeleeAttackIfReady();
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetVioletHoldAI<npc_azure_captainAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_azure_spellbreakerAI>(creature);
- }
};
-class npc_azure_captain : public CreatureScript
+class npc_azure_sorceror : public CreatureScript
{
-public:
- npc_azure_captain() : CreatureScript("npc_azure_captain") { }
+ public:
+ npc_azure_sorceror() : CreatureScript("npc_azure_sorceror") { }
- struct npc_azure_captainAI : public violet_hold_trashAI
- {
- npc_azure_captainAI(Creature* creature) : violet_hold_trashAI(creature)
+ struct npc_azure_sorcerorAI : public violet_hold_trashAI
{
- Initialize();
- instance = creature->GetInstanceScript();
- }
+ npc_azure_sorcerorAI(Creature* creature) : violet_hold_trashAI(creature) { }
- void Initialize()
- {
- uiMortalStrikeTimer = 5000;
- uiWhirlwindTimer = 8000;
- }
+ void ScheduledTasks() override
+ {
+ _scheduler.Schedule(Seconds(4), [this](TaskContext task)
+ {
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 35.0f))
+ DoCast(target, SPELL_ARCANE_STREAM);
+ task.Repeat(Seconds(5), Seconds(10));
+ });
- uint32 uiMortalStrikeTimer;
- uint32 uiWhirlwindTimer;
+ _scheduler.Schedule(Seconds(), Seconds(), [this](TaskContext task)
+ {
+ DoCastAOE(SPELL_MANA_DETONATION);
+ task.Repeat(Seconds(2), Seconds(6));
+ });
+ }
+ };
- void Reset() override
+ CreatureAI* GetAI(Creature* creature) const override
{
- Initialize();
+ return GetVioletHoldAI<npc_azure_sorcerorAI>(creature);
}
+};
+
+class npc_violet_hold_defense_system : public CreatureScript
+{
+ public:
+ npc_violet_hold_defense_system() : CreatureScript("npc_violet_hold_defense_system") { }
- void UpdateAI(uint32 diff) override
+ struct npc_violet_hold_defense_systemAI : public ScriptedAI
{
- violet_hold_trashAI::UpdateAI(diff);
+ npc_violet_hold_defense_systemAI(Creature* creature) : ScriptedAI(creature) { }
- if (!UpdateVictim())
- return;
+ void Reset() override
+ {
+ ScheduledTasks();
+ me->DespawnOrUnsummon(7000);
+ }
- if (uiMortalStrikeTimer <= diff)
+ void ScheduledTasks()
{
- DoCastVictim(SPELL_MORTAL_STRIKE);
- uiMortalStrikeTimer = 5000;
- } else uiMortalStrikeTimer -= diff;
+ _scheduler.Schedule(Seconds(4), [this](TaskContext task)
+ {
+ DoCastAOE(SPELL_ARCANE_LIGHTNING_DAMAGE);
+ DoCastAOE(SPELL_ARCANE_LIGHTNING_DUMMY);
+ if (task.GetRepeatCounter() == 2)
+ DoCastAOE(SPELL_ARCANE_LIGHTNING_INSTAKILL);
+ else
+ task.Repeat(Seconds(1));
+ });
+ }
- if (uiWhirlwindTimer <= diff)
+ void UpdateAI(uint32 diff) override
{
- DoCast(me, SPELL_WHIRLWIND_OF_STEEL);
- uiWhirlwindTimer = 8000;
- } else uiWhirlwindTimer -= diff;
+ _scheduler.Update(diff);
+ }
- DoMeleeAttackIfReady();
- }
- };
+ private:
+ TaskScheduler _scheduler;
+ };
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_azure_captainAI>(creature);
- }
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_violet_hold_defense_systemAI(creature);
+ }
};
-class npc_azure_sorceror : public CreatureScript
+class go_activation_crystal : public GameObjectScript
{
-public:
- npc_azure_sorceror() : CreatureScript("npc_azure_sorceror") { }
-
- struct npc_azure_sorcerorAI : public violet_hold_trashAI
- {
- npc_azure_sorcerorAI(Creature* creature) : violet_hold_trashAI(creature)
- {
- Initialize();
- instance = creature->GetInstanceScript();
- }
+ public:
+ go_activation_crystal() : GameObjectScript("go_activation_crystal") { }
- void Initialize()
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
- uiArcaneStreamTimer = 4000;
- uiArcaneStreamTimerStartingValueHolder = uiArcaneStreamTimer;
- uiManaDetonationTimer = 5000;
+ player->CastSpell(player, SPELL_CRYSTAL_ACTIVATION, true);
+ return false;
}
+};
- uint32 uiArcaneStreamTimer;
- uint32 uiArcaneStreamTimerStartingValueHolder;
- uint32 uiManaDetonationTimer;
-
- void Reset() override
- {
- Initialize();
- }
+// 58040 - Destroy Door Seal
+class spell_violet_hold_destroy_door_seal : public SpellScriptLoader
+{
+ public:
+ spell_violet_hold_destroy_door_seal() : SpellScriptLoader("spell_violet_hold_destroy_door_seal") { }
- void UpdateAI(uint32 diff) override
+ class spell_violet_hold_destroy_door_seal_AuraScript : public AuraScript
{
- violet_hold_trashAI::UpdateAI(diff);
+ PrepareAuraScript(spell_violet_hold_destroy_door_seal_AuraScript);
- if (!UpdateVictim())
- return;
-
- if (uiArcaneStreamTimer <= diff)
+ bool Load() override
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_ARCANE_STREAM);
- uiArcaneStreamTimer = urand(0, 5000)+5000;
- uiArcaneStreamTimerStartingValueHolder = uiArcaneStreamTimer;
- } else uiArcaneStreamTimer -= diff;
+ _instance = GetUnitOwner()->GetInstanceScript();
+ return _instance != nullptr;
+ }
- if (uiManaDetonationTimer <= diff && uiArcaneStreamTimer >=1500 && uiArcaneStreamTimer <= uiArcaneStreamTimerStartingValueHolder/2)
+ void PeriodicTick(AuraEffect const* /*aurEff*/)
{
- DoCast(SPELL_MANA_DETONATION);
- uiManaDetonationTimer = urand(2000, 6000);
- } else uiManaDetonationTimer -= diff;
-
- DoMeleeAttackIfReady();
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_azure_sorcerorAI>(creature);
- }
-};
+ PreventDefaultAction();
+ if (uint32 integrity = _instance->GetData(DATA_DOOR_INTEGRITY))
+ _instance->SetData(DATA_DOOR_INTEGRITY, integrity - 1);
+ }
-class npc_violet_hold_arcane_sphere : public CreatureScript
-{
-public:
- npc_violet_hold_arcane_sphere() : CreatureScript("npc_violet_hold_arcane_sphere") { }
+ void Register() override
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_violet_hold_destroy_door_seal_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
+ }
- struct npc_violet_hold_arcane_sphereAI : public ScriptedAI
- {
- npc_violet_hold_arcane_sphereAI(Creature* creature) : ScriptedAI(creature)
- {
- Initialize();
- }
+ private:
+ InstanceScript* _instance = nullptr;
+ };
- void Initialize()
+ AuraScript* GetAuraScript() const override
{
- DespawnTimer = 3000;
+ return new spell_violet_hold_destroy_door_seal_AuraScript();
}
+};
- uint32 DespawnTimer;
+// 58008 - Portal Periodic
+class spell_violet_hold_portal_periodic : public SpellScriptLoader
+{
+ public:
+ spell_violet_hold_portal_periodic() : SpellScriptLoader("spell_violet_hold_portal_periodic") { }
- void Reset() override
+ class spell_violet_hold_portal_periodic_AuraScript : public AuraScript
{
- Initialize();
+ PrepareAuraScript(spell_violet_hold_portal_periodic_AuraScript);
- me->SetDisableGravity(true);
- DoCast(me, SPELL_ARCANE_SPHERE_PASSIVE, true);
- }
+ void PeriodicTick(AuraEffect const* aurEff)
+ {
+ PreventDefaultAction();
+ if (GetTarget()->IsAIEnabled)
+ GetTarget()->GetAI()->SetData(DATA_PORTAL_PERIODIC_TICK, aurEff->GetTickNumber());
+ }
- void EnterCombat(Unit * /*who*/) override { }
+ void Register() override
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_violet_hold_portal_periodic_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
+ }
+ };
- void UpdateAI(uint32 diff) override
+ AuraScript* GetAuraScript() const override
{
- if (DespawnTimer <= diff)
- me->Kill(me);
- else
- DespawnTimer -= diff;
+ return new spell_violet_hold_portal_periodic_AuraScript();
}
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_violet_hold_arcane_sphereAI(creature);
- }
};
-class go_activation_crystal : public GameObjectScript
+// 62138 - Teleport to Inside Violet Hold
+class spell_violet_hold_teleport_player : public SpellScriptLoader
{
-public:
- go_activation_crystal() : GameObjectScript("go_activation_crystal") { }
+ public:
+ spell_violet_hold_teleport_player() : SpellScriptLoader("spell_violet_hold_teleport_player") { }
- bool OnGossipHello(Player * /*player*/, GameObject* go) override
- {
- go->EventInform(EVENT_ACTIVATE_CRYSTAL);
- return false;
- }
-};
+ class spell_violet_hold_teleport_player_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_violet_hold_teleport_player_SpellScript);
-class spell_crystal_activation : public SpellScriptLoader
-{
-public:
- spell_crystal_activation() : SpellScriptLoader("spell_crystal_activation") { }
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_TELEPORT_PLAYER_EFFECT))
+ return false;
+ return true;
+ }
- class spell_crystal_activation_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_crystal_activation_SpellScript);
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ if (Unit* target = GetHitUnit())
+ target->CastSpell(target, SPELL_TELEPORT_PLAYER_EFFECT, true);
+ }
- void HandleSendEvent(SpellEffIndex effIndex)
- {
- if (GetHitUnit()->GetEntry() == NPC_VIOLET_HOLD_GUARD)
- PreventHitDefaultEffect(effIndex);
- }
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_violet_hold_teleport_player_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+ };
- void Register() override
+ SpellScript* GetSpellScript() const override
{
- OnEffectHitTarget += SpellEffectFn(spell_crystal_activation_SpellScript::HandleSendEvent, EFFECT_0, SPELL_EFFECT_SEND_EVENT);
+ return new spell_violet_hold_teleport_player_SpellScript();
}
- };
-
- SpellScript* GetSpellScript() const override
- {
- return new spell_crystal_activation_SpellScript();
- }
};
void AddSC_violet_hold()
{
new npc_sinclari_vh();
- new npc_teleportation_portal_vh();
+ new npc_violet_hold_teleportation_portal();
+ new npc_violet_hold_teleportation_portal_elite();
+ new npc_violet_hold_teleportation_portal_intro();
new npc_azure_invader();
new npc_azure_spellbreaker();
new npc_azure_binder();
@@ -1520,7 +1431,9 @@ void AddSC_violet_hold()
new npc_azure_raider();
new npc_azure_stalker();
new npc_azure_saboteur();
- new npc_violet_hold_arcane_sphere();
+ new npc_violet_hold_defense_system();
new go_activation_crystal();
- new spell_crystal_activation();
+ new spell_violet_hold_destroy_door_seal();
+ new spell_violet_hold_portal_periodic();
+ new spell_violet_hold_teleport_player();
}
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.h b/src/server/scripts/Northrend/VioletHold/violet_hold.h
index 2bd90672024..113a3c46ea0 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.h
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.h
@@ -15,44 +15,56 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef DEF_VIOLET_HOLD_H
-#define DEF_VIOLET_HOLD_H
+#ifndef VIOLET_HOLD_H_
+#define VIOLET_HOLD_H_
+#define VioletHoldScriptName "instance_violet_hold"
#define DataHeader "VH"
-uint32 const EncounterCount = 3;
+uint32 const EncounterCount = 3 + 6;
+
+// Defined in instance_violet_hold.cpp
+extern Position const DefenseSystemLocation;
+uint8 const PortalIntroCount = 3;
+extern Position const PortalIntroPositions[];
+
+/*
+ * Violet hold bosses:
+ *
+ * 1 - Moragg
+ * 2 - Erekem
+ * 3 - Ichoron
+ * 4 - Lavanthor
+ * 5 - Xevozz
+ * 6 - Zuramat
+ * 7 - Cyanigosa
+ */
enum Data
{
// Main encounters
- DATA_1ST_BOSS_EVENT,
- DATA_2ND_BOSS_EVENT,
- DATA_CYANIGOSA,
+ DATA_1ST_BOSS = 0,
+ DATA_2ND_BOSS = 1,
+ DATA_CYANIGOSA = 2,
+ // Bosses
+ DATA_MORAGG = 3,
+ DATA_EREKEM = 4,
+ DATA_ICHORON = 5,
+ DATA_LAVANTHOR = 6,
+ DATA_XEVOZZ = 7,
+ DATA_ZURAMAT = 8,
// Misc
+ DATA_MAIN_EVENT_STATE,
DATA_WAVE_COUNT,
- DATA_REMOVE_NPC,
- DATA_PORTAL_LOCATION,
DATA_DOOR_INTEGRITY,
- DATA_NPC_PRESENCE_AT_DOOR,
- DATA_NPC_PRESENCE_AT_DOOR_ADD,
- DATA_NPC_PRESENCE_AT_DOOR_REMOVE,
+ DATA_PORTAL_LOCATION,
DATA_START_BOSS_ENCOUNTER,
- DATA_FIRST_BOSS,
- DATA_SECOND_BOSS,
- DATA_ACTIVATE_CRYSTAL,
- DATA_MAIN_EVENT_PHASE,
DATA_DEFENSELESS,
// Bosses
- DATA_MORAGG,
- DATA_EREKEM,
DATA_EREKEM_GUARD_1,
DATA_EREKEM_GUARD_2,
- DATA_ICHORON,
- DATA_LAVANTHOR,
- DATA_XEVOZZ,
- DATA_ZURAMAT,
// Cells
DATA_MORAGG_CELL,
@@ -67,43 +79,43 @@ enum Data
// Misc
DATA_MAIN_DOOR,
DATA_SINCLARI,
- DATA_TELEPORTATION_PORTAL,
- DATA_SABOTEUR_PORTAL,
- DATA_ADD_TRASH_MOB,
- DATA_DEL_TRASH_MOB
-};
-
-enum Bosses
-{
- BOSS_NONE, // 0 used as marker for not yet randomized
- BOSS_MORAGG,
- BOSS_EREKEM,
- BOSS_ICHORON,
- BOSS_LAVANTHOR,
- BOSS_XEVOZZ,
- BOSS_ZURAMAT,
- BOSS_CYANIGOSA
+ DATA_SINCLARI_TRIGGER,
+ DATA_HANDLE_CELLS
};
enum CreaturesIds
{
- NPC_TELEPORTATION_PORTAL = 31011,
+ NPC_TELEPORTATION_PORTAL = 30679,
+ NPC_TELEPORTATION_PORTAL_ELITE = 32174,
+ NPC_TELEPORTATION_PORTAL_INTRO = 31011,
NPC_PORTAL_GUARDIAN = 30660,
NPC_PORTAL_KEEPER = 30695,
NPC_XEVOZZ = 29266,
NPC_LAVANTHOR = 29312,
NPC_ICHORON = 29313,
+ NPC_ICHOR_GLOBULE = 29321,
+ NPC_ICHORON_SUMMON_TARGET = 29326,
NPC_ZURAMAT = 29314,
+ NPC_VOID_SENTRY = 29364,
+ NPC_VOID_SENTRY_BALL = 29365,
NPC_EREKEM = 29315,
NPC_EREKEM_GUARD = 29395,
NPC_MORAGG = 29316,
+
+ NPC_DUMMY_XEVOZZ = 32231,
+ NPC_DUMMY_LAVANTHOR = 32237,
+ NPC_DUMMY_ICHORON = 32234,
+ NPC_DUMMY_ZURAMAT = 32230,
+ NPC_DUMMY_EREKEM = 32226,
+ NPC_DUMMY_EREKEM_GUARD = 32228,
+ NPC_DUMMY_MORAGG = 32235,
+
NPC_CYANIGOSA = 31134,
NPC_SINCLARI = 30658,
+ NPC_SINCLARI_TRIGGER = 32204,
NPC_SABOTEOUR = 31079,
NPC_VIOLET_HOLD_GUARD = 30659,
- NPC_DEFENSE_SYSTEM = 30837,
- NPC_VOID_SENTRY = 29364,
- NPC_VOID_SENTRY_BALL = 29365
+ NPC_DEFENSE_SYSTEM = 30837
};
enum GameObjectIds
@@ -117,13 +129,13 @@ enum GameObjectIds
GO_EREKEM_GUARD_1_DOOR = 191563,
GO_EREKEM_GUARD_2_DOOR = 191562,
GO_MORAGG_DOOR = 191606,
- GO_INTRO_ACTIVATION_CRYSTAL = 193615,
- GO_ACTIVATION_CRYSTAL = 193611
+ GO_ACTIVATION_CRYSTAL = 193611,
+ GO_INTRO_ACTIVATION_CRYSTAL = 193615
};
enum WorldStateIds
{
- WORLD_STATE_VH = 3816,
+ WORLD_STATE_VH_SHOW = 3816,
WORLD_STATE_VH_PRISON_STATE = 3815,
WORLD_STATE_VH_WAVE_COUNT = 3810,
};
@@ -133,4 +145,16 @@ enum Events
EVENT_ACTIVATE_CRYSTAL = 20001
};
-#endif
+enum InstanceMisc
+{
+ ACTION_SINCLARI_OUTRO = 1,
+ POINT_INTRO = 1
+};
+
+template<class AI>
+inline AI* GetVioletHoldAI(Creature* creature)
+{
+ return GetInstanceAI<AI>(creature, VioletHoldScriptName);
+}
+
+#endif // VIOLET_HOLD_H_
diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp
index eef993f7a7d..511ddcff5fa 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -1818,7 +1818,7 @@ public:
player->FailQuest(QUEST_GET_ME_OUTA_HERE);
}
- void UpdateEscortAI(const uint32 /*diff*/) override
+ void UpdateEscortAI(uint32 /*diff*/) override
{
if (GetAttack() && UpdateVictim())
{
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp
index fe72a2cedf7..ba69a1385d5 100644
--- a/src/server/scripts/Northrend/zone_howling_fjord.cpp
+++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp
@@ -98,7 +98,7 @@ public:
player->FailQuest(QUEST_TRAIL_OF_FIRE);
}
- void UpdateEscortAI(const uint32 diff) override
+ void UpdateEscortAI(uint32 diff) override
{
if (HealthBelowPct(75))
{
diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
index 1e998b78c03..e0c7e4b57a7 100644
--- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
@@ -621,17 +621,17 @@ public:
enum MiscLifewarden
{
- NPC_PRESENCE = 28563, // Freya's Presence
- NPC_SABOTEUR = 28538, // Cultist Saboteur
- NPC_SERVANT = 28320, // Servant of Freya
+ NPC_PRESENCE = 28563, // Freya's Presence
+ NPC_SABOTEUR = 28538, // Cultist Saboteur
+ NPC_SERVANT = 28320, // Servant of Freya
- WHISPER_ACTIVATE = 0,
+ WHISPER_ACTIVATE = 0,
- SPELL_FREYA_DUMMY = 51318,
- SPELL_LIFEFORCE = 51395,
- SPELL_FREYA_DUMMY_TRIGGER = 51335,
- SPELL_LASHER_EMERGE = 48195,
- SPELL_WILD_GROWTH = 52948,
+ SPELL_FREYA_DUMMY = 51318,
+ SPELL_LIFEFORCE = 51395,
+ SPELL_FREYA_DUMMY_TRIGGER = 51335,
+ SPELL_LASHER_EMERGE = 48195,
+ SPELL_WILD_GROWTH = 52948,
};
class spell_q12620_the_lifewarden_wrath : public SpellScriptLoader
@@ -701,25 +701,25 @@ public:
enum KickWhatKick
{
- NPC_LUCKY_WILHELM = 28054,
- NPC_APPLE = 28053,
- NPC_DROSTAN = 28328,
- NPC_CRUNCHY = 28346,
- NPC_THICKBIRD = 28093,
-
- SPELL_HIT_APPLE = 51331,
- SPELL_MISS_APPLE = 51332,
- SPELL_MISS_BIRD_APPLE = 51366,
- SPELL_APPLE_FALL = 51371,
- SPELL_BIRD_FALL = 51369,
-
- EVENT_MISS = 0,
- EVENT_HIT = 1,
- EVENT_MISS_BIRD = 2,
-
- SAY_WILHELM_MISS = 0,
- SAY_WILHELM_HIT = 1,
- SAY_DROSTAN_REPLY_MISS = 0,
+ NPC_LUCKY_WILHELM = 28054,
+ NPC_APPLE = 28053,
+ NPC_DROSTAN = 28328,
+ NPC_CRUNCHY = 28346,
+ NPC_THICKBIRD = 28093,
+
+ SPELL_HIT_APPLE = 51331,
+ SPELL_MISS_APPLE = 51332,
+ SPELL_MISS_BIRD_APPLE = 51366,
+ SPELL_APPLE_FALL = 51371,
+ SPELL_BIRD_FALL = 51369,
+
+ EVENT_MISS = 0,
+ EVENT_HIT = 1,
+ EVENT_MISS_BIRD = 2,
+
+ SAY_WILHELM_MISS = 0,
+ SAY_WILHELM_HIT = 1,
+ SAY_DROSTAN_REPLY_MISS = 0,
};
class spell_q12589_shoot_rjr : public SpellScriptLoader
@@ -799,8 +799,6 @@ public:
wilhelm->AI()->Talk(SAY_WILHELM_HIT);
if (Player* player = shooter->ToPlayer())
player->KilledMonsterCredit(NPC_APPLE);
- apple->DespawnOrUnsummon();
-
break;
}
}
@@ -827,11 +825,11 @@ may be easily converted to SAI when they get.*/
enum SongOfWindAndWater
{
// Spells
- SPELL_DEVOUR_WIND = 52862,
- SPELL_DEVOUR_WATER = 52864,
+ SPELL_DEVOUR_WIND = 52862,
+ SPELL_DEVOUR_WATER = 52864,
// NPCs
- NPC_HAIPHOON_WATER = 28999,
- NPC_HAIPHOON_AIR = 28985
+ NPC_HAIPHOON_WATER = 28999,
+ NPC_HAIPHOON_AIR = 28985
};
class npc_haiphoon : public CreatureScript
@@ -882,7 +880,7 @@ enum ReconnaissanceFlight
VIC_SAY_6 = 6,
PLANE_EMOTE = 0,
- SPELL_ENGINE = 52255, // Engine on Fire
+ SPELL_ENGINE = 52255, // Engine on Fire
SPELL_LAND = 52226, // Land Flying Machine
SPELL_CREDIT = 53328 // Land Flying Machine Credit
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
index 9667b4e3bb0..80cc2028cb3 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
@@ -136,7 +136,7 @@ class boss_ambassador_hellmaw : public CreatureScript
Talk(SAY_DEATH);
}
- void UpdateEscortAI(uint32 const diff) override
+ void UpdateEscortAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
index 1657b178327..d7ba0a34939 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
@@ -275,8 +275,8 @@ class instance_serpent_shrine : public InstanceMapScript
if (data == DONE)
{
HandleGameObject(BridgePart[0], true);
- HandleGameObject(BridgePart[0], true);
- HandleGameObject(BridgePart[0], true);
+ HandleGameObject(BridgePart[1], true);
+ HandleGameObject(BridgePart[2], true);
}
break;
case DATA_TRASH:
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
index 3986e50877f..8e56df071c9 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
@@ -146,8 +146,6 @@ class boss_shattered_executioner : public CreatureScript
me->RemoveLootMode(LOOT_MODE_HARD_MODE_2);
case 1:
me->RemoveLootMode(LOOT_MODE_HARD_MODE_3);
- default:
- break;
}
}
}
diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
index d140b41a8f8..8549fe5030f 100644
--- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
+++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
@@ -407,10 +407,483 @@ public:
}
};
+enum ExorcismSpells
+{
+ SPELL_JULES_GOES_PRONE = 39283,
+ SPELL_JULES_THREATENS_AURA = 39284,
+ SPELL_JULES_GOES_UPRIGHT = 39294,
+ SPELL_JULES_VOMITS_AURA = 39295,
+
+ SPELL_BARADAS_COMMAND = 39277,
+ SPELL_BARADA_FALTERS = 39278,
+};
+
+enum ExorcismTexts
+{
+ SAY_BARADA_1 = 0,
+ SAY_BARADA_2 = 1,
+ SAY_BARADA_3 = 2,
+ SAY_BARADA_4 = 3,
+ SAY_BARADA_5 = 4,
+ SAY_BARADA_6 = 5,
+ SAY_BARADA_7 = 6,
+ SAY_BARADA_8 = 7,
+
+ SAY_JULES_1 = 0,
+ SAY_JULES_2 = 1,
+ SAY_JULES_3 = 2,
+ SAY_JULES_4 = 3,
+ SAY_JULES_5 = 4,
+};
+
+Position const exorcismPos[11] =
+{
+ { -707.123f, 2751.686f, 101.592f, 4.577416f }, //Barada Waypoint-1 0
+ { -710.731f, 2749.075f, 101.592f, 1.513286f }, //Barada Cast position 1
+ { -710.332f, 2754.394f, 102.948f, 3.207566f }, //Jules 2
+ { -714.261f, 2747.754f, 103.391f, 0.0f }, //Jules Waypoint-1 3
+ { -713.113f, 2750.194f, 103.391f, 0.0f }, //Jules Waypoint-2 4
+ { -710.385f, 2750.896f, 103.391f, 0.0f }, //Jules Waypoint-3 5
+ { -708.309f, 2750.062f, 103.391f, 0.0f }, //Jules Waypoint-4 6
+ { -707.401f, 2747.696f, 103.391f, 0.0f }, //Jules Waypoint-5 7
+ { -708.591f, 2745.266f, 103.391f, 0.0f }, //Jules Waypoint-6 8
+ { -710.597f, 2744.035f, 103.391f, 0.0f }, //Jules Waypoint-7 9
+ { -713.089f, 2745.302f, 103.391f, 0.0f }, //Jules Waypoint-8 10
+};
+
+enum ExorcismMisc
+{
+ NPC_DARKNESS_RELEASED = 22507,
+ NPC_FOUL_PURGE = 22506,
+ NPC_COLONEL_JULES = 22432,
+
+ BARADAS_GOSSIP_MESSAGE = 10683,
+
+ QUEST_THE_EXORCISM_OF_COLONEL_JULES = 10935,
+
+ ACTION_START_EVENT = 1,
+ ACTION_JULES_HOVER = 2,
+ ACTION_JULES_FLIGHT = 3,
+ ACTION_JULES_MOVE_HOME = 4,
+};
+
+enum ExorcismEvents
+{
+ EVENT_BARADAS_TALK = 1,
+
+ //Colonel Jules
+ EVENT_SUMMON_SKULL = 1,
+};
+
+/*######
+## npc_barada
+######*/
+
+class npc_barada : public CreatureScript
+{
+public:
+ npc_barada() : CreatureScript("npc_barada") { }
+
+ struct npc_baradaAI : public ScriptedAI
+ {
+ npc_baradaAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ step = 0;
+ }
+
+ void Reset() override
+ {
+ events.Reset();
+ Initialize();
+
+ playerGUID.Clear();
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED);
+ }
+
+ void sGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
+ {
+ player->PlayerTalkClass->ClearMenus();
+ switch (gossipListId)
+ {
+ case 1:
+ player->PlayerTalkClass->SendCloseGossip();
+ me->AI()->Talk(SAY_BARADA_1);
+ me->AI()->DoAction(ACTION_START_EVENT);
+ break;
+ default:
+ break;
+ }
+ }
+
+ void DoAction(int32 action) override
+ {
+ if (action == ACTION_START_EVENT)
+ {
+ if (Creature* jules = me->FindNearestCreature(NPC_COLONEL_JULES, 20.0f, true))
+ {
+ julesGUID = jules->GetGUID();
+ jules->AI()->Talk(SAY_JULES_1);
+ }
+
+ me->GetMotionMaster()->MovePoint(0, exorcismPos[1]);
+ Talk(SAY_BARADA_2);
+
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED);
+ }
+ }
+
+ void MovementInform(uint32 type, uint32 id) override
+ {
+ if (type != POINT_MOTION_TYPE)
+ return;
+
+ if (id == 0)
+ me->GetMotionMaster()->MovePoint(1, exorcismPos[1]);
+
+ if (id == 1)
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 2000);
+ }
+
+ void JustDied(Unit* /*killer*/) override
+ {
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ {
+ jules->AI()->DoAction(ACTION_JULES_MOVE_HOME);
+ jules->RemoveAllAuras();
+ }
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ events.Update(diff);
+
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_BARADAS_TALK:
+ switch (step)
+ {
+ case 0:
+ me->SetFacingTo(1.513286f);
+
+ me->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL);
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 3000);
+ step++;
+ break;
+ case 1:
+ DoCast(SPELL_BARADAS_COMMAND);
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 5000);
+ step++;
+ break;
+ case 2:
+ Talk(SAY_BARADA_3);
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 7000);
+ step++;
+ break;
+ case 3:
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ jules->AI()->Talk(SAY_JULES_2);
+
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 18000);
+ step++;
+ break;
+ case 4:
+ DoCast(SPELL_BARADA_FALTERS);
+ me->HandleEmoteCommand(EMOTE_STAND_STATE_NONE);
+
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ jules->AI()->DoAction(ACTION_JULES_HOVER);
+
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 11000);
+ step++;
+ break;
+ case 5:
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ jules->AI()->Talk(SAY_JULES_3);
+
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 13000);
+ step++;
+ break;
+ case 6:
+ Talk(SAY_BARADA_4);
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 5000);
+ step++;
+ break;
+ case 7:
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ jules->AI()->Talk(SAY_JULES_3);
+
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 13000);
+ step++;
+ break;
+ case 8:
+ Talk(SAY_BARADA_4);
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 12000);
+ step++;
+ break;
+ case 9:
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ jules->AI()->Talk(SAY_JULES_4);
+
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 12000);
+ step++;
+ break;
+ case 10:
+ Talk(SAY_BARADA_4);
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 5000);
+ step++;
+ break;
+ case 11:
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ jules->AI()->DoAction(ACTION_JULES_FLIGHT);
+
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 10000);
+ step++;
+ break;
+ case 12:
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ jules->AI()->Talk(SAY_JULES_4);
+
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 8000);
+ step++;
+ break;
+ case 13:
+ Talk(SAY_BARADA_5);
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 10000);
+ step++;
+ break;
+ case 14:
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ jules->AI()->Talk(SAY_JULES_4);
+
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 10000);
+ step++;
+ break;
+ case 15:
+ Talk(SAY_BARADA_6);
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 10000);
+ step++;
+ break;
+ case 16:
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ jules->AI()->Talk(SAY_JULES_5);
+
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 10000);
+ step++;
+ break;
+ case 17:
+ Talk(SAY_BARADA_7);
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 10000);
+ step++;
+ break;
+ case 18:
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ jules->AI()->Talk(SAY_JULES_3);
+
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 10000);
+ step++;
+ break;
+ case 19:
+ Talk(SAY_BARADA_7);
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 10000);
+ step++;
+ break;
+ case 20:
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ {
+ jules->AI()->DoAction(ACTION_JULES_MOVE_HOME);
+ jules->RemoveAura(SPELL_JULES_VOMITS_AURA);
+ }
+
+ events.ScheduleEvent(EVENT_BARADAS_TALK, 10000);
+ step++;
+ break;
+ case 21:
+ //End
+ if (Player* player = ObjectAccessor::FindPlayer(playerGUID))
+ player->KilledMonsterCredit(NPC_COLONEL_JULES, ObjectGuid::Empty);
+
+ if (Creature* jules = ObjectAccessor::GetCreature(*me, julesGUID))
+ jules->RemoveAllAuras();
+
+ me->RemoveAura(SPELL_BARADAS_COMMAND);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED);
+
+ Talk(SAY_BARADA_8);
+ me->GetMotionMaster()->MoveTargetedHome();
+ EnterEvadeMode();
+ break;
+ }
+ break;
+ }
+ }
+ }
+
+ private:
+ EventMap events;
+ uint8 step;
+ ObjectGuid julesGUID;
+ ObjectGuid playerGUID;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_baradaAI(creature);
+ }
+};
+
+/*######
+## npc_colonel_jules
+######*/
+
+class npc_colonel_jules : public CreatureScript
+{
+public:
+ npc_colonel_jules() : CreatureScript("npc_colonel_jules") { }
+
+ struct npc_colonel_julesAI : public ScriptedAI
+ {
+ npc_colonel_julesAI(Creature* creature) : ScriptedAI(creature), summons(me)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ circleRounds = 0;
+ point = 0;
+ }
+
+ void Reset() override
+ {
+ events.Reset();
+
+ summons.DespawnAll();
+ circleRounds = 0;
+ point = 3;
+ wpreached = false;
+ }
+
+ void DoAction(int32 action) override
+ {
+ switch (action)
+ {
+ case ACTION_JULES_HOVER:
+ me->AddAura(SPELL_JULES_GOES_PRONE, me);
+ me->AddAura(SPELL_JULES_THREATENS_AURA, me);
+
+ me->SetCanFly(true);
+ me->SetSpeed(MOVE_RUN, 0.2f);
+
+ me->SetFacingTo(3.207566f);
+ me->GetMotionMaster()->MoveJump(exorcismPos[2], 2.0f, 2.0f);
+
+ events.ScheduleEvent(EVENT_SUMMON_SKULL, 10000);
+ break;
+ case ACTION_JULES_FLIGHT:
+ circleRounds++;
+
+ me->RemoveAura(SPELL_JULES_GOES_PRONE);
+
+ me->AddAura(SPELL_JULES_GOES_UPRIGHT, me);
+ me->AddAura(SPELL_JULES_VOMITS_AURA, me);
+
+ wpreached = true;
+ me->GetMotionMaster()->MovePoint(point, exorcismPos[point]);
+ break;
+ case ACTION_JULES_MOVE_HOME:
+ wpreached = false;
+ me->SetSpeed(MOVE_RUN, 1.0f);
+ me->GetMotionMaster()->MovePoint(11, exorcismPos[2]);
+
+ events.CancelEvent(EVENT_SUMMON_SKULL);
+ break;
+ }
+ }
+
+ void JustSummoned(Creature* summon) override
+ {
+ summons.Summon(summon);
+ summon->GetMotionMaster()->MoveRandom(10.0f);
+ }
+
+ void MovementInform(uint32 type, uint32 id) override
+ {
+ if (type != POINT_MOTION_TYPE)
+ return;
+
+ if (id < 10)
+ wpreached = true;
+
+ if (id == 8)
+ {
+ for (uint8 i = 0; i < circleRounds; i++)
+ DoSummon(NPC_FOUL_PURGE, exorcismPos[8]);
+ }
+
+ if (id == 10)
+ {
+ wpreached = true;
+ point = 3;
+ circleRounds++;
+ }
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (wpreached)
+ {
+ me->GetMotionMaster()->MovePoint(point, exorcismPos[point]);
+ point++;
+ wpreached = false;
+ }
+
+ events.Update(diff);
+
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_SUMMON_SKULL:
+ uint8 summonCount = urand(1,3);
+
+ for (uint8 i = 0; i < summonCount; i++)
+ me->SummonCreature(NPC_DARKNESS_RELEASED, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 1.5f, 0, TEMPSUMMON_MANUAL_DESPAWN);
+
+ events.ScheduleEvent(EVENT_SUMMON_SKULL, urand(10000, 15000));
+ break;
+ }
+ }
+ }
+
+ private:
+ EventMap events;
+ SummonList summons;
+
+ uint8 circleRounds;
+ uint8 point;
+
+ bool wpreached;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_colonel_julesAI(creature);
+ }
+};
+
void AddSC_hellfire_peninsula()
{
new npc_aeranas();
new npc_ancestral_wolf();
new npc_wounded_blood_elf();
new npc_fel_guard_hound();
+ new npc_barada();
+ new npc_colonel_jules();
}
diff --git a/src/server/scripts/World/duel_reset.cpp b/src/server/scripts/World/duel_reset.cpp
new file mode 100644
index 00000000000..f08469d5bd5
--- /dev/null
+++ b/src/server/scripts/World/duel_reset.cpp
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "ScriptMgr.h"
+#include "Player.h"
+
+class DuelResetScript : public PlayerScript
+{
+ public:
+ DuelResetScript() : PlayerScript("DuelResetScript") { }
+
+ // Called when a duel starts (after 3s countdown)
+ void OnDuelStart(Player* player1, Player* player2) override
+ {
+ if (sWorld->getBoolConfig(CONFIG_RESET_DUEL_COOLDOWNS))
+ {
+ player1->GetSpellHistory()->SaveCooldownStateBeforeDuel();
+ player2->GetSpellHistory()->SaveCooldownStateBeforeDuel();
+
+ player1->RemoveArenaSpellCooldowns(true);
+ player2->RemoveArenaSpellCooldowns(true);
+ }
+ }
+
+ // Called when a duel ends
+ void OnDuelEnd(Player* winner, Player* loser, DuelCompleteType /*type*/) override
+ {
+ if (sWorld->getBoolConfig(CONFIG_RESET_DUEL_COOLDOWNS))
+ {
+ winner->RemoveArenaSpellCooldowns(true);
+ loser->RemoveArenaSpellCooldowns(true);
+
+ winner->GetSpellHistory()->RestoreCooldownStateAfterDuel();
+ loser->GetSpellHistory()->RestoreCooldownStateAfterDuel();
+ }
+ }
+};
+
+void AddSC_duel_reset()
+{
+ new DuelResetScript();
+}
+
diff --git a/src/server/scripts/World/npc_professions.cpp b/src/server/scripts/World/npc_professions.cpp
index e2ab2860796..a9261849f38 100644
--- a/src/server/scripts/World/npc_professions.cpp
+++ b/src/server/scripts/World/npc_professions.cpp
@@ -179,6 +179,52 @@ enum ProfessionSpells
};
/*###
+# specialization trainers
+###*/
+enum SpecializationTrainers
+{
+ /* Alchemy */
+ N_TRAINER_TRANSMUTE = 22427, // Zarevhi
+ N_TRAINER_ELIXIR = 19052, // Lorokeem
+ N_TRAINER_POTION = 17909, // Lauranna Thar'well
+
+ /* Blacksmithing */
+ N_TRAINER_SMITHOMNI1 = 11145, // Myolor Sunderfury
+ N_TRAINER_SMITHOMNI2 = 11176, // Krathok Moltenfist
+ N_TRAINER_WEAPON1 = 11146, // Ironus Coldsteel
+ N_TRAINER_WEAPON2 = 11178, // Borgosh Corebender
+ N_TRAINER_ARMOR1 = 5164, // Grumnus Steelshaper
+ N_TRAINER_ARMOR2 = 11177, // Okothos Ironrager
+ N_TRAINER_HAMMER = 11191, // Lilith the Lithe
+ N_TRAINER_AXE = 11192, // Kilram
+ N_TRAINER_SWORD = 11193, // Seril Scourgebane
+
+ /* Leatherworking */
+ N_TRAINER_DRAGON1 = 7866, // Peter Galen
+ N_TRAINER_DRAGON2 = 7867, // Thorkaf Dragoneye
+ N_TRAINER_ELEMENTAL1 = 7868, // Sarah Tanner
+ N_TRAINER_ELEMENTAL2 = 7869, // Brumn Winterhoof
+ N_TRAINER_TRIBAL1 = 7870, // Caryssia Moonhunter
+ N_TRAINER_TRIBAL2 = 7871, // Se'Jib
+
+ /* Tailoring */
+ N_TRAINER_SPELLFIRE = 22213, // Gidge Spellweaver
+ N_TRAINER_MOONCLOTH = 22208, // Nasmara Moonsong
+ N_TRAINER_SHADOWEAVE = 22212, // Andrion Darkspinner
+};
+
+/*###
+# specialization quests
+###*/
+enum SpecializationQuests
+{
+ /* Alchemy */
+ Q_MASTER_TRANSMUTE = 10899,
+ Q_MASTER_ELIXIR = 10902,
+ Q_MASTER_POTION = 10897,
+};
+
+/*###
# formulas to calculate unlearning cost
###*/
@@ -398,23 +444,23 @@ public:
if (player->HasSkill(SKILL_ALCHEMY) && player->GetBaseSkillValue(SKILL_ALCHEMY) >= 350 && player->getLevel() > 67)
{
- if (player->GetQuestRewardStatus(10899) || player->GetQuestRewardStatus(10902) || player->GetQuestRewardStatus(10897))
+ if (player->GetQuestRewardStatus(Q_MASTER_TRANSMUTE) || player->GetQuestRewardStatus(Q_MASTER_ELIXIR) || player->GetQuestRewardStatus(Q_MASTER_POTION))
{
switch (creature->GetEntry())
{
- case 22427: //Zarevhi
+ case N_TRAINER_TRANSMUTE: //Zarevhi
if (!HasAlchemySpell(player))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_TRANSMUTE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 1);
if (player->HasSpell(S_TRANSMUTE))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_TRANSMUTE, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 4);
break;
- case 19052: //Lorokeem
+ case N_TRAINER_ELIXIR: //Lorokeem
if (!HasAlchemySpell(player))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_ELIXIR, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 2);
if (player->HasSpell(S_ELIXIR))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_ELIXIR, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 5);
break;
- case 17909: //Lauranna Thar'well
+ case N_TRAINER_POTION: //Lauranna Thar'well
if (!HasAlchemySpell(player))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_POTION, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 3);
if (player->HasSpell(S_POTION))
@@ -467,17 +513,17 @@ public:
{
switch (creature->GetEntry())
{
- case 22427:
+ case N_TRAINER_TRANSMUTE:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_TRANSMUTE, GOSSIP_SENDER_CHECK, action);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 19052:
+ case N_TRAINER_ELIXIR:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_ELIXIR, GOSSIP_SENDER_CHECK, action);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 17909:
+ case N_TRAINER_POTION:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_POTION, GOSSIP_SENDER_CHECK, action);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
@@ -492,17 +538,17 @@ public:
{
switch (creature->GetEntry())
{
- case 22427: //Zarevhi
+ case N_TRAINER_TRANSMUTE:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_TRANSMUTE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player), false);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 19052: //Lorokeem
+ case N_TRAINER_ELIXIR:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_ELIXIR, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player), false);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 17909: //Lauranna Thar'well
+ case N_TRAINER_POTION:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_POTION, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player), false);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
@@ -567,20 +613,20 @@ public:
{
switch (creatureId)
{
- case 11145: //Myolor Sunderfury
- case 11176: //Krathok Moltenfist
+ case N_TRAINER_SMITHOMNI1:
+ case N_TRAINER_SMITHOMNI2:
if (!player->HasSpell(S_ARMOR) && !player->HasSpell(S_WEAPON) && player->GetReputationRank(REP_ARMOR) >= REP_FRIENDLY)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ARMOR_LEARN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
if (!player->HasSpell(S_WEAPON) && !player->HasSpell(S_ARMOR) && player->GetReputationRank(REP_WEAPON) >= REP_FRIENDLY)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WEAPON_LEARN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
break;
- case 11146: //Ironus Coldsteel
- case 11178: //Borgosh Corebender
+ case N_TRAINER_WEAPON1:
+ case N_TRAINER_WEAPON2:
if (player->HasSpell(S_WEAPON))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WEAPON_UNLEARN, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 3);
break;
- case 5164: //Grumnus Steelshaper
- case 11177: //Okothos Ironrager
+ case N_TRAINER_ARMOR1:
+ case N_TRAINER_ARMOR2:
if (player->HasSpell(S_ARMOR))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ARMOR_UNLEARN, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 4);
break;
@@ -591,19 +637,19 @@ public:
{
switch (creatureId)
{
- case 11191: //Lilith the Lithe
+ case N_TRAINER_HAMMER:
if (!HasWeaponSub(player))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_HAMMER, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 5);
if (player->HasSpell(S_HAMMER))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_HAMMER, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 8);
break;
- case 11192: //Kilram
+ case N_TRAINER_AXE:
if (!HasWeaponSub(player))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_AXE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 6);
if (player->HasSpell(S_AXE))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_AXE, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 9);
break;
- case 11193: //Seril Scourgebane
+ case N_TRAINER_SWORD:
if (!HasWeaponSub(player))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SWORD, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 7);
if (player->HasSpell(S_SWORD))
@@ -688,17 +734,17 @@ public:
{
switch (creature->GetEntry())
{
- case 11191:
+ case N_TRAINER_HAMMER:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_HAMMER, GOSSIP_SENDER_CHECK, action);
//unknown textID (TALK_HAMMER_LEARN)
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 11192:
+ case N_TRAINER_AXE:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_AXE, GOSSIP_SENDER_CHECK, action);
//unknown textID (TALK_AXE_LEARN)
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 11193:
+ case N_TRAINER_SWORD:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SWORD, GOSSIP_SENDER_CHECK, action);
//unknown textID (TALK_SWORD_LEARN)
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
@@ -713,26 +759,26 @@ public:
{
switch (creature->GetEntry())
{
- case 11146: //Ironus Coldsteel
- case 11178: //Borgosh Corebender
- case 5164: //Grumnus Steelshaper
- case 11177: //Okothos Ironrager
+ case N_TRAINER_WEAPON1:
+ case N_TRAINER_WEAPON2:
+ case N_TRAINER_ARMOR1:
+ case N_TRAINER_ARMOR2:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_SMITH_SPEC, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ARMORORWEAPON, DoLowUnlearnCost(player), false);
//unknown textID (TALK_UNLEARN_AXEORWEAPON)
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 11191:
+ case N_TRAINER_HAMMER:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_HAMMER, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player), false);
//unknown textID (TALK_HAMMER_UNLEARN)
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 11192:
+ case N_TRAINER_AXE:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_AXE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player), false);
//unknown textID (TALK_AXE_UNLEARN)
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 11193:
+ case N_TRAINER_SWORD:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_SWORD, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player), false);
//unknown textID (TALK_SWORD_UNLEARN)
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
@@ -904,18 +950,18 @@ public:
{
switch (creature->GetEntry())
{
- case 7866: //Peter Galen
- case 7867: //Thorkaf Dragoneye
+ case N_TRAINER_DRAGON1:
+ case N_TRAINER_DRAGON2:
if (player->HasSpell(S_DRAGON))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_DRAGON, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 1);
break;
- case 7868: //Sarah Tanner
- case 7869: //Brumn Winterhoof
+ case N_TRAINER_ELEMENTAL1:
+ case N_TRAINER_ELEMENTAL2:
if (player->HasSpell(S_ELEMENTAL))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_ELEMENTAL, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 2);
break;
- case 7870: //Caryssia Moonhunter
- case 7871: //Se'Jib
+ case N_TRAINER_TRIBAL1:
+ case N_TRAINER_TRIBAL2:
if (player->HasSpell(S_TRIBAL))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_TRIBAL, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 3);
break;
@@ -955,20 +1001,20 @@ public:
{
switch (creature->GetEntry())
{
- case 7866: //Peter Galen
- case 7867: //Thorkaf Dragoneye
+ case N_TRAINER_DRAGON1:
+ case N_TRAINER_DRAGON2:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_DRAGON, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_LEATHER_SPEC, DoMedUnlearnCost(player), false);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 7868: //Sarah Tanner
- case 7869: //Brumn Winterhoof
+ case N_TRAINER_ELEMENTAL1:
+ case N_TRAINER_ELEMENTAL2:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_ELEMENTAL, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_LEATHER_SPEC, DoMedUnlearnCost(player), false);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 7870: //Caryssia Moonhunter
- case 7871: //Se'Jib
+ case N_TRAINER_TRIBAL1:
+ case N_TRAINER_TRIBAL2:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_TRIBAL, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_LEATHER_SPEC, DoMedUnlearnCost(player), false);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
@@ -1030,19 +1076,19 @@ public:
{
switch (creature->GetEntry())
{
- case 22213: //Gidge Spellweaver
+ case N_TRAINER_SPELLFIRE:
if (!HasTailorSpell(player))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SPELLFIRE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 1);
if (player->HasSpell(S_SPELLFIRE))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_SPELLFIRE, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 4);
break;
- case 22208: //Nasmara Moonsong
+ case N_TRAINER_MOONCLOTH:
if (!HasTailorSpell(player))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_MOONCLOTH, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 2);
if (player->HasSpell(S_MOONCLOTH))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_MOONCLOTH, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 5);
break;
- case 22212: //Andrion Darkspinner
+ case N_TRAINER_SHADOWEAVE:
if (!HasTailorSpell(player))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SHADOWEAVE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 3);
if (player->HasSpell(S_SHADOWEAVE))
@@ -1095,17 +1141,17 @@ public:
{
switch (creature->GetEntry())
{
- case 22213:
+ case N_TRAINER_SPELLFIRE:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SPELLFIRE, GOSSIP_SENDER_CHECK, action);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 22208:
+ case N_TRAINER_MOONCLOTH:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_MOONCLOTH, GOSSIP_SENDER_CHECK, action);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 22212:
+ case N_TRAINER_SHADOWEAVE:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SHADOWEAVE, GOSSIP_SENDER_CHECK, action);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
@@ -1120,17 +1166,17 @@ public:
{
switch (creature->GetEntry())
{
- case 22213: //Gidge Spellweaver
+ case N_TRAINER_SPELLFIRE:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_SPELLFIRE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player), false);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 22208: //Nasmara Moonsong
+ case N_TRAINER_MOONCLOTH:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_MOONCLOTH, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player), false);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
- case 22212: //Andrion Darkspinner
+ case N_TRAINER_SHADOWEAVE:
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_SHADOWEAVE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player), false);
//unknown textID ()
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 65daf1480ca..6120107a6f2 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -2250,6 +2250,7 @@ Battleground.StoreStatistics.Enable = 0
# Don't bother with balance)
# 1 - (Experimental, Don't allow to invite much more players
# of one faction)
+# 2 - (Experimental, Try to have even teams)
Battleground.InvitationType = 0
@@ -2659,6 +2660,14 @@ PlayerStart.MapsExplored = 0
HonorPointsAfterDuel = 0
#
+# ResetDuelCooldowns
+# Description: Reset all cooldowns before duel starts and restore them when duel ends.
+# Default: 0 - (Disabled)
+# 1 - (Enabled)
+
+ResetDuelCooldowns = 0
+
+#
# AlwaysMaxWeaponSkill
# Description: Players will automatically gain max weapon/defense skill when logging in,
# or leveling.