aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml8
-rw-r--r--CONTRIBUTING.md2
-rw-r--r--README.md4
-rw-r--r--cmake/compiler/msvc/settings.cmake2
-rw-r--r--cmake/macros/ConfigureBoost.cmake13
-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--revision_data.h.in.cmake4
-rw-r--r--sql/base/auth_database.sql14
-rw-r--r--sql/base/characters_database.sql9
-rw-r--r--sql/base/dev/world_database.sql161
-rw-r--r--sql/old/6.x/auth/02_2015_11_08/2015_07_16_00_auth.sql (renamed from sql/updates/auth/2015_07_16_00_auth.sql)0
-rw-r--r--sql/old/6.x/auth/02_2015_11_08/2015_07_29_00_auth.sql (renamed from sql/updates/auth/2015_07_29_00_auth.sql)0
-rw-r--r--sql/old/6.x/auth/02_2015_11_08/2015_08_26_00_auth.sql (renamed from sql/updates/auth/2015_08_26_00_auth.sql)0
-rw-r--r--sql/old/6.x/auth/02_2015_11_08/2015_09_05_00_auth.sql (renamed from sql/updates/auth/2015_09_05_00_auth.sql)0
-rw-r--r--sql/old/6.x/auth/02_2015_11_08/2015_09_05_01_auth.sql (renamed from sql/updates/auth/2015_09_05_01_auth.sql)0
-rw-r--r--sql/old/6.x/auth/02_2015_11_08/2015_09_09_00_auth.sql (renamed from sql/updates/auth/2015_09_09_00_auth.sql)0
-rw-r--r--sql/old/6.x/auth/02_2015_11_08/2015_09_15_00_auth.sql (renamed from sql/updates/auth/2015_09_15_00_auth.sql)0
-rw-r--r--sql/old/6.x/auth/02_2015_11_08/2015_10_09_00_auth.sql (renamed from sql/updates/auth/2015_10_09_00_auth.sql)0
-rw-r--r--sql/old/6.x/auth/02_2015_11_08/2015_10_16_00_auth.sql (renamed from sql/updates/auth/2015_10_16_00_auth.sql)0
-rw-r--r--sql/old/6.x/auth/02_2015_11_08/2015_10_17_00_auth.sql1
-rw-r--r--sql/old/6.x/auth/02_2015_11_08/2015_11_01_00_auth_2015_08_21_00.sql5
-rw-r--r--sql/old/6.x/characters/02_2015_11_08/2015_07_28_00_characters.sql (renamed from sql/updates/characters/2015_07_28_00_characters.sql)0
-rw-r--r--sql/old/6.x/characters/02_2015_11_08/2015_08_08_00_characters.sql (renamed from sql/updates/characters/2015_08_08_00_characters.sql)0
-rw-r--r--sql/old/6.x/characters/02_2015_11_08/2015_08_12_00_characters.sql (renamed from sql/updates/characters/2015_08_12_00_characters.sql)0
-rw-r--r--sql/old/6.x/characters/02_2015_11_08/2015_09_05_00_characters.sql (renamed from sql/updates/characters/2015_09_05_00_characters.sql)0
-rw-r--r--sql/old/6.x/characters/02_2015_11_08/2015_09_09_00_characters.sql (renamed from sql/updates/characters/2015_09_09_00_characters.sql)0
-rw-r--r--sql/old/6.x/characters/02_2015_11_08/2015_09_10_00_characters.sql (renamed from sql/updates/characters/2015_09_10_00_characters.sql)0
-rw-r--r--sql/old/6.x/characters/02_2015_11_08/2015_10_16_00_characters.sql (renamed from sql/updates/characters/2015_10_16_00_characters.sql)0
-rw-r--r--sql/old/6.x/characters/02_2015_11_08/2015_11_06_00_characters_2015_10_12_00.sql17
-rw-r--r--sql/old/6.x/hotfixes/02_2015_11_08/2015_07_19_00_hotfixes.sql (renamed from sql/updates/hotfixes/2015_07_19_00_hotfixes.sql)0
-rw-r--r--sql/old/6.x/hotfixes/02_2015_11_08/2015_08_26_00_hotfixes.sql (renamed from sql/updates/hotfixes/2015_08_26_00_hotfixes.sql)0
-rw-r--r--sql/old/6.x/hotfixes/02_2015_11_08/2015_08_30_00_hotfixes.sql (renamed from sql/updates/hotfixes/2015_08_30_00_hotfixes.sql)0
-rw-r--r--sql/old/6.x/hotfixes/02_2015_11_08/2015_09_05_00_hotfixes.sql (renamed from sql/updates/hotfixes/2015_09_05_00_hotfixes.sql)0
-rw-r--r--sql/old/6.x/hotfixes/02_2015_11_08/2015_09_07_00_hotfixes.sql (renamed from sql/updates/hotfixes/2015_09_07_00_hotfixes.sql)0
-rw-r--r--sql/old/6.x/hotfixes/02_2015_11_08/2015_09_09_00_hotfixes.sql (renamed from sql/updates/hotfixes/2015_09_09_00_hotfixes.sql)0
-rw-r--r--sql/old/6.x/hotfixes/02_2015_11_08/2015_09_16_00_hotfixes.sql (renamed from sql/updates/hotfixes/2015_09_16_00_hotfixes.sql)0
-rw-r--r--sql/old/6.x/hotfixes/02_2015_11_08/2015_09_20_00_hotfixes.sql (renamed from sql/updates/hotfixes/2015_09_20_00_hotfixes.sql)0
-rw-r--r--sql/old/6.x/hotfixes/02_2015_11_08/2015_10_16_00_hotfixes.sql (renamed from sql/updates/hotfixes/2015_10_16_00_hotfixes.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_14_00_world.sql (renamed from sql/updates/world/2015_07_14_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_15_00_world_2015_07_14_02.sql (renamed from sql/updates/world/2015_07_15_00_world_2015_07_14_02.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_15_01_world_2015_07_14_05.sql (renamed from sql/updates/world/2015_07_15_01_world_2015_07_14_05.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_15_02_world_2015_07_14_03.sql (renamed from sql/updates/world/2015_07_15_02_world_2015_07_14_03.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_15_03_world_2015_07_14_04.sql (renamed from sql/updates/world/2015_07_15_03_world_2015_07_14_04.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_15_04_world_2015_07_15_00.sql (renamed from sql/updates/world/2015_07_15_04_world_2015_07_15_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_18_00_world.sql (renamed from sql/updates/world/2015_07_18_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_18_01_world.sql (renamed from sql/updates/world/2015_07_18_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_18_02_world.sql (renamed from sql/updates/world/2015_07_18_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_18_03_world.sql (renamed from sql/updates/world/2015_07_18_03_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_18_04_world.sql (renamed from sql/updates/world/2015_07_18_04_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_00_world.sql (renamed from sql/updates/world/2015_07_19_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_01_world.sql (renamed from sql/updates/world/2015_07_19_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_01_world_2015_07_15_01.sql (renamed from sql/updates/world/2015_07_19_01_world_2015_07_15_01.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_02_world_2015_07_15_02.sql (renamed from sql/updates/world/2015_07_19_02_world_2015_07_15_02.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_03_world_2015_07_16_00.sql (renamed from sql/updates/world/2015_07_19_03_world_2015_07_16_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_04_world_2015_07_17_00.sql (renamed from sql/updates/world/2015_07_19_04_world_2015_07_17_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_05_world_2015_07_17_01.sql (renamed from sql/updates/world/2015_07_19_05_world_2015_07_17_01.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_06_world_2015_07_17_02.sql (renamed from sql/updates/world/2015_07_19_06_world_2015_07_17_02.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_07_world_2015_07_17_03.sql (renamed from sql/updates/world/2015_07_19_07_world_2015_07_17_03.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_08_world_2015_07_17_04.sql (renamed from sql/updates/world/2015_07_19_08_world_2015_07_17_04.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_09_world_2015_07_18_00.sql (renamed from sql/updates/world/2015_07_19_09_world_2015_07_18_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_10_world.sql (renamed from sql/updates/world/2015_07_19_10_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_11_world.sql (renamed from sql/updates/world/2015_07_19_11_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_12_world.sql (renamed from sql/updates/world/2015_07_19_12_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_13_world.sql (renamed from sql/updates/world/2015_07_19_13_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_14_world.sql (renamed from sql/updates/world/2015_07_19_14_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_15_world.sql (renamed from sql/updates/world/2015_07_19_15_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_16_world.sql (renamed from sql/updates/world/2015_07_19_16_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_17_world.sql (renamed from sql/updates/world/2015_07_19_17_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_18_world.sql (renamed from sql/updates/world/2015_07_19_18_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_19_world.sql (renamed from sql/updates/world/2015_07_19_19_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_20_world.sql (renamed from sql/updates/world/2015_07_19_20_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_21_world.sql (renamed from sql/updates/world/2015_07_19_21_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_22_world.sql (renamed from sql/updates/world/2015_07_19_22_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_23_world.sql (renamed from sql/updates/world/2015_07_19_23_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_24_world.sql (renamed from sql/updates/world/2015_07_19_24_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_25_world.sql (renamed from sql/updates/world/2015_07_19_25_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_26_world.sql (renamed from sql/updates/world/2015_07_19_26_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_27_world.sql (renamed from sql/updates/world/2015_07_19_27_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_28_world.sql (renamed from sql/updates/world/2015_07_19_28_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_29_world.sql (renamed from sql/updates/world/2015_07_19_29_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_30_world.sql (renamed from sql/updates/world/2015_07_19_30_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_35_world.sql (renamed from sql/updates/world/2015_07_19_35_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_19_36_world.sql (renamed from sql/updates/world/2015_07_19_36_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_20_00_world.sql (renamed from sql/updates/world/2015_07_20_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_20_01_world.sql (renamed from sql/updates/world/2015_07_20_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_20_02_world.sql (renamed from sql/updates/world/2015_07_20_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_21_00_world.sql (renamed from sql/updates/world/2015_07_21_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_21_01_world.sql (renamed from sql/updates/world/2015_07_21_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_22_00_world.sql (renamed from sql/updates/world/2015_07_22_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_22_01_world.sql (renamed from sql/updates/world/2015_07_22_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_22_02_world.sql (renamed from sql/updates/world/2015_07_22_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_22_03_world.sql (renamed from sql/updates/world/2015_07_22_03_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_22_04_world.sql (renamed from sql/updates/world/2015_07_22_04_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_22_05_world.sql (renamed from sql/updates/world/2015_07_22_05_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_22_06_world.sql (renamed from sql/updates/world/2015_07_22_06_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_22_07_world.sql (renamed from sql/updates/world/2015_07_22_07_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_22_08_world.sql (renamed from sql/updates/world/2015_07_22_08_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_23_00_world.sql (renamed from sql/updates/world/2015_07_23_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_23_01_world.sql (renamed from sql/updates/world/2015_07_23_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_23_02_world.sql (renamed from sql/updates/world/2015_07_23_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_00_world_2015_07_19_01.sql (renamed from sql/updates/world/2015_07_24_00_world_2015_07_19_01.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_01_world_2015_07_19_02.sql (renamed from sql/updates/world/2015_07_24_01_world_2015_07_19_02.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_02_world_2015_07_19_03.sql (renamed from sql/updates/world/2015_07_24_02_world_2015_07_19_03.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_03_world_2015_07_19_04.sql (renamed from sql/updates/world/2015_07_24_03_world_2015_07_19_04.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_04_world_2015_07_19_05.sql (renamed from sql/updates/world/2015_07_24_04_world_2015_07_19_05.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_05_world_2015_07_21_00.sql (renamed from sql/updates/world/2015_07_24_05_world_2015_07_21_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_06_world.sql (renamed from sql/updates/world/2015_07_24_06_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_07_world.sql (renamed from sql/updates/world/2015_07_24_07_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_08_world.sql (renamed from sql/updates/world/2015_07_24_08_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_09_world.sql (renamed from sql/updates/world/2015_07_24_09_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_10_world.sql (renamed from sql/updates/world/2015_07_24_10_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_11_world.sql (renamed from sql/updates/world/2015_07_24_11_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_24_12_world.sql (renamed from sql/updates/world/2015_07_24_12_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_00_world_2015_07_24_00.sql (renamed from sql/updates/world/2015_07_25_00_world_2015_07_24_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_01_world_2015_07_24_01.sql (renamed from sql/updates/world/2015_07_25_01_world_2015_07_24_01.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_02_world.sql (renamed from sql/updates/world/2015_07_25_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_03_world.sql (renamed from sql/updates/world/2015_07_25_03_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_04_world.sql (renamed from sql/updates/world/2015_07_25_04_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_05_world.sql (renamed from sql/updates/world/2015_07_25_05_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_06_world.sql (renamed from sql/updates/world/2015_07_25_06_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_07_world_2015_07_24_04.sql (renamed from sql/updates/world/2015_07_25_07_world_2015_07_24_04.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_08_world_2015_07_24_07.sql (renamed from sql/updates/world/2015_07_25_08_world_2015_07_24_07.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_09_world_2015_07_25_02.sql (renamed from sql/updates/world/2015_07_25_09_world_2015_07_25_02.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_10_world_2015_07_25_03.sql (renamed from sql/updates/world/2015_07_25_10_world_2015_07_25_03.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_11_world_2015_07_25_04.sql (renamed from sql/updates/world/2015_07_25_11_world_2015_07_25_04.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_12_world.sql (renamed from sql/updates/world/2015_07_25_12_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_13_world.sql (renamed from sql/updates/world/2015_07_25_13_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_25_14_world.sql (renamed from sql/updates/world/2015_07_25_14_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_26_00_world.sql (renamed from sql/updates/world/2015_07_26_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_26_01_world_2015_07_25_01.sql (renamed from sql/updates/world/2015_07_26_01_world_2015_07_25_01.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_26_02_world_2015_07_24_05.sql (renamed from sql/updates/world/2015_07_26_02_world_2015_07_24_05.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_26_03_world_2015_07_25_00.sql (renamed from sql/updates/world/2015_07_26_03_world_2015_07_25_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_26_04_world.sql (renamed from sql/updates/world/2015_07_26_04_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_26_05_world.sql (renamed from sql/updates/world/2015_07_26_05_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_26_06_world.sql (renamed from sql/updates/world/2015_07_26_06_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_26_07_world.sql (renamed from sql/updates/world/2015_07_26_07_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_26_08_world.sql (renamed from sql/updates/world/2015_07_26_08_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_26_09_world.sql (renamed from sql/updates/world/2015_07_26_09_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_26_10_world_2015_07_26_06.sql (renamed from sql/updates/world/2015_07_26_10_world_2015_07_26_06.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_27_00_world_2015_07_26_05.sql (renamed from sql/updates/world/2015_07_27_00_world_2015_07_26_05.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_27_01_world_2015_07_26_00.sql (renamed from sql/updates/world/2015_07_27_01_world_2015_07_26_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_27_02_world.sql (renamed from sql/updates/world/2015_07_27_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_27_03_world.sql (renamed from sql/updates/world/2015_07_27_03_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_27_04_world.sql (renamed from sql/updates/world/2015_07_27_04_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_28_00_world.sql (renamed from sql/updates/world/2015_07_28_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_28_01_world.sql (renamed from sql/updates/world/2015_07_28_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_28_02_world.sql (renamed from sql/updates/world/2015_07_28_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_28_03_world.sql (renamed from sql/updates/world/2015_07_28_03_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_28_04_world.sql (renamed from sql/updates/world/2015_07_28_04_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_28_05_world.sql (renamed from sql/updates/world/2015_07_28_05_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_28_06_world.sql (renamed from sql/updates/world/2015_07_28_06_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_28_07_world.sql (renamed from sql/updates/world/2015_07_28_07_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_28_08_world.sql (renamed from sql/updates/world/2015_07_28_08_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_29_00_world.sql (renamed from sql/updates/world/2015_07_29_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_29_01_world.sql (renamed from sql/updates/world/2015_07_29_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_29_02_world.sql (renamed from sql/updates/world/2015_07_29_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_29_03_world.sql (renamed from sql/updates/world/2015_07_29_03_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_29_04_world.sql (renamed from sql/updates/world/2015_07_29_04_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_29_05_world.sql (renamed from sql/updates/world/2015_07_29_05_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_29_06_world.sql (renamed from sql/updates/world/2015_07_29_06_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_30_00_world.sql (renamed from sql/updates/world/2015_07_30_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_30_01_world.sql (renamed from sql/updates/world/2015_07_30_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_30_02_world.sql (renamed from sql/updates/world/2015_07_30_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_30_03_world.sql (renamed from sql/updates/world/2015_07_30_03_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_31_00_world.sql (renamed from sql/updates/world/2015_07_31_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_31_01_world.sql (renamed from sql/updates/world/2015_07_31_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_31_02_world.sql (renamed from sql/updates/world/2015_07_31_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_31_03_world.sql (renamed from sql/updates/world/2015_07_31_03_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_31_04_world.sql (renamed from sql/updates/world/2015_07_31_04_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_31_05_world.sql (renamed from sql/updates/world/2015_07_31_05_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_07_31_06_world.sql (renamed from sql/updates/world/2015_07_31_06_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_01_00_world.sql (renamed from sql/updates/world/2015_08_01_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_01_01_world.sql (renamed from sql/updates/world/2015_08_01_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_01_02_world.sql (renamed from sql/updates/world/2015_08_01_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_01_03_world.sql (renamed from sql/updates/world/2015_08_01_03_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_02_00_world.sql (renamed from sql/updates/world/2015_08_02_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_08_00_world.sql (renamed from sql/updates/world/2015_08_08_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_09_00_world.sql (renamed from sql/updates/world/2015_08_09_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_10_00_world.sql (renamed from sql/updates/world/2015_08_10_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_12_00_world.sql (renamed from sql/updates/world/2015_08_12_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_15_00_world.sql (renamed from sql/updates/world/2015_08_15_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_23_00_world.sql (renamed from sql/updates/world/2015_08_23_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_27_00_world.sql (renamed from sql/updates/world/2015_08_27_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_08_31_00_world.sql (renamed from sql/updates/world/2015_08_31_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_03_00_world.sql (renamed from sql/updates/world/2015_09_03_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_03_01_world.sql (renamed from sql/updates/world/2015_09_03_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_05_00_world.sql (renamed from sql/updates/world/2015_09_05_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_06_00_world.sql (renamed from sql/updates/world/2015_09_06_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_06_01_world.sql (renamed from sql/updates/world/2015_09_06_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_06_02_world.sql (renamed from sql/updates/world/2015_09_06_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_06_03_world.sql (renamed from sql/updates/world/2015_09_06_03_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_06_04_world.sql (renamed from sql/updates/world/2015_09_06_04_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_06_05_world.sql (renamed from sql/updates/world/2015_09_06_05_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_06_06_world.sql (renamed from sql/updates/world/2015_09_06_06_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_09_00_world.sql (renamed from sql/updates/world/2015_09_09_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_10_00_world.sql (renamed from sql/updates/world/2015_09_10_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_00_world_2015_08_08_01.sql (renamed from sql/updates/world/2015_09_25_00_world_2015_08_08_01.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_01_world_2015_08_08_03.sql (renamed from sql/updates/world/2015_09_25_01_world_2015_08_08_03.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_02_world_2015_08_13_00.sql (renamed from sql/updates/world/2015_09_25_02_world_2015_08_13_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_03_world_2015_08_13_01.sql (renamed from sql/updates/world/2015_09_25_03_world_2015_08_13_01.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_04_world_2015_08_13_02.sql (renamed from sql/updates/world/2015_09_25_04_world_2015_08_13_02.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_05_world_2015_08_13_03.sql (renamed from sql/updates/world/2015_09_25_05_world_2015_08_13_03.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_06_world_2015_08_13_04.sql (renamed from sql/updates/world/2015_09_25_06_world_2015_08_13_04.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_07_world_2015_08_21_00.sql (renamed from sql/updates/world/2015_09_25_07_world_2015_08_21_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_08_world_2015_08_25_00.sql (renamed from sql/updates/world/2015_09_25_08_world_2015_08_25_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_09_world_2015_08_25_01.sql (renamed from sql/updates/world/2015_09_25_09_world_2015_08_25_01.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_10_world_2015_08_31_01.sql (renamed from sql/updates/world/2015_09_25_10_world_2015_08_31_01.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_11_world_2015_09_03_07.sql (renamed from sql/updates/world/2015_09_25_11_world_2015_09_03_07.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_09_25_12_world_2015_09_03_09.sql (renamed from sql/updates/world/2015_09_25_12_world_2015_09_03_09.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_09_00_world.sql (renamed from sql/updates/world/2015_10_09_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_09_01_world.sql (renamed from sql/updates/world/2015_10_09_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_14_00_world.sql (renamed from sql/updates/world/2015_10_14_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_14_01_world.sql (renamed from sql/updates/world/2015_10_14_01_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_14_02_world.sql (renamed from sql/updates/world/2015_10_14_02_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_15_00_world.sql (renamed from sql/updates/world/2015_10_15_00_world.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_16_00_world_2015_10_03_02.sql (renamed from sql/updates/world/2015_10_16_00_world_2015_10_03_02.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_16_01_world_2015_10_02_00.sql (renamed from sql/updates/world/2015_10_16_01_world_2015_10_02_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_16_02_world_2015_08_21_02.sql (renamed from sql/updates/world/2015_10_16_02_world_2015_08_21_02.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_16_03_world.sql4
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_16_03_world_2015_08_27_00.sql (renamed from sql/updates/world/2015_10_16_03_world_2015_08_27_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_16_04_world_2015_08_29_00.sql (renamed from sql/updates/world/2015_10_16_04_world_2015_08_29_00.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_16_05_world_2015_10_04_02.sql (renamed from sql/updates/world/2015_10_16_05_world_2015_10_04_02.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_16_06_world_2015_10_05_01.sql (renamed from sql/updates/world/2015_10_16_06_world_2015_10_05_01.sql)0
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_17_00_world_2015_10_16_01.sql21
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_17_01_world_2015_10_16_02.sql119
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_17_02_world_2015_08_29_01.sql35
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_18_00_world.sql16
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_18_01_world.sql22
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_19_00_world_2015_08_29_02.sql263
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_19_01_world.sql3
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_20_00_world_2015_08_29_03.sql20
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_20_01_world_2015_08_29_04.sql11
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_20_02_world_2015_09_02_00.sql7
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_20_03_world_2015_09_02_01.sql7
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_20_04_world_2015_09_02_04.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_20_05_world_2015_09_03_06.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_24_00_world_2015_09_05_00.sql335
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_24_01_world_2015_09_05_01.sql6
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_25_00_world.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_25_01_world.sql859
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_29_00_world.sql14
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_29_01_world.sql659
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_29_02_world.sql10
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_29_03_world.sql33
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_00_world.sql16
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_01_world_2015_10_10_02.sql8
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_02_world_2015_10_10_00.sql9
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_03_world_2015_10_10_01.sql7
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_04_world_2015_09_03_10.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_05_world_2015_09_03_11.sql10
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_06_world_2015_09_06_00.sql70
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_07_world_2015_09_07_00.sql10
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_08_world_2015_09_07_01.sql7
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_09_world_2015_09_07_02.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_10_world_2015_09_07_03.sql163
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_11_world_2015_09_07_04.sql8
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_12_world_2015_09_07_05.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_13_world_2015_09_08_00.sql15
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_14_world_2015_09_08_01.sql39
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_15_world_2015_12_09_00.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_16_world_2015_09_15_01.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_17_world_2015_09_15_02.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_18_world_2015_09_15_03.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_19_world_2015_09_16_00.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_20_world_2015_09_17_00.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_21_world_2015_09_21_00.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_22_world_2015_09_21_01.sql4
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_23_world_2015_09_21_02.sql32
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_24_world_2015_09_21_03.sql3
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_25_world_2015_09_21_04.sql246
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_26_world_2015_09_21_05.sql41
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_27_world_2015_09_21_06.sql18
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_28_world_2015_09_21_07.sql6
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_29_world_2015_09_21_08.sql10
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_30_world_2015_09_21_10.sql14
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_31_world_2015_09_22_00.sql10
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_32_world.sql8
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_30_33_world.sql3
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_00_world_2015_09_22_01.sql648
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_01_world_2015_09_23_00.sql612
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_02_world_2015_09_23_01.sql155
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_03_world_2015_09_23_02.sql176
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_04_world_2015_09_23_03.sql80
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_05_world_2015_09_23_04.sql1
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_06_world_2015_09_23_05.sql9
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_07_world_2015_09_24_00.sql209
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_08_world_2015_09_24_01.sql24
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_09_world_2015_09_24_02.sql19
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_10_world_2015_09_24_03.sql24
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_11_world_2015_09_26_00.sql11
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_12_world_2015_09_26_01.sql40
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_13_world_2015_09_26_02.sql6
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_14_world_2015_09_26_03.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_15_world_2015_09_29_00.sql6
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_16_world_2015_09_29_01.sql36
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_17_world_2015_09_29_02.sql15
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_18_world_2015_09_29_03.sql18
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_19_world_2015_09_30_00.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_20_world_2015_10_01_00.sql112
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_21_world_2015_10_01_01.sql247
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_22_world_2015_10_01_02.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_23_world_2015_10_03_00.sql21
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_24_world_2015_10_03_01.sql16
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_10_31_25_world_2015_04_18_08.sql740
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_00_world_from_335.sql175
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_01_world_2015_04_26_05.sql3
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_02_world_2015_04_26_06.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_03_world_2015_04_26_07.sql37
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_04_world_2015_04_26_08.sql16
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_05_world_2015_04_26_09.sql4
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_06_world_2015_04_27_00.sql19
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_07_world_2015_04_27_01.sql25
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_08_world_2015_04_28_00.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_09_world_2015_04_28_01.sql8
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_10_world_2015_04_28_02.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_11_world_2015_04_28_03.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_12_world_2015_04_29_00.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_13_world_from_335.sql4114
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_14_world_2015_08_21_01.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_15_world_2015_08_23_00.sql150
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_16_world.sql779
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_01_17_world.sql94
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_04_00_world.sql8
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_00_world_2015_10_04_04.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_01_world_2015_10_04_05.sql204
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_02_world_2015_10_05_00.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_03_world_2015_10_06_00.sql31
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_04_world_2015_10_06_01.sql31
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_05_world_2015_10_08_00.sql21
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_06_world_2015_10_08_01.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_07_world_2015_10_10_04.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_08_world_2015_10_11_02.sql20
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_09_world_2015_10_11_03.sql786
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_10_world_2015_10_11_04.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_05_11_world_2015_10_12_00.sql16
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_00_world_2015_10_11_00.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_01_world_2015_10_14_01.sql34
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_02_world_2015_10_14_02.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_03_world_2015_10_14_03.sql7
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_04_world_2015_10_14_04.sql781
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_05_world_2015_10_14_05.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_06_world_2015_10_14_06.sql8
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_07_world_2015_10_14_07.sql1842
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_08_world_2015_10_16_00.sql24
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_09_world_2015_10_17_00.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_10_world_2015_10_17_02.sql15
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_11_world_2015_10_20_00.sql12
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_12_world_2015_10_20_01.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_13_world_2015_10_20_02.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_14_world_2015_10_20_03.sql6
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_15_world_2015_10_21_00.sql265
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_16_world_2015_10_21_01.sql11
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_17_world_2015_10_22_00.sql14
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_18_world_2015_10_22_01.sql1006
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_19_world_2015_10_23_00.sql28
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_20_world_2015_10_23_01.sql32
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_21_world_2015_10_23_02.sql394
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_22_world_2015_10_27_01.sql25
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_23_world_2015_10_31_00.sql7
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_24_world_2015_10_31_01.sql8
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_25_world_2015_10_31_02.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_26_world_2015_11_01_00.sql127
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_27_world_2015_11_01_03.sql29
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_28_world_2015_11_01_04.sql27
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_29_world_2015_11_02_00.sql26
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_30_world_2015_11_02_01.sql432
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_31_world_2015_11_03_00.sql3
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_32_world_2015_11_03_01.sql41
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_33_world_2015_11_03_02.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_34_world_2015_08_26_01.sql1
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_35_world_2015_10_10_05.sql4
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_36_world_2015_07_27_00.sql3
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_37_world_2015_07_27_01.sql12
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_38_world_2015_10_03_00.sql11
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_39_world_2015_10_04_01.sql21
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_40_world_2015_10_04_03.sql7
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_41_world.sql5
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_42_world.sql4
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_43_world.sql239
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_06_44_world_2015_08_26_00.sql2
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_07_00_world_2015_10_02_01.sql3
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_07_01_world.sql1
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_07_02_world_2015_09_11_00.sql96
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_07_03_world.sql9
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_07_04_world.sql47
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_07_05_world.sql21
-rw-r--r--sql/old/6.x/world/02_2015_11_08/2015_11_07_06_world_2015_05_09_00.sql35
-rw-r--r--sql/updates/auth/2015_11_08_00_auth.sql1
-rw-r--r--sql/updates/characters/2015_11_08_00_characters.sql1
-rw-r--r--sql/updates/hotfixes/2015_11_08_00_hotfixes.sql1
-rw-r--r--sql/updates/world/2015_11_08_00_world.sql3
-rw-r--r--sql/updates/world/2015_11_08_01_world.sql5
-rw-r--r--sql/updates/world/2015_11_09_00_world.sql5
-rw-r--r--sql/updates/world/2015_11_09_01_world.sql6
-rw-r--r--sql/updates/world/2015_11_09_02_world.sql2
-rw-r--r--sql/updates/world/2015_11_10_00_world.sql24
-rw-r--r--src/common/Collision/Management/VMapManager2.cpp5
-rw-r--r--src/common/Collision/Management/VMapManager2.h2
-rw-r--r--src/common/Collision/Maps/MapTree.cpp6
-rw-r--r--src/common/Collision/Models/ModelInstance.h3
-rw-r--r--src/common/Collision/Models/WorldModel.cpp19
-rw-r--r--src/common/Collision/Models/WorldModel.h10
-rw-r--r--src/common/Common.h16
-rw-r--r--src/common/Debugging/Errors.cpp11
-rw-r--r--src/common/Debugging/Errors.h6
-rw-r--r--src/server/bnetserver/Server/Session.cpp1
-rw-r--r--src/server/database/Database/DatabaseLoader.cpp2
-rw-r--r--src/server/database/Database/DatabaseWorkerPool.h2
-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/CoreAI/CombatAI.cpp12
-rw-r--r--src/server/game/AI/CoreAI/CombatAI.h2
-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/AI/SmartScripts/SmartScript.cpp33
-rw-r--r--src/server/game/Accounts/RBAC.h1
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp2
-rw-r--r--src/server/game/Battlefield/Battlefield.cpp10
-rw-r--r--src/server/game/Battlefield/Battlefield.h17
-rw-r--r--src/server/game/Battlefield/BattlefieldMgr.cpp8
-rw-r--r--src/server/game/Battlefield/BattlefieldMgr.h2
-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.cpp84
-rw-r--r--src/server/game/Chat/Chat.h27
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp394
-rw-r--r--src/server/game/Conditions/ConditionMgr.h89
-rw-r--r--src/server/game/DataStores/DBCEnums.h20
-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/Corpse/Corpse.cpp23
-rw-r--r--src/server/game/Entities/Corpse/Corpse.h7
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp9
-rw-r--r--src/server/game/Entities/Creature/Creature.h2
-rw-r--r--src/server/game/Entities/Creature/CreatureGroups.cpp3
-rw-r--r--src/server/game/Entities/Creature/CreatureGroups.h4
-rw-r--r--src/server/game/Entities/Item/Item.cpp31
-rw-r--r--src/server/game/Entities/Item/Item.h6
-rw-r--r--src/server/game/Entities/Object/Object.cpp114
-rw-r--r--src/server/game/Entities/Object/ObjectGuid.h7
-rw-r--r--src/server/game/Entities/Player/CollectionMgr.cpp6
-rw-r--r--src/server/game/Entities/Player/KillRewarder.cpp283
-rw-r--r--src/server/game/Entities/Player/KillRewarder.h59
-rw-r--r--src/server/game/Entities/Player/Player.cpp623
-rw-r--r--src/server/game/Entities/Player/Player.h111
-rw-r--r--src/server/game/Entities/Player/TradeData.cpp145
-rw-r--r--src/server/game/Entities/Player/TradeData.h90
-rw-r--r--src/server/game/Entities/Unit/StatSystem.cpp6
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp280
-rw-r--r--src/server/game/Entities/Unit/Unit.h18
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp68
-rw-r--r--src/server/game/Globals/ObjectMgr.h58
-rw-r--r--src/server/game/Grids/ObjectGridLoader.cpp9
-rw-r--r--src/server/game/Grids/ObjectGridLoader.h1
-rw-r--r--src/server/game/Handlers/BattlefieldHandler.cpp324
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp26
-rw-r--r--src/server/game/Handlers/ItemHandler.cpp3
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp3
-rw-r--r--src/server/game/Handlers/TradeHandler.cpp1
-rw-r--r--src/server/game/Instances/InstanceScript.cpp27
-rw-r--r--src/server/game/Instances/InstanceScript.h3
-rw-r--r--src/server/game/Loot/LootMgr.cpp8
-rw-r--r--src/server/game/Loot/LootMgr.h6
-rw-r--r--src/server/game/Maps/Map.cpp70
-rw-r--r--src/server/game/Maps/Map.h1
-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/Movement/MovementGenerators/HomeMovementGenerator.cpp2
-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.cpp177
-rw-r--r--src/server/game/Scripting/ScriptMgr.h40
-rw-r--r--src/server/game/Server/Packets/BattlefieldPackets.cpp88
-rw-r--r--src/server/game/Server/Packets/BattlefieldPackets.h132
-rw-r--r--src/server/game/Server/Packets/ChatPackets.cpp6
-rw-r--r--src/server/game/Server/Packets/ChatPackets.h11
-rw-r--r--src/server/game/Server/Packets/ItemPackets.cpp57
-rw-r--r--src/server/game/Server/Packets/ItemPackets.h54
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp11
-rw-r--r--src/server/game/Server/Packets/MovementPackets.h14
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp10
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h13
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp103
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h2
-rw-r--r--src/server/game/Server/WorldSession.cpp1
-rw-r--r--src/server/game/Server/WorldSession.h41
-rw-r--r--src/server/game/Server/WorldSocket.cpp32
-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/Auras/SpellAuras.cpp4
-rw-r--r--src/server/game/Spells/Spell.cpp27
-rw-r--r--src/server/game/Spells/Spell.h18
-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/SpellInfo.cpp5
-rw-r--r--src/server/game/Spells/SpellInfo.h2
-rw-r--r--src/server/game/Spells/SpellMgr.cpp17
-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_account.cpp45
-rw-r--r--src/server/scripts/Commands/cs_achievement.cpp10
-rw-r--r--src/server/scripts/Commands/cs_ahbot.cpp44
-rw-r--r--src/server/scripts/Commands/cs_arena.cpp20
-rw-r--r--src/server/scripts/Commands/cs_ban.cpp45
-rw-r--r--src/server/scripts/Commands/cs_battlenet_account.cpp30
-rw-r--r--src/server/scripts/Commands/cs_bf.cpp18
-rw-r--r--src/server/scripts/Commands/cs_cast.cpp26
-rw-r--r--src/server/scripts/Commands/cs_character.cpp44
-rw-r--r--src/server/scripts/Commands/cs_cheat.cpp69
-rw-r--r--src/server/scripts/Commands/cs_debug.cpp122
-rw-r--r--src/server/scripts/Commands/cs_deserter.cpp22
-rw-r--r--src/server/scripts/Commands/cs_disable.cpp46
-rw-r--r--src/server/scripts/Commands/cs_event.cpp16
-rw-r--r--src/server/scripts/Commands/cs_gm.cpp20
-rw-r--r--src/server/scripts/Commands/cs_go.cpp36
-rw-r--r--src/server/scripts/Commands/cs_gobject.cpp36
-rw-r--r--src/server/scripts/Commands/cs_group.cpp20
-rw-r--r--src/server/scripts/Commands/cs_guild.cpp22
-rw-r--r--src/server/scripts/Commands/cs_honor.cpp17
-rw-r--r--src/server/scripts/Commands/cs_instance.cpp26
-rw-r--r--src/server/scripts/Commands/cs_learn.cpp36
-rw-r--r--src/server/scripts/Commands/cs_lfg.cpp72
-rw-r--r--src/server/scripts/Commands/cs_list.cpp18
-rw-r--r--src/server/scripts/Commands/cs_lookup.cpp50
-rw-r--r--src/server/scripts/Commands/cs_message.cpp27
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp135
-rw-r--r--src/server/scripts/Commands/cs_mmaps.cpp18
-rw-r--r--src/server/scripts/Commands/cs_modify.cpp113
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp184
-rw-r--r--src/server/scripts/Commands/cs_pet.cpp14
-rw-r--r--src/server/scripts/Commands/cs_quest.cpp16
-rw-r--r--src/server/scripts/Commands/cs_rbac.cpp21
-rw-r--r--src/server/scripts/Commands/cs_reload.cpp218
-rw-r--r--src/server/scripts/Commands/cs_reset.cpp22
-rw-r--r--src/server/scripts/Commands/cs_send.cpp16
-rw-r--r--src/server/scripts/Commands/cs_server.cpp57
-rw-r--r--src/server/scripts/Commands/cs_tele.cpp18
-rw-r--r--src/server/scripts/Commands/cs_ticket.cpp80
-rw-r--r--src/server/scripts/Commands/cs_titles.cpp19
-rw-r--r--src/server/scripts/Commands/cs_wp.cpp22
-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.cpp73
-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.cpp29
-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.cpp8
-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_heigan.cpp147
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp84
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_noth.cpp284
-rw-r--r--src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp38
-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/Ulduar/Ulduar/boss_flame_leviathan.cpp164
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp14
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h23
-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.cpp12
-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/Spells/spell_generic.cpp42
-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/scripts/World/npcs_special.cpp1
-rw-r--r--src/server/shared/DataStores/DB2StorageLoader.cpp6
-rw-r--r--src/server/worldserver/CommandLine/CliRunnable.cpp13
-rw-r--r--src/server/worldserver/worldserver.conf.dist15
-rw-r--r--src/tools/connection_patcher/Patches/Mac.hpp2
-rw-r--r--src/tools/connection_patcher/Patterns/Mac.hpp2
-rw-r--r--src/tools/mmaps_generator/VMapExtensions.cpp70
620 files changed, 27054 insertions, 7556 deletions
diff --git a/.travis.yml b/.travis.yml
index 805c7e0d168..b53d4031a95 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,10 +9,13 @@ before_install:
- echo "yes" | sudo add-apt-repository ppa:kalakris/cmake
- echo "yes" | sudo add-apt-repository ppa:boost-latest/ppa
- echo "yes" | sudo add-apt-repository ppa:ubuntu-toolchain-r/test
+ - echo "yes" | sudo add-apt-repository 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise-3.5 main'
+ - wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
- sudo apt-get -qq update
- - sudo apt-get -qq install build-essential libtool gcc-4.8 g++-4.8 make cmake openssl
+ - sudo apt-get -qq install build-essential libtool gcc-4.8 g++-4.8 make cmake openssl clang-3.5
- sudo apt-get -qq install libssl-dev libmysqlclient-dev libmysql++-dev libreadline6-dev zlib1g-dev libbz2-dev libzmq3-dev
- sudo apt-get -qq install libboost1.55-dev libboost-thread1.55-dev libboost-filesystem1.55-dev libboost-system1.55-dev libboost-program-options1.55-dev libboost-iostreams1.55-dev libboost-regex1.55-dev
+ - export CC=clang-3.5 CXX=clang++-3.5
install:
- mysql -uroot -e 'create database test_mysql;'
@@ -23,6 +26,7 @@ install:
- sudo chmod +x contrib/check_updates.sh
script:
+ - $CXX --version
- mysql -uroot < sql/create/create_mysql.sql
- mysql -utrinity -ptrinity auth < sql/base/auth_database.sql
- ./contrib/check_updates.sh auth auth
@@ -34,4 +38,4 @@ script:
- cat sql/updates/hotfixes/*.sql | mysql -utrinity -ptrinity hotfixes
- mysql -uroot < sql/create/drop_mysql.sql
- cd bin
- - make -j 8
+ - make -j 8 -k
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/cmake/compiler/msvc/settings.cmake b/cmake/compiler/msvc/settings.cmake
index 80b3bfc765f..f4ed0e12786 100644
--- a/cmake/compiler/msvc/settings.cmake
+++ b/cmake/compiler/msvc/settings.cmake
@@ -79,7 +79,7 @@ endif()
# Fixes a compiler-problem when using PCH - the /Ym flag is adjusted by the compiler in MSVC2012, hence we need to set an upper limit with /Zm to avoid discrepancies)
# (And yes, this is a verified , unresolved bug with MSVC... *sigh*)
string(REGEX REPLACE "/Zm[0-9]+ *" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zm500" CACHE STRING "" FORCE)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zm500")
# Enable and treat as errors the following warnings to easily detect virtual function signature failures:
# 'function' : member function does not override any base class virtual member function
diff --git a/cmake/macros/ConfigureBoost.cmake b/cmake/macros/ConfigureBoost.cmake
index 022d84246ef..b3a71b8a682 100644
--- a/cmake/macros/ConfigureBoost.cmake
+++ b/cmake/macros/ConfigureBoost.cmake
@@ -1,13 +1,3 @@
-macro(get_WIN32_WINNT version)
- if (WIN32 AND CMAKE_SYSTEM_VERSION)
- set(ver ${CMAKE_SYSTEM_VERSION})
- string(REPLACE "." "" ver ${ver})
- string(REGEX REPLACE "([0-9])" "0\\1" ver ${ver})
-
- set(${version} "0x${ver}")
- endif()
-endmacro()
-
if(WIN32)
set(BOOST_DEBUG ON)
if(DEFINED ENV{BOOST_ROOT})
@@ -25,8 +15,7 @@ if(WIN32)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
- get_WIN32_WINNT(ver)
- add_definitions(-D_WIN32_WINNT=${ver})
+ add_definitions(-D_WIN32_WINNT=0x0601)
endif()
find_package(Boost 1.49 REQUIRED system filesystem thread program_options iostreams regex)
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/revision_data.h.in.cmake b/revision_data.h.in.cmake
index 5b4fc4056ca..419536e7fd8 100644
--- a/revision_data.h.in.cmake
+++ b/revision_data.h.in.cmake
@@ -5,8 +5,8 @@
#define _BRANCH "@rev_branch@"
#define _SOURCE_DIRECTORY "@CMAKE_SOURCE_DIR@"
#define _MYSQL_EXECUTABLE "@MYSQL_EXECUTABLE@"
- #define _FULL_DATABASE "TDB_full_world_6.02_2015_07_14.sql"
- #define _HOTFIXES_DATABASE "TDB_full_hotfixes_6.02_2015_07_14.sql"
+ #define _FULL_DATABASE "TDB_full_world_6.03_2015_11_08.sql"
+ #define _HOTFIXES_DATABASE "TDB_full_hotfixes_6.03_2015_11_08.sql"
#define VER_COMPANYNAME_STR "TrinityCore Developers"
#define VER_LEGALCOPYRIGHT_STR "(c)2008-2015 TrinityCore"
#define VER_FILEVERSION 0,0,0
diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql
index 02f04b1ea3d..7ca7cde0786 100644
--- a/sql/base/auth_database.sql
+++ b/sql/base/auth_database.sql
@@ -1,8 +1,8 @@
--- MySQL dump 10.16 Distrib 10.1.6-MariaDB, for Win64 (AMD64)
+-- MySQL dump 10.13 Distrib 5.6.26, for Win64 (x86_64)
--
-- Host: localhost Database: auth
-- ------------------------------------------------------
--- Server version 10.1.6-MariaDB
+-- Server version 5.6.26-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -285,7 +285,7 @@ CREATE TABLE `battlenet_account_toys` (
`itemId` int(11) NOT NULL DEFAULT '0',
`isFavourite` tinyint(1) DEFAULT '0',
PRIMARY KEY (`accountId`,`itemId`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -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);
+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','ARCHIVED','2015-10-10 08:30:48',0),('2015_07_29_00_auth.sql','0000FECBC413E96C7C45F303D162E263EFBA7116','ARCHIVED','2015-10-10 08:30:48',0),('2015_08_26_00_auth.sql','3071C02A2EB7DCBF4CEE10279FEFAB7C29A43A3A','ARCHIVED','2015-10-10 08:30:48',0),('2015_09_05_00_auth.sql','F765D82B37873FA67447347D5B83C99C159FB452','ARCHIVED','2015-10-10 08:30:48',0),('2015_09_05_01_auth.sql','97A72DBCBF14D27A1863834A22296905FF276086','ARCHIVED','2015-10-10 08:30:48',0),('2015_09_09_00_auth.sql','495A0CF1B1C49205D4A5D3C25A4E1EB95616D6B4','ARCHIVED','2015-10-10 08:30:48',0),('2015_09_15_00_auth.sql','D1FEFDA4C98F30384DF4B64D5A53187303EB5786','ARCHIVED','2015-10-10 08:30:48',0),('2015_10_09_00_auth.sql','B6D643D444C6AE711503F73B96B6252A852913D6','ARCHIVED','2015-10-10 08:30:48',0),('2015_10_16_00_auth.sql','366AFFD1088762866091A81CE1EC64138B8B35F1','ARCHIVED','2015-11-08 00:46:02',62),('2015_10_17_00_auth.sql','AC0D45E905033F42093852D2C4476663BDACCB3D','ARCHIVED','2015-10-17 12:39:12',0),('2015_11_01_00_auth_2015_08_21_00.sql','C31A9E1D28E11B60BE8F8198637DD51F6D75123F','ARCHIVED','2015-11-01 14:50:26',0),('2015_11_08_00_auth.sql','0ACDD35EC9745231BCFA701B78056DEF94D0CC53','RELEASED','2015-11-08 00:51:45',15);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
@@ -775,4 +775,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2015-10-10 10:36:44
+-- Dump completed on 2015-11-08 1:52:10
diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql
index 1b28b1cb51a..3f72171d151 100644
--- a/sql/base/characters_database.sql
+++ b/sql/base/characters_database.sql
@@ -1,8 +1,8 @@
--- MySQL dump 10.16 Distrib 10.1.6-MariaDB, for Win64 (AMD64)
+-- MySQL dump 10.13 Distrib 5.6.26, for Win64 (x86_64)
--
-- Host: localhost Database: characters
-- ------------------------------------------------------
--- Server version 10.1.6-MariaDB
+-- Server version 5.6.26-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -2977,6 +2977,7 @@ DROP TABLE IF EXISTS `pvpstats_players`;
CREATE TABLE `pvpstats_players` (
`battleground_id` bigint(20) unsigned NOT NULL,
`character_guid` bigint(20) unsigned NOT NULL,
+ `winner` bit(1) NOT NULL,
`score_killing_blows` mediumint(8) unsigned NOT NULL,
`score_deaths` mediumint(8) unsigned NOT NULL,
`score_honorable_kills` mediumint(8) unsigned NOT NULL,
@@ -3075,7 +3076,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','ARCHIVED','2015-07-29 16:23:56',0),('2015_08_08_00_characters.sql','EA12BB2DC24FAF2300A96D0888A45BBEA158D5DC','ARCHIVED','2015-08-08 16:34:07',0),('2015_08_12_00_characters.sql','4FD7F89FE5DA51D4E0C33E520719986AA3EBD31B','ARCHIVED','2015-08-12 12:35:20',0),('2015_09_05_00_characters.sql','4C22BB29365BE4B6B95E64DAD84B63CA002304EA','ARCHIVED','2015-09-05 12:35:20',0),('2015_09_09_00_characters.sql','AFC32E693BC17CFD9A17919FE5317B8FE337ACAD','ARCHIVED','2015-09-09 12:35:20',0),('2015_09_10_00_characters.sql','4555A7F35C107E54C13D74D20F141039ED42943E','ARCHIVED','2015-09-10 22:50:42',0),('2015_10_16_00_characters.sql','E3A3FFF0CB42F04A8DCF0CE4362143C16E2083AF','ARCHIVED','2015-10-15 21:54:11',0),('2015_11_06_00_characters_2015_10_12_00.sql','D6F9927BDED72AD0A81D6EC2C6500CBC34A39FA2','ARCHIVED','2015-11-06 23:43:27',0),('2015_11_08_00_characters.sql','0ACDD35EC9745231BCFA701B78056DEF94D0CC53','RELEASED','2015-11-08 00:51:45',15);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
@@ -3160,4 +3161,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2015-08-08 18:35:34
+-- Dump completed on 2015-11-08 1:52:10
diff --git a/sql/base/dev/world_database.sql b/sql/base/dev/world_database.sql
index 15a7c457122..987fd97aff3 100644
--- a/sql/base/dev/world_database.sql
+++ b/sql/base/dev/world_database.sql
@@ -1,8 +1,8 @@
--- MySQL dump 10.13 Distrib 5.6.9-rc, for Win64 (x86_64)
+-- MySQL dump 10.13 Distrib 5.6.26, for Win64 (x86_64)
--
--- Host: localhost Database: world
+-- Host: localhost Database: world6_temp
-- ------------------------------------------------------
--- Server version 5.6.9-rc
+-- Server version 5.6.26-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -153,6 +153,34 @@ CREATE TABLE `areatrigger_teleport` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
+-- Table structure for table `battle_pet_breeds`
+--
+
+DROP TABLE IF EXISTS `battle_pet_breeds`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `battle_pet_breeds` (
+ `speciesId` int(10) unsigned NOT NULL DEFAULT '0',
+ `breedId` smallint(5) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`speciesId`,`breedId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `battle_pet_quality`
+--
+
+DROP TABLE IF EXISTS `battle_pet_quality`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `battle_pet_quality` (
+ `speciesId` int(10) unsigned NOT NULL DEFAULT '0',
+ `quality` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`speciesId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
-- Table structure for table `battleground_template`
--
@@ -601,6 +629,25 @@ CREATE TABLE `creature_template_addon` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
+-- Table structure for table `creature_template_locale`
+--
+
+DROP TABLE IF EXISTS `creature_template_locale`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `creature_template_locale` (
+ `entry` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `locale` varchar(4) NOT NULL,
+ `Name` text,
+ `NameAlt` text,
+ `Title` text,
+ `TitleAlt` text,
+ `VerifiedBuild` smallint(5) DEFAULT '0',
+ PRIMARY KEY (`entry`,`locale`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
-- Table structure for table `creature_text`
--
@@ -1177,6 +1224,24 @@ CREATE TABLE `gameobject_template` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
+-- Table structure for table `gameobject_template_locale`
+--
+
+DROP TABLE IF EXISTS `gameobject_template_locale`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `gameobject_template_locale` (
+ `entry` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `locale` varchar(4) NOT NULL,
+ `name` text,
+ `castBarCaption` text,
+ `unk1` text,
+ `VerifiedBuild` smallint(5) DEFAULT '0',
+ PRIMARY KEY (`entry`,`locale`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
-- Table structure for table `garrison_follower_class_spec_abilities`
--
@@ -1483,44 +1548,6 @@ CREATE TABLE `locales_achievement_reward` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
--- Table structure for table `locales_creature`
---
-
-DROP TABLE IF EXISTS `locales_creature`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `locales_creature` (
- `entry` mediumint(8) unsigned NOT NULL DEFAULT '0',
- `name_loc1` varchar(100) NOT NULL DEFAULT '',
- `femaleName_loc1` char(100) NOT NULL,
- `name_loc2` varchar(100) NOT NULL DEFAULT '',
- `femaleName_loc2` char(100) NOT NULL,
- `name_loc3` varchar(100) NOT NULL DEFAULT '',
- `femaleName_loc3` char(100) NOT NULL,
- `name_loc4` varchar(100) NOT NULL DEFAULT '',
- `femaleName_loc4` char(100) NOT NULL,
- `name_loc5` varchar(100) NOT NULL DEFAULT '',
- `femaleName_loc5` char(100) NOT NULL,
- `name_loc6` varchar(100) NOT NULL DEFAULT '',
- `femaleName_loc6` char(100) NOT NULL,
- `name_loc7` varchar(100) NOT NULL DEFAULT '',
- `femaleName_loc7` char(100) NOT NULL,
- `name_loc8` varchar(100) NOT NULL DEFAULT '',
- `femaleName_loc8` char(100) NOT NULL,
- `subname_loc1` varchar(100) DEFAULT NULL,
- `subname_loc2` varchar(100) DEFAULT NULL,
- `subname_loc3` varchar(100) DEFAULT NULL,
- `subname_loc4` varchar(100) DEFAULT NULL,
- `subname_loc5` varchar(100) DEFAULT NULL,
- `subname_loc6` varchar(100) DEFAULT NULL,
- `subname_loc7` varchar(100) DEFAULT NULL,
- `subname_loc8` varchar(100) DEFAULT NULL,
- `VerifiedBuild` smallint(5) DEFAULT '0',
- PRIMARY KEY (`entry`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
-- Table structure for table `locales_creature_text`
--
@@ -1544,36 +1571,6 @@ CREATE TABLE `locales_creature_text` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
--- Table structure for table `locales_gameobject`
---
-
-DROP TABLE IF EXISTS `locales_gameobject`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `locales_gameobject` (
- `entry` mediumint(8) unsigned NOT NULL DEFAULT '0',
- `name_loc1` varchar(100) NOT NULL DEFAULT '',
- `name_loc2` varchar(100) NOT NULL DEFAULT '',
- `name_loc3` varchar(100) NOT NULL DEFAULT '',
- `name_loc4` varchar(100) NOT NULL DEFAULT '',
- `name_loc5` varchar(100) NOT NULL DEFAULT '',
- `name_loc6` varchar(100) NOT NULL DEFAULT '',
- `name_loc7` varchar(100) NOT NULL DEFAULT '',
- `name_loc8` varchar(100) NOT NULL DEFAULT '',
- `castbarcaption_loc1` varchar(100) NOT NULL DEFAULT '',
- `castbarcaption_loc2` varchar(100) NOT NULL DEFAULT '',
- `castbarcaption_loc3` varchar(100) NOT NULL DEFAULT '',
- `castbarcaption_loc4` varchar(100) NOT NULL DEFAULT '',
- `castbarcaption_loc5` varchar(100) NOT NULL DEFAULT '',
- `castbarcaption_loc6` varchar(100) NOT NULL DEFAULT '',
- `castbarcaption_loc7` varchar(100) NOT NULL DEFAULT '',
- `castbarcaption_loc8` varchar(100) NOT NULL DEFAULT '',
- `VerifiedBuild` smallint(5) DEFAULT '0',
- PRIMARY KEY (`entry`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
-- Table structure for table `locales_gossip_menu_option`
--
@@ -1742,6 +1739,8 @@ CREATE TABLE `npc_vendor` (
`incrtime` int(10) unsigned NOT NULL DEFAULT '0',
`ExtendedCost` mediumint(8) unsigned NOT NULL DEFAULT '0',
`type` tinyint(3) unsigned NOT NULL DEFAULT '1',
+ `PlayerConditionID` int(10) unsigned NOT NULL DEFAULT '0',
+ `IgnoreFiltering` tinyint(3) unsigned NOT NULL DEFAULT '0',
`VerifiedBuild` smallint(5) DEFAULT '0',
PRIMARY KEY (`entry`,`item`,`ExtendedCost`,`type`),
KEY `slot` (`slot`)
@@ -2725,6 +2724,22 @@ CREATE TABLE `skill_fishing_base_level` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
+-- Table structure for table `skill_perfect_item_template`
+--
+
+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 */;
+
+--
-- Table structure for table `skill_tiers`
--
@@ -2828,7 +2843,7 @@ CREATE TABLE `spell_area` (
`quest_start` mediumint(8) unsigned NOT NULL DEFAULT '0',
`quest_end` mediumint(8) unsigned NOT NULL DEFAULT '0',
`aura_spell` mediumint(8) NOT NULL DEFAULT '0',
- `racemask` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `racemask` int(10) unsigned NOT NULL DEFAULT '0',
`gender` tinyint(3) unsigned NOT NULL DEFAULT '2',
`autocast` tinyint(3) unsigned NOT NULL DEFAULT '0',
`quest_start_status` int(11) NOT NULL DEFAULT '64',
@@ -3455,4 +3470,4 @@ CREATE TABLE `waypoints` (
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2015-07-13 23:52:04
+-- Dump completed on 2015-11-08 1:52:20
diff --git a/sql/updates/auth/2015_07_16_00_auth.sql b/sql/old/6.x/auth/02_2015_11_08/2015_07_16_00_auth.sql
index 6ab58a4ed40..6ab58a4ed40 100644
--- a/sql/updates/auth/2015_07_16_00_auth.sql
+++ b/sql/old/6.x/auth/02_2015_11_08/2015_07_16_00_auth.sql
diff --git a/sql/updates/auth/2015_07_29_00_auth.sql b/sql/old/6.x/auth/02_2015_11_08/2015_07_29_00_auth.sql
index f52cdee6f52..f52cdee6f52 100644
--- a/sql/updates/auth/2015_07_29_00_auth.sql
+++ b/sql/old/6.x/auth/02_2015_11_08/2015_07_29_00_auth.sql
diff --git a/sql/updates/auth/2015_08_26_00_auth.sql b/sql/old/6.x/auth/02_2015_11_08/2015_08_26_00_auth.sql
index e01f9c50a24..e01f9c50a24 100644
--- a/sql/updates/auth/2015_08_26_00_auth.sql
+++ b/sql/old/6.x/auth/02_2015_11_08/2015_08_26_00_auth.sql
diff --git a/sql/updates/auth/2015_09_05_00_auth.sql b/sql/old/6.x/auth/02_2015_11_08/2015_09_05_00_auth.sql
index d6858d8a6d4..d6858d8a6d4 100644
--- a/sql/updates/auth/2015_09_05_00_auth.sql
+++ b/sql/old/6.x/auth/02_2015_11_08/2015_09_05_00_auth.sql
diff --git a/sql/updates/auth/2015_09_05_01_auth.sql b/sql/old/6.x/auth/02_2015_11_08/2015_09_05_01_auth.sql
index bac1e817dc1..bac1e817dc1 100644
--- a/sql/updates/auth/2015_09_05_01_auth.sql
+++ b/sql/old/6.x/auth/02_2015_11_08/2015_09_05_01_auth.sql
diff --git a/sql/updates/auth/2015_09_09_00_auth.sql b/sql/old/6.x/auth/02_2015_11_08/2015_09_09_00_auth.sql
index ccb5d97cf4a..ccb5d97cf4a 100644
--- a/sql/updates/auth/2015_09_09_00_auth.sql
+++ b/sql/old/6.x/auth/02_2015_11_08/2015_09_09_00_auth.sql
diff --git a/sql/updates/auth/2015_09_15_00_auth.sql b/sql/old/6.x/auth/02_2015_11_08/2015_09_15_00_auth.sql
index 0e84db63361..0e84db63361 100644
--- a/sql/updates/auth/2015_09_15_00_auth.sql
+++ b/sql/old/6.x/auth/02_2015_11_08/2015_09_15_00_auth.sql
diff --git a/sql/updates/auth/2015_10_09_00_auth.sql b/sql/old/6.x/auth/02_2015_11_08/2015_10_09_00_auth.sql
index 4b7509f4a44..4b7509f4a44 100644
--- a/sql/updates/auth/2015_10_09_00_auth.sql
+++ b/sql/old/6.x/auth/02_2015_11_08/2015_10_09_00_auth.sql
diff --git a/sql/updates/auth/2015_10_16_00_auth.sql b/sql/old/6.x/auth/02_2015_11_08/2015_10_16_00_auth.sql
index 1efefca6c9a..1efefca6c9a 100644
--- a/sql/updates/auth/2015_10_16_00_auth.sql
+++ b/sql/old/6.x/auth/02_2015_11_08/2015_10_16_00_auth.sql
diff --git a/sql/old/6.x/auth/02_2015_11_08/2015_10_17_00_auth.sql b/sql/old/6.x/auth/02_2015_11_08/2015_10_17_00_auth.sql
new file mode 100644
index 00000000000..504a0aa1450
--- /dev/null
+++ b/sql/old/6.x/auth/02_2015_11_08/2015_10_17_00_auth.sql
@@ -0,0 +1 @@
+ALTER TABLE `battlenet_account_toys` ENGINE=InnoDB;
diff --git a/sql/old/6.x/auth/02_2015_11_08/2015_11_01_00_auth_2015_08_21_00.sql b/sql/old/6.x/auth/02_2015_11_08/2015_11_01_00_auth_2015_08_21_00.sql
new file mode 100644
index 00000000000..f4396cc68c0
--- /dev/null
+++ b/sql/old/6.x/auth/02_2015_11_08/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_07_28_00_characters.sql b/sql/old/6.x/characters/02_2015_11_08/2015_07_28_00_characters.sql
index 29af7731d19..29af7731d19 100644
--- a/sql/updates/characters/2015_07_28_00_characters.sql
+++ b/sql/old/6.x/characters/02_2015_11_08/2015_07_28_00_characters.sql
diff --git a/sql/updates/characters/2015_08_08_00_characters.sql b/sql/old/6.x/characters/02_2015_11_08/2015_08_08_00_characters.sql
index 5e009e10fd4..5e009e10fd4 100644
--- a/sql/updates/characters/2015_08_08_00_characters.sql
+++ b/sql/old/6.x/characters/02_2015_11_08/2015_08_08_00_characters.sql
diff --git a/sql/updates/characters/2015_08_12_00_characters.sql b/sql/old/6.x/characters/02_2015_11_08/2015_08_12_00_characters.sql
index 9abe6972718..9abe6972718 100644
--- a/sql/updates/characters/2015_08_12_00_characters.sql
+++ b/sql/old/6.x/characters/02_2015_11_08/2015_08_12_00_characters.sql
diff --git a/sql/updates/characters/2015_09_05_00_characters.sql b/sql/old/6.x/characters/02_2015_11_08/2015_09_05_00_characters.sql
index f6294e6234a..f6294e6234a 100644
--- a/sql/updates/characters/2015_09_05_00_characters.sql
+++ b/sql/old/6.x/characters/02_2015_11_08/2015_09_05_00_characters.sql
diff --git a/sql/updates/characters/2015_09_09_00_characters.sql b/sql/old/6.x/characters/02_2015_11_08/2015_09_09_00_characters.sql
index d6ceca53f38..d6ceca53f38 100644
--- a/sql/updates/characters/2015_09_09_00_characters.sql
+++ b/sql/old/6.x/characters/02_2015_11_08/2015_09_09_00_characters.sql
diff --git a/sql/updates/characters/2015_09_10_00_characters.sql b/sql/old/6.x/characters/02_2015_11_08/2015_09_10_00_characters.sql
index 94c9066c6ae..94c9066c6ae 100644
--- a/sql/updates/characters/2015_09_10_00_characters.sql
+++ b/sql/old/6.x/characters/02_2015_11_08/2015_09_10_00_characters.sql
diff --git a/sql/updates/characters/2015_10_16_00_characters.sql b/sql/old/6.x/characters/02_2015_11_08/2015_10_16_00_characters.sql
index 549797fee96..549797fee96 100644
--- a/sql/updates/characters/2015_10_16_00_characters.sql
+++ b/sql/old/6.x/characters/02_2015_11_08/2015_10_16_00_characters.sql
diff --git a/sql/old/6.x/characters/02_2015_11_08/2015_11_06_00_characters_2015_10_12_00.sql b/sql/old/6.x/characters/02_2015_11_08/2015_11_06_00_characters_2015_10_12_00.sql
new file mode 100644
index 00000000000..d7d4fb90f02
--- /dev/null
+++ b/sql/old/6.x/characters/02_2015_11_08/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/hotfixes/2015_07_19_00_hotfixes.sql b/sql/old/6.x/hotfixes/02_2015_11_08/2015_07_19_00_hotfixes.sql
index c58f984f1ff..c58f984f1ff 100644
--- a/sql/updates/hotfixes/2015_07_19_00_hotfixes.sql
+++ b/sql/old/6.x/hotfixes/02_2015_11_08/2015_07_19_00_hotfixes.sql
diff --git a/sql/updates/hotfixes/2015_08_26_00_hotfixes.sql b/sql/old/6.x/hotfixes/02_2015_11_08/2015_08_26_00_hotfixes.sql
index 3ccd8ac3eeb..3ccd8ac3eeb 100644
--- a/sql/updates/hotfixes/2015_08_26_00_hotfixes.sql
+++ b/sql/old/6.x/hotfixes/02_2015_11_08/2015_08_26_00_hotfixes.sql
diff --git a/sql/updates/hotfixes/2015_08_30_00_hotfixes.sql b/sql/old/6.x/hotfixes/02_2015_11_08/2015_08_30_00_hotfixes.sql
index 820b5a52308..820b5a52308 100644
--- a/sql/updates/hotfixes/2015_08_30_00_hotfixes.sql
+++ b/sql/old/6.x/hotfixes/02_2015_11_08/2015_08_30_00_hotfixes.sql
diff --git a/sql/updates/hotfixes/2015_09_05_00_hotfixes.sql b/sql/old/6.x/hotfixes/02_2015_11_08/2015_09_05_00_hotfixes.sql
index 094debf24c6..094debf24c6 100644
--- a/sql/updates/hotfixes/2015_09_05_00_hotfixes.sql
+++ b/sql/old/6.x/hotfixes/02_2015_11_08/2015_09_05_00_hotfixes.sql
diff --git a/sql/updates/hotfixes/2015_09_07_00_hotfixes.sql b/sql/old/6.x/hotfixes/02_2015_11_08/2015_09_07_00_hotfixes.sql
index f9a5897e8b6..f9a5897e8b6 100644
--- a/sql/updates/hotfixes/2015_09_07_00_hotfixes.sql
+++ b/sql/old/6.x/hotfixes/02_2015_11_08/2015_09_07_00_hotfixes.sql
diff --git a/sql/updates/hotfixes/2015_09_09_00_hotfixes.sql b/sql/old/6.x/hotfixes/02_2015_11_08/2015_09_09_00_hotfixes.sql
index 1ca4e984e0b..1ca4e984e0b 100644
--- a/sql/updates/hotfixes/2015_09_09_00_hotfixes.sql
+++ b/sql/old/6.x/hotfixes/02_2015_11_08/2015_09_09_00_hotfixes.sql
diff --git a/sql/updates/hotfixes/2015_09_16_00_hotfixes.sql b/sql/old/6.x/hotfixes/02_2015_11_08/2015_09_16_00_hotfixes.sql
index 4e516360224..4e516360224 100644
--- a/sql/updates/hotfixes/2015_09_16_00_hotfixes.sql
+++ b/sql/old/6.x/hotfixes/02_2015_11_08/2015_09_16_00_hotfixes.sql
diff --git a/sql/updates/hotfixes/2015_09_20_00_hotfixes.sql b/sql/old/6.x/hotfixes/02_2015_11_08/2015_09_20_00_hotfixes.sql
index a7a942f60ef..a7a942f60ef 100644
--- a/sql/updates/hotfixes/2015_09_20_00_hotfixes.sql
+++ b/sql/old/6.x/hotfixes/02_2015_11_08/2015_09_20_00_hotfixes.sql
diff --git a/sql/updates/hotfixes/2015_10_16_00_hotfixes.sql b/sql/old/6.x/hotfixes/02_2015_11_08/2015_10_16_00_hotfixes.sql
index de01e908d49..de01e908d49 100644
--- a/sql/updates/hotfixes/2015_10_16_00_hotfixes.sql
+++ b/sql/old/6.x/hotfixes/02_2015_11_08/2015_10_16_00_hotfixes.sql
diff --git a/sql/updates/world/2015_07_14_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_14_00_world.sql
index 60eedac765d..60eedac765d 100644
--- a/sql/updates/world/2015_07_14_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_14_00_world.sql
diff --git a/sql/updates/world/2015_07_15_00_world_2015_07_14_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_15_00_world_2015_07_14_02.sql
index ba49c5cec27..ba49c5cec27 100644
--- a/sql/updates/world/2015_07_15_00_world_2015_07_14_02.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_15_00_world_2015_07_14_02.sql
diff --git a/sql/updates/world/2015_07_15_01_world_2015_07_14_05.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_15_01_world_2015_07_14_05.sql
index 7c2faf1c52d..7c2faf1c52d 100644
--- a/sql/updates/world/2015_07_15_01_world_2015_07_14_05.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_15_01_world_2015_07_14_05.sql
diff --git a/sql/updates/world/2015_07_15_02_world_2015_07_14_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_15_02_world_2015_07_14_03.sql
index 31d3496a13b..31d3496a13b 100644
--- a/sql/updates/world/2015_07_15_02_world_2015_07_14_03.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_15_02_world_2015_07_14_03.sql
diff --git a/sql/updates/world/2015_07_15_03_world_2015_07_14_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_15_03_world_2015_07_14_04.sql
index 9bf0289cf70..9bf0289cf70 100644
--- a/sql/updates/world/2015_07_15_03_world_2015_07_14_04.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_15_03_world_2015_07_14_04.sql
diff --git a/sql/updates/world/2015_07_15_04_world_2015_07_15_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_15_04_world_2015_07_15_00.sql
index fb7a0799f86..fb7a0799f86 100644
--- a/sql/updates/world/2015_07_15_04_world_2015_07_15_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_15_04_world_2015_07_15_00.sql
diff --git a/sql/updates/world/2015_07_18_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_18_00_world.sql
index a32519c88ee..a32519c88ee 100644
--- a/sql/updates/world/2015_07_18_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_18_00_world.sql
diff --git a/sql/updates/world/2015_07_18_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_18_01_world.sql
index bcc2551c26b..bcc2551c26b 100644
--- a/sql/updates/world/2015_07_18_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_18_01_world.sql
diff --git a/sql/updates/world/2015_07_18_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_18_02_world.sql
index 94b4e23da61..94b4e23da61 100644
--- a/sql/updates/world/2015_07_18_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_18_02_world.sql
diff --git a/sql/updates/world/2015_07_18_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_18_03_world.sql
index 09469cbf76d..09469cbf76d 100644
--- a/sql/updates/world/2015_07_18_03_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_18_03_world.sql
diff --git a/sql/updates/world/2015_07_18_04_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_18_04_world.sql
index dcdb7c2a590..dcdb7c2a590 100644
--- a/sql/updates/world/2015_07_18_04_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_18_04_world.sql
diff --git a/sql/updates/world/2015_07_19_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_00_world.sql
index 6098e5bc329..6098e5bc329 100644
--- a/sql/updates/world/2015_07_19_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_00_world.sql
diff --git a/sql/updates/world/2015_07_19_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_01_world.sql
index 147a926c6c1..147a926c6c1 100644
--- a/sql/updates/world/2015_07_19_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_01_world.sql
diff --git a/sql/updates/world/2015_07_19_01_world_2015_07_15_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_01_world_2015_07_15_01.sql
index b9b7d92072a..b9b7d92072a 100644
--- a/sql/updates/world/2015_07_19_01_world_2015_07_15_01.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_01_world_2015_07_15_01.sql
diff --git a/sql/updates/world/2015_07_19_02_world_2015_07_15_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_02_world_2015_07_15_02.sql
index 07c59a8190b..07c59a8190b 100644
--- a/sql/updates/world/2015_07_19_02_world_2015_07_15_02.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_02_world_2015_07_15_02.sql
diff --git a/sql/updates/world/2015_07_19_03_world_2015_07_16_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_03_world_2015_07_16_00.sql
index 9dac1b852ce..9dac1b852ce 100644
--- a/sql/updates/world/2015_07_19_03_world_2015_07_16_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_03_world_2015_07_16_00.sql
diff --git a/sql/updates/world/2015_07_19_04_world_2015_07_17_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_04_world_2015_07_17_00.sql
index 0a9d5209be4..0a9d5209be4 100644
--- a/sql/updates/world/2015_07_19_04_world_2015_07_17_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_04_world_2015_07_17_00.sql
diff --git a/sql/updates/world/2015_07_19_05_world_2015_07_17_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_05_world_2015_07_17_01.sql
index f3246227611..f3246227611 100644
--- a/sql/updates/world/2015_07_19_05_world_2015_07_17_01.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_05_world_2015_07_17_01.sql
diff --git a/sql/updates/world/2015_07_19_06_world_2015_07_17_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_06_world_2015_07_17_02.sql
index 44c860a45d9..44c860a45d9 100644
--- a/sql/updates/world/2015_07_19_06_world_2015_07_17_02.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_06_world_2015_07_17_02.sql
diff --git a/sql/updates/world/2015_07_19_07_world_2015_07_17_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_07_world_2015_07_17_03.sql
index 2ceb1be879f..2ceb1be879f 100644
--- a/sql/updates/world/2015_07_19_07_world_2015_07_17_03.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_07_world_2015_07_17_03.sql
diff --git a/sql/updates/world/2015_07_19_08_world_2015_07_17_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_08_world_2015_07_17_04.sql
index 4c28f811d27..4c28f811d27 100644
--- a/sql/updates/world/2015_07_19_08_world_2015_07_17_04.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_08_world_2015_07_17_04.sql
diff --git a/sql/updates/world/2015_07_19_09_world_2015_07_18_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_09_world_2015_07_18_00.sql
index 95c3d7724dd..95c3d7724dd 100644
--- a/sql/updates/world/2015_07_19_09_world_2015_07_18_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_09_world_2015_07_18_00.sql
diff --git a/sql/updates/world/2015_07_19_10_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_10_world.sql
index 7369892f522..7369892f522 100644
--- a/sql/updates/world/2015_07_19_10_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_10_world.sql
diff --git a/sql/updates/world/2015_07_19_11_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_11_world.sql
index 0d24f21473f..0d24f21473f 100644
--- a/sql/updates/world/2015_07_19_11_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_11_world.sql
diff --git a/sql/updates/world/2015_07_19_12_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_12_world.sql
index ec7d3d78d82..ec7d3d78d82 100644
--- a/sql/updates/world/2015_07_19_12_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_12_world.sql
diff --git a/sql/updates/world/2015_07_19_13_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_13_world.sql
index 731a70d7e44..731a70d7e44 100644
--- a/sql/updates/world/2015_07_19_13_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_13_world.sql
diff --git a/sql/updates/world/2015_07_19_14_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_14_world.sql
index d019f8e8a07..d019f8e8a07 100644
--- a/sql/updates/world/2015_07_19_14_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_14_world.sql
diff --git a/sql/updates/world/2015_07_19_15_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_15_world.sql
index f5f5b0affe5..f5f5b0affe5 100644
--- a/sql/updates/world/2015_07_19_15_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_15_world.sql
diff --git a/sql/updates/world/2015_07_19_16_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_16_world.sql
index be8716ae6a1..be8716ae6a1 100644
--- a/sql/updates/world/2015_07_19_16_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_16_world.sql
diff --git a/sql/updates/world/2015_07_19_17_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_17_world.sql
index 8b886d267f5..8b886d267f5 100644
--- a/sql/updates/world/2015_07_19_17_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_17_world.sql
diff --git a/sql/updates/world/2015_07_19_18_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_18_world.sql
index da272dd9a41..da272dd9a41 100644
--- a/sql/updates/world/2015_07_19_18_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_18_world.sql
diff --git a/sql/updates/world/2015_07_19_19_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_19_world.sql
index f89bd5f2bf2..f89bd5f2bf2 100644
--- a/sql/updates/world/2015_07_19_19_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_19_world.sql
diff --git a/sql/updates/world/2015_07_19_20_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_20_world.sql
index d132039903f..d132039903f 100644
--- a/sql/updates/world/2015_07_19_20_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_20_world.sql
diff --git a/sql/updates/world/2015_07_19_21_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_21_world.sql
index dfc49c45c6b..dfc49c45c6b 100644
--- a/sql/updates/world/2015_07_19_21_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_21_world.sql
diff --git a/sql/updates/world/2015_07_19_22_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_22_world.sql
index 0a6647ffd99..0a6647ffd99 100644
--- a/sql/updates/world/2015_07_19_22_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_22_world.sql
diff --git a/sql/updates/world/2015_07_19_23_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_23_world.sql
index fa0b19512ad..fa0b19512ad 100644
--- a/sql/updates/world/2015_07_19_23_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_23_world.sql
diff --git a/sql/updates/world/2015_07_19_24_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_24_world.sql
index 35e9a87f83b..35e9a87f83b 100644
--- a/sql/updates/world/2015_07_19_24_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_24_world.sql
diff --git a/sql/updates/world/2015_07_19_25_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_25_world.sql
index 5b5af024188..5b5af024188 100644
--- a/sql/updates/world/2015_07_19_25_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_25_world.sql
diff --git a/sql/updates/world/2015_07_19_26_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_26_world.sql
index 80096a9002c..80096a9002c 100644
--- a/sql/updates/world/2015_07_19_26_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_26_world.sql
diff --git a/sql/updates/world/2015_07_19_27_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_27_world.sql
index efe4fa2ba6e..efe4fa2ba6e 100644
--- a/sql/updates/world/2015_07_19_27_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_27_world.sql
diff --git a/sql/updates/world/2015_07_19_28_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_28_world.sql
index eb7bd1a25b4..eb7bd1a25b4 100644
--- a/sql/updates/world/2015_07_19_28_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_28_world.sql
diff --git a/sql/updates/world/2015_07_19_29_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_29_world.sql
index 45c3234e200..45c3234e200 100644
--- a/sql/updates/world/2015_07_19_29_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_29_world.sql
diff --git a/sql/updates/world/2015_07_19_30_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_30_world.sql
index 96b3f24102b..96b3f24102b 100644
--- a/sql/updates/world/2015_07_19_30_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_30_world.sql
diff --git a/sql/updates/world/2015_07_19_35_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_35_world.sql
index 205aa716424..205aa716424 100644
--- a/sql/updates/world/2015_07_19_35_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_35_world.sql
diff --git a/sql/updates/world/2015_07_19_36_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_19_36_world.sql
index 624ba0fad8e..624ba0fad8e 100644
--- a/sql/updates/world/2015_07_19_36_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_19_36_world.sql
diff --git a/sql/updates/world/2015_07_20_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_20_00_world.sql
index fc4261d983a..fc4261d983a 100644
--- a/sql/updates/world/2015_07_20_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_20_00_world.sql
diff --git a/sql/updates/world/2015_07_20_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_20_01_world.sql
index 7f5521e273f..7f5521e273f 100644
--- a/sql/updates/world/2015_07_20_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_20_01_world.sql
diff --git a/sql/updates/world/2015_07_20_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_20_02_world.sql
index b5aa44a4362..b5aa44a4362 100644
--- a/sql/updates/world/2015_07_20_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_20_02_world.sql
diff --git a/sql/updates/world/2015_07_21_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_21_00_world.sql
index e0bd3edfc01..e0bd3edfc01 100644
--- a/sql/updates/world/2015_07_21_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_21_00_world.sql
diff --git a/sql/updates/world/2015_07_21_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_21_01_world.sql
index eb091af22e1..eb091af22e1 100644
--- a/sql/updates/world/2015_07_21_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_21_01_world.sql
diff --git a/sql/updates/world/2015_07_22_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_22_00_world.sql
index 50bcb864301..50bcb864301 100644
--- a/sql/updates/world/2015_07_22_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_22_00_world.sql
diff --git a/sql/updates/world/2015_07_22_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_22_01_world.sql
index 14ad909104c..14ad909104c 100644
--- a/sql/updates/world/2015_07_22_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_22_01_world.sql
diff --git a/sql/updates/world/2015_07_22_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_22_02_world.sql
index 8983d3e5ec6..8983d3e5ec6 100644
--- a/sql/updates/world/2015_07_22_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_22_02_world.sql
diff --git a/sql/updates/world/2015_07_22_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_22_03_world.sql
index 22893f045a4..22893f045a4 100644
--- a/sql/updates/world/2015_07_22_03_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_22_03_world.sql
diff --git a/sql/updates/world/2015_07_22_04_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_22_04_world.sql
index 9ac933ecf0b..9ac933ecf0b 100644
--- a/sql/updates/world/2015_07_22_04_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_22_04_world.sql
diff --git a/sql/updates/world/2015_07_22_05_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_22_05_world.sql
index 1f2c89c7b62..1f2c89c7b62 100644
--- a/sql/updates/world/2015_07_22_05_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_22_05_world.sql
diff --git a/sql/updates/world/2015_07_22_06_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_22_06_world.sql
index ca66003d2db..ca66003d2db 100644
--- a/sql/updates/world/2015_07_22_06_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_22_06_world.sql
diff --git a/sql/updates/world/2015_07_22_07_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_22_07_world.sql
index 03c9f04c165..03c9f04c165 100644
--- a/sql/updates/world/2015_07_22_07_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_22_07_world.sql
diff --git a/sql/updates/world/2015_07_22_08_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_22_08_world.sql
index a31eb3f5f32..a31eb3f5f32 100644
--- a/sql/updates/world/2015_07_22_08_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_22_08_world.sql
diff --git a/sql/updates/world/2015_07_23_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_23_00_world.sql
index 6b4d5e84e95..6b4d5e84e95 100644
--- a/sql/updates/world/2015_07_23_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_23_00_world.sql
diff --git a/sql/updates/world/2015_07_23_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_23_01_world.sql
index 18a85f14fa5..18a85f14fa5 100644
--- a/sql/updates/world/2015_07_23_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_23_01_world.sql
diff --git a/sql/updates/world/2015_07_23_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_23_02_world.sql
index 02cf510e484..02cf510e484 100644
--- a/sql/updates/world/2015_07_23_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_23_02_world.sql
diff --git a/sql/updates/world/2015_07_24_00_world_2015_07_19_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_00_world_2015_07_19_01.sql
index fc14961d089..fc14961d089 100644
--- a/sql/updates/world/2015_07_24_00_world_2015_07_19_01.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_00_world_2015_07_19_01.sql
diff --git a/sql/updates/world/2015_07_24_01_world_2015_07_19_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_01_world_2015_07_19_02.sql
index 92aad97bccf..92aad97bccf 100644
--- a/sql/updates/world/2015_07_24_01_world_2015_07_19_02.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_01_world_2015_07_19_02.sql
diff --git a/sql/updates/world/2015_07_24_02_world_2015_07_19_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_02_world_2015_07_19_03.sql
index 2a7460a7fdb..2a7460a7fdb 100644
--- a/sql/updates/world/2015_07_24_02_world_2015_07_19_03.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_02_world_2015_07_19_03.sql
diff --git a/sql/updates/world/2015_07_24_03_world_2015_07_19_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_03_world_2015_07_19_04.sql
index 562515459ba..562515459ba 100644
--- a/sql/updates/world/2015_07_24_03_world_2015_07_19_04.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_03_world_2015_07_19_04.sql
diff --git a/sql/updates/world/2015_07_24_04_world_2015_07_19_05.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_04_world_2015_07_19_05.sql
index 6ee261342b9..6ee261342b9 100644
--- a/sql/updates/world/2015_07_24_04_world_2015_07_19_05.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_04_world_2015_07_19_05.sql
diff --git a/sql/updates/world/2015_07_24_05_world_2015_07_21_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_05_world_2015_07_21_00.sql
index afa6ee1534c..afa6ee1534c 100644
--- a/sql/updates/world/2015_07_24_05_world_2015_07_21_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_05_world_2015_07_21_00.sql
diff --git a/sql/updates/world/2015_07_24_06_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_06_world.sql
index cb2f69e7dfa..cb2f69e7dfa 100644
--- a/sql/updates/world/2015_07_24_06_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_06_world.sql
diff --git a/sql/updates/world/2015_07_24_07_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_07_world.sql
index 2ebeae35268..2ebeae35268 100644
--- a/sql/updates/world/2015_07_24_07_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_07_world.sql
diff --git a/sql/updates/world/2015_07_24_08_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_08_world.sql
index e013e4914f7..e013e4914f7 100644
--- a/sql/updates/world/2015_07_24_08_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_08_world.sql
diff --git a/sql/updates/world/2015_07_24_09_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_09_world.sql
index 8451678d9b6..8451678d9b6 100644
--- a/sql/updates/world/2015_07_24_09_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_09_world.sql
diff --git a/sql/updates/world/2015_07_24_10_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_10_world.sql
index 99dfef945c2..99dfef945c2 100644
--- a/sql/updates/world/2015_07_24_10_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_10_world.sql
diff --git a/sql/updates/world/2015_07_24_11_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_11_world.sql
index db2e24ade28..db2e24ade28 100644
--- a/sql/updates/world/2015_07_24_11_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_11_world.sql
diff --git a/sql/updates/world/2015_07_24_12_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_24_12_world.sql
index 321af4b249b..321af4b249b 100644
--- a/sql/updates/world/2015_07_24_12_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_24_12_world.sql
diff --git a/sql/updates/world/2015_07_25_00_world_2015_07_24_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_00_world_2015_07_24_00.sql
index 7ef8fc884c0..7ef8fc884c0 100644
--- a/sql/updates/world/2015_07_25_00_world_2015_07_24_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_00_world_2015_07_24_00.sql
diff --git a/sql/updates/world/2015_07_25_01_world_2015_07_24_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_01_world_2015_07_24_01.sql
index 02374c13d57..02374c13d57 100644
--- a/sql/updates/world/2015_07_25_01_world_2015_07_24_01.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_01_world_2015_07_24_01.sql
diff --git a/sql/updates/world/2015_07_25_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_02_world.sql
index c25c31a712c..c25c31a712c 100644
--- a/sql/updates/world/2015_07_25_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_02_world.sql
diff --git a/sql/updates/world/2015_07_25_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_03_world.sql
index f7d7aa0343c..f7d7aa0343c 100644
--- a/sql/updates/world/2015_07_25_03_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_03_world.sql
diff --git a/sql/updates/world/2015_07_25_04_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_04_world.sql
index f9792ae8cbd..f9792ae8cbd 100644
--- a/sql/updates/world/2015_07_25_04_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_04_world.sql
diff --git a/sql/updates/world/2015_07_25_05_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_05_world.sql
index 8d9236d6504..8d9236d6504 100644
--- a/sql/updates/world/2015_07_25_05_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_05_world.sql
diff --git a/sql/updates/world/2015_07_25_06_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_06_world.sql
index 92975400372..92975400372 100644
--- a/sql/updates/world/2015_07_25_06_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_06_world.sql
diff --git a/sql/updates/world/2015_07_25_07_world_2015_07_24_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_07_world_2015_07_24_04.sql
index c3849e7b6c8..c3849e7b6c8 100644
--- a/sql/updates/world/2015_07_25_07_world_2015_07_24_04.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_07_world_2015_07_24_04.sql
diff --git a/sql/updates/world/2015_07_25_08_world_2015_07_24_07.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_08_world_2015_07_24_07.sql
index 706cc54fc80..706cc54fc80 100644
--- a/sql/updates/world/2015_07_25_08_world_2015_07_24_07.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_08_world_2015_07_24_07.sql
diff --git a/sql/updates/world/2015_07_25_09_world_2015_07_25_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_09_world_2015_07_25_02.sql
index 0c81696a072..0c81696a072 100644
--- a/sql/updates/world/2015_07_25_09_world_2015_07_25_02.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_09_world_2015_07_25_02.sql
diff --git a/sql/updates/world/2015_07_25_10_world_2015_07_25_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_10_world_2015_07_25_03.sql
index cac41a9b3da..cac41a9b3da 100644
--- a/sql/updates/world/2015_07_25_10_world_2015_07_25_03.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_10_world_2015_07_25_03.sql
diff --git a/sql/updates/world/2015_07_25_11_world_2015_07_25_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_11_world_2015_07_25_04.sql
index 5762e9aeb66..5762e9aeb66 100644
--- a/sql/updates/world/2015_07_25_11_world_2015_07_25_04.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_11_world_2015_07_25_04.sql
diff --git a/sql/updates/world/2015_07_25_12_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_12_world.sql
index 7bef169ab7c..7bef169ab7c 100644
--- a/sql/updates/world/2015_07_25_12_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_12_world.sql
diff --git a/sql/updates/world/2015_07_25_13_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_13_world.sql
index abfd4c6d2ac..abfd4c6d2ac 100644
--- a/sql/updates/world/2015_07_25_13_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_13_world.sql
diff --git a/sql/updates/world/2015_07_25_14_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_25_14_world.sql
index 05eca23808d..05eca23808d 100644
--- a/sql/updates/world/2015_07_25_14_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_25_14_world.sql
diff --git a/sql/updates/world/2015_07_26_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_26_00_world.sql
index 3033d1ce6f7..3033d1ce6f7 100644
--- a/sql/updates/world/2015_07_26_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_26_00_world.sql
diff --git a/sql/updates/world/2015_07_26_01_world_2015_07_25_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_26_01_world_2015_07_25_01.sql
index baec6b90f75..baec6b90f75 100644
--- a/sql/updates/world/2015_07_26_01_world_2015_07_25_01.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_26_01_world_2015_07_25_01.sql
diff --git a/sql/updates/world/2015_07_26_02_world_2015_07_24_05.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_26_02_world_2015_07_24_05.sql
index 557e64f040b..557e64f040b 100644
--- a/sql/updates/world/2015_07_26_02_world_2015_07_24_05.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_26_02_world_2015_07_24_05.sql
diff --git a/sql/updates/world/2015_07_26_03_world_2015_07_25_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_26_03_world_2015_07_25_00.sql
index b1f0dbba9d0..b1f0dbba9d0 100644
--- a/sql/updates/world/2015_07_26_03_world_2015_07_25_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_26_03_world_2015_07_25_00.sql
diff --git a/sql/updates/world/2015_07_26_04_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_26_04_world.sql
index 3bbc7c3c7f8..3bbc7c3c7f8 100644
--- a/sql/updates/world/2015_07_26_04_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_26_04_world.sql
diff --git a/sql/updates/world/2015_07_26_05_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_26_05_world.sql
index c3da80846fa..c3da80846fa 100644
--- a/sql/updates/world/2015_07_26_05_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_26_05_world.sql
diff --git a/sql/updates/world/2015_07_26_06_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_26_06_world.sql
index c86f161e62d..c86f161e62d 100644
--- a/sql/updates/world/2015_07_26_06_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_26_06_world.sql
diff --git a/sql/updates/world/2015_07_26_07_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_26_07_world.sql
index dcac62e4c10..dcac62e4c10 100644
--- a/sql/updates/world/2015_07_26_07_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_26_07_world.sql
diff --git a/sql/updates/world/2015_07_26_08_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_26_08_world.sql
index 42fff8f0359..42fff8f0359 100644
--- a/sql/updates/world/2015_07_26_08_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_26_08_world.sql
diff --git a/sql/updates/world/2015_07_26_09_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_26_09_world.sql
index d2248ff1a2b..d2248ff1a2b 100644
--- a/sql/updates/world/2015_07_26_09_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_26_09_world.sql
diff --git a/sql/updates/world/2015_07_26_10_world_2015_07_26_06.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_26_10_world_2015_07_26_06.sql
index cb0b17c4634..cb0b17c4634 100644
--- a/sql/updates/world/2015_07_26_10_world_2015_07_26_06.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_26_10_world_2015_07_26_06.sql
diff --git a/sql/updates/world/2015_07_27_00_world_2015_07_26_05.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_27_00_world_2015_07_26_05.sql
index c7f4e3f4f39..c7f4e3f4f39 100644
--- a/sql/updates/world/2015_07_27_00_world_2015_07_26_05.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_27_00_world_2015_07_26_05.sql
diff --git a/sql/updates/world/2015_07_27_01_world_2015_07_26_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_27_01_world_2015_07_26_00.sql
index 3634dc21cd3..3634dc21cd3 100644
--- a/sql/updates/world/2015_07_27_01_world_2015_07_26_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_27_01_world_2015_07_26_00.sql
diff --git a/sql/updates/world/2015_07_27_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_27_02_world.sql
index 1d1f7f8bafb..1d1f7f8bafb 100644
--- a/sql/updates/world/2015_07_27_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_27_02_world.sql
diff --git a/sql/updates/world/2015_07_27_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_27_03_world.sql
index 5e08ca4b5e7..5e08ca4b5e7 100644
--- a/sql/updates/world/2015_07_27_03_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_27_03_world.sql
diff --git a/sql/updates/world/2015_07_27_04_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_27_04_world.sql
index 0a6e3c5604f..0a6e3c5604f 100644
--- a/sql/updates/world/2015_07_27_04_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_27_04_world.sql
diff --git a/sql/updates/world/2015_07_28_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_28_00_world.sql
index d8fccc9986e..d8fccc9986e 100644
--- a/sql/updates/world/2015_07_28_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_28_00_world.sql
diff --git a/sql/updates/world/2015_07_28_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_28_01_world.sql
index 139947c9e11..139947c9e11 100644
--- a/sql/updates/world/2015_07_28_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_28_01_world.sql
diff --git a/sql/updates/world/2015_07_28_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_28_02_world.sql
index 773c80f9053..773c80f9053 100644
--- a/sql/updates/world/2015_07_28_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_28_02_world.sql
diff --git a/sql/updates/world/2015_07_28_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_28_03_world.sql
index f5a37545f03..f5a37545f03 100644
--- a/sql/updates/world/2015_07_28_03_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_28_03_world.sql
diff --git a/sql/updates/world/2015_07_28_04_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_28_04_world.sql
index 2640c7d59a5..2640c7d59a5 100644
--- a/sql/updates/world/2015_07_28_04_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_28_04_world.sql
diff --git a/sql/updates/world/2015_07_28_05_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_28_05_world.sql
index 612237ac30f..612237ac30f 100644
--- a/sql/updates/world/2015_07_28_05_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_28_05_world.sql
diff --git a/sql/updates/world/2015_07_28_06_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_28_06_world.sql
index 2e2fec04b41..2e2fec04b41 100644
--- a/sql/updates/world/2015_07_28_06_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_28_06_world.sql
diff --git a/sql/updates/world/2015_07_28_07_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_28_07_world.sql
index 8c6f0710d18..8c6f0710d18 100644
--- a/sql/updates/world/2015_07_28_07_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_28_07_world.sql
diff --git a/sql/updates/world/2015_07_28_08_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_28_08_world.sql
index 14d3559c94a..14d3559c94a 100644
--- a/sql/updates/world/2015_07_28_08_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_28_08_world.sql
diff --git a/sql/updates/world/2015_07_29_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_29_00_world.sql
index fca9aa06f45..fca9aa06f45 100644
--- a/sql/updates/world/2015_07_29_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_29_00_world.sql
diff --git a/sql/updates/world/2015_07_29_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_29_01_world.sql
index af5669ca079..af5669ca079 100644
--- a/sql/updates/world/2015_07_29_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_29_01_world.sql
diff --git a/sql/updates/world/2015_07_29_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_29_02_world.sql
index b0f6e874b75..b0f6e874b75 100644
--- a/sql/updates/world/2015_07_29_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_29_02_world.sql
diff --git a/sql/updates/world/2015_07_29_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_29_03_world.sql
index 52b65c625d8..52b65c625d8 100644
--- a/sql/updates/world/2015_07_29_03_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_29_03_world.sql
diff --git a/sql/updates/world/2015_07_29_04_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_29_04_world.sql
index d497b91567b..d497b91567b 100644
--- a/sql/updates/world/2015_07_29_04_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_29_04_world.sql
diff --git a/sql/updates/world/2015_07_29_05_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_29_05_world.sql
index 040fc76c5be..040fc76c5be 100644
--- a/sql/updates/world/2015_07_29_05_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_29_05_world.sql
diff --git a/sql/updates/world/2015_07_29_06_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_29_06_world.sql
index 247922cdf9d..247922cdf9d 100644
--- a/sql/updates/world/2015_07_29_06_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_29_06_world.sql
diff --git a/sql/updates/world/2015_07_30_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_30_00_world.sql
index 1d27c6ffa69..1d27c6ffa69 100644
--- a/sql/updates/world/2015_07_30_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_30_00_world.sql
diff --git a/sql/updates/world/2015_07_30_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_30_01_world.sql
index b41f9d9168e..b41f9d9168e 100644
--- a/sql/updates/world/2015_07_30_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_30_01_world.sql
diff --git a/sql/updates/world/2015_07_30_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_30_02_world.sql
index 5b8dd97c31a..5b8dd97c31a 100644
--- a/sql/updates/world/2015_07_30_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_30_02_world.sql
diff --git a/sql/updates/world/2015_07_30_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_30_03_world.sql
index 44c4e9e6e0d..44c4e9e6e0d 100644
--- a/sql/updates/world/2015_07_30_03_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_30_03_world.sql
diff --git a/sql/updates/world/2015_07_31_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_31_00_world.sql
index 08697f55816..08697f55816 100644
--- a/sql/updates/world/2015_07_31_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_31_00_world.sql
diff --git a/sql/updates/world/2015_07_31_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_31_01_world.sql
index e34e68529b4..e34e68529b4 100644
--- a/sql/updates/world/2015_07_31_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_31_01_world.sql
diff --git a/sql/updates/world/2015_07_31_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_31_02_world.sql
index d584737d4f1..d584737d4f1 100644
--- a/sql/updates/world/2015_07_31_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_31_02_world.sql
diff --git a/sql/updates/world/2015_07_31_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_31_03_world.sql
index 060ee888745..060ee888745 100644
--- a/sql/updates/world/2015_07_31_03_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_31_03_world.sql
diff --git a/sql/updates/world/2015_07_31_04_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_31_04_world.sql
index c125281d353..c125281d353 100644
--- a/sql/updates/world/2015_07_31_04_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_31_04_world.sql
diff --git a/sql/updates/world/2015_07_31_05_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_31_05_world.sql
index 67863bd27ad..67863bd27ad 100644
--- a/sql/updates/world/2015_07_31_05_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_31_05_world.sql
diff --git a/sql/updates/world/2015_07_31_06_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_07_31_06_world.sql
index 8a8e54c5abf..8a8e54c5abf 100644
--- a/sql/updates/world/2015_07_31_06_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_07_31_06_world.sql
diff --git a/sql/updates/world/2015_08_01_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_01_00_world.sql
index 13eec42bfa4..13eec42bfa4 100644
--- a/sql/updates/world/2015_08_01_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_01_00_world.sql
diff --git a/sql/updates/world/2015_08_01_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_01_01_world.sql
index 1186fb1ad0c..1186fb1ad0c 100644
--- a/sql/updates/world/2015_08_01_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_01_01_world.sql
diff --git a/sql/updates/world/2015_08_01_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_01_02_world.sql
index 2b3903990f5..2b3903990f5 100644
--- a/sql/updates/world/2015_08_01_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_01_02_world.sql
diff --git a/sql/updates/world/2015_08_01_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_01_03_world.sql
index f669c20da80..f669c20da80 100644
--- a/sql/updates/world/2015_08_01_03_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_01_03_world.sql
diff --git a/sql/updates/world/2015_08_02_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_02_00_world.sql
index 93db6950105..93db6950105 100644
--- a/sql/updates/world/2015_08_02_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_02_00_world.sql
diff --git a/sql/updates/world/2015_08_08_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_08_00_world.sql
index a92011525c2..a92011525c2 100644
--- a/sql/updates/world/2015_08_08_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_08_00_world.sql
diff --git a/sql/updates/world/2015_08_09_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_09_00_world.sql
index 46e31a1ae90..46e31a1ae90 100644
--- a/sql/updates/world/2015_08_09_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_09_00_world.sql
diff --git a/sql/updates/world/2015_08_10_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_10_00_world.sql
index cb63cc56fbe..cb63cc56fbe 100644
--- a/sql/updates/world/2015_08_10_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_10_00_world.sql
diff --git a/sql/updates/world/2015_08_12_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_12_00_world.sql
index 5afe2f91697..5afe2f91697 100644
--- a/sql/updates/world/2015_08_12_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_12_00_world.sql
diff --git a/sql/updates/world/2015_08_15_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_15_00_world.sql
index 72645ab0734..72645ab0734 100644
--- a/sql/updates/world/2015_08_15_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_15_00_world.sql
diff --git a/sql/updates/world/2015_08_23_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_23_00_world.sql
index 0d7509c6150..0d7509c6150 100644
--- a/sql/updates/world/2015_08_23_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_23_00_world.sql
diff --git a/sql/updates/world/2015_08_27_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_27_00_world.sql
index b043f5a9108..b043f5a9108 100644
--- a/sql/updates/world/2015_08_27_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_27_00_world.sql
diff --git a/sql/updates/world/2015_08_31_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_08_31_00_world.sql
index ab74c9166f0..ab74c9166f0 100644
--- a/sql/updates/world/2015_08_31_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_08_31_00_world.sql
diff --git a/sql/updates/world/2015_09_03_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_03_00_world.sql
index d55dd6bb759..d55dd6bb759 100644
--- a/sql/updates/world/2015_09_03_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_03_00_world.sql
diff --git a/sql/updates/world/2015_09_03_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_03_01_world.sql
index ebd9edd3f27..ebd9edd3f27 100644
--- a/sql/updates/world/2015_09_03_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_03_01_world.sql
diff --git a/sql/updates/world/2015_09_05_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_05_00_world.sql
index 2f25b5deae0..2f25b5deae0 100644
--- a/sql/updates/world/2015_09_05_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_05_00_world.sql
diff --git a/sql/updates/world/2015_09_06_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_06_00_world.sql
index 3c5ff412e34..3c5ff412e34 100644
--- a/sql/updates/world/2015_09_06_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_06_00_world.sql
diff --git a/sql/updates/world/2015_09_06_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_06_01_world.sql
index fed9816b340..fed9816b340 100644
--- a/sql/updates/world/2015_09_06_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_06_01_world.sql
diff --git a/sql/updates/world/2015_09_06_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_06_02_world.sql
index ce683c0db84..ce683c0db84 100644
--- a/sql/updates/world/2015_09_06_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_06_02_world.sql
diff --git a/sql/updates/world/2015_09_06_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_06_03_world.sql
index 0dd6b2ef7de..0dd6b2ef7de 100644
--- a/sql/updates/world/2015_09_06_03_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_06_03_world.sql
diff --git a/sql/updates/world/2015_09_06_04_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_06_04_world.sql
index 0a28bc71b13..0a28bc71b13 100644
--- a/sql/updates/world/2015_09_06_04_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_06_04_world.sql
diff --git a/sql/updates/world/2015_09_06_05_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_06_05_world.sql
index 84f8ef77ca5..84f8ef77ca5 100644
--- a/sql/updates/world/2015_09_06_05_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_06_05_world.sql
diff --git a/sql/updates/world/2015_09_06_06_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_06_06_world.sql
index fdd5d2b8b47..fdd5d2b8b47 100644
--- a/sql/updates/world/2015_09_06_06_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_06_06_world.sql
diff --git a/sql/updates/world/2015_09_09_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_09_00_world.sql
index 5bd7b48aaf9..5bd7b48aaf9 100644
--- a/sql/updates/world/2015_09_09_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_09_00_world.sql
diff --git a/sql/updates/world/2015_09_10_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_10_00_world.sql
index bd613a8c096..bd613a8c096 100644
--- a/sql/updates/world/2015_09_10_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_10_00_world.sql
diff --git a/sql/updates/world/2015_09_25_00_world_2015_08_08_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_00_world_2015_08_08_01.sql
index 68d82c575e3..68d82c575e3 100644
--- a/sql/updates/world/2015_09_25_00_world_2015_08_08_01.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_00_world_2015_08_08_01.sql
diff --git a/sql/updates/world/2015_09_25_01_world_2015_08_08_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_01_world_2015_08_08_03.sql
index 0f029f72721..0f029f72721 100644
--- a/sql/updates/world/2015_09_25_01_world_2015_08_08_03.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_01_world_2015_08_08_03.sql
diff --git a/sql/updates/world/2015_09_25_02_world_2015_08_13_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_02_world_2015_08_13_00.sql
index 828a626851b..828a626851b 100644
--- a/sql/updates/world/2015_09_25_02_world_2015_08_13_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_02_world_2015_08_13_00.sql
diff --git a/sql/updates/world/2015_09_25_03_world_2015_08_13_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_03_world_2015_08_13_01.sql
index cdfc38b1202..cdfc38b1202 100644
--- a/sql/updates/world/2015_09_25_03_world_2015_08_13_01.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_03_world_2015_08_13_01.sql
diff --git a/sql/updates/world/2015_09_25_04_world_2015_08_13_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_04_world_2015_08_13_02.sql
index e2863aea0f7..e2863aea0f7 100644
--- a/sql/updates/world/2015_09_25_04_world_2015_08_13_02.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_04_world_2015_08_13_02.sql
diff --git a/sql/updates/world/2015_09_25_05_world_2015_08_13_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_05_world_2015_08_13_03.sql
index 364124850c8..364124850c8 100644
--- a/sql/updates/world/2015_09_25_05_world_2015_08_13_03.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_05_world_2015_08_13_03.sql
diff --git a/sql/updates/world/2015_09_25_06_world_2015_08_13_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_06_world_2015_08_13_04.sql
index abf0cb0ab27..abf0cb0ab27 100644
--- a/sql/updates/world/2015_09_25_06_world_2015_08_13_04.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_06_world_2015_08_13_04.sql
diff --git a/sql/updates/world/2015_09_25_07_world_2015_08_21_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_07_world_2015_08_21_00.sql
index 05192c5a98d..05192c5a98d 100644
--- a/sql/updates/world/2015_09_25_07_world_2015_08_21_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_07_world_2015_08_21_00.sql
diff --git a/sql/updates/world/2015_09_25_08_world_2015_08_25_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_08_world_2015_08_25_00.sql
index 18619957efe..18619957efe 100644
--- a/sql/updates/world/2015_09_25_08_world_2015_08_25_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_08_world_2015_08_25_00.sql
diff --git a/sql/updates/world/2015_09_25_09_world_2015_08_25_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_09_world_2015_08_25_01.sql
index f261acf71e7..f261acf71e7 100644
--- a/sql/updates/world/2015_09_25_09_world_2015_08_25_01.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_09_world_2015_08_25_01.sql
diff --git a/sql/updates/world/2015_09_25_10_world_2015_08_31_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_10_world_2015_08_31_01.sql
index c3a5bc4cdfd..c3a5bc4cdfd 100644
--- a/sql/updates/world/2015_09_25_10_world_2015_08_31_01.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_10_world_2015_08_31_01.sql
diff --git a/sql/updates/world/2015_09_25_11_world_2015_09_03_07.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_11_world_2015_09_03_07.sql
index 28736bdf787..28736bdf787 100644
--- a/sql/updates/world/2015_09_25_11_world_2015_09_03_07.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_11_world_2015_09_03_07.sql
diff --git a/sql/updates/world/2015_09_25_12_world_2015_09_03_09.sql b/sql/old/6.x/world/02_2015_11_08/2015_09_25_12_world_2015_09_03_09.sql
index 516d2245f3c..516d2245f3c 100644
--- a/sql/updates/world/2015_09_25_12_world_2015_09_03_09.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_09_25_12_world_2015_09_03_09.sql
diff --git a/sql/updates/world/2015_10_09_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_09_00_world.sql
index db06a552619..db06a552619 100644
--- a/sql/updates/world/2015_10_09_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_09_00_world.sql
diff --git a/sql/updates/world/2015_10_09_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_09_01_world.sql
index e05e726ba4f..e05e726ba4f 100644
--- a/sql/updates/world/2015_10_09_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_09_01_world.sql
diff --git a/sql/updates/world/2015_10_14_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_14_00_world.sql
index 8c6b47dc0d1..8c6b47dc0d1 100644
--- a/sql/updates/world/2015_10_14_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_14_00_world.sql
diff --git a/sql/updates/world/2015_10_14_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_14_01_world.sql
index b6cc4e9bdcd..b6cc4e9bdcd 100644
--- a/sql/updates/world/2015_10_14_01_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_14_01_world.sql
diff --git a/sql/updates/world/2015_10_14_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_14_02_world.sql
index 26320de41ec..26320de41ec 100644
--- a/sql/updates/world/2015_10_14_02_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_14_02_world.sql
diff --git a/sql/updates/world/2015_10_15_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_15_00_world.sql
index 215188dce51..215188dce51 100644
--- a/sql/updates/world/2015_10_15_00_world.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_15_00_world.sql
diff --git a/sql/updates/world/2015_10_16_00_world_2015_10_03_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_16_00_world_2015_10_03_02.sql
index 28a9dcc0a82..28a9dcc0a82 100644
--- a/sql/updates/world/2015_10_16_00_world_2015_10_03_02.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_16_00_world_2015_10_03_02.sql
diff --git a/sql/updates/world/2015_10_16_01_world_2015_10_02_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_16_01_world_2015_10_02_00.sql
index 6f3e168dbbb..6f3e168dbbb 100644
--- a/sql/updates/world/2015_10_16_01_world_2015_10_02_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_16_01_world_2015_10_02_00.sql
diff --git a/sql/updates/world/2015_10_16_02_world_2015_08_21_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_16_02_world_2015_08_21_02.sql
index 8ce0d658242..8ce0d658242 100644
--- a/sql/updates/world/2015_10_16_02_world_2015_08_21_02.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_16_02_world_2015_08_21_02.sql
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_16_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_16_03_world.sql
new file mode 100644
index 00000000000..9af9538aaef
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_16_03_world.sql
@@ -0,0 +1,4 @@
+--
+UPDATE `creature` SET `PhaseId`=172 WHERE `PhaseId`=8;
+UPDATE `creature` SET `PhaseId`=174 WHERE `PhaseId`=32;
+UPDATE `creature` SET `PhaseId`=175 WHERE `PhaseId`=64;
diff --git a/sql/updates/world/2015_10_16_03_world_2015_08_27_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_16_03_world_2015_08_27_00.sql
index a0519693f9e..a0519693f9e 100644
--- a/sql/updates/world/2015_10_16_03_world_2015_08_27_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_16_03_world_2015_08_27_00.sql
diff --git a/sql/updates/world/2015_10_16_04_world_2015_08_29_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_16_04_world_2015_08_29_00.sql
index 59bf0e2bfcf..59bf0e2bfcf 100644
--- a/sql/updates/world/2015_10_16_04_world_2015_08_29_00.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_16_04_world_2015_08_29_00.sql
diff --git a/sql/updates/world/2015_10_16_05_world_2015_10_04_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_16_05_world_2015_10_04_02.sql
index f95cb062b82..f95cb062b82 100644
--- a/sql/updates/world/2015_10_16_05_world_2015_10_04_02.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_16_05_world_2015_10_04_02.sql
diff --git a/sql/updates/world/2015_10_16_06_world_2015_10_05_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_16_06_world_2015_10_05_01.sql
index b2c4f43997f..b2c4f43997f 100644
--- a/sql/updates/world/2015_10_16_06_world_2015_10_05_01.sql
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_16_06_world_2015_10_05_01.sql
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_17_00_world_2015_10_16_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_17_00_world_2015_10_16_01.sql
new file mode 100644
index 00000000000..050d198e94f
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_17_00_world_2015_10_16_01.sql
@@ -0,0 +1,21 @@
+DELETE FROM `creature_text` WHERE `entry`=34965;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(34965, 0, 0, 'Foolish $c, you cannot stop the Kvaldir!', 12, 0, 100, 0, 0, 0, 35393, 0, 'Mistcaller Yngvar');
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=34965 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
+(34965, 0, 4, 0, 4, 0, 100, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Mistcaller Yngvar - On Agro - Say');
+
+UPDATE `creature_template` SET `unit_flags`=33555200, `InhabitType`=4 WHERE `entry`=34888;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(34852,34888) 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
+(34852, 0, 0, 1, 8, 0, 100, 1, 66390, 0, 0, 0, 33, 34852, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Slain Tualiq Villager - On Spellhit \'Read Last Rites\' - Quest Credit \'The Light\'s Mercy\' (No Repeat)'),
+(34852, 0, 1, 2, 61, 0, 100, 1, 0, 0, 0, 0, 11, 66412, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Slain Tualiq Villager - On Spellhit \'Read Last Rites\' - Cast 66412'),
+(34852, 0, 2, 0, 61, 0, 100, 1, 0, 0, 0, 0, 41, 1000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Slain Tualiq Villager - On Spellhit \'Read Last Rites\' - Despawn'),
+(34888, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 90, 33554432, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tualiq Spirit - On Just Summoned - Set Bytes 2'),
+(34888, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 11, 37119, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tualiq Spirit - On Just Summoned - Cast Spirit Particles (Spawn)'),
+(34888, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 11, 64462, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tualiq Spirit - On Just Summoned - Cast Feign and Drown'),
+(34888, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tualiq Spirit - On Just Summoned - Set run off'),
+(34888, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 114, 90, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tualiq Spirit - On Just Summoned - Rise up');
+
+UPDATE `smart_scripts` SET `action_param1`=64100 WHERE `entryorguid`=33429 AND `source_type`=0 AND `id`=6 AND `link`=0;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_17_01_world_2015_10_16_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_17_01_world_2015_10_16_02.sql
new file mode 100644
index 00000000000..b80f4909a3b
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_17_01_world_2015_10_16_02.sql
@@ -0,0 +1,119 @@
+--
+-- Darthalia Ebonscorch SAI
+SET @ENTRY := 32679;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Darthalia Ebonscorch - Out of Combat - Play Emote 1");
+
+-- Archmage Tenaj SAI
+SET @ENTRY := 32688;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Tenaj - Out of Combat - Play Emote 1");
+
+-- Adorean Lew SAI
+SET @ENTRY := 32689;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Adorean Lew - Out of Combat - Play Emote 1");
+
+-- Bitty Frostflinger SAI
+SET @ENTRY := 32690;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bitty Frostflinger - Out of Combat - Play Emote 1");
+
+-- Grindle Firespark SAI
+SET @ENTRY := 32676;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grindle Firespark - Out of Combat - Play Emote 1");
+
+-- Fabioso the Fabulous SAI
+SET @ENTRY := 32680;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fabioso the Fabulous - Out of Combat - Play Emote 1");
+
+-- Sabriana Sorrowgaze SAI
+SET @ENTRY := 32693;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sabriana Sorrowgaze - Out of Combat - Play Emote 1");
+
+-- Emeline Fizzlefry SAI
+SET @ENTRY := 32678;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Emeline Fizzlefry - Out of Combat - Play Emote 1");
+
+-- Whirt the All-Knowing SAI
+SET @ENTRY := 32677;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Whirt the All-Knowing - Out of Combat - Play Emote 1");
+
+-- Mona Everspring SAI
+SET @ENTRY := 32684;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Mona Everspring - Out of Combat - Play Emote 1");
+
+-- The Magnificent Merleaux SAI
+SET @ENTRY := 32681;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"The Magnificent Merleaux - Out of Combat - Play Emote 1");
+
+-- Kitz Proudbreeze SAI
+SET @ENTRY := 32685;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kitz Proudbreeze - Out of Combat - Play Emote 1");
+
+-- Crafticus Mindbender SAI
+SET @ENTRY := 32686;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Crafticus Mindbender - Out of Combat - Play Emote 1");
+
+-- Babagahnoosh the Grumpy SAI
+SET @ENTRY := 32675;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Babagahnoosh the Grumpy - Out of Combat - Play Emote 1");
+
+-- Magus Fansy Goodbringer SAI
+SET @ENTRY := 32691;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magus Fansy Goodbringer - Out of Combat - Play Emote 1");
+
+-- Arcanist Alec SAI
+SET @ENTRY := 32692;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arcanist Alec - Out of Combat - Play Emote 1");
+
+-- Linda Ann Kastinglow SAI
+SET @ENTRY := 32687;
+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,4000,8000,4000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Linda Ann Kastinglow - Out of Combat - Play Emote 1");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_17_02_world_2015_08_29_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_17_02_world_2015_08_29_01.sql
new file mode 100644
index 00000000000..f0e6b9aae8c
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_17_02_world_2015_08_29_01.sql
@@ -0,0 +1,35 @@
+--
+DELETE FROM `creature_template_addon` WHERE `entry` IN (30477, 30487);
+INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES
+(30477, 0, 0, 33554432, 0, 0, '55971'),
+(30487, 0, 0, 33554432, 0, 0, '55971');
+UPDATE `creature_template` SET `vehicleid`=110 WHERE `entry`=28192;
+UPDATE `creature_template` SET `Inhabittype`=4 WHERE `entry`=24767;
+
+UPDATE `creature_template` SET `InhabitType`=4, `speed_run`=2.14286, `unit_flags`=33288 WHERE `entry`=27923;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (27923) 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
+(27923,0,0,0,54,0,100,0,0,0,0,0,1,0,2000,0,0,0,0,7,0,0,0,0,0,0,0,'Lou the Cabin Boy - On summon - Say line'),
+(27923,0,1,0,52,0,100,0,0,27923,0,0,53,1,27923,0,0,0,0,1,0,0,0,0,0,0,0,'Lou the Cabin Boy - On text over - Start WP movement'),
+(27923,0,3,0,40,0,100,0,13,27923,0,0,1,1,2000,0,0,0,0,1,0,0,0,0,0,0,0,'Lou the Cabin Boy - On WP 13 reached - Say line'),
+(27923,0,4,0,52,0,100,0,1,27923,0,0,28,46598,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lou the Cabin Boy - On text over - Remove aura Ride Vehicle Hardcoded');
+
+DELETE FROM `creature_template_addon` WHERE `entry`=23982;
+INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(23982,0,0,1,0,0,'29266');
+
+SET @CGUID := 88474;
+DELETE FROM `creature_addon` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+11;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@CGUID+0,0,0,1,0,0,'45319'),
+(@CGUID+1,0,0,1,0,0,'45319'),
+(@CGUID+2,0,0,1,0,0,'45319'),
+(@CGUID+3,0,0,1,0,0,'45319'),
+(@CGUID+4,0,0,1,0,0,'45319'),
+(@CGUID+5,0,0,1,0,0,'45319'),
+(@CGUID+6,0,0,1,0,0,'45319'),
+(@CGUID+7,0,0,1,0,0,'45319'),
+(@CGUID+8,0,0,1,0,0,'45319'),
+(@CGUID+9,0,0,1,0,0,'45319'),
+(@CGUID+10,0,0,1,0,0,'45319'),
+(@CGUID+11,0,0,1,0,0,'45319');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_18_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_18_00_world.sql
new file mode 100644
index 00000000000..a335e694202
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_18_00_world.sql
@@ -0,0 +1,16 @@
+UPDATE `creature` SET `PhaseId`=170 WHERE `PhaseId`=2;
+UPDATE `creature` SET `PhaseId`=171 WHERE `PhaseId`=4;
+UPDATE `creature` SET `PhaseId`=173 WHERE `PhaseId`=16;
+UPDATE `creature` SET `PhaseId`=176 WHERE `PhaseId`=128;
+
+UPDATE `creature` SET `PhaseId`=169 WHERE `PhaseId`=65535;
+UPDATE `creature` SET `PhaseId`=0, `PhaseGroup`=371 WHERE `PhaseId`=3;
+UPDATE `creature` SET `PhaseGroup`=0 WHERE `PhaseGroup`=1;
+
+UPDATE `gameobject` SET `PhaseId`=169 WHERE `PhaseId`=1;
+UPDATE `gameobject` SET `PhaseId`=170 WHERE `PhaseId`=2;
+UPDATE `gameobject` SET `PhaseId`=174 WHERE `PhaseId`=32;
+UPDATE `gameobject` SET `PhaseId`=175 WHERE `PhaseId`=64;
+
+UPDATE `gameobject` SET `PhaseId`=169 WHERE `PhaseId`=65535;
+UPDATE `gameobject` SET `PhaseGroup`=0 WHERE `PhaseGroup`=1;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_18_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_18_01_world.sql
new file mode 100644
index 00000000000..ca2c52511ec
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_18_01_world.sql
@@ -0,0 +1,22 @@
+--
+UPDATE `creature` SET `spawnMask`=1 WHERE `spawnMask`=3 AND `map`=607;
+UPDATE `creature` SET `spawnMask`=1 WHERE `spawnMask`=3 AND `map`=628;
+UPDATE `creature` SET `spawnMask`=2 WHERE `spawnMask`=1 AND `map`=230;
+UPDATE `creature` SET `spawnMask`=2 WHERE `spawnMask`=1 AND `map`=349;
+UPDATE `creature` SET `spawnMask`=2 WHERE `spawnMask`=1 AND `map`=429;
+UPDATE `creature` SET `spawnMask`=24 WHERE `spawnMask`=1 AND `map`=33;
+UPDATE `creature` SET `spawnMask`=6 WHERE `spawnMask`=3 AND `map`=552;
+UPDATE `creature` SET `spawnMask`=6 WHERE `spawnMask`=3 AND `map`=552;
+UPDATE `creature` SET `spawnMask`=6 WHERE `spawnMask`=3 AND `map`=547;
+UPDATE `creature` SET `spawnMask`=6 WHERE `spawnMask`=3 AND `map`=552;
+UPDATE `creature` SET `spawnMask`=6 WHERE `spawnMask`=3 AND `map`=574;
+UPDATE `creature` SET `spawnMask`=6 WHERE `spawnMask`=3 AND `map`=576;
+UPDATE `creature` SET `spawnMask`=6 WHERE `spawnMask`=3 AND `map`=600;
+UPDATE `creature` SET `spawnMask`=6 WHERE `spawnMask`=3 AND `map`=602;
+UPDATE `creature` SET `spawnMask`=8 WHERE `spawnMask`=1 AND `map`=509;
+UPDATE `creature` SET `spawnMask`=8 WHERE `spawnMask`=1 AND `map`=532;
+UPDATE `creature` SET `spawnMask`=16 WHERE `spawnMask`=1 AND `map`=550;
+UPDATE `creature` SET `spawnMask`=120 WHERE `spawnMask`=15 AND `map`=631;
+UPDATE `creature` SET `spawnMask`=120 WHERE `spawnMask`=1 AND `map`=724;
+UPDATE `creature` SET `spawnMask`=248 WHERE `spawnMask`=3 AND `map`=967;
+UPDATE `creature` SET `spawnMask`=512 WHERE `spawnMask`=1 AND `map`=531;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_19_00_world_2015_08_29_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_19_00_world_2015_08_29_02.sql
new file mode 100644
index 00000000000..60f3e97aa83
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_19_00_world_2015_08_29_02.sql
@@ -0,0 +1,263 @@
+--
+SET @CGUID := 144155; -- 80 free guid set by TC
+
+DELETE FROM `creature_template_addon` WHERE `entry`=30493;
+INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES
+(30493, 0, 0, 0, 0, 0, '29266');
+
+DELETE FROM `creature_addon` WHERE `guid`=@CGUID+78;
+INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES
+(@CGUID+78, 0, 0, 0, 0, 0, '54503'); -- quest invisibility
+
+DELETE FROM `spell_area` WHERE `spell`=55782 AND `area`=4432;
+INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
+(55782, 4432, 12973, 0, 0, 0, 2, 1, 74, 0);
+
+DELETE FROM `spell_area` WHERE `spell`=54504 AND `area`=4428;
+INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
+(54504, 4428, 12973, 0, 0, 0, 2, 1, 10, 0);
+
+SET @Brann := 30107;
+SET @Brann1 := 30382; -- Brann 60888 cosmetic movement
+SET @Brann2 := 30405;
+SET @Machine := 30134; -- Machine
+SET @Soldier := 30136; -- Stormforged Soldier
+Set @Yorg := 30408; -- Yorg Stormheart spell to summon=56676
+Set @Magni := 30411; -- Magni Bronzebeard spell to summon=56697
+SET @SPELL1 := 56603;
+SET @Machine2 := 30383; -- Machine static
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Soldier AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Brann1 AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Brann1*100 AND `source_type` = 9;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Brann2 AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Brann2*100 AND `source_type` = 9;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Brann AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Brann*100 AND `source_type` = 9;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Brann*100+1 AND `source_type` = 9;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Machine AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Machine*100 AND `source_type` = 9;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Machine2 AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Yorg AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Yorg*100 AND `source_type` = 9;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Yorg*100+1 AND `source_type` = 9;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Magni AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Magni*100 AND `source_type` = 9;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @Magni*100+1 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
+(@Brann1, 0, 0, 0, 19, 0, 100, 0, 12973, 0, 0, 0, 80, @Brann1*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Brann - On Quest Accept - action list'),
+(@Brann1*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 56558, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Brann - action liste - cast spell to invoque'),
+(@brann1*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, @Machine2, 20, 0, 0, 0, 0, 0, 'Brann - On ActionList - despawn'),
+(@brann1*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 44, 3, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Brann - On ActionList - Set phase 3'),
+(@brann1*100, 9, 3, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Brann - On ActionList - despawn'),
+(@Brann1, 0, 1, 0, 1, 0, 100, 0, 4000, 4000, 4000, 7000, 11, 60888, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Brann - Ooc - Cast cosmetic movement'),
+(@Machine, 0, 16, 0, 63, 0, 100, 0, 0, 0, 0, 0, 44, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Machine - Just created - Set phase 3'),
+(@Machine, 0, 0, 0, 27, 0, 100, 0, 0, 0, 0, 0, 80, @Machine*100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Machine - On passeger boarded - action list'),
+(@Machine*100, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 53, 1, @Machine, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Machine - action list - start wp'),
+(@Machine*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 19, @Brann, 10, 0, 0, 0, 0, 0, 'Brann - On Script - Set React Passive'),
+(@Machine*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Machine - On Script - Set React Passive'),
+(@Machine*100, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 18, 131072, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Machine - On Script - set PACIFIED'),
+(@Soldier, 0, 0, 0, 0, 0, 100, 0, 3000, 3000, 4000, 4000, 11, 56621, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,0,'Stormforged Soldier - In Combat - Cast Thunder Orb'),
+(@Machine, 0, 1, 0, 40, 0, 100, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @brann, 10, 0, 0, 0, 0, 0, 'Machine - On waypoint - talk'),
+(@Machine, 0, 2, 0, 40, 0, 100, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @brann, 10, 0, 0, 0, 0, 0, 'Machine - On waypoint - talk'),
+(@Machine, 0, 3, 0, 40, 0, 100, 0, 7, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, @brann, 10, 0, 0, 0, 0, 0, 'Machine - On waypoint - talk'),
+(@Machine, 0, 4, 0, 40, 0, 100, 0, 22, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, @brann, 10, 0, 0, 0, 0, 0, 'Machine - On waypoint - talk'),
+(@Machine, 0, 5, 0, 40, 0, 100, 0, 27, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 19, @brann, 10, 0, 0, 0, 0, 0, 'Machine - On waypoint - talk'),
+(@Machine, 0, 6, 0, 40, 0, 100, 0, 31, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 19, @brann, 10, 0, 0, 0, 0, 0, 'Machine - On waypoint - talk'),
+(@Machine, 0, 7, 0, 40, 0, 100, 0, 35, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 19, @brann, 10, 0, 0, 0, 0, 0, 'Machine - On waypoint - talk'),
+(@Machine, 0, 8, 0, 40, 0, 100, 0, 36, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 19, @brann, 10, 0, 0, 0, 0, 0, 'Machine - On waypoint - talk'),
+(@Machine, 0, 9, 0, 40, 0, 100, 0, 41, 0, 0, 0, 1, 8, 0, 0, 0, 0, 0, 19, @brann, 10, 0, 0, 0, 0, 0, 'Machine - On waypoint - talk'),
+(@Machine, 0, 10, 11, 40, 0, 100, 0, 42, 0, 0, 0, 11, 68576, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Machine - On waypoint - Eject passengenrs'),
+(@Machine, 0, 11, 12, 61, 0, 100, 0, 0, 0, 0, 0, 85, 56675, 0, 0, 0, 0, 0, 21, 20, 0, 0, 0, 0, 0, 0, 'Machine - On waypoint - Invoker cast to Spawn Brann'),
+(@Machine, 0, 12, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 1000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Machine - On waypoint - Despawn'),
+(@Machine, 0, 13, 0, 1, 0, 100, 0, 3000, 3000, 3000, 3000, 86, 56622, 1, 9, @Soldier, 5, 50, 1, 0, 0, 0, 0, 0, 0, 0, 'Machine - OOC - CROSSCAST'),
+(@Machine, 0, 14, 0, 1, 0, 100, 0, 3000, 3000, 3000, 3000, 86, 55089, 1, 19, @Soldier, 40, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Machine - OOC - CROSSCAST'),
+(@brann2, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 83, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - Just created - Remove npcflag'),
+(@brann2, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, @brann2*100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - Has aura - action list'),
+(@brann2*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList - set run off'),
+(@brann2*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6696.584473, -301.435760, 989.392761, 3.094404, 'brann - ActionList - move to pos'),
+(@brann2*100, 9, 2, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 11, 56676, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList- spawn Yorg'),
+(@brann2*100, 9, 3, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 4, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 5, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 6, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 7, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 8, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 9, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 10, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 4, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 11, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 5, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 12, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 13, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 14, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 56697, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList - spawn Magni'),
+(@brann2*100, 9, 15, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 16, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 66, 2.662433, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6696.584473, -301.435760, 989.392761, 2.662433, 'brann - ActionList - Set orientation'),
+(@brann2*100, 9, 17, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 6, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 18, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, @Magni, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 19, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 7, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 20, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, @Magni, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 21, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 8, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 22, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 9, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 23, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 4, 0, 0, 0, 0, 0, 19, @Magni, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 24, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 1, 5, 0, 0, 0, 0, 0, 19, @Magni, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 25, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 10, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 26, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 27, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 11, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 28, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 6, 0, 0, 0, 0, 0, 19, @Magni, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 29, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 12, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 30, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 7, 0, 0, 0, 0, 0, 19, @Magni, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 31, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 32, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 13, 0, 0, 0, 0, 0, 19, @Yorg, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 33, 0, 0, 0, 100, 0, 0, 0, 0, 0, 75, 71385, 0, 0, 0, 0, 0, 11, @Yorg, 20, 0, 0, 0, 0, 0, 'brann - ActionList - add aura'),
+(@brann2*100, 9, 34, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 8, 0, 0, 0, 0, 0, 19, @Magni, 10, 0, 0, 0, 0, 0, 'brann - ActionList - talk'),
+(@brann2*100, 9, 35, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 75, 71385, 0, 0, 0, 0, 0, 11, @Magni, 20, 0, 0, 0, 0, 0, 'brann - ActionList - add aura'),
+(@brann2*100, 9, 36, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 56742, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 'brann - ActionList - Cast credit spell'),
+(@brann2*100, 9, 37, 0, 0, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6740.549316, -293.961212, 993.427979, 3.559861, 'brann - ActionList - move to pos'),
+(@brann2*100, 9, 38, 0, 0, 0, 100, 0, 15000, 15000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Brann - On ActionList - despawn'),
+(@Yorg, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 80, @Yorg*100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Yorg - On spawn - ActionList'),
+(@Yorg*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Yorg - ActionList - set run off'),
+(@Yorg*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6692.118164, -301.678192, 989.427734, 6.194374, 'Yorg - ActionList - go to pos'),
+(@Yorg*100, 9, 2, 0, 0, 0, 100, 0, 90000, 90000, 0, 0, 66, 0.579558, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6692.118164, -301.678192, 989.427734, 0.579558, 'Yorg - ActionList - Set orientation'),
+(@Yorg, 0, 1, 0, 23, 0, 100, 1, 71385, 1, 0, 0, 80, @Yorg*100+1, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Yorg - call timed actionlist when has aura'),
+(@Yorg*100+1, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6608.733887, -282.180756, 986.123230, 3.491027, 'Yorg - ActionList - move to pos'),
+(@Yorg*100+1, 9, 1, 0, 0, 0, 100, 0, 25000, 25000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Yorg - ActionList - despawn'),
+(@Magni, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 80, @Magni*100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magni - On Spawn - ActionList'),
+(@Magni*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6694.134766, -297.678925, 989.207092, 4.757878, 'Magni - ActionList - Go to pos'),
+(@Magni*100, 9, 1, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magni - ActionList - talk'),
+(@Magni*100, 9, 2, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magni - ActionList - talk'),
+(@Magni*100, 9, 3, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 66, 4.757878, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6694.134766, -297.678925, 989.207092, 4.757878, 'Magni - ActionList - Set orientation'),
+(@Magni, 0, 1, 0, 23, 0, 100, 1, 71385, 1, 0, 0, 80, @Magni*100+1, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magni - call timed actionlist when has aura'),
+(@Magni*100+1, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magni - ActionList - Set run off'),
+(@Magni*100+1, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6740.549316, -293.961212, 993.427979, 3.559861, 'Magni - ActionList - Go to pos'),
+(@Magni*100+1, 9, 2, 0, 0, 0, 100, 0, 15000, 15000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magni - ActionList - despawn');
+
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`in (@Brann, @Brann1, @Brann2, @Magni, @Yorg, @Machine, @Machine2);
+UPDATE `creature_template` SET `faction`=2102, `AIName`='SmartAI' WHERE `entry`=@Soldier;
+UPDATE `creature_template` SET `faction`=35, `npcflag`=16777216, `type_flags`=2048, `speed_run`=2.14, `VehicleId`=219, `InhabitType`=4, `RegenHealth`=0 WHERE `entry`=@Machine;
+UPDATE `creature_template` SET `unit_flags`=537166144, `dynamicflags`=32 WHERE `entry`=30493;
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=56621;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13,1,56621,0,0,31,0,3,@Soldier,0,1,0,0,'','Only the Machine is a target for the spell.');
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=56622;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13,1,56622,0,0,31,0,3,@Soldier,0,1,0,0,'','Only the Machine is a target for the spell.');
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@Machine;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,@Machine,0,0,9,0,12973,0,0,0,0,'','Vehicle flying machine require quest 12973');
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=55089;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13,1,55089,0,0,31,0,3,@Machine,0,0,0,0,'','Only the flying machine is a target for the spell.');
+
+DELETE FROM `vehicle_template_accessory` where `entry`= @Machine;
+INSERT INTO `vehicle_template_accessory` (`entry`,`accessory_entry`,`seat_id`,`minion`,`description`,`summontype`,`summontimer`)
+VALUES(@Machine,@Brann,0,1,'Brann flying machine',8,0);
+
+DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` = @Machine;
+INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES
+(@Machine, 43671, 1, 1),
+(@Machine, @SPELL1, 1, 0);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND `SourceEntry` IN (@SPELL1, 43671);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(18,@Machine,@SPELL1,0,0,9,0,12973,0,0,0,0,'','Required quest active for spellclick'),
+(18,@Machine,43671,0,0,31,0,3,0,0,0,0,'','Only npc for spellclick');
+
+DELETE FROM `spell_target_position` WHERE `id`=56558;
+INSERT INTO `spell_target_position` (`id`,`mapid`,`positionx`,`positiony`,`positionz`) VALUES
+(56558, 571, 7515.810059, -975.283997, 478.508027);
+DELETE FROM `spell_target_position` WHERE `id`=56676;
+INSERT INTO `spell_target_position` (`id`,`mapid`,`positionx`,`positiony`,`positionz`) VALUES
+(56676, 571, 6668.243164, -300.716309, 989.048035);
+DELETE FROM `spell_target_position` WHERE `id`=56697;
+INSERT INTO `spell_target_position` (`id`,`mapid`,`positionx`,`positiony`,`positionz`) VALUES
+(56697, 571, 6646.655762, -292.56268, 982.318909);
+
+DELETE FROM `waypoints` WHERE entry=@Machine;
+INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
+(@Machine,1,7482.256, -1010.183, 480.4727,'Brann flying machine'),
+(@Machine,2,7487.624, -1073.279, 486.6947,'Brann flying machine'),
+(@Machine,3,7554.068, -1073.744, 504.4724,'Brann flying machine'),
+(@Machine,4,7540.521, -994.4729, 521.6666,'Brann flying machine'),
+(@Machine,5,7476.892, -979.5384, 539.4715,'Brann flying machine'),
+(@Machine,6,7441.698, -1035.954, 552.1108,'Brann flying machine'),
+(@Machine,7,7471.937, -1091.025, 565.5829,'Brann flying machine'),
+(@Machine,8,7510.604, -1098.736, 585.0275,'Brann flying machine'),
+(@Machine,9,7560.741, -1064.01, 596.1101,'Brann flying machine'),
+(@Machine,10,7558.652, -991.4143, 606.4708,'Brann flying machine'),
+(@Machine,11,7481.208, -966.8239, 614.276,'Brann flying machine'),
+(@Machine,12,7430.998, -1039.164, 622.7203,'Brann flying machine'),
+(@Machine,13,7464.418, -1092.93, 634.8871,'Brann flying machine'),
+(@Machine,14,7535.688, -1088.016, 651.7204,'Brann flying machine'),
+(@Machine,15,7563.452, -1036.534, 661.0538,'Brann flying machine'),
+(@Machine,16,7516.293, -977.355, 676.6924,'Brann flying machine'),
+(@Machine,17,7455.716, -999.9194, 689.1921,'Brann flying machine'),
+(@Machine,18,7447.983, -1050.863, 710.22,'Brann flying machine'),
+(@Machine,19,7518.54, -1090.449, 733.2756,'Brann flying machine'),
+(@Machine,20,7565.333, -1038.004, 745.6921,'Brann flying machine'),
+(@Machine,21,7532.994, -979.3826, 757.9145,'Brann flying machine'),
+(@Machine,22,7434.272, -1013.309, 756.1094,'Brann flying machine'),
+(@Machine,23,7460.686, -1081.453, 775.8036,'Brann flying machine'),
+(@Machine,24,7518.524, -1091.506, 800.887,'Brann flying machine'),
+(@Machine,25,7563.83, -1015.821, 824.6927,'Brann flying machine'),
+(@Machine,26,7485.566, -970.3575, 842.8317,'Brann flying machine'),
+(@Machine,27,7446.667, -1061.756, 867.8871,'Brann flying machine'),
+(@Machine,28,7479.346, -1108.014, 896.2759,'Brann flying machine'),
+(@Machine,29,7534.174, -1115.574, 932.2327,'Brann flying machine'),
+(@Machine,30,7583.952, -1166.912, 949.7326,'Brann flying machine'),
+(@Machine,31,7569.052, -1238.047, 949.7327,'Brann flying machine'),
+(@Machine,32,7505.558, -1260.738, 959.0381,'Brann flying machine'),
+(@Machine,33,7425.231, -1227.18, 965.1213,'Brann flying machine'),
+(@Machine,34,7358.262, -1154.908, 965.1213,'Brann flying machine'),
+(@Machine,35,7316.554, -1004.713, 969.5936,'Brann flying machine'),
+(@Machine,36,7273.263, -897.3846, 973.7048,'Brann flying machine'),
+(@Machine,37,7216.268, -811.6398, 984.3438,'Brann flying machine'),
+(@Machine,38,7148.946, -634.7748, 984.3438,'Brann flying machine'),
+(@Machine,39,7051.731, -506.0969, 984.3438,'Brann flying machine'),
+(@Machine,40,6928.087, -372.7923, 1013.677,'Brann flying machine'),
+(@Machine,41,6820.645, -310.3642, 1017.538,'Brann flying machine'),
+(@Machine,42,6741.966, -291.7396, 996.2623,'Brann flying machine');
+
+DELETE FROM `creature_text` WHERE `entry` IN (@Brann, @Yorg, @Magni, @Brann2) ;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES
+(@Brann, 0, 0, 'I can''t thank you enough for all of your help in putting together the keystone. Great things will come of this, I assure you.', 12, 0, 100, 0, 0, 0, 'Brann', 31023),
+(@Brann, 1, 0, 'Iron dwarves... everywhere.... they''re making their way down from the top. They certainly are persistent.', 12, 0, 100, 0, 0, 0, 'Brann', 31024),
+(@Brann, 2, 0, 'They''re trying to take down the plane! I can''t pull up any steeper... you need to keep them off of us!', 12, 0, 100, 0, 0, 0, 'Brann', 31025),
+(@Brann, 3, 0, 'There are more just ahead - keep at it!', 12, 0, 100, 0, 0, 0, 'Brann', 31026),
+(@Brann, 4, 0, 'We''re almost out... just a little bit further.', 12, 0, 100, 0, 0, 0, 'Brann', 31027),
+(@Brann, 5, 0, 'Barring stray boulders from those giants, we should be clear... it seems a mess from down there though.', 12, 0, 100, 0, 0, 0, 'Brann', 31028),
+(@Brann, 6, 0, 'Their numbers are unbelievable... I''m glad to hear King Stormheart came to your aid. I only hear good things of him - I think it''s high time we meet.', 12, 0, 100, 0, 0, 0, 'Brann', 31029),
+(@Brann, 7, 0, 'Poor Creteus. He was a good keeper... I''m glad he at least got to see his task to completion, I imagine that''s all that really mattered to him.', 12, 0, 100, 0, 0, 0, 'Brann', 31030),
+(@Brann, 8, 0, 'We''re coming up on Frosthold. I would be very appreciative if you would introduce me to King Stormeheart before you go. I believe we are both very much in his debt.', 12, 0, 100, 0, 0, 0, 'Brann', 31031),
+(@Brann2, 0, 0, 'By all the gods... it can''t be... Muradin?', 12, 0, 100, 0, 0, 0, 'Brann', 31032),
+(@Brann2, 1, 0, 'Come on boy, there''s no mistak''n it - it''s definately you. Don''t ya recognize your younger brother?', 12, 0, 100, 0, 0, 0, 'Brann', 31033),
+(@Brann2, 2, 0, 'I can''t believe this! You were dead! All accounts said so... what happened, Muradin. How did you get here?', 12, 0, 100, 0, 0, 0, 'Brann', 31034),
+(@Brann2, 3, 0, 'Indeed! Magni will be so happy to see you too! He''s gotten nothing but bad news for a long time now, but this changes everything!', 12, 0, 100, 0, 0, 0, 'Brann', 31035),
+(@Brann2, 4, 0, 'He''s here in Northrend, brother, looking for you. A seer in Wintergarde brought word that you were not dead, and he left Ironforge immediately to come find you.', 12, 0, 100, 0, 0, 0, 'Brann', 31036),
+(@Brann2, 5, 0, 'Speaking of which...', 12, 0, 100, 0, 0, 0, 'Brann', 31087),
+(@Brann2, 6, 0, 'That''s in the past, Muradin. Regrets won''t change anything.', 12, 0, 100, 0, 0, 0, 'Brann', 31096),
+(@Brann2, 7, 0, 'Aye, be safe Muradin. I''d join you, but I''m on top of the most amazing discovery the world has yet seen. I can''t abandon it now.', 12, 0, 100, 0, 0, 0, 'Brann', 31102),
+(@Yorg, 0, 0, 'What''s that? You talkin'' to me, lad?', 12, 0, 100, 0, 0, 0, 'Yorg', 31037),
+(@Yorg, 1, 0, 'My brother... yes... I do have brothers...', 12, 0, 100, 0, 0, 0, 'Yorg', 31038),
+(@Yorg, 2, 0, 'Muradin clutches his head and reels for a moment as the memories rush back to him.', 16, 0, 100, 0, 0, 0, 'Yorg', 31039),
+(@Yorg, 3, 0, '...Brann?', 12, 0, 100, 0, 0, 0, 'Yorg', 31040),
+(@Yorg, 4, 0, 'I... I dunno, Brann. I''ve been ''ere a long time... all I ''ave of me life before this place are flashes and nightmares.', 12, 0, 100, 0, 0, 0, 'Yorg', 31042),
+(@Yorg, 5, 0, 'It''s good te see you though, brother. More than words can say.', 12, 0, 100, 0, 0, 0, 'Yorg', 31043),
+(@Yorg, 6, 0, 'Magn! Forgive me, the memories are comin'' back slowly, brother.', 12, 0, 100, 0, 0, 0, 'Yorg', 31045),
+(@Yorg, 7, 0, 'The frostborn have been very good to me. They''re strong people.', 12, 0, 100, 0, 0, 0, 'Yorg', 31048),
+(@Yorg, 8, 0, 'Not much, Magni. I''ve had nightmares of a human... tall... light hair... death black armor. His name rests on the tip of me tongue, but...', 12, 0, 100, 0, 0, 0, 'Yorg', 31089),
+(@Yorg, 9, 0, '...Arthas.', 12, 0, 100, 0, 0, 0, 'Yorg', 31091),
+(@Yorg, 10, 0, 'Aye, I know. I watched him turn... I watched him give up all that was right and I didn''t lift a hand... I didn''t even consider it until it was too late.', 12, 0, 100, 0, 0, 0, 'Yorg', 31094),
+(@Yorg, 11, 0, 'No... no they won''t. But I can make this right. I have te. I''m goin'' after the boy. I''ll make''m answer for everything he''s done.', 12, 0, 100, 0, 0, 0, 'Yorg', 31097),
+(@Yorg, 12, 0, 'I''m sure, Magni. I''ll see this through, don''t ya worry.', 12, 0, 100, 0, 0, 0, 'Yorg', 31100),
+(@Yorg, 13, 0, 'Go Brann. Bring back an epic tale when we meet again. Farewell for now, brothers...', 12, 0, 100, 0, 0, 0, 'Yorg', 31103),
+(@Magni, 0, 0, 'Look, Lagnus, I consider you a capable man, but my patience is wearing thin. I know that Muradin is here, can you point me to him or not?', 14, 0, 100, 0, 0, 0, 'Magni', 31084),
+(@Magni, 1, 0, 'Brother! There you are! I can barely believe my eyes... you''re alive!', 14, 0, 100, 0, 0, 0, 'Magni', 31085),
+(@Magni, 2, 0, 'It''s so good to see you again, Muradin. And what''s this I heard about you being a King in your own right now? The Bronzebeards were always destined to greatness.', 12, 0, 100, 0, 0, 0, 'Magni', 31086),
+(@Magni, 3, 0, 'So it seems! And you haven''t lost any muscle yourself. Do you remember anything of what happened, Muradin? Fate as turned ill in your absence.', 12, 0, 100, 0, 0, 0, 'Magni', 31088),
+(@Magni, 4, 0, 'Magni nods.', 16, 0, 100, 0, 0, 0, 'Magni', 31092),
+(@Magni, 5, 0, 'He''s not the boy of your memories anymore, Muradin. He''s become something else entirely.', 12, 0, 100, 0, 0, 0, 'Magni', 31093),
+(@Magni, 6, 0, 'Are you sure Muradin? I just got you back after years of thinking you were dead. I do not want to lose you again.', 12, 0, 100, 0, 0, 0, 'Magni', 31099),
+(@Magni, 7, 0, 'So be it then. I have to return to my people, brothers. Come back to me in one piece.', 12, 0, 100, 0, 0, 0, 'Magni', 31101),
+(@Magni, 8, 0, '...farewell brother.', 12, 0, 100, 0, 0, 0, 'Magni', 31129);
+
+UPDATE `gameobject` SET `PhaseGroup`=368, `PhaseId`=0 WHERE id=195308;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_19_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_19_01_world.sql
new file mode 100644
index 00000000000..cde430879dd
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_19_01_world.sql
@@ -0,0 +1,3 @@
+--
+UPDATE `smart_scripts` SET `action_type`=16, `action_param1`=371, `action_param2`=1, `comment`='Brann - On ActionList - Set phase groupe 371' WHERE `entryorguid`=3038200 AND `source_type`=9 AND `id` IN (2);
+UPDATE `smart_scripts` SET `action_type`=16, `action_param1`=371, `action_param2`=1, `comment`='Machine - Just created - Set phase groupe 371' WHERE `entryorguid`=30134 AND `source_type`=0 AND `id` IN (16);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_20_00_world_2015_08_29_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_20_00_world_2015_08_29_03.sql
new file mode 100644
index 00000000000..e280faea4d1
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_20_00_world_2015_08_29_03.sql
@@ -0,0 +1,20 @@
+--
+DELETE FROM `creature` WHERE `guid`=126052;
+DELETE FROM `creature_addon` WHERE `guid`=126052;
+DELETE FROM `linked_respawn` WHERE `guid`=126052 AND `linkedGuid`=126103;
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (26668, 30810);
+UPDATE `smart_scripts` SET `action_param6`=2 WHERE `entryorguid`=-126160 AND `id`=0;
+
+UPDATE `creature_template` SET `RegenHealth`=0 WHERE `entry`=12423;
+
+-- Set all of these creatures to roam 5 yards, and random movement type
+UPDATE `creature` SET `spawndist`=5, `MovementType`=1 WHERE id IN (16349,16352);
+
+UPDATE `quest_template_addon` SET `PrevQuestID`=0 WHERE `id`=9369;
+
+UPDATE `creature_template` SET `unit_flags`=537166656, `unit_flags2`=2048 WHERE `entry` IN (26737);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (26737) AND `source_type`=0 AND `id`=6;
+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
+(26737,0,6,0,6,0,100,0,0,0,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0,"Crazed Mana-Surge - On Just Died - Remove unit flag immune to pc");
+
+UPDATE `creature_template` SET `unit_flags`=0 WHERE `entry`=10161;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_20_01_world_2015_08_29_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_20_01_world_2015_08_29_04.sql
new file mode 100644
index 00000000000..b0ffc1fb0c5
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_20_01_world_2015_08_29_04.sql
@@ -0,0 +1,11 @@
+--
+-- Removed useless conditions
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (62290,62307,62357,62489,62635);
+-- Adjusted incorrect conditions
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (62363,65044,65045);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition` ,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13,2,62363,0,0,31,0,3,33214,0,0,0,'','Flame Leviathan - Anti-Air Rocket'),
+(13,1,65044,0,0,32,0,0x18, 0,0,0,0,'','Flame Leviathan - Flames'), -- should hit everything
+(13,2,65044,0,0,31,0,3,33090,0,0,0,'','Flame Leviathan - Flames'),
+(13,1,65045,0,0,32,0,0x18, 0,0,0,0,'','Flame Leviathan - Flames'), -- should hit everything
+(13,2,65045,0,0,31,0,3,33090,0,0,0,'','Flame Leviathan - Flames');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_20_02_world_2015_09_02_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_20_02_world_2015_09_02_00.sql
new file mode 100644
index 00000000000..c83de23b06a
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_20_02_world_2015_09_02_00.sql
@@ -0,0 +1,7 @@
+-- Waypoint fix for quest "Escape from the Winterfin Caverns" (11570)
+UPDATE `script_waypoint` SET `location_x`=4279.54, `location_y`=6187.932, `location_z`=0.294670 WHERE `entry`=25208 AND `pointid`=41;
+
+-- Swap 1st and 2nd text
+UPDATE `creature_text` SET `groupid` = 99 WHERE `entry` = 25208 AND `groupid` = 0 AND `id` = 0;
+UPDATE `creature_text` SET `groupid` = 0 WHERE `entry` = 25208 AND `groupid` = 1 AND `id` = 0;
+UPDATE `creature_text` SET `groupid` = 1 WHERE `entry` = 25208 AND `groupid` = 99 AND `id` = 0;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_20_03_world_2015_09_02_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_20_03_world_2015_09_02_01.sql
new file mode 100644
index 00000000000..1b58aed1abc
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_20_03_world_2015_09_02_01.sql
@@ -0,0 +1,7 @@
+--
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=47669;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `Comment`) VALUES
+(13, 1, 47669, 0, 1, 0, 48048, 0,0, "Awaken Subboss");
+
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = 48048;
+INSERT INTO `spell_linked_spell` VALUES (48048, 47669, 0, 'Awaken Subboss');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_20_04_world_2015_09_02_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_20_04_world_2015_09_02_04.sql
new file mode 100644
index 00000000000..2a66eb3390f
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_20_04_world_2015_09_02_04.sql
@@ -0,0 +1,5 @@
+--
+DELETE FROM `creature` WHERE `guid`=118724 AND `id`=27122;
+UPDATE `creature` SET `equipment_id`=1 WHERE `guid`=52290;
+UPDATE `creature_template_addon` SET `emote`=0 WHERE `entry`=26942;
+UPDATE `smart_scripts` SET `action_type`=11, `action_param1`=45491, `target_type`=19, `target_param1`=27180, `target_param2`=10, `comment`="Decrepit Necromancer - Out of Combat - Cast Necrotic Purple Beam" WHERE `entryorguid`=26942 AND `source_type`=0 AND `id`=0;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_20_05_world_2015_09_03_06.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_20_05_world_2015_09_03_06.sql
new file mode 100644
index 00000000000..3444afe1d77
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_20_05_world_2015_09_03_06.sql
@@ -0,0 +1,5 @@
+--
+DELETE FROM `smart_scripts` WHERE `entryorguid`=2546000 AND `source_type`=9 AND `id`=0 AND `action_type`=11;
+UPDATE `smart_scripts` SET `id`=0 WHERE `entryorguid`=2546000 AND `source_type`=9 AND `id`=1 AND `action_type`=53;
+
+DELETE FROM `creature_addon` WHERE `guid`=137997; -- fix a DB error
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_24_00_world_2015_09_05_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_24_00_world_2015_09_05_00.sql
new file mode 100644
index 00000000000..a259ae99f23
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_24_00_world_2015_09_05_00.sql
@@ -0,0 +1,335 @@
+--
+SET @GUID := 52011; -- 11 FREE CGUID SET BY TC
+DELETE FROM `creature` WHERE `guid` BETWEEN @GUID AND @GUID + 10;
+INSERT INTO `creature` (`guid`, `id`, `map`, `modelid`, `position_x`, `position_y`, `position_z`, `orientation`, `curhealth`) VALUES
+(@GUID + 0, 24833, 584, 22659, 26.68381, 5.156456, 11.14973, 1.562181, 1474), -- Captain "Stash" Torgoley <The Lady Mehley> - 75958
+(@GUID + 1, 24834, 584, 22660, 17.73618, -7.963644, 6.181007, 1.658063, 1474), -- Galley Chief Grace <The Lady Mehley> - 75959
+(@GUID + 2, 24835, 584, 22661, 24.61499, 5.468628, 16.04766, 3.176499, 1358), -- First Mate Kowalski <The Lady Mehley> - 75960
+(@GUID + 3, 24836, 584, 262, -4.359131, 3.349854, 6.099176, 1.576669, 312), -- Abe the Cabin Boy <The Lady Mehley> - 75961
+(@GUID + 4, 24837, 584, 22662, 19.20459, -7.213135, 6.097228, 3.667171, 867), -- Navigator Mehran <The Lady Mehley> - 75962
+(@GUID + 5, 24838, 584, 22663, -27.50586, -3.588379, 21.17929, 2.405203, 804), -- Sailor Henders <The Lady Mehley> - 75963
+(@GUID + 6, 24839, 584, 22664, 6.123779, 10.77246, 11.47038, 1.539951, 804), -- Sailor Wicks <The Lady Mehley> - 75964
+(@GUID + 7, 24840, 584, 22665, 28.74146, 6.708008, 6.096051, 1.087228, 804), -- Sailor Vines <The Lady Mehley> - 75965
+(@GUID + 8, 24841, 584, 1858, -9.322998, -1.669921, 6.09808, 0.01745319, 10236), -- Marine Halters - 75966
+(@GUID + 9, 24842, 584, 22666, 14.44629, 0.1442871, 12.0214, 3.309605, 10236), -- Marine Anderson - 75967
+(@GUID + 10, 24843, 584, 22667, 6.350558, 8.718207, 6.180843, 5.427974, 928); -- Engineer Combs <The Lady Mehley> - 75968
+
+-- Pathing for Entry: 24833 'TDB FORMAT'
+SET @NPC := @GUID;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=37.03026,`position_y`=4.622362,`position_z`=6.176411, `orientation`=1.00 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,1,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,37.03026,4.622362,6.176411,1.00,35000,0,0,100,0),
+(@PATH,2,33.79711,3.379296,6.136233,0,0,0,0,100,0),
+(@PATH,3,30.11437,1.977602,6.346729,0,0,0,0,100,0),
+(@PATH,4,28.86437,2.977602,6.346729,0,0,0,0,100,0),
+(@PATH,5,26.34205,5.299405,6.347331,0,0,0,0,100,0),
+(@PATH,6,23.84205,5.299405,6.347331,0,0,0,0,100,0),
+(@PATH,7,17.09205,5.049405,6.347331,0,0,0,0,100,0),
+(@PATH,8,10.25663,4.995337,6.348217,0,0,0,0,100,0),
+(@PATH,9,7.917565,0.5690584,6.348763,0,0,0,0,100,0),
+(@PATH,10,8.917565,-0.9309416,6.348763,0,0,0,0,100,0),
+(@PATH,11,11.10869,-4.599314,6.348672,0,0,0,0,100,0),
+(@PATH,12,18.60869,-4.849314,6.348672,0,0,0,0,100,0),
+(@PATH,13,24.60869,-5.099314,6.348672,0,0,0,0,100,0),
+(@PATH,14,26.69126,-5.140297,6.623405,0,0,0,0,100,0),
+(@PATH,15,26.69126,-3.640297,6.623405,0,0,0,0,100,0),
+(@PATH,16,26.69126,3.859703,11.3734,0,0,0,0,100,0),
+(@PATH,17,26.56619,3.997062,11.49595,0,0,0,0,100,0),
+(@PATH,18,26.56619,5.497062,11.49595,0,0,0,0,100,0),
+(@PATH,19,24.06619,5.497062,11.49595,0,0,0,0,100,0),
+(@PATH,20,22.81619,5.497062,11.99595,0,0,0,0,100,0),
+(@PATH,21,21.56619,5.497062,12.24595,0,0,0,0,100,0),
+(@PATH,22,5.473877,5.844482,11.85669,0,25000,0,0,100,0),
+(@PATH,23,7.723877,-1.405518,11.85669,0,0,0,0,100,0),
+(@PATH,24,10.47388,-6.155518,11.85669,0,0,0,0,100,0),
+(@PATH,25,10.43553,-5.953337,11.88334,0,0,0,0,100,0),
+(@PATH,26,10.93553,-6.953337,11.88334,0,0,0,0,100,0),
+(@PATH,27,5.371088,-7.016384,11.77661,0,0,0,0,100,0),
+(@PATH,28,2.413238,-4.390701,11.56228,0,0,0,0,100,0),
+(@PATH,29,1.163238,-4.390701,11.31228,0,0,0,0,100,0),
+(@PATH,30,-3.086762,-5.140701,6.562281,0,0,0,0,100,0);
+-- 0x1C15A0002018404000004000006049B5 .go 37.03026 4.622362 6.176411
+
+-- Pathing for Entry: 24835 'TDB FORMAT'
+SET @NPC := @GUID + 2;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=24.61543,`position_y`=5.468647,`position_z`=16.12396 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,24.61543,5.468647,16.12396,3.246287,0,0,0,100,0),
+(@PATH,2,24.59153,3.553659,16.31282,0,0,0,0,100,0),
+(@PATH,3,24.59153,0.05365944,16.31282,0,0,0,0,100,0),
+(@PATH,4,24.59153,-3.446341,16.06282,0,0,0,0,100,0),
+(@PATH,5,24.57548,-5.133168,16.0891,0,0,0,0,100,0),
+(@PATH,6,23.32548,-5.383168,16.0891,0,0,0,0,100,0),
+(@PATH,7,20.07548,-5.883168,12.5891,0,0,0,0,100,0),
+(@PATH,8,19.97622,-5.8692,12.62369,0,0,0,0,100,0),
+(@PATH,9,19.22622,-5.8692,12.62369,0,0,0,0,100,0),
+(@PATH,10,18.97622,-4.6192,12.62369,0,0,0,0,100,0),
+(@PATH,11,17.54005,-0.2464206,12.32892,0,0,0,0,100,0),
+(@PATH,12,18.04005,3.753579,12.32892,0,0,0,0,100,0),
+(@PATH,13,18.07397,3.926754,12.37037,0,0,0,0,100,0),
+(@PATH,14,18.32397,5.676754,12.12037,0,0,0,0,100,0),
+(@PATH,15,20.28442,3.827637,12.37757,0,0,0,0,100,0),
+(@PATH,16,19.53442,-0.1723633,12.37757,0,0,0,0,100,0),
+(@PATH,17,19.03442,-4.672363,12.12757,0,0,0,0,100,0),
+(@PATH,18,18.88482,-4.669163,12.44052,0,0,0,0,100,0),
+(@PATH,19,18.88482,-5.669163,12.44052,0,0,0,0,100,0),
+(@PATH,20,20.13482,-5.669163,12.69052,0,0,0,0,100,0),
+(@PATH,21,23.13482,-5.169163,15.94052,0,0,0,0,100,0),
+(@PATH,22,25.75478,-4.782483,16.3373,0,0,0,0,100,0),
+(@PATH,23,25.75478,-3.282483,16.3373,0,0,0,0,100,0),
+(@PATH,24,26.00478,-0.03248262,16.5873,0,0,0,0,100,0),
+(@PATH,25,26.25478,3.467517,16.5873,0,0,0,0,100,0),
+(@PATH,26,24.61548,5.46875,16.04771,0,0,0,0,100,0),
+(@PATH,27,24.61548,5.46875,16.04771,3.176499,80000,0,0,100,0);
+-- 0x1C15A000201840C000004000006048CF .go 24.61543 5.468647 16.12396
+
+-- Pathing for Entry: 24836 'TDB FORMAT'
+SET @NPC := @GUID + 3;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2.233398,`position_y`=2.553833,`position_z`=6.099016 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,-2.233398,2.553833,6.099016,0,0,0,0,100,0),
+(@PATH,2,-2.233398,2.553833,6.099016,2.059489,0,0,0,100,0),
+(@PATH,3,1.698853,3.417053,6.348891,0,0,0,0,100,0),
+(@PATH,4,3.448853,4.167053,6.348891,0,0,0,0,100,0),
+(@PATH,5,7.448853,-0.5829468,6.348891,0,0,0,0,100,0),
+(@PATH,6,9.774704,-2.902952,6.349678,0,0,0,0,100,0),
+(@PATH,7,9.800768,-3.249776,6.348591,0,0,0,0,100,0),
+(@PATH,8,13.55077,-3.999776,6.348591,0,0,0,0,100,0),
+(@PATH,9,18.30077,-4.749776,6.348591,0,0,0,0,100,0),
+(@PATH,10,20.13506,-5.121357,6.347137,0,0,0,0,100,0),
+(@PATH,11,24.38506,-5.371357,6.347137,0,0,0,0,100,0),
+(@PATH,12,24.58777,-5.452598,6.623333,0,0,0,0,100,0),
+(@PATH,13,26.83777,-5.702598,6.623333,0,0,0,0,100,0),
+(@PATH,14,26.58777,-3.452598,6.623333,0,0,0,0,100,0),
+(@PATH,15,26.58777,3.797402,11.37333,0,0,0,0,100,0),
+(@PATH,16,26.85096,4.066658,11.19734,0,0,0,0,100,0),
+(@PATH,17,26.85096,5.566658,11.19734,0,0,0,0,100,0),
+(@PATH,18,26.86504,5.718296,11.3996,0,0,0,0,100,0),
+(@PATH,19,30.61504,5.718296,11.3996,0,0,0,0,100,0),
+(@PATH,20,30.61504,3.718296,11.3996,0,0,0,0,100,0),
+(@PATH,21,29.54675,3.707764,11.3996,0,0,0,0,100,0),
+(@PATH,22,28.29675,4.207764,11.3996,0,0,0,0,100,0),
+(@PATH,23,24.39871,5.605234,11.61975,0,0,0,0,100,0),
+(@PATH,24,23.39871,5.605234,11.61975,0,0,0,0,100,0),
+(@PATH,25,22.14871,5.605234,12.11975,0,0,0,0,100,0),
+(@PATH,26,21.82304,5.810547,12.27328,0,0,0,0,100,0),
+(@PATH,27,20.07304,5.810547,12.27328,0,0,0,0,100,0),
+(@PATH,28,17.32304,3.810547,12.27328,0,0,0,0,100,0),
+(@PATH,29,17.06653,3.683082,12.10866,0,0,0,0,100,0),
+(@PATH,30,14.56653,1.933082,12.10866,0,0,0,0,100,0),
+(@PATH,31,13.06653,-1.066918,12.10866,0,0,0,0,100,0),
+(@PATH,32,9.639757,-6.127687,11.82736,0,0,0,0,100,0),
+(@PATH,33,3.298409,-6.022044,11.54611,0,0,0,0,100,0),
+(@PATH,34,2.798409,-4.272044,11.54611,0,0,0,0,100,0),
+(@PATH,35,1.048409,-4.522044,11.29611,0,0,0,0,100,0),
+(@PATH,36,-2.951591,-5.022044,6.546112,0,0,0,0,100,0),
+(@PATH,37,-4.002031,-4.848095,6.186443,0,0,0,0,100,0),
+(@PATH,38,-4.002031,-0.0980947,6.186443,0,0,0,0,100,0),
+(@PATH,39,-2.233643,2.553955,6.099016,0,0,0,0,100,0);
+-- 0x1C15A0000018410000002F0000604858 .go -2.233398 2.553833 6.099016
+
+-- Pathing for Entry: 24837 'TDB FORMAT'
+SET @NPC := @GUID + 4;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=21.28821,`position_y`=-6.498474,`position_z`=6.346781 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,21.28821,-6.498474,6.346781,0,0,0,0,100,0),
+(@PATH,2,24.28821,-6.248474,6.346781,0,0,0,0,100,0),
+(@PATH,3,24.5675,-5.887867,6.623326,0,0,0,0,100,0),
+(@PATH,4,26.3175,-5.637867,6.623326,0,0,0,0,100,0),
+(@PATH,5,26.5675,-3.637867,6.623326,0,0,0,0,100,0),
+(@PATH,6,26.8175,3.862133,11.37333,0,0,0,0,100,0),
+(@PATH,7,27.0207,5.456285,11.61129,0,0,0,0,100,0),
+(@PATH,8,24.0207,5.456285,11.61129,0,0,0,0,100,0),
+(@PATH,9,22.7707,5.706285,11.86129,0,0,0,0,100,0),
+(@PATH,10,21.5207,5.706285,12.36129,0,0,0,0,100,0),
+(@PATH,11,21.19737,5.743245,12.28643,0,0,0,0,100,0),
+(@PATH,12,19.69737,5.743245,12.28643,0,0,0,0,100,0),
+(@PATH,13,18.44737,3.743245,12.28643,0,0,0,0,100,0),
+(@PATH,14,16.32088,0.3530575,12.37261,0,0,0,0,100,0),
+(@PATH,15,18.57088,-4.646943,12.37261,0,0,0,0,100,0),
+(@PATH,16,18.82599,-4.72204,12.55197,0,0,0,0,100,0),
+(@PATH,17,19.32599,-5.72204,12.55197,0,0,0,0,100,0),
+(@PATH,18,23.32599,-5.22204,16.05197,0,0,0,0,100,0),
+(@PATH,19,24.89713,-4.957284,16.51354,0,0,0,0,100,0),
+(@PATH,20,27.89713,-4.707284,17.01354,0,0,0,0,100,0),
+(@PATH,21,35.14713,-3.957284,18.26354,0,0,0,0,100,0),
+(@PATH,22,35.03859,-3.71197,18.26312,0,0,0,0,100,0),
+(@PATH,23,35.53859,-3.71197,18.51312,0,0,0,0,100,0),
+(@PATH,24,36.03859,-2.71197,18.51312,0,0,0,0,100,0),
+(@PATH,25,36.78859,-1.21197,18.51312,0,0,0,0,100,0),
+(@PATH,26,36.83167,-1.03315,18.61353,0,0,0,0,100,0),
+(@PATH,27,37.33167,-0.0331502,18.61353,0,0,0,0,100,0),
+(@PATH,28,35.83167,-0.0331502,18.36353,0,0,0,0,100,0),
+(@PATH,29,33.81982,0.05114746,18.28621,0,80000,0,0,100,0);
+-- 0x1C15A0000018414000002F0000604858 .go 21.28821 -6.498474 6.346781
+
+-- Pathing for Entry: 24838 'TDB FORMAT'
+SET @NPC := @GUID + 5;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-27.21704,`position_y`=-0.001220703,`position_z`=21.58302 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,-27.21704,-0.001220703,21.58302,3.141593,15000,0,0,100,0),
+(@PATH,2,-26.7854,3.492676,21.49658,0,0,0,0,100,0),
+(@PATH,3,-27.21509,0.02246094,21.582,0,0,0,0,100,0),
+(@PATH,4,-27.21509,0.02246094,21.582,3.141593,15000,0,0,100,0),
+(@PATH,5,-27.31982,-3.39917,21.29024,0,0,0,0,100,0),
+(@PATH,6,-23.06238,-6.165868,20.58522,0,0,0,0,100,0);
+-- 0x1C15A0000018418000002F0000604859 .go -27.21704 -0.001220703 21.58302
+
+-- Pathing for Entry: 24839 'TDB FORMAT'
+SET @NPC := @GUID + 6;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=9.595876,`position_y`=-1.214922,`position_z`=11.80095 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,9.595876,-1.214922,11.80095,0,10000,0,0,100,0),
+(@PATH,2,10.84588,3.285078,12.05095,0,0,0,0,100,0),
+(@PATH,3,10.78306,3.165822,11.99681,0,0,0,0,100,0),
+(@PATH,4,11.03306,4.415822,11.99681,0,0,0,0,100,0),
+(@PATH,5,9.130737,-1.28125,11.96241,0,0,0,0,100,0),
+(@PATH,6,9.877741,-6.322785,11.91132,0,0,0,0,100,0),
+(@PATH,7,6.444749,-7.275679,11.82178,0,0,0,0,100,0),
+(@PATH,8,6.444749,-9.525679,11.57178,0,0,0,0,100,0),
+(@PATH,9,7.006714,-9.58252,11.59527,0,0,0,0,100,0),
+(@PATH,10,8.256714,-8.08252,11.84527,0,10000,0,0,100,0),
+(@PATH,11,9.506714,-6.58252,11.84527,0,0,0,0,100,0),
+(@PATH,12,9.757862,-6.227444,12.01764,0,0,0,0,100,0),
+(@PATH,13,10.25786,-5.227444,11.76764,0,0,0,0,100,0),
+(@PATH,14,11.50786,-1.227444,12.01764,0,0,0,0,100,0),
+(@PATH,15,10.53357,-1.442627,12.06874,0,0,0,0,100,0),
+(@PATH,16,9.107422,-2.769531,11.71875,3.385939,10000,0,0,100,0),
+(@PATH,17,9.595581,-1.214111,11.99324,0,0,0,0,100,0),
+(@PATH,18,10.84558,3.285889,11.99324,0,0,0,0,100,0),
+(@PATH,19,10.78296,3.167067,11.99682,0,0,0,0,100,0),
+(@PATH,20,11.03296,4.417067,11.99682,0,10000,0,0,100,0);
+-- 0x1C15A000201841C000004000006049B5 .go 9.595876 -1.214922 11.80095
+
+-- Pathing for Entry: 24840 'TDB FORMAT'
+SET @NPC := @GUID + 7;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-12.18092,`position_y`=5.488965,`position_z`=6.140242 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,-12.18092,5.488965,6.140242,0,0,0,0,100,0),
+(@PATH,2,-11.93092,4.238965,6.140242,0,0,0,0,100,0),
+(@PATH,3,1.66333,3.382568,6.347836,0,0,0,0,100,0),
+(@PATH,4,3.41333,4.132568,6.347836,0,0,0,0,100,0),
+(@PATH,5,16.41333,5.132568,6.347836,0,0,0,0,100,0),
+(@PATH,6,23.91333,5.632568,6.347836,0,0,0,0,100,0),
+(@PATH,7,27.02629,5.782645,6.348631,0,0,0,0,100,0),
+(@PATH,8,28.7417,6.706543,6.096051,0,0,0,0,100,0),
+(@PATH,9,23.86475,6.410645,6.347143,0,0,0,0,100,0),
+(@PATH,10,18.36475,6.160645,6.347143,0,0,0,0,100,0),
+(@PATH,11,16.61475,5.910645,6.347143,0,0,0,0,100,0),
+(@PATH,12,15.36475,5.910645,6.347143,0,0,0,0,100,0),
+(@PATH,13,3.364746,5.410645,6.347143,0,0,0,0,100,0),
+(@PATH,14,3.131845,5.415648,6.349216,0,0,0,0,100,0),
+(@PATH,15,1.881845,5.415648,6.349216,0,0,0,0,100,0),
+(@PATH,16,-8.868155,6.665648,6.349216,0,0,0,0,100,0),
+(@PATH,17,-9.868155,6.915648,6.349216,0,0,0,0,100,0),
+(@PATH,18,-12.56714,7.07666,6.098746,0,0,0,0,100,0),
+(@PATH,19,-12.56714,7.07666,6.098746,3.525565,0,0,0,100,0),
+(@PATH,20,-12.18091,5.489014,6.348577,0,0,0,0,100,0),
+(@PATH,21,-11.93091,4.239014,6.348577,0,0,0,0,100,0),
+(@PATH,22,1.663208,3.382813,6.347836,0,0,0,0,100,0),
+(@PATH,23,3.413208,4.132813,6.347836,0,0,0,0,100,0),
+(@PATH,24,16.41321,5.132813,6.347836,0,0,0,0,100,0),
+(@PATH,25,23.91321,5.632813,6.347836,0,0,0,0,100,0);
+-- 0x1C15A0002018420000004000006049B5 .go -12.18092 5.488965 6.140242
+
+-- Pathing for Entry: 24842 'TDB FORMAT'
+SET @NPC := @GUID + 9;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=20.11769,`position_y`=-6.318613,`position_z`=6.388871 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,20.11769,-6.318613,6.388871,0,0,0,0,100,0),
+(@PATH,2,24.36769,-6.068613,6.138871,0,0,0,0,100,0),
+(@PATH,3,26.54725,-5.752126,6.622897,0,0,0,0,100,0),
+(@PATH,4,26.54725,-3.502126,6.622897,0,0,0,0,100,0),
+(@PATH,5,26.79725,3.747874,11.3729,0,0,0,0,100,0),
+(@PATH,6,26.79725,5.497874,11.3729,0,0,0,0,100,0),
+(@PATH,7,26.84597,3.878396,11.42881,0,0,0,0,100,0),
+(@PATH,8,26.84597,5.378396,11.42881,0,0,0,0,100,0),
+(@PATH,9,26.84597,6.128396,11.42881,0,0,0,0,100,0),
+(@PATH,10,24.09597,5.878396,11.42881,0,0,0,0,100,0),
+(@PATH,11,22.59597,5.878396,11.92881,0,0,0,0,100,0),
+(@PATH,12,21.59597,5.878396,12.42881,0,0,0,0,100,0),
+(@PATH,13,21.2122,5.86385,12.2945,0,0,0,0,100,0),
+(@PATH,14,18.7122,5.61385,12.2945,0,0,0,0,100,0),
+(@PATH,15,17.7122,3.61385,12.2945,0,0,0,0,100,0),
+(@PATH,16,14.01855,0.09912109,12.00374,0,0,0,0,100,0),
+(@PATH,17,15.29224,0.3544922,12.05542,0,0,0,0,100,0),
+(@PATH,18,14.146,0.02685547,12.00965,0,0,0,0,100,0),
+(@PATH,19,20.63428,3.088379,12.32969,0,0,0,0,100,0),
+(@PATH,20,21.63428,4.088379,12.07969,0,0,0,0,100,0),
+(@PATH,21,23.38428,4.838379,11.57969,0,0,0,0,100,0),
+(@PATH,22,26.57771,5.543217,11.23778,0,0,0,0,100,0),
+(@PATH,23,26.57771,3.793216,11.23778,0,0,0,0,100,0),
+(@PATH,24,26.32771,-3.456784,6.487778,0,0,0,0,100,0),
+(@PATH,25,26.43777,-3.82635,6.296148,0,0,0,0,100,0),
+(@PATH,26,26.43777,-5.32635,6.296148,0,0,0,0,100,0),
+(@PATH,27,24.43777,-5.32635,6.296148,0,0,0,0,100,0),
+(@PATH,28,19.93777,-5.57635,6.296148,0,0,0,0,100,0),
+(@PATH,29,6.767334,-6.272217,6.347435,0,0,0,0,100,0),
+(@PATH,30,6.116943,-6.608887,6.097135,2.286381,10000,0,0,100,0);
+-- 0x1C15A0002018428000004000006049B5 .go 20.11769 -6.318613 6.388871
+
+SET @Sailor := 24838;
+SET @Kowalski := 24835;
+SET @Mehran := 24837;
+SET @Stash := 24833;
+-- Add text
+DELETE FROM `creature_text` WHERE `entry` IN (@Sailor, @Kowalski, @Mehran, @Stash);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES
+(@Sailor, 0, 0, 'Land ho, Mr. Kowalski! Port is in sight, sir!', 12, 7, 100, 0, 0, 0, 'Sailor Henders', 23941),
+(@Kowalski, 0, 0, 'Thank you, Mr. Henders.', 12, 7, 100, 0, 0, 0, 'First Mate Kowalski', 23942),
+(@Kowalski, 1, 0, 'Bring us into port, please, Mr. Mehran.', 12, 7, 100, 0, 0, 0, 'First Mate Kowalski', 23943),
+(@Mehran, 0, 0, 'Aye aye, Mr. Kowalski.', 12, 0, 100, 0, 0, 0, 'Navigator Mehran', 23951),
+(@Kowalski, 2, 0, 'Captain Stash! We''ll be arriving shortly, sir!', 12, 7, 100, 0, 0, 0, 'First Mate Kowalski', 23944),
+(@Stash, 0, 0, 'Thank you, Mr. Kowalski! You may return to your post to oversee docking!', 12, 7, 100, 0, 0, 0, 'Captain "Stash" Torgoley', 23945),
+(@Stash, 1, 0, 'Well done, all. Please bring us safely to our next port. ', 12, 7, 100, 0, 0, 0, 'Captain "Stash" Torgoley', 23946);
+
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@Sailor, @Kowalski, @Mehran, @Stash);
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Sailor AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Stash AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Kowalski AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Stash*100 AND `source_type`=9;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Kowalski*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
+(@Sailor,0,0,0,25,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sailor - on reset - Say Line 0"),
+(@Stash,0,0,0,25,0,100,0,0,0,0,0,80,@Stash*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stash - on reset - action list"),
+(@Stash*100,9,0,0,0,0,100,0,36000,36000,0,0,91,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stash - action list - Stand up"),
+(@Stash*100,9,1,0,0,0,100,0,49000,49000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stash - action list - Say Line 1"),
+(@Stash*100,9,2,0,0,0,100,0,0,0,0,0,5,21,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stash - action list - Play emote applaud"),
+(@Kowalski,0,0,0,25,0,100,0,0,0,0,0,80,@Kowalski*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kowalski - On reset - Action list"),
+(@Kowalski*100,9,0,0,0,0,100,0,4000,4000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kowalski- ooc los - Say Line 0"),
+(@Kowalski*100,9,1,0,0,0,100,0,3000,3000,0,0,1,1,0,0,0,0,0,1,0,40,0,0,0,0,0,"Kowalski - ooc los - Say Line 1"),
+(@Kowalski*100,9,2,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,19,@Mehran,40,0,0,0,0,0,"Kowalski- ooc los - Say Line 0"),
+(@Kowalski*100,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,"Kowalski - ooc los - Say Line 2"),
+(@Kowalski*100,9,4,0,0,0,100,0,4000,4000,0,0,1,0,0,0,0,0,0,19,@Stash,40,0,0,0,0,0,"Kowalski - ooc los - Say Line 0");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_24_01_world_2015_09_05_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_24_01_world_2015_09_05_01.sql
new file mode 100644
index 00000000000..cabdd4b9057
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_24_01_world_2015_09_05_01.sql
@@ -0,0 +1,6 @@
+--
+DELETE FROM `smart_scripts` WHERE `entryorguid`=21719 AND `source_type`=0 AND `id`=15;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=21720 AND `source_type`=0 AND `id`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=21717 AND `source_type`=0 AND `id`=3;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=21718 AND `source_type`=0 AND `id`=13;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=22331 AND `source_type`=0 AND `id`=20;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_25_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_25_00_world.sql
new file mode 100644
index 00000000000..440e98db1a3
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_25_00_world.sql
@@ -0,0 +1,2 @@
+UPDATE `conditions` SET `SourceGroup`=`SourceEntry` WHERE `SourceTypeOrReferenceId`=26;
+UPDATE `conditions` SET `SourceEntry`=0 WHERE `SourceTypeOrReferenceId`=26;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_25_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_25_01_world.sql
new file mode 100644
index 00000000000..2411571862a
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_25_01_world.sql
@@ -0,0 +1,859 @@
+--
+SET @OGUID:=77266;
+DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+394;
+DELETE FROM `game_event_gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+430 AND `eventEntry`=12;
+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,180415, 571, 1, 0, 169, 5759.221, 574.9567, 649.9132, 2.967041, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+1,180415, 571, 1, 0, 169, 5755.542, 570.8301, 650.9344, 6.19592, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+2,180415, 571, 1, 0, 169, 5757.676, 573.3919, 650.1688, 5.061456, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+3,180415, 571, 1, 0, 169, 5746.643, 578.5375, 650.8829, 0.9599299, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+4,180415, 571, 1, 0, 169, 5748.668, 581.0043, 650.151, 4.450591, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+5,180415, 571, 1, 0, 169, 5749.933, 582.6556, 649.8248, 4.642576, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+6,180406, 571, 1, 0, 169, 5728.36, 610.9005, 649.4632, 2.373644, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+7,180415, 571, 1, 0, 169, 5715.421, 644.4554, 648.6602, 2.18166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+8,180415, 571, 1, 0, 169, 5715.515, 646.4188, 648.6602, 4.537859, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+9,180415, 571, 1, 0, 169, 5753.461, 568.1178, 651.6292, 1.047198, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+10,180415, 571, 1, 0, 169, 5744.647, 575.9879, 651.6357, 3.543024, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+11,180415, 571, 1, 0, 169, 5715.134, 648.1215, 648.6602, 0.122173, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+12,180415, 571, 1, 0, 169, 5751.013, 565.1844, 651.9471, 0.4712385, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+13,180472, 571, 1, 0, 169, 5732.004, 677.9211, 653.3353, 4.71239, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: -1)
+(@OGUID+14,180472, 571, 1, 0, 169, 5728.826, 680.5181, 653.5024, 2.809975, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: -1)
+(@OGUID+15,180415, 571, 1, 0, 169, 5741.146, 571.6998, 652.0657, 0.9773831, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+16,180415, 571, 1, 0, 169, 5714.502, 642.7459, 648.6602, 4.468043, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+17,180407, 571, 1, 0, 169, 5732.993, 687.059, 647.7728, 4.398232, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+18,180406, 571, 1, 0, 169, 5743.645, 693.545, 622.6204, 6.161013, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+19,180406, 571, 1, 0, 169, 5731.452, 685.2674, 647.8353, 4.34587, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+20,180472, 571, 1, 0, 169, 5767.736, 709.554, 623.3895, 3.246347, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: -1)
+(@OGUID+21,180415, 571, 1, 0, 169, 5712.989, 641.5297, 648.6602, 4.363324, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+22,180415, 571, 1, 0, 169, 5885.288, 649.3917, 648.3478, 4.223697, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+23,180415, 571, 1, 0, 169, 5884.635, 650.209, 648.3451, 5.445428, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+24,180415, 571, 1, 0, 169, 5857.195, 694.9765, 642.7598, 3.438303, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+25,180415, 571, 1, 0, 169, 5884.362, 655.5961, 647.7375, 0.8377575, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+26,180415, 571, 1, 0, 169, 5884.462, 651.8329, 648.3445, 3.455756, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+27,180415, 571, 1, 0, 169, 5884.962, 652.7103, 648.349, 0.087266, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+28,180415, 571, 1, 0, 169, 5882.854, 654.217, 647.4544, 0.8901166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+29,180415, 571, 1, 0, 169, 5882.08, 652.5934, 646.7969, 5.113817, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+30,180415, 571, 1, 0, 169, 5881.939, 650.6448, 646.3702, 0.2268925, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+31,180415, 571, 1, 0, 169, 5887.319, 654.8732, 647.7352, 0.157079, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+32,180415, 571, 1, 0, 169, 5872.773, 683.941, 643.9858, 1.029743, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+33,180415, 571, 1, 0, 169, 5888.374, 653.126, 648.3439, 5.148723, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+34,180415, 571, 1, 0, 169, 5888.698, 649.7112, 648.3463, 3.979355, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+35,180415, 571, 1, 0, 169, 5886.394, 656.2161, 647.7482, 3.839725, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+36,180415, 571, 1, 0, 169, 5887.868, 649.1268, 648.3483, 4.293513, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+37,180415, 571, 1, 0, 169, 5887.483, 653.6826, 648.3387, 4.76475, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+38,180415, 571, 1, 0, 169, 5887.04, 648.8273, 648.3465, 3.700105, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+39,180406, 571, 1, 0, 169, 5867.473, 689.6141, 643.0695, 5.93412, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: -1)
+(@OGUID+40,180415, 571, 1, 0, 169, 5885.699, 653.4232, 648.3426, 2.111848, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+41,180415, 571, 1, 0, 169, 5853.894, 697.7454, 642.7382, 4.642576, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+42,180415, 571, 1, 0, 169, 5886.554, 653.7294, 648.3412, 2.35619, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+43,180415, 571, 1, 0, 169, 5886.262, 649.0009, 648.3515, 3.752462, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+44,180415, 571, 1, 0, 169, 5868.731, 687.4305, 643.9653, 3.839725, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+45,180415, 571, 1, 0, 169, 5859.763, 697.9153, 644.2113, 0.4363316, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+46,180415, 571, 1, 0, 169, 5870.243, 688.5043, 644.9064, 4.921829, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+47,180415, 571, 1, 0, 169, 5856.464, 700.5812, 644.1898, 1.099556, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+48,180415, 571, 1, 0, 169, 5889.053, 652.2928, 648.3411, 3.595379, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+49,180415, 571, 1, 0, 169, 5889.22, 650.639, 648.3416, 0.5410506, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+50,180415, 571, 1, 0, 169, 5873.591, 685.6783, 644.8956, 1.221729, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+51,180415, 571, 1, 0, 169, 5831.401, 719.1722, 641.9816, 2.932139, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+52,180415, 571, 1, 0, 169, 5836.437, 717.9185, 642.9285, 5.602507, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+53,180415, 571, 1, 0, 169, 5835.081, 716.1272, 642.0018, 1.919862, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+54,180415, 571, 1, 0, 169, 5832.815, 720.7052, 642.9305, 3.926996, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+55,180472, 571, 1, 0, 169, 5814.139, 724.2066, 628.9741, 1.117009, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: -1)
+(@OGUID+56,180411, 571, 1, 0, 169, 5852.397, 719.2882, 645.0352, 0.2967052, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: -1)
+(@OGUID+57,180411, 571, 1, 0, 169, 5776.054, 717.1719, 621.5515, 0.4886912, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: -1)
+(@OGUID+58,180407, 571, 1, 0, 169, 5774.249, 718.1202, 624.7645, 1.343901, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+59,180407, 571, 1, 0, 169, 5776.448, 568.1436, 650.5096, 2.600535, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: -1)
+(@OGUID+60,180415, 571, 1, 0, 169, 5712.064, 650.5781, 648.6602, 5.567601, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+61,180415, 571, 1, 0, 169, 5713.762, 649.6603, 648.6602, 3.647741, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+62,180415, 571, 1, 0, 169, 5711.214, 640.9504, 648.6602, 1.256636, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: -1)
+(@OGUID+63,180415, 571, 1, 0, 169, 5743.377, 555.9014, 652.7935, 4.904376, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+64,180415, 571, 1, 0, 169, 5748.702, 562.2153, 652.2548, 0.8552105, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+65,180415, 571, 1, 0, 169, 5739.39, 569.5277, 652.2971, 4.939284, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+66,180415, 571, 1, 0, 169, 5746.047, 559.1688, 652.5618, 0.122173, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+67,180415, 571, 1, 0, 169, 5736.597, 566.2489, 652.5988, 1.692969, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+68,180415, 571, 1, 0, 169, 5740.009, 551.746, 653.0452, 6.230826, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+69,180415, 571, 1, 0, 169, 5733.646, 562.5793, 652.8564, 0.8377575, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+70,180415, 571, 1, 0, 169, 5703.292, 611.9144, 646.913, 0.2617982, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+71,180415, 571, 1, 0, 169, 5706.292, 643.5551, 648.6602, 5.235988, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+72,180415, 571, 1, 0, 169, 5705.489, 608.3424, 646.913, 1.553341, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+73,180415, 571, 1, 0, 169, 5707.491, 642.0325, 648.6602, 0.9599299, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+74,180415, 571, 1, 0, 169, 5709.232, 641.1325, 648.6602, 6.265733, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+75,180415, 571, 1, 0, 169, 5730.303, 558.2949, 653.1008, 6.073746, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+76,180415, 571, 1, 0, 169, 5727.385, 554.3962, 653.2108, 4.450591, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+77,180415, 571, 1, 0, 169, 5736.26, 546.9634, 653.2068, 4.956738, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+78,180415, 571, 1, 0, 169, 5710.064, 650.7815, 648.6602, 0.2617982, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+79,180407, 571, 1, 0, 169, 5819.17, 537.0236, 654.2689, 3.508117, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+80,180406, 571, 1, 0, 169, 5825.69, 539.1132, 654.2733, 3.57793, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+81,180429, 571, 1, 0, 169, 5890.736, 547.4893, 649.311, 3.159062, 0, 0, 0, 1, 120, 255, 1), -- 180429 (Area: 4613)
+(@OGUID+82,180406, 571, 1, 0, 169, 5881.452, 527.659, 641.7739, 3.42085, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+83,180472, 571, 1, 0, 169, 5858.2, 635.0283, 654.1966, 0.8552105, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+84,180411, 571, 1, 0, 169, 5843.23, 641.0156, 651.1626, 5.724681, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4613)
+(@OGUID+85,180472, 571, 1, 0, 169, 5885.185, 523.5266, 649.183, 3.735006, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+86,180415, 571, 1, 0, 169, 5883.065, 523.7357, 642.2219, 4.555311, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+87,180415, 571, 1, 0, 169, 5884.091, 519.3121, 641.5697, 2.862335, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+88,180429, 571, 1, 0, 169, 5900.888, 555.5231, 649.303, 3.944446, 0, 0, 0, 1, 120, 255, 1), -- 180429 (Area: 4613)
+(@OGUID+89,180415, 571, 1, 0, 169, 5886.866, 524.562, 642.2232, 3.298687, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+90,180472, 571, 1, 0, 169, 5885.981, 520.1681, 649.2055, 0.6108634, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+91,180415, 571, 1, 0, 169, 5881.253, 512.0975, 641.5697, 3.717554, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+92,180411, 571, 1, 0, 169, 5851.213, 642.0174, 651.0532, 2.844883, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4613)
+(@OGUID+93,180415, 571, 1, 0, 169, 5882.032, 509.4985, 641.5697, 5.777041, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+94,180415, 571, 1, 0, 169, 5811.41, 654.3241, 647.392, 4.415683, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+95,180415, 571, 1, 0, 169, 5860.809, 639.9338, 648.7387, 2.286379, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+96,180415, 571, 1, 0, 169, 5857.7, 642.8248, 648.7574, 1.727875, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+97,180415, 571, 1, 0, 169, 5821.589, 653.7233, 647.4023, 4.904376, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+98,180407, 571, 1, 0, 169, 5874.733, 503.2205, 644.0117, 0.6806767, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+99,180472, 571, 1, 0, 169, 5854.177, 643.7856, 621.9326, 0.9599299, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+100,180415, 571, 1, 0, 169, 5887.842, 520.2131, 641.5697, 2.809975, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+101,180415, 571, 1, 0, 169, 5882.763, 505.9572, 641.5697, 6.03884, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+102,180415, 571, 1, 0, 169, 5806.485, 653.2708, 609.8859, 1.902409, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+103,180472, 571, 1, 0, 169, 5911.032, 576.6434, 619.5021, 5.253442, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+104,180415, 571, 1, 0, 169, 5908.835, 572.4176, 612.8084, 6.248279, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+105,180415, 571, 1, 0, 169, 5909.355, 557.9609, 616.0233, 3.944446, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+106,180415, 571, 1, 0, 169, 5914.888, 579.7658, 612.8085, 3.351047, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+107,180415, 571, 1, 0, 169, 5917.828, 556.0546, 616.0338, 0.4886912, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+108,180407, 571, 1, 0, 169, 5922.737, 572.6234, 612.5124, 4.869471, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+109,180415, 571, 1, 0, 169, 5857.261, 647.3333, 648.7574, 2.33874, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+110,180406, 571, 1, 0, 169, 5861.599, 649.9679, 658.3734, 5.183629, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+111,180407, 571, 1, 0, 169, 5861.045, 644.9129, 658.374, 4.66003, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+112,180472, 571, 1, 0, 169, 5853.057, 649.1964, 665.2919, 1.082103, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+113,180415, 571, 1, 0, 169, 5928.843, 579.6561, 616.0331, 3.019413, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+114,180407, 571, 1, 0, 169, 5934.309, 611.9305, 652.9676, 3.961899, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+115,180415, 571, 1, 0, 169, 5856.715, 651.5797, 648.7574, 4.084071, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+116,180415, 571, 1, 0, 169, 5893.633, 514.4703, 641.5697, 0.4188786, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+117,180411, 571, 1, 0, 169, 5849.691, 655.1979, 651.0836, 2.984498, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4613)
+(@OGUID+118,180415, 571, 1, 0, 169, 5934.673, 573.1963, 616.0229, 0.4188786, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+119,180411, 571, 1, 0, 169, 5841.72, 654.2864, 651.1182, 1.308995, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4613)
+(@OGUID+120,180415, 571, 1, 0, 169, 5856.279, 656.2487, 648.7574, 2.775069, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+121,180415, 571, 1, 0, 169, 5928.253, 556.8299, 616.0229, 5.131269, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+122,180415, 571, 1, 0, 169, 5933.573, 563.7382, 616.0335, 2.216565, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+123,180415, 571, 1, 0, 169, 5893.986, 512.0244, 641.5697, 1.448622, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+124,180415, 571, 1, 0, 169, 5894.723, 508.7653, 641.5697, 3.001947, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+125,180415, 571, 1, 0, 169, 5858.74, 659.7316, 648.7386, 2.82743, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+126,180415, 571, 1, 0, 169, 5935.716, 564.6371, 610.6148, 3.47321, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+127,180415, 571, 1, 0, 169, 5930.358, 557.245, 610.5422, 5.044002, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+128,180472, 571, 1, 0, 169, 5846.67, 654.1088, 618.3235, 0.1396245, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+129,180410, 571, 1, 0, 169, 5850.755, 664.9973, 658.8376, 3.961899, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 4613)
+(@OGUID+130,180415, 571, 1, 0, 169, 5841.599, 664.91, 609.8859, 2.879789, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+131,180472, 571, 1, 0, 169, 5855.111, 663.9308, 654.1978, 1.954769, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+132,180407, 571, 1, 0, 169, 5948.633, 614.5261, 650.6004, 4.188792, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+133,180415, 571, 1, 0, 169, 5836.036, 660.7959, 609.8859, 3.176533, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+134,180406, 571, 1, 0, 169, 5939.868, 564.8651, 612.0865, 4.834563, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+135,180410, 571, 1, 0, 169, 5844.364, 664.4332, 647.9496, 5.707228, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 4613)
+(@OGUID+136,180411, 571, 1, 0, 169, 5893.518, 492.6269, 644.5281, 3.543024, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4616)
+(@OGUID+137,180407, 571, 1, 0, 169, 5875.965, 497.4745, 657.2557, 5.288348, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4616)
+(@OGUID+138,180407, 571, 1, 0, 169, 5863.621, 487.1664, 641.5697, 1.919862, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4616)
+(@OGUID+139,180406, 571, 1, 0, 169, 5864.623, 480.571, 641.5697, 2.111848, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4616)
+(@OGUID+140,180406, 571, 1, 0, 169, 5877.73, 489.3853, 657.3113, 5.218536, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4616)
+(@OGUID+141,180415, 571, 1, 0, 169, 5892.837, 490.0521, 641.2783, 4.537859, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+142,180415, 571, 1, 0, 169, 5891.826, 490.1104, 641.5697, 6.003934, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+143,180415, 571, 1, 0, 169, 5895.737, 492.6667, 640.7758, 0.8901166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+144,180472, 571, 1, 0, 169, 5864.557, 470.3632, 647.7255, 3.281239, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4616)
+(@OGUID+145,180415, 571, 1, 0, 169, 5893.601, 489.979, 641.0445, 6.230826, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+146,180415, 571, 1, 0, 169, 5902.456, 493.8513, 640.7816, 4.031712, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+147,180415, 571, 1, 0, 169, 5895.705, 475.3102, 641.3199, 4.71239, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+148,180415, 571, 1, 0, 169, 5894.93, 474.8922, 641.5697, 0.122173, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+149,180407, 571, 1, 0, 169, 5883.147, 462.4044, 657.2766, 5.358162, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4616)
+(@OGUID+150,180415, 571, 1, 0, 169, 5896.422, 475.6479, 641.0445, 4.310966, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+151,180411, 571, 1, 0, 169, 5899.214, 464.7854, 644.7711, 5.515242, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4616)
+(@OGUID+152,180415, 571, 1, 0, 169, 5906.314, 475.4718, 640.7803, 4.81711, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+153,180411, 571, 1, 0, 169, 5880.079, 459.3812, 662.5659, 1.431168, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4616)
+(@OGUID+154,180415, 571, 1, 0, 169, 5899.555, 474.0015, 640.776, 4.206246, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+155,180415, 571, 1, 0, 169, 5825.489, 463.355, 658.7728, 5.969027, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+156,180415, 571, 1, 0, 169, 5820.489, 466.2061, 658.7727, 2.18166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+157,180415, 571, 1, 0, 169, 5814.865, 467.4187, 658.7726, 0.2617982, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+158,180406, 571, 1, 0, 169, 5877.546, 452.3022, 657.9406, 4.206246, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4616)
+(@OGUID+159,180415, 571, 1, 0, 169, 5831.669, 453.8633, 658.7728, 2.35619, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+160,180415, 571, 1, 0, 169, 5829.311, 459.1713, 658.7728, 1.553341, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+161,180410, 571, 1, 0, 169, 5873.148, 451.0983, 642.2259, 1.658062, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 4616)
+(@OGUID+162,180410, 571, 1, 0, 169, 5907.471, 449.2349, 642.2161, 1.902409, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 4616)
+(@OGUID+163,180415, 571, 1, 0, 169, 5809.19, 466.7998, 658.7725, 0.5934101, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+164,180415, 571, 1, 0, 169, 5831.065, 442.6467, 658.7728, 1.448622, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+165,180415, 571, 1, 0, 169, 5803.969, 464.4766, 658.7724, 2.862335, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+166,180415, 571, 1, 0, 169, 5832.148, 448.1182, 658.7727, 1.256636, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+167,180415, 571, 1, 0, 169, 5828.126, 437.6552, 658.7726, 3.246347, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+168,180406, 571, 1, 0, 169, 5814.591, 573.3528, 649.9803, 0.7155849, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 0)
+(@OGUID+169,180406, 571, 1, 0, 169, 5965.314, 596.2342, 650.6269, 3.071766, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4616)
+(@OGUID+170,180406, 571, 1, 0, 169, 5943.678, 636.6887, 652.9681, 5.148723, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4616)
+(@OGUID+171,180410, 571, 1, 0, 169, 5851.691, 630.7206, 658.9904, 2.600535, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 4616)
+(@OGUID+172,180415, 571, 1, 0, 169, 5849.42, 630.6858, 648.6568, 3.857183, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+173,180415, 571, 1, 0, 169, 5850.446, 631.7395, 647.5121, 1.431168, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+174,180472, 571, 1, 0, 169, 5845.358, 629.1765, 623.5621, 4.729844, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4616)
+(@OGUID+175,180407, 571, 1, 0, 169, 5979.741, 625.2219, 650.6269, 0.03490625, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4616)
+(@OGUID+176,180410, 571, 1, 0, 169, 5842.257, 636.217, 647.894, 0.9773831, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 4616)
+(@OGUID+177,180415, 571, 1, 0, 169, 5846.326, 633.0816, 648.738, 4.520406, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+178,180415, 571, 1, 0, 169, 5847.134, 634.3536, 647.5121, 4.939284, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4616)
+(@OGUID+179,180407, 571, 1, 0, 169, 5818.687, 619.2923, 613.1467, 4.363324, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4616)
+(@OGUID+180,180415, 571, 1, 0, 169, 5820.354, 632.9934, 647.3919, 3.089183, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+181,180415, 571, 1, 0, 169, 5814.812, 625.3407, 647.392, 3.68265, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+182,180406, 571, 1, 0, 169, 5808.426, 620.7781, 649.5657, 3.857183, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+183,180415, 571, 1, 0, 169, 5809.522, 628.6146, 647.392, 0.3665176, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+184,180472, 571, 1, 0, 169, 5835.432, 637.2127, 619.9534, 2.530723, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+185,180415, 571, 1, 0, 169, 5816.108, 637.7375, 647.392, 0.087266, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+186,180415, 571, 1, 0, 169, 5814.764, 643.3781, 647.3929, 4.24115, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+187,180415, 571, 1, 0, 169, 5806.706, 634.3302, 648.2245, 4.694937, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+188,180415, 571, 1, 0, 169, 5803.731, 634.0671, 648.2162, 1.099556, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+189,180415, 571, 1, 0, 169, 5803.088, 629.0997, 647.3966, 3.071766, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+190,180415, 571, 1, 0, 169, 5817.476, 648.9861, 647.392, 5.969027, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+191,180415, 571, 1, 0, 169, 5798.526, 625.1855, 647.392, 0.3490652, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+192,180415, 571, 1, 0, 169, 5809.953, 641.7255, 648.2184, 0.157079, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+193,180407, 571, 1, 0, 169, 5800.643, 620.0817, 649.5657, 3.281239, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+194,180415, 571, 1, 0, 169, 5810.266, 638.7852, 648.2237, 2.007128, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+195,180415, 571, 1, 0, 169, 5814.763, 631.7408, 609.8859, 6.161013, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+196,180415, 571, 1, 0, 169, 5824.873, 659.8167, 647.4612, 5.480334, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+197,180415, 571, 1, 0, 169, 5795.606, 621.2239, 647.3924, 3.909541, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+198,180415, 571, 1, 0, 169, 5805.514, 645.3051, 648.2424, 3.996807, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+199,180415, 571, 1, 0, 169, 5815.022, 659.305, 647.4066, 1.815142, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+200,180415, 571, 1, 0, 169, 5817.596, 637.9969, 609.8859, 0.6806767, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+201,180415, 571, 1, 0, 169, 5806.178, 650.1483, 647.3949, 4.572764, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+202,180415, 571, 1, 0, 169, 5799.287, 637.6236, 648.2151, 3.595379, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+203,180415, 571, 1, 0, 169, 5799.006, 640.5789, 648.2176, 5.916668, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+204,180415, 571, 1, 0, 169, 5809.311, 627.6649, 609.8859, 1.256636, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+205,180415, 571, 1, 0, 169, 5802.596, 644.9901, 648.22, 5.689774, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+206,180406, 571, 1, 0, 169, 5799.613, 575.9578, 633.1762, 1.448622, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+207,180415, 571, 1, 0, 169, 5791.946, 630.3287, 647.392, 3.525572, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+208,180415, 571, 1, 0, 169, 5794.709, 635.8553, 647.3961, 3.490667, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+209,180415, 571, 1, 0, 169, 5816.86, 644.9385, 609.8859, 5.619962, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+210,180415, 571, 1, 0, 169, 5793.807, 640.3995, 647.3958, 5.340709, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+211,180415, 571, 1, 0, 169, 5801.429, 649.8392, 647.4017, 5.846854, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+212,180415, 571, 1, 0, 169, 5789.164, 626.7645, 647.3924, 1.902409, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+213,180415, 571, 1, 0, 169, 5819.923, 663.9031, 647.4847, 3.857183, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+214,180415, 571, 1, 0, 169, 5802.309, 626.9839, 609.8859, 3.47321, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+215,180415, 571, 1, 0, 169, 5790.742, 604.8807, 609.8859, 0.3141584, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+216,180415, 571, 1, 0, 169, 5812.88, 650.5403, 609.8859, 2.321287, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+217,180415, 571, 1, 0, 169, 5796.077, 629.7592, 609.8859, 4.66003, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+218,180415, 571, 1, 0, 169, 5787.88, 598.5773, 609.8859, 1.727875, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+219,180415, 571, 1, 0, 169, 5788.278, 648.998, 647.2794, 5.270896, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+220,180415, 571, 1, 0, 169, 5792.746, 654.9274, 647.4214, 5.637414, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+221,180415, 571, 1, 0, 169, 5829.179, 660.076, 609.8859, 1.919862, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+222,180415, 571, 1, 0, 169, 5822.864, 662.8907, 609.8859, 2.82743, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+223,180415, 571, 1, 0, 169, 5790.068, 611.6815, 609.8859, 2.897245, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+224,180415, 571, 1, 0, 169, 5844.557, 671.1918, 609.8859, 2.251473, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+225,180415, 571, 1, 0, 169, 5782.394, 594.4963, 609.8859, 1.97222, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+226,180415, 571, 1, 0, 169, 5799.559, 652.5767, 609.8859, 1.675514, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+227,180415, 571, 1, 0, 169, 5785.96, 617.3203, 609.8859, 2.740162, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+228,180415, 571, 1, 0, 169, 5818.826, 668.4368, 609.8859, 3.351047, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+229,180415, 571, 1, 0, 169, 5791.192, 642.2432, 609.8859, 2.129301, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+230,180415, 571, 1, 0, 169, 5791.933, 635.3745, 609.8859, 3.665196, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+231,180415, 571, 1, 0, 169, 5818.045, 675.3859, 609.8859, 5.567601, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+232,180415, 571, 1, 0, 169, 5794.031, 648.5314, 609.8859, 1.815142, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+233,180415, 571, 1, 0, 169, 5843.832, 678.011, 609.8859, 1.413715, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+234,180415, 571, 1, 0, 169, 5839.708, 683.6341, 609.8859, 3.38594, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+235,180415, 571, 1, 0, 169, 5772.786, 619.4384, 609.8859, 4.799657, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+236,180415, 571, 1, 0, 169, 5779.674, 620.1669, 609.8859, 5.462882, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+237,180415, 571, 1, 0, 169, 5775.475, 593.8323, 609.8859, 2.286379, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+238,180415, 571, 1, 0, 169, 5820.88, 681.6428, 609.8859, 0.802851, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+239,180415, 571, 1, 0, 169, 5833.342, 686.4538, 609.8859, 4.939284, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+240,180406, 571, 1, 0, 169, 5770.311, 581.2781, 619.9363, 2.82743, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+241,180415, 571, 1, 0, 169, 5769.2, 596.6345, 609.8859, 1.640607, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+242,180407, 571, 1, 0, 169, 5753.431, 594.8392, 619.9331, 3.106652, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+243,180415, 571, 1, 0, 169, 5767.191, 615.3619, 609.8859, 0.4537851, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+244,180415, 571, 1, 0, 169, 5765.103, 602.2392, 609.8859, 0.5235979, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+245,180415, 571, 1, 0, 169, 5764.401, 609.0145, 609.8859, 2.286379, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+246,180415, 571, 1, 0, 169, 5799.662, 460.6987, 658.7724, 1.884953, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4598)
+(@OGUID+247,180415, 571, 1, 0, 169, 5796.819, 455.7213, 658.7723, 4.398232, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4598)
+(@OGUID+248,180415, 571, 1, 0, 169, 5796.333, 444.3685, 658.772, 3.612838, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4598)
+(@OGUID+249,180415, 571, 1, 0, 169, 5795.719, 450.095, 658.7721, 3.857183, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4598)
+(@OGUID+250,180415, 571, 1, 0, 169, 5798.614, 439.1821, 658.7722, 5.462882, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4598)
+(@OGUID+251,180415, 571, 1, 0, 169, 5818.679, 431.5019, 658.7725, 3.560473, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4598)
+(@OGUID+252,180415, 571, 1, 0, 169, 5823.953, 433.8398, 658.7726, 4.921829, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4598)
+(@OGUID+253,180415, 571, 1, 0, 169, 5802.473, 434.9366, 658.7722, 2.879789, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4564)
+(@OGUID+254,180415, 571, 1, 0, 169, 5807.424, 432.0813, 658.7723, 4.06662, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4564)
+(@OGUID+255,180415, 571, 1, 0, 169, 5812.94, 430.9195, 658.7723, 4.485497, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4564)
+(@OGUID+256,180415, 571, 1, 0, 169, 5754.749, 614.3086, 650.5781, 0.9948372, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+257,180415, 571, 1, 0, 169, 5752.304, 612.6968, 650.5865, 3.717554, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+258,180415, 571, 1, 0, 169, 5749.63, 613.0443, 650.5931, 6.248279, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+259,180415, 571, 1, 0, 169, 5747.075, 615.2822, 650.555, 0.4014249, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+260,180415, 571, 1, 0, 169, 5744.621, 617.712, 649.0058, 3.874631, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+261,180472, 571, 1, 0, 169, 5762.698, 626.3858, 622.6323, 0.2967052, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+262,180472, 571, 1, 0, 169, 5751.257, 635.6403, 625.4073, 5.201083, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+263,180472, 571, 1, 0, 169, 5772.164, 641.6515, 625.404, 5.637414, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+264,180472, 571, 1, 0, 169, 5780.46, 648.5278, 623.1652, 5.689774, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+265,180415, 571, 1, 0, 169, 5699.396, 613.3456, 646.913, 4.188792, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4567)
+(@OGUID+266,180406, 571, 1, 0, 169, 5715.341, 537.7757, 654.431, 2.722713, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4567)
+(@OGUID+267,180415, 571, 1, 0, 169, 5694.938, 612.3784, 646.913, 3.560473, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4567)
+(@OGUID+268,180415, 571, 1, 0, 169, 5741.505, 643.7399, 648.7906, 3.351047, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4567)
+(@OGUID+269,180415, 571, 1, 0, 169, 5739.154, 636.8212, 648.0576, 6.108654, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4567)
+(@OGUID+270,180407, 571, 1, 0, 169, 5684.432, 627.8524, 647.1506, 2.565632, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4567)
+(@OGUID+271,180415, 571, 1, 0, 169, 5705.729, 645.3735, 648.6602, 5.253442, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4567)
+(@OGUID+272,180415, 571, 1, 0, 169, 5705.89, 647.2834, 648.6602, 3.57793, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4567)
+(@OGUID+273,180415, 571, 1, 0, 169, 5706.852, 649.0601, 648.6602, 1.326448, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4567)
+(@OGUID+274,180415, 571, 1, 0, 169, 5708.286, 650.1924, 648.6602, 5.916668, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4567)
+(@OGUID+275,180415, 571, 1, 0, 169, 5744.292, 647.872, 650.5656, 1.134463, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4567)
+(@OGUID+276,180472, 571, 1, 0, 169, 5759.925, 650.0181, 625.4079, 5.98648, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4567)
+(@OGUID+277,180415, 571, 1, 0, 169, 5747.346, 650.718, 650.5872, 4.136433, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4567)
+(@OGUID+278,180415, 571, 1, 0, 169, 5751.074, 649.3328, 650.5782, 0.9424766, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4567)
+(@OGUID+279,180472, 571, 1, 0, 169, 5772.861, 661.1832, 625.4011, 2.495818, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4567)
+(@OGUID+280,180411, 571, 1, 0, 169, 5725.395, 683.3143, 650.6137, 2.495818, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4613)
+(@OGUID+281,180407, 571, 1, 0, 169, 5718.163, 673.8229, 647.5087, 2.82743, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+282,180407, 571, 1, 0, 169, 5778.422, 682.1052, 643.6171, 4.380776, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+283,180406, 571, 1, 0, 169, 5702.005, 692.7043, 655.5365, 1.047198, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+284,180415, 571, 1, 0, 169, 5783.094, 693.3018, 647.382, 5.305802, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+285,180415, 571, 1, 0, 169, 5784.806, 690.4636, 647.4271, 0.9424766, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+286,180407, 571, 1, 0, 169, 5663.047, 663.5198, 654.332, 1.97222, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+287,180472, 571, 1, 0, 169, 5697.199, 694.4003, 650.3392, 3.246347, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+288,180411, 571, 1, 0, 169, 5705.412, 698.7116, 659.8047, 1.797689, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4613)
+(@OGUID+289,180406, 571, 1, 0, 169, 5796.241, 685.36, 622.4468, 3.612838, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+290,180415, 571, 1, 0, 169, 5782.856, 691.076, 619.1068, 1.343901, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+291,180407, 571, 1, 0, 169, 5776.292, 694.8016, 620.0498, 1.815142, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+292,180406, 571, 1, 0, 169, 5710.861, 703.6387, 655.5365, 5.323256, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+293,180415, 571, 1, 0, 169, 5773.052, 697.6647, 618.808, 0.2094394, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+294,180415, 571, 1, 0, 169, 5770.577, 700.3301, 618.9056, 0.3490652, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+295,180415, 571, 1, 0, 169, 5777.162, 695.6837, 618.886, 6.213374, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+296,180411, 571, 1, 0, 169, 5762.035, 699.783, 621.4487, 4.590216, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4613)
+(@OGUID+297,180472, 571, 1, 0, 169, 5695.049, 700.8595, 658.7589, 0.6283169, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4568)
+(@OGUID+298,180472, 571, 1, 0, 169, 5692.463, 698.1651, 646.9638, 5.532695, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4568)
+(@OGUID+299,180406, 571, 1, 0, 169, 5656.161, 674.6107, 651.9675, 2.984498, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4568)
+(@OGUID+300,180406, 571, 1, 0, 169, 5673.89, 687.817, 654.3331, 0.8726639, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4568)
+(@OGUID+301,180407, 571, 1, 0, 169, 5680.124, 714.1534, 653.8931, 1.466076, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4568)
+(@OGUID+302,180407, 571, 1, 0, 169, 5643.794, 704.9396, 651.9927, 6.108654, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4568)
+(@OGUID+303,180472, 571, 1, 0, 169, 5711.498, 710.7621, 658.8002, 2.18166, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4568)
+(@OGUID+304,180472, 571, 1, 0, 169, 5682.352, 717.6917, 660.2382, 1.448622, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4568)
+(@OGUID+305,180472, 571, 1, 0, 169, 5713.616, 713.4178, 659.8443, 4.34587, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4568)
+(@OGUID+306,180472, 571, 1, 0, 169, 5707.959, 708.0295, 650.3406, 6.178466, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4568)
+(@OGUID+307,180472, 571, 1, 0, 169, 5680.694, 719.1438, 648.2689, 5.305802, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4568)
+(@OGUID+308,180472, 571, 1, 0, 169, 5701.399, 708.7687, 658.7588, 4.81711, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4568)
+(@OGUID+309,180407, 571, 1, 0, 169, 5672.957, 714.2048, 642.0627, 4.293513, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4568)
+(@OGUID+310,180406, 571, 1, 0, 169, 5677.349, 729.4107, 653.3925, 6.126106, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4568)
+(@OGUID+311,180407, 571, 1, 0, 169, 5654.972, 745.8715, 643.2557, 5.969027, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4568)
+(@OGUID+312,180407, 571, 1, 0, 169, 5629.459, 729.5208, 643.1681, 2.076939, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4568)
+(@OGUID+313,180406, 571, 1, 0, 169, 5647.172, 752.6823, 643.2747, 5.916668, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4568)
+(@OGUID+314,180411, 571, 1, 0, 169, 5740.034, 730.2188, 646.2493, 1.099556, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4568)
+(@OGUID+315,180415, 571, 1, 0, 169, 5757.258, 714.6268, 621.7719, 3.735006, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4568)
+(@OGUID+316,180410, 571, 1, 0, 169, 5754.624, 713.8906, 618.7103, 5.602507, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 4568)
+(@OGUID+317,180411, 571, 1, 0, 169, 5759.559, 714.3611, 646.4409, 3.019413, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4568)
+(@OGUID+318,180415, 571, 1, 0, 169, 5760.468, 718.4333, 621.6825, 3.525572, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4568)
+(@OGUID+319,180410, 571, 1, 0, 169, 5760.893, 721.6644, 618.6522, 5.654869, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 4568)
+(@OGUID+320,180415, 571, 1, 0, 169, 5783.688, 696.0384, 647.3867, 3.298687, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+321,180415, 571, 1, 0, 169, 5785.933, 698.4983, 647.3533, 2.251473, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+322,180415, 571, 1, 0, 169, 5788.838, 701.0469, 645.5853, 5.585054, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+323,180415, 571, 1, 0, 169, 5787.46, 697.2659, 619.1364, 2.513274, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+324,180415, 571, 1, 0, 169, 5782.752, 703.0441, 618.8907, 4.625124, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+325,180415, 571, 1, 0, 169, 5790.956, 702.4618, 645.574, 3.839725, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+326,180415, 571, 1, 0, 169, 5793.381, 703.7379, 645.5629, 2.007128, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+327,180415, 571, 1, 0, 169, 5780.374, 706.554, 618.8164, 4.590216, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+328,180415, 571, 1, 0, 169, 5777.6, 709.0973, 618.8805, 0.6981314, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+329,180415, 571, 1, 0, 169, 5798.407, 704.9445, 643.7188, 0.087266, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+330,180415, 571, 1, 0, 169, 5798.076, 707.0781, 643.2503, 4.729844, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+331,180407, 571, 1, 0, 169, 5796.173, 707.6254, 641.702, 3.490667, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+332,180415, 571, 1, 0, 169, 5797.557, 709.8958, 642.1785, 2.059488, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+333,180406, 571, 1, 0, 169, 5805.458, 708.4065, 641.4847, 3.68265, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+334,180415, 571, 1, 0, 169, 5803.493, 707.8524, 643.1374, 0.6283169, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+335,180415, 571, 1, 0, 169, 5808.656, 705.1858, 645.5119, 4.136433, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+336,180406, 571, 1, 0, 169, 5810.498, 684.2795, 613.1106, 1.343901, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+337,180415, 571, 1, 0, 169, 5815.443, 686.139, 620.7764, 3.57793, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+338,180429, 571, 1, 0, 169, 5820.363, 685.0911, 651.8358, 4.031712, 0, 0, 0, 1, 120, 255, 1), -- 180429 (Area: 4613)
+(@OGUID+339,180415, 571, 1, 0, 169, 5814.018, 684.253, 620.7783, 2.042035, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+340,180415, 571, 1, 0, 169, 5803.706, 705.5712, 643.6826, 2.530723, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+341,180415, 571, 1, 0, 169, 5819.794, 694.0382, 647.324, 5.270896, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+342,180415, 571, 1, 0, 169, 5818.243, 689.6962, 620.7728, 1.204277, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+343,180415, 571, 1, 0, 169, 5813.675, 703.7327, 645.5302, 5.829401, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+344,180415, 571, 1, 0, 169, 5811.034, 704.5538, 645.5168, 3.769912, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+345,180415, 571, 1, 0, 169, 5816.901, 687.9096, 620.7746, 5.044002, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+346,180415, 571, 1, 0, 169, 5803.448, 710.5295, 642.1144, 1.466076, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+347,180415, 571, 1, 0, 169, 5821.086, 697.1408, 647.4297, 1.588249, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+348,180415, 571, 1, 0, 169, 5817.18, 701.6979, 647.2963, 3.979355, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+349,180428, 571, 1, 0, 169, 5770.154, 735.5269, 641.4877, 2.583081, 0, 0, 0, 1, 120, 255, 1), -- 180428 (Area: 4613)
+(@OGUID+350,180415, 571, 1, 0, 169, 5819.856, 699.8424, 647.4349, 2.059488, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+351,180415, 571, 1, 0, 169, 5826.483, 685.6487, 609.8859, 0.6283169, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4613)
+(@OGUID+352,180406, 571, 1, 0, 169, 5759.826, 735.288, 619.8346, 1.186823, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+353,180408, 571, 1, 0, 169, 5771.545, 737.5035, 643.0945, 1.274088, 0, 0, 0, 1, 120, 255, 1), -- 180408 (Area: 4613)
+(@OGUID+354,180472, 571, 1, 0, 169, 5778.527, 742.8954, 628.8207, 3.316144, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 4613)
+(@OGUID+355,180406, 571, 1, 0, 169, 5715.729, 758.2275, 641.7689, 0.9948372, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+356,180407, 571, 1, 0, 169, 5849.386, 695.0423, 618.1664, 5.951575, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+357,180407, 571, 1, 0, 169, 5824.359, 760.3876, 640.3284, 6.126106, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4613)
+(@OGUID+358,180406, 571, 1, 0, 169, 5817.995, 795.4424, 636.5713, 6.161013, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4613)
+(@OGUID+359,180411, 571, 1, 0, 169, 5866.639, 738.9694, 644.7529, 0.5934101, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4619)
+(@OGUID+360,180415, 571, 1, 0, 169, 5863.78, 735.2543, 640.5769, 5.602507, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4619)
+(@OGUID+361,180415, 571, 1, 0, 169, 5863.101, 737.2114, 641.4838, 2.146753, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4619)
+(@OGUID+362,180415, 571, 1, 0, 169, 5867.234, 738.8976, 641.493, 4.433136, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4619)
+(@OGUID+363,180415, 571, 1, 0, 169, 5868.181, 737.1629, 640.6047, 5.235988, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4619)
+(@OGUID+364,180411, 571, 1, 0, 169, 5866.184, 738.7732, 642.8267, 3.403396, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 4619)
+(@OGUID+365,180406, 571, 1, 0, 169, 5868.594, 725.371, 639.2031, 4.136433, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 4619)
+(@OGUID+366,180407, 571, 1, 0, 169, 5876.713, 739.0898, 639.2625, 0.4712385, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 4619)
+(@OGUID+367,180415, 571, 1, 0, 169, 5881.346, 740.5377, 641.2245, 0.5585039, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4619)
+(@OGUID+368,180415, 571, 1, 0, 169, 5881.581, 738.4108, 640.2767, 5.567601, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4619)
+(@OGUID+369,180415, 571, 1, 0, 169, 5885.815, 741.3719, 641.2227, 0.8377575, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+370,180415, 571, 1, 0, 169, 5886.161, 739.3089, 640.2971, 6.03884, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+371,180415, 571, 1, 0, 169, 5894.53, 711.022, 642.7033, 2.18166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+372,180415, 571, 1, 0, 169, 5899.31, 745.5648, 641.9313, 2.879789, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+373,180415, 571, 1, 0, 169, 5898.649, 743.8654, 640.9814, 0.5934101, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+374,180415, 571, 1, 0, 169, 5892.321, 708.2484, 643.9171, 4.398232, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+375,180415, 571, 1, 0, 169, 5913.069, 726.2639, 642.1484, 4.32842, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+376,180415, 571, 1, 0, 169, 5903.729, 744.6061, 642.0323, 6.108654, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+377,180411, 571, 1, 0, 169, 5906.245, 742.7525, 644.4848, 0.8901166, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 0)
+(@OGUID+378,180415, 571, 1, 0, 169, 5903.366, 742.7047, 641.1063, 5.637414, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+379,180415, 571, 1, 0, 169, 5915.093, 726.1569, 643.0661, 5.218536, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+380,180415, 571, 1, 0, 169, 5915.276, 730.6907, 643.0677, 4.32842, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+381,180415, 571, 1, 0, 169, 5913.209, 731.0977, 642.1209, 3.001947, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+382,180415, 571, 1, 0, 169, 5914.37, 712.4825, 643.2484, 3.839725, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+383,180415, 571, 1, 0, 169, 5897.809, 708.4827, 642.675, 4.171338, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+384,180415, 571, 1, 0, 169, 5912.41, 712.7233, 642.2968, 0.6981314, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+385,180415, 571, 1, 0, 169, 5912.094, 708.0308, 642.4371, 5.846854, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+386,180415, 571, 1, 0, 169, 5914.194, 707.9479, 643.3494, 4.76475, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+387,180415, 571, 1, 0, 169, 5895.294, 705.7078, 643.9164, 0.8203033, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+388,180407, 571, 1, 0, 169, 5899.475, 704.617, 641.8773, 2.740162, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+389,180411, 571, 1, 0, 169, 5895.397, 691.5417, 647.283, 1.134463, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 0)
+(@OGUID+390,180415, 571, 1, 0, 169, 5897.531, 684.7337, 643.5082, 0.7504908, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4560)
+(@OGUID+391,180415, 571, 1, 0, 169, 5900.777, 688.1335, 643.5274, 4.258607, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4560)
+(@OGUID+392,180415, 571, 1, 0, 169, 5899.163, 683.2125, 644.4352, 2.809975, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4560)
+(@OGUID+393,180415, 571, 1, 0, 169, 5902.085, 686.6057, 644.4786, 5.602507, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 4560)
+(@OGUID+394,180429, 571, 1, 0, 169, 5951.905, 675.3125, 656.6282, 5.899214, 0, 0, 0, 1, 120, 255, 1), -- 180429 (Area: 4570)
+(@OGUID+395, 180405, 571, 1, 0, 169, 5760.702, 701.1509, 624.7817, 0.6457717, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: -1)
+(@OGUID+396, 180405, 571, 1, 0, 169, 5775.396, 533.9785, 643.1385, 2.042035, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+397, 180405, 571, 1, 0, 169, 5847.228, 553.8382, 655.0237, 3.071766, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+398, 180405, 571, 1, 0, 169, 5722.783, 531.7375, 654.4309, 3.141593, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+399, 180405, 571, 1, 0, 169, 5822.742, 502.0839, 657.3818, 0.4712385, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+400, 180405, 571, 1, 0, 169, 5869.858, 617.1184, 619.7509, 4.694937, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+401, 180405, 571, 1, 0, 169, 5854.306, 634.2508, 647.5121, 4.380776, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+402, 180405, 571, 1, 0, 169, 5886.771, 528.7459, 641.8399, 3.787367, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+403, 180405, 571, 1, 0, 169, 5863.885, 640.6849, 647.049, 1.448622, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+404, 180405, 571, 1, 0, 169, 5917.715, 566.2281, 612.521, 3.595379, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+405, 180405, 571, 1, 0, 169, 5860.379, 654.9897, 658.3739, 5.532695, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+406, 180405, 571, 1, 0, 169, 5899.553, 509.2794, 643.4328, 0.4014249, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+407, 180405, 571, 1, 0, 169, 5865.935, 488.1068, 657.8251, 2.775069, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4616)
+(@OGUID+408, 180405, 571, 1, 0, 169, 5899.716, 457.0769, 643.6509, 3.368496, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4616)
+(@OGUID+409, 180405, 571, 1, 0, 169, 5804.67, 572.4031, 650.2531, 6.248279, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4616)
+(@OGUID+410, 180405, 571, 1, 0, 169, 5952.642, 625.262, 650.6025, 5.270896, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4616)
+(@OGUID+411, 180405, 571, 1, 0, 169, 5779.202, 595.5325, 651.0052, 5.532695, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+412, 180405, 571, 1, 0, 169, 5904.518, 662.9713, 643.8431, 6.056293, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+413, 180405, 571, 1, 0, 169, 5764.936, 593.0349, 615.7024, 2.879789, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+414, 180405, 571, 1, 0, 169, 5742.553, 629.7415, 648.2349, 5.096362, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+415, 180405, 571, 1, 0, 169, 5795.288, 666.0266, 613.8831, 0.3665176, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4567)
+(@OGUID+416, 180405, 571, 1, 0, 169, 5772.321, 675.5978, 643.5193, 5.532695, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+417, 180405, 571, 1, 0, 169, 5715.069, 682.2311, 647.5992, 1.762782, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+418, 180405, 571, 1, 0, 169, 5723.762, 693.092, 647.5992, 0.7853968, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+419, 180405, 571, 1, 0, 169, 5627.806, 677.0311, 651.9927, 2.984498, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4568)
+(@OGUID+420, 180405, 571, 1, 0, 169, 5661.1, 685.0604, 651.9661, 0.122173, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4568)
+(@OGUID+421, 180405, 571, 1, 0, 169, 5668.602, 719.249, 653.3779, 2.373644, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4568)
+(@OGUID+422, 180405, 571, 1, 0, 169, 5688.877, 724.2303, 645.729, 0.2094394, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4568)
+(@OGUID+423, 180405, 571, 1, 0, 169, 5629.213, 732.0972, 643.1825, 1.989672, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4568)
+(@OGUID+424, 180405, 571, 1, 0, 169, 5706.784, 747.1557, 641.7341, 1.553341, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4568)
+(@OGUID+425, 180405, 571, 1, 0, 169, 5783.512, 703.9484, 620.0486, 0.3665176, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+426, 180405, 571, 1, 0, 169, 5821.932, 693.4803, 643.1427, 2.687807, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+427, 180405, 571, 1, 0, 169, 5771.341, 737.5543, 641.4539, 1.623156, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+428, 180405, 571, 1, 0, 169, 5790.703, 741.6038, 623.3499, 0.2094394, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4613)
+(@OGUID+429, 180405, 571, 1, 0, 169, 5862, 734.8575, 639.8586, 0.7679439, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 4619)
+(@OGUID+430, 180405, 571, 1, 0, 169, 5912.15, 721.3925, 641.4152, 4.97419, 0, 0, 0, 1, 120, 255, 1); -- 180405 (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+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),
+(12, @OGUID+386),
+(12, @OGUID+387),
+(12, @OGUID+388),
+(12, @OGUID+389),
+(12, @OGUID+390),
+(12, @OGUID+391),
+(12, @OGUID+392),
+(12, @OGUID+393),
+(12, @OGUID+394),
+(12, @OGUID+395),
+(12, @OGUID+396),
+(12, @OGUID+397),
+(12, @OGUID+398),
+(12, @OGUID+399),
+(12, @OGUID+400),
+(12, @OGUID+401),
+(12, @OGUID+402),
+(12, @OGUID+403),
+(12, @OGUID+404),
+(12, @OGUID+405),
+(12, @OGUID+406),
+(12, @OGUID+407),
+(12, @OGUID+408),
+(12, @OGUID+409),
+(12, @OGUID+410),
+(12, @OGUID+411),
+(12, @OGUID+412),
+(12, @OGUID+413),
+(12, @OGUID+414),
+(12, @OGUID+415),
+(12, @OGUID+416),
+(12, @OGUID+417),
+(12, @OGUID+418),
+(12, @OGUID+419),
+(12, @OGUID+420),
+(12, @OGUID+421),
+(12, @OGUID+422),
+(12, @OGUID+423),
+(12, @OGUID+424),
+(12, @OGUID+425),
+(12, @OGUID+426),
+(12, @OGUID+427),
+(12, @OGUID+428),
+(12, @OGUID+429),
+(12, @OGUID+430);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_29_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_29_00_world.sql
new file mode 100644
index 00000000000..4a447b6bd9e
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_29_00_world.sql
@@ -0,0 +1,14 @@
+-- Fix for DB/Event: Add missing Hallow's End event spawns in Dalaran
+SET @OGUID:=77307;
+DELETE FROM `game_event_gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+9 AND `eventEntry`=12;
+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);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_29_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_29_01_world.sql
new file mode 100644
index 00000000000..ccf5fca2cbb
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_29_01_world.sql
@@ -0,0 +1,659 @@
+--
+SET @OGUID:=77697;
+DELETE FROM `game_event_gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+325 AND `eventEntry`=12;
+DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+325;
+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, 180431, 530, 1, 0, 169, -1534.655, 5289.483, 11.84585, 1.204277, 0, 0, 0, 1, 120, 255, 1), -- 180431 (Area: -1)
+(@OGUID+1, 180431, 530, 1, 0, 169, -1551.18, 5096.325, -18.82875, 1.326448, 0, 0, 0, 1, 120, 255, 1), -- 180431 (Area: -1)
+(@OGUID+2, 180431, 530, 1, 0, 169, -1995.255, 5121.023, 8.559834, 6.230826, 0, 0, 0, 1, 120, 255, 1), -- 180431 (Area: -1)
+(@OGUID+3, 180408, 530, 1, 0, 169, -1827.292, 5290.855, -12.42814, 2.548179, 0, 0, 0, 1, 120, 255, 1), -- 180408 (Area: -1)
+(@OGUID+4, 180431, 530, 1, 0, 169, -1885.991, 4967.481, -21.06316, 0.8726639, 0, 0, 0, 1, 120, 255, 1), -- 180431 (Area: -1)
+(@OGUID+5, 180431, 530, 1, 0, 169, -2215.704, 5421.465, 51.26691, 3.543024, 0, 0, 0, 1, 120, 255, 1), -- 180431 (Area: -1)
+(@OGUID+6, 180431, 530, 1, 0, 169, -2170.908, 5149.174, -19.88593, 6.0912, 0, 0, 0, 1, 120, 255, 1), -- 180431 (Area: -1)
+(@OGUID+7, 185434, 530, 1, 0, 169, -1730.203, 5241.882, -48.3983, 0.5061446, 0, 0, 0, 1, 120, 255, 1), -- 185434 (Area: 3899)
+(@OGUID+8, 180415, 530, 1, 0, 169, -1713.155, 5189.252, -40.20916, 4.555311, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+9, 180407, 530, 1, 0, 169, -1726.565, 5195.366, -40.20916, 5.742135, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 3899)
+(@OGUID+10, 180472, 530, 1, 0, 169, -1711.832, 5189.654, -35.45917, 0.2792516, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 3899)
+(@OGUID+11, 185434, 530, 1, 0, 169, -1695.124, 5272.625, -50.12435, 5.654869, 0, 0, 0, 1, 120, 255, 1), -- 185434 (Area: 3899)
+(@OGUID+12, 180415, 530, 1, 0, 169, -1668.301, 5242.631, -51.47162, 5.445428, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+13, 180415, 530, 1, 0, 169, -1746.134, 5166.982, -35.90804, 3.68265, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+14, 180407, 530, 1, 0, 169, -1694.59, 5185.016, -40.20916, 2.35619, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 3899)
+(@OGUID+15, 180415, 530, 1, 0, 169, -1746.674, 5164.065, -35.90804, 3.141593, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+16, 180415, 530, 1, 0, 169, -1767.908, 5170.395, -38.40183, 6.230826, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+17, 180415, 530, 1, 0, 169, -1665.969, 5242.099, -51.50999, 4.642576, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+18, 180415, 530, 1, 0, 169, -1697.149, 5183.031, -40.20916, 4.694937, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+19, 180415, 530, 1, 0, 169, -1746.348, 5166.079, -35.90804, 2.18166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+20, 180415, 530, 1, 0, 169, -1666.871, 5242.716, -51.67263, 4.921829, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+21, 180415, 530, 1, 0, 169, -1749.273, 5163.449, -37.20491, 5.323256, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+22, 180405, 530, 1, 0, 169, -1666.335, 5238.355, -50.38025, 5.567601, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 3899)
+(@OGUID+23, 180415, 530, 1, 0, 169, -1754.351, 5174.463, -38.41282, 3.054327, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+24, 180415, 530, 1, 0, 169, -1721.349, 5167.382, -40.20916, 3.944446, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+25, 180415, 530, 1, 0, 169, -1746.573, 5164.723, -35.90804, 5.026549, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+26, 180415, 530, 1, 0, 169, -1664.876, 5241.221, -51.22554, 0.9424766, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+27, 180415, 530, 1, 0, 169, -1746.429, 5165.326, -35.90803, 5.445428, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+28, 180415, 530, 1, 0, 169, -1726.724, 5175.467, -40.20916, 5.462882, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+29, 180415, 530, 1, 0, 169, -1731.426, 5173.524, -40.20916, 0, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+30, 180406, 530, 1, 0, 169, -1771.68, 5173.339, -40.20917, 3.595379, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 3899)
+(@OGUID+31, 180415, 530, 1, 0, 169, -1746.179, 5167.779, -35.90804, 5.323256, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+32, 180415, 530, 1, 0, 169, -1663.543, 5236.966, -50.02916, 3.368496, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+33, 180415, 530, 1, 0, 169, -1790.927, 5177.194, -41.12518, 5.497789, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+34, 180415, 530, 1, 0, 169, -1701.983, 5172.746, -40.20916, 1.151916, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+35, 180415, 530, 1, 0, 169, -1663.604, 5235.882, -49.77483, 1.937312, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+36, 180415, 530, 1, 0, 169, -1792.114, 5174.076, -40.86684, 2.111848, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+37, 180415, 530, 1, 0, 169, -1663.852, 5235.025, -49.56621, 0.4712385, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+38, 180407, 530, 1, 0, 169, -1739.737, 5159.344, -34.7813, 5.515242, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 3899)
+(@OGUID+39, 180415, 530, 1, 0, 169, -1664.292, 5240.016, -50.89723, 1.570796, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+40, 180415, 530, 1, 0, 169, -1745.957, 5161.741, -35.90803, 3.508117, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+41, 180415, 530, 1, 0, 169, -1706.435, 5167.831, -40.20916, 2.967041, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+42, 180415, 530, 1, 0, 169, -1737.001, 5157.635, -36.06097, 3.33359, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+43, 180415, 530, 1, 0, 169, -1748.725, 5161.841, -37.20491, 1.099556, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+44, 180415, 530, 1, 0, 169, -1663.867, 5238.99, -50.61524, 3.979355, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+45, 180415, 530, 1, 0, 169, -1745.184, 5160.036, -35.90804, 2.44346, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+46, 180415, 530, 1, 0, 169, -1739.258, 5162.583, -36.06791, 1.518436, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+47, 180415, 530, 1, 0, 169, -1663.598, 5238.002, -50.30962, 5.166176, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+48, 180415, 530, 1, 0, 169, -1744.431, 5157.619, -35.90803, 0.1396245, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+49, 180415, 530, 1, 0, 169, -1770.254, 5159.312, -35.90804, 2.548179, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+50, 180415, 530, 1, 0, 169, -1768.823, 5157.79, -35.90805, 2.094393, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+51, 180415, 530, 1, 0, 169, -1691.969, 5171.893, -40.20916, 0.4537851, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+52, 180415, 530, 1, 0, 169, -1742.25, 5152.299, -35.90804, 4.625124, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+53, 180415, 530, 1, 0, 169, -1766.36, 5158.437, -37.20492, 4.415683, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+54, 180415, 530, 1, 0, 169, -1769.767, 5158.846, -35.90805, 2.33874, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+55, 180415, 530, 1, 0, 169, -1765.703, 5156.897, -37.20491, 1.117009, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+56, 180415, 530, 1, 0, 169, -1743.057, 5154.369, -35.90804, 3.455756, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+57, 180415, 530, 1, 0, 169, -1778.556, 5162.756, -40.20917, 1.308995, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+58, 180415, 530, 1, 0, 169, -1678.028, 5180.92, -40.20916, 0.6283169, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+59, 180415, 530, 1, 0, 169, -1769.271, 5158.336, -35.90804, 1.745327, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+60, 180415, 530, 1, 0, 169, -1768.123, 5155.603, -35.90804, 5.009095, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+61, 180415, 530, 1, 0, 169, -1771.096, 5160.236, -35.90804, 0.1047193, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+62, 180415, 530, 1, 0, 169, -1746.076, 5154.508, -37.2049, 2.792518, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+63, 180415, 530, 1, 0, 169, -1743.914, 5156.47, -35.90803, 4.97419, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+64, 180415, 530, 1, 0, 169, -1770.592, 5159.727, -35.90804, 0.4363316, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+65, 180415, 530, 1, 0, 169, -1745.323, 5152.098, -37.20491, 1.692969, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+66, 180415, 530, 1, 0, 169, -1680.046, 5182.063, -40.20916, 5.602507, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+67, 180415, 530, 1, 0, 169, -1743.301, 5155.08, -35.90803, 5.742135, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+68, 180415, 530, 1, 0, 169, -1663.519, 5293.407, -49.5914, 4.747296, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+69, 180415, 530, 1, 0, 169, -1767.19, 5150.615, -35.90804, 4.834563, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+70, 180415, 530, 1, 0, 169, -1797.811, 5163.908, -40.20916, 4.520406, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+71, 180415, 530, 1, 0, 169, -1763.264, 5146.753, -37.20491, 5.93412, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+72, 180415, 530, 1, 0, 169, -1664.684, 5293.219, -49.66723, 1.692969, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+73, 180415, 530, 1, 0, 169, -1766.92, 5149.255, -35.90804, 1.117009, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+74, 180415, 530, 1, 0, 169, -1763.881, 5149.05, -37.20491, 3.68265, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+75, 180415, 530, 1, 0, 169, -1781.224, 5155.466, -40.20916, 2.548179, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+76, 180415, 530, 1, 0, 169, -1766.588, 5147.896, -35.90804, 3.752462, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+77, 180415, 530, 1, 0, 169, -1774.051, 5152.581, -36.06793, 3.298687, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+78, 180415, 530, 1, 0, 169, -1767.712, 5153.141, -35.90804, 2.949595, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+79, 180406, 530, 1, 0, 169, -1727.872, 5151.118, -34.72747, 0.7330382, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 3899)
+(@OGUID+80, 180415, 530, 1, 0, 169, -1647.858, 5322.972, -40.20916, 5.567601, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+81, 180415, 530, 1, 0, 169, -1653.098, 5316.989, -40.20916, 2.687807, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+82, 180415, 530, 1, 0, 169, -1623.009, 5353.79, -39.90628, 5.829401, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+83, 180415, 530, 1, 0, 169, -1650.696, 5301.975, -40.15569, 2.530723, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+84, 180415, 530, 1, 0, 169, -1627.55, 5350.804, -39.69448, 4.66003, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+85, 180415, 530, 1, 0, 169, -1649.128, 5294.073, -40.33651, 0.2094394, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+86, 180415, 530, 1, 0, 169, -1656.347, 5308.329, -40.20916, 5.305802, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+87, 180415, 530, 1, 0, 169, -1640.815, 5324.775, -40.0241, 3.054327, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+88, 180415, 530, 1, 0, 169, -1630.996, 5346.603, -39.8759, 3.612838, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+89, 180415, 530, 1, 0, 169, -1650.263, 5289.858, -40.64635, 2.687807, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+90, 180415, 530, 1, 0, 169, -1640.641, 5328.2, -40.13517, 3.857183, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+91, 180415, 530, 1, 0, 169, -1604.216, 5327.811, -40.20916, 5.235988, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+92, 180415, 530, 1, 0, 169, -1620.229, 5273.603, -40.8573, 5.201083, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+93, 180415, 530, 1, 0, 169, -1615.813, 5287.19, -40.76569, 4.380776, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+94, 180415, 530, 1, 0, 169, -1643.108, 5261.086, -41.00774, 0.9075702, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+95, 180415, 530, 1, 0, 169, -1610.787, 5322.729, -40.20916, 3.560473, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+96, 180415, 530, 1, 0, 169, -1614.804, 5285.652, -40.81396, 5.567601, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+97, 180415, 530, 1, 0, 169, -1641.931, 5257.188, -40.93716, 2.583081, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+98, 180415, 530, 1, 0, 169, -1618.817, 5355.966, -40.20382, 0.4363316, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+99, 180415, 530, 1, 0, 169, -1614.204, 5284.298, -40.8007, 1.047198, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+100, 180415, 530, 1, 0, 169, -1604.152, 5341.309, -40.20916, 2.565632, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+101, 180415, 530, 1, 0, 169, -1616.99, 5277.182, -40.82001, 4.642576, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+102, 180415, 530, 1, 0, 169, -1616.733, 5288.768, -40.65269, 1.221729, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+103, 180415, 530, 1, 0, 169, -1615.797, 5268.268, -40.774, 4.24115, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+104, 180407, 530, 1, 0, 169, -1620.341, 5252.917, -40.79367, 4.642576, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 3899)
+(@OGUID+105, 180415, 530, 1, 0, 169, -1615.02, 5261.716, -40.74166, 5.480334, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+106, 180415, 530, 1, 0, 169, -1593.996, 5360.147, -40.20916, 3.787367, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+107, 180415, 530, 1, 0, 169, -1600.158, 5344.43, -40.20916, 5.759588, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+108, 180407, 530, 1, 0, 169, -1592.862, 5307.45, -38.57781, 5.67232, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 3899)
+(@OGUID+109, 180415, 530, 1, 0, 169, -1594.889, 5261.762, -13.97506, 2.199115, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+110, 180415, 530, 1, 0, 169, -1597.819, 5264.682, -14.05011, 5.009095, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+111, 180415, 530, 1, 0, 169, -1597.493, 5366.856, -40.20916, 6.248279, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+112, 180406, 530, 1, 0, 169, -1592.3, 5357.065, -40.20916, 4.852017, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 3899)
+(@OGUID+113, 180415, 530, 1, 0, 169, -1596.895, 5263.488, -14.02306, 0.8377575, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+114, 180415, 530, 1, 0, 169, -1612.543, 5247.093, -40.65835, 5.201083, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+115, 180415, 530, 1, 0, 169, -1622.793, 5243.489, -40.80069, 1.343901, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+116, 180415, 530, 1, 0, 169, -1595.962, 5262.593, -13.99772, 5.602507, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+117, 180415, 530, 1, 0, 169, -1616.154, 5244.095, -40.70304, 1.97222, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+118, 180415, 530, 1, 0, 169, -1620.814, 5239.755, -40.75924, 1.518436, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+119, 180431, 530, 1, 0, 169, -1688.561, 5666.329, 130.5969, 3.700105, 0, 0, 0, 1, 120, 255, 1), -- 180431 (Area: 3899)
+(@OGUID+120, 180415, 530, 1, 0, 169, -1593.098, 5260.721, -13.94664, 2.548179, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+121, 180410, 530, 1, 0, 169, -1617.977, 5403.792, -38.17708, 3.263772, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 3899)
+(@OGUID+122, 180405, 530, 1, 0, 169, -1612.946, 5424.752, -38.85912, 4.694937, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+123, 180415, 530, 1, 0, 169, -1614.504, 5415.917, -38.86249, 2.530723, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+124, 180415, 530, 1, 0, 169, -1614.682, 5413.557, -38.85962, 6.073746, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+125, 180415, 530, 1, 0, 169, -1614.065, 5412.168, -38.85929, 4.886924, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+126, 180415, 530, 1, 0, 169, -1614.54, 5414.432, -38.86086, 2.82743, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+127, 180415, 530, 1, 0, 169, -1615.161, 5408.31, -39.67566, 0, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+128, 180415, 530, 1, 0, 169, -1615.594, 5407.222, -40.56182, 5.689774, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+129, 180415, 530, 1, 0, 169, -1613.32, 5410.315, -38.85626, 5.724681, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+130, 180415, 530, 1, 0, 169, -1617.042, 5407.143, -41.05295, 2.495818, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+131, 180415, 530, 1, 0, 169, -1614.408, 5409.302, -38.85281, 6.213374, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+132, 180415, 530, 1, 0, 169, -1613.731, 5407.422, -39.67501, 1.97222, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+133, 180410, 530, 1, 0, 169, -1618.031, 5406.084, -37.86068, 3.036838, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 0)
+(@OGUID+134, 180472, 530, 1, 0, 169, -1648.206, 5544.745, 15.57858, 1.431168, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+135, 180431, 530, 1, 0, 169, -1822.676, 5698.866, 129.1411, 2.33874, 0, 0, 0, 1, 120, 255, 1), -- 180431 (Area: 0)
+(@OGUID+136, 180431, 530, 1, 0, 169, -1910.552, 5698.088, 124.9568, 2.635444, 0, 0, 0, 1, 120, 255, 1), -- 180431 (Area: 0)
+(@OGUID+137, 180405, 530, 1, 0, 169, -1648.345, 5544.776, 16.72861, 0.7679439, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+138, 185434, 530, 1, 0, 169, -1598.392, 5396.745, -40.17126, 3.769912, 0, 0, 0, 1, 120, 255, 1), -- 185434 (Area: 0)
+(@OGUID+139, 185455, 530, 1, 0, 169, -1709.808, 5632.51, 127.9465, 5.480334, 0, 0, 0, 1, 120, 255, 1), -- 185455 (Area: 3899)
+(@OGUID+140, 180415, 530, 1, 0, 169, -1710.33, 5634.917, 127.9465, 0.2792516, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+141, 180415, 530, 1, 0, 169, -1711.769, 5633.732, 127.9465, 6.178466, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+142, 180429, 530, 1, 0, 169, -1707.317, 5645.849, 130.3365, 5.305802, 0, 0, 0, 1, 120, 255, 1), -- 180429 (Area: 3899)
+(@OGUID+143, 180415, 530, 1, 0, 169, -1591.131, 5260.113, -13.96355, 3.68265, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+144, 180407, 530, 1, 0, 169, -1650.866, 5190.316, -38.87681, 2.91469, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 3899)
+(@OGUID+145, 180406, 530, 1, 0, 169, -1645.201, 5199.991, -38.8768, 5.951575, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 3899)
+(@OGUID+146, 180415, 530, 1, 0, 169, -1618.823, 5181.593, -33.82702, 3.351047, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+147, 180415, 530, 1, 0, 169, -1601.915, 5171.649, -30.58988, 1.727875, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+148, 180415, 530, 1, 0, 169, -1608.95, 5160.993, -30.56009, 5.375615, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+149, 180415, 530, 1, 0, 169, -1624.757, 5172.668, -33.79735, 3.735006, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+150, 180415, 530, 1, 0, 169, -1602.198, 5152.721, -28.87143, 0.2268925, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+151, 180415, 530, 1, 0, 169, -1591.732, 5168.822, -28.87342, 1.099556, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+152, 180406, 530, 1, 0, 169, -1723.19, 5136.492, -35.09916, 3.525572, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 3899)
+(@OGUID+153, 180415, 530, 1, 0, 169, -1584.816, 5160.914, -27.39262, 5.201083, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+154, 180411, 530, 1, 0, 169, -1742.706, 5137.688, -30.48351, 4.171338, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 3899)
+(@OGUID+155, 180415, 530, 1, 0, 169, -1593.068, 5148.36, -27.30097, 3.874631, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+156, 180415, 530, 1, 0, 169, -1566.594, 5148.008, -23.49201, 1.082103, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+157, 180415, 530, 1, 0, 169, -1575.762, 5134.228, -23.58824, 4.81711, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+158, 185434, 530, 1, 0, 169, -1744.142, 5123.62, -35.82451, 2.024579, 0, 0, 0, 1, 120, 255, 1), -- 185434 (Area: 0)
+(@OGUID+159, 180411, 530, 1, 0, 169, -1758.289, 5131.851, -30.40018, 4.886924, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 0)
+(@OGUID+160, 180415, 530, 1, 0, 169, -1766.187, 5145.766, -35.90804, 0.157079, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+161, 180405, 530, 1, 0, 169, -1756.477, 5130.035, -36.26126, 3.543024, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+162, 180415, 530, 1, 0, 169, -1773.81, 5148.538, -36.06519, 4.24115, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+163, 180415, 530, 1, 0, 169, -1772.502, 5143.563, -36.23128, 4.625124, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+164, 180415, 530, 1, 0, 169, -1774.292, 5139.007, -36.21167, 2.932139, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+165, 180415, 530, 1, 0, 169, -1775.087, 5137.319, -36.26489, 1.710422, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+166, 180405, 530, 1, 0, 169, -1777.374, 5136.409, -34.72696, 0.3665176, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+167, 180405, 530, 1, 0, 169, -1773.338, 5121.479, -35.0905, 3.787367, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+168, 180415, 530, 1, 0, 169, -1769.995, 5125.528, -36.02662, 0.9250238, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+169, 180415, 530, 1, 0, 169, -1772.336, 5122.282, -35.83616, 4.031712, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+170, 180415, 530, 1, 0, 169, -1787.647, 5148.141, -40.20916, 5.462882, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+171, 180415, 530, 1, 0, 169, -1781.443, 5131.746, -34.77077, 6.03884, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+172, 180415, 530, 1, 0, 169, -1771.183, 5123.882, -35.90277, 0.1745321, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+173, 180415, 530, 1, 0, 169, -1782.792, 5132.561, -34.69776, 5.183629, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+174, 180415, 530, 1, 0, 169, -1776.1, 5136.846, -35.92095, 3.106652, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+175, 180415, 530, 1, 0, 169, -1778.352, 5124.249, -34.69559, 0.1919852, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+176, 180415, 530, 1, 0, 169, -1800.136, 5141.807, -40.20917, 6.265733, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+177, 180415, 530, 1, 0, 169, -1804.512, 5157.381, -40.20917, 1.239183, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+178, 180415, 530, 1, 0, 169, -1779.405, 5125.828, -34.73515, 4.310966, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+179, 180407, 530, 1, 0, 169, -1798.805, 5132.179, -40.20916, 3.700105, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+180, 180415, 530, 1, 0, 169, -1793.893, 5143.439, -40.20916, 5.724681, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+181, 180415, 530, 1, 0, 169, -1853.723, 5200.164, -40.20916, 3.857183, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+182, 180406, 530, 1, 0, 169, -1829.19, 5132.753, -36.21552, 4.555311, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 0)
+(@OGUID+183, 180415, 530, 1, 0, 169, -1852.917, 5204.884, -40.20917, 5.969027, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+184, 180415, 530, 1, 0, 169, -1846.027, 5211.841, -40.20916, 5.829401, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+185, 180407, 530, 1, 0, 169, -1830.194, 5129.449, -36.20708, 4.729844, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+186, 180415, 530, 1, 0, 169, -1849.075, 5210.507, -40.20917, 2.932139, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+187, 180405, 530, 1, 0, 169, -1828.722, 5136.165, -36.61174, 2.391098, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+188, 180407, 530, 1, 0, 169, -1845.585, 5181.297, -48.83864, 6.143561, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+189, 180415, 530, 1, 0, 169, -1802.642, 5133.133, -40.20916, 0.9075702, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+190, 180415, 530, 1, 0, 169, -1851.821, 5208.425, -40.20916, 0.3665176, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+191, 180415, 530, 1, 0, 169, -1857.086, 5210.439, -40.20916, 2.286379, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+192, 180415, 530, 1, 0, 169, -1859.659, 5207.607, -40.20916, 1.047198, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+193, 180415, 530, 1, 0, 169, -1856.036, 5214.328, -40.20916, 4.258607, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+194, 180415, 530, 1, 0, 169, -1848.79, 5084.666, -33.83941, 3.246347, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+195, 180410, 530, 1, 0, 169, -1913.184, 5138.171, -37.93413, 2.321287, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 0)
+(@OGUID+196, 180407, 530, 1, 0, 169, -1874.145, 5136.215, -40.20916, 2.722713, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+197, 180411, 530, 1, 0, 169, -1879.563, 5125.416, -28.39666, 3.892087, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 0)
+(@OGUID+198, 180406, 530, 1, 0, 169, -1896.112, 5150.331, -38.65614, 2.862335, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 0)
+(@OGUID+199, 180415, 530, 1, 0, 169, -1859.411, 5085.3, -33.84349, 4.223697, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+200, 180415, 530, 1, 0, 169, -1848.927, 5065.024, -30.60378, 3.874631, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+201, 180415, 530, 1, 0, 169, -1865.414, 5055.882, -28.88485, 4.71239, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+202, 180407, 530, 1, 0, 169, -1908.842, 5158.162, -40.20916, 2.844883, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+203, 180472, 530, 1, 0, 169, -1924.396, 5137.794, -30.42237, 2.391098, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+204, 180415, 530, 1, 0, 169, -1846.269, 5054.519, -28.83364, 2.844883, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+205, 180415, 530, 1, 0, 169, -1910.569, 5159.94, -40.20916, 5.201083, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+206, 180472, 530, 1, 0, 169, -1924.554, 5144.456, -30.56359, 3.543024, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+207, 180415, 530, 1, 0, 169, -1912.345, 5164.043, -40.20916, 3.612838, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+208, 180410, 530, 1, 0, 169, -1922.556, 5136.9, -37.5277, 1.884953, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 0)
+(@OGUID+209, 180415, 530, 1, 0, 169, -1862.386, 5205.07, -40.20916, 0.5934101, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+210, 180415, 530, 1, 0, 169, -1861.724, 5065.828, -30.52389, 0.4363316, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+211, 180415, 530, 1, 0, 169, -1849.668, 5044.827, -27.33423, 0.5759573, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+212, 180410, 530, 1, 0, 169, -1933.896, 5139.628, -36.7346, 0.1745321, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 0)
+(@OGUID+213, 180410, 530, 1, 0, 169, -1933.745, 5142.19, -36.79674, 5.951575, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 0)
+(@OGUID+214, 180415, 530, 1, 0, 169, -1946.493, 5150.041, -40.20916, 5.096362, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+215, 180407, 530, 1, 0, 169, -1932.899, 5165.837, -40.20917, 3.525572, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+216, 180415, 530, 1, 0, 169, -1864.642, 5045.729, -27.34014, 5.93412, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+217, 180415, 530, 1, 0, 169, -1935.678, 5168, -40.20916, 0.7330382, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+218, 180405, 530, 1, 0, 169, -1946.298, 5152.045, 19.95769, 5.881761, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+219, 180415, 530, 1, 0, 169, -1851.71, 5022.643, -23.50557, 3.892087, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+220, 180415, 530, 1, 0, 169, -1868.281, 5023.652, -23.48158, 0.8203033, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+221, 180339, 530, 1, 0, 169, -1837.953, 4921.162, -18.875, 0, 0, 0, 0, 1, 120, 255, 1), -- 180339 (Area: 0)
+(@OGUID+222, 180338, 530, 1, 0, 169, -1783.58, 4937.418, -22.87706, 0, 0, 0, 0, 1, 120, 255, 1), -- 180338 (Area: 0)
+(@OGUID+223, 180415, 530, 1, 0, 169, -1956.957, 5150.171, -40.20916, 0.03490625, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+224, 180415, 530, 1, 0, 169, -1956.558, 5153.624, -40.20916, 1.151916, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+225, 180415, 530, 1, 0, 169, -1946.968, 5183.813, -40.20916, 0.5061446, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+226, 180415, 530, 1, 0, 169, -1976.524, 5163.211, -37.86652, 4.782203, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+227, 180406, 530, 1, 0, 169, -1964.799, 5158.828, 20.03405, 0.2094394, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 0)
+(@OGUID+228, 180405, 530, 1, 0, 169, -1966.638, 5166.105, -38.13643, 2.897245, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+229, 180415, 530, 1, 0, 169, -1960.333, 5168.675, -37.84088, 5.201083, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+230, 180406, 530, 1, 0, 169, -2002.535, 5178.877, -40.20916, 3.438303, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 0)
+(@OGUID+231, 180415, 530, 1, 0, 169, -1975.752, 5182.889, -40.20917, 1.500983, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+232, 180415, 530, 1, 0, 169, -1966.224, 5179.32, -37.85986, 5.93412, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+233, 180415, 530, 1, 0, 169, -1990.585, 5176.176, -40.20916, 3.001947, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+234, 180415, 530, 1, 0, 169, -1984.641, 5181.01, -40.20916, 6.265733, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+235, 180415, 530, 1, 0, 169, -1975.384, 5162.208, -37.85071, 4.729844, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+236, 180415, 530, 1, 0, 169, -2019.362, 5190.989, -35.6937, 4.34587, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+237, 180415, 530, 1, 0, 169, -2021.95, 5196.345, -35.69493, 1.570796, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+238, 180415, 530, 1, 0, 169, -1940.617, 5186.5, -40.20917, 1.413715, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+239, 180415, 530, 1, 0, 169, -2010.293, 5209.039, -35.69574, 2.984498, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+240, 180407, 530, 1, 0, 169, -2004.333, 5223.759, -35.69689, 2.844883, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+241, 180415, 530, 1, 0, 169, -2002.867, 5221.198, -35.69662, 4.939284, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+242, 180415, 530, 1, 0, 169, -2007.341, 5224.245, -35.697, 0.8901166, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+243, 180431, 530, 1, 0, 169, -1746.621, 5620.082, 127.9465, 4.991644, 0, 0, 0, 1, 120, 255, 1), -- 180431 (Area: 0)
+(@OGUID+244, 180405, 530, 1, 0, 169, -2040.23, 5272.147, -39.39414, 0.1919852, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+245, 180472, 530, 1, 0, 169, -2037.333, 5278.771, -34.47883, 6.003934, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+246, 180415, 530, 1, 0, 169, -2063.034, 5263.798, -38.4651, 4.799657, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+247, 180415, 530, 1, 0, 169, -2047.227, 5279.073, -38.46528, 4.049168, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+248, 180415, 530, 1, 0, 169, -2049.917, 5283.648, -38.46651, 4.607672, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+249, 180472, 530, 1, 0, 169, -2061.579, 5254.934, -33.4444, 0.7155849, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+250, 180415, 530, 1, 0, 169, -2066.363, 5251.825, -38.46505, 3.647741, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+251, 180415, 530, 1, 0, 169, -2094.274, 5197.883, -30.58273, 3.560473, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+252, 180415, 530, 1, 0, 169, -2088.683, 5180.594, -29.04385, 0.3141584, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+253, 180415, 530, 1, 0, 169, -2072.257, 5204.007, -33.86522, 1.797689, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+254, 180415, 530, 1, 0, 169, -2080.019, 5211.397, -33.80571, 5.026549, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+255, 180415, 530, 1, 0, 169, -2075.596, 5271.93, -37.32354, 3.246347, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+256, 180415, 530, 1, 0, 169, -2084.991, 5189.033, -30.6074, 2.478367, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+257, 180415, 530, 1, 0, 169, -2076.316, 5273.985, -37.32354, 2.146753, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+258, 180415, 530, 1, 0, 169, -2098.523, 5174.088, -27.32298, 2.44346, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+259, 180415, 530, 1, 0, 169, -2126.393, 5169.769, -23.65068, 1.745327, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+260, 180415, 530, 1, 0, 169, -2114.375, 5158.421, -23.51009, 1.151916, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+261, 180415, 530, 1, 0, 169, -2109.443, 5184.435, -27.30091, 0.5235979, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+262, 180415, 530, 1, 0, 169, -2103.463, 5192.882, -28.88327, 0.8203033, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+263, 180415, 530, 1, 0, 169, -2051.785, 5314.479, -39.39214, 4.258607, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+264, 180406, 530, 1, 0, 169, -2051.922, 5310.453, -38.68298, 1.500983, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 3899)
+(@OGUID+265, 180415, 530, 1, 0, 169, -2071.595, 5291.309, -37.32354, 3.141593, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+266, 180415, 530, 1, 0, 169, -2067.464, 5305.053, -37.32354, 1.937312, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+267, 180415, 530, 1, 0, 169, -2051.43, 5296.361, -38.53338, 6.108654, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+268, 180415, 530, 1, 0, 169, -2084.633, 5291.633, -37.32354, 3.665196, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 3899)
+(@OGUID+269, 180415, 530, 1, 0, 169, -2074.696, 5328.799, -37.32354, 2.076939, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+270, 180415, 530, 1, 0, 169, -2068.033, 5319.889, -37.32354, 2.600535, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+271, 180415, 530, 1, 0, 169, -2093.221, 5313.236, -37.32355, 3.926996, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+272, 180472, 530, 1, 0, 169, -2066.37, 5326.438, -32.57355, 3.455756, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+273, 180415, 530, 1, 0, 169, -2070.872, 5322.3, -37.32354, 1.989672, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+274, 180415, 530, 1, 0, 169, -2087.761, 5329.484, -34.30538, 1.274088, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+275, 180405, 530, 1, 0, 169, -2097.77, 5327.023, -35.3358, 1.221729, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+276, 180415, 530, 1, 0, 169, -2073.631, 5338.689, -37.32354, 2.391098, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+277, 180472, 530, 1, 0, 169, -2087.516, 5309.336, -32.71938, 5.951575, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+278, 180415, 530, 1, 0, 169, -2097.917, 5305.059, -37.32355, 0.6283169, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+279, 180407, 530, 1, 0, 169, -2104.679, 5301.78, -37.32354, 1.343901, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+280, 180415, 530, 1, 0, 169, -2104.488, 5299.115, -37.32354, 2.600535, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+281, 180415, 530, 1, 0, 169, -2075.449, 5347.141, -37.23588, 5.585054, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+282, 180472, 530, 1, 0, 169, -2290.313, 5517.61, 69.03755, 2.146753, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+283, 180472, 530, 1, 0, 169, -2302.897, 5520.82, 68.41949, 0.2617982, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 3898)
+(@OGUID+284, 180407, 530, 1, 0, 169, -2268.796, 5537.234, 66.99442, 3.211419, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 3898)
+(@OGUID+285, 180410, 530, 1, 0, 169, -2244.775, 5558.765, 83.47392, 3.036838, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 0)
+(@OGUID+286, 180472, 530, 1, 0, 169, -2209.612, 5545.717, 74.61052, 5.846854, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+287, 180410, 530, 1, 0, 169, -2245.656, 5556.635, 83.39277, 2.792518, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 0)
+(@OGUID+288, 180410, 530, 1, 0, 169, -2248.23, 5552.896, 83.42593, 2.33874, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 0)
+(@OGUID+289, 180410, 530, 1, 0, 169, -2246.702, 5554.45, 83.38676, 2.548179, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 0)
+(@OGUID+290, 180472, 530, 1, 0, 169, -2314.44, 5528.929, 68.49589, 2.530723, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+291, 180410, 530, 1, 0, 169, -2244.457, 5563.03, 83.45087, 3.298687, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 0)
+(@OGUID+292, 180410, 530, 1, 0, 169, -2244.639, 5560.766, 83.45145, 3.054327, 0, 0, 0, 1, 120, 255, 1), -- 180410 (Area: 0)
+(@OGUID+293, 180415, 530, 1, 0, 169, -2271.303, 5563.579, 101.4032, 3.543024, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+294, 180415, 530, 1, 0, 169, -2269.602, 5568.494, 101.4043, 1.919862, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+295, 180415, 530, 1, 0, 169, -2284.665, 5565.351, 101.7906, 2.600535, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+296, 180415, 530, 1, 0, 169, -2289.344, 5567.648, 100.985, 3.926996, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+297, 180415, 530, 1, 0, 169, -2268.372, 5565.401, 105.0102, 0.1396245, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+298, 180415, 530, 1, 0, 169, -2290.393, 5569.944, 100.9936, 4.206246, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+299, 180415, 530, 1, 0, 169, -2281.353, 5575.188, 101.7809, 1.553341, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+300, 180407, 530, 1, 0, 169, -2225.354, 5587.122, 64.07227, 2.652894, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+301, 180415, 530, 1, 0, 169, -2290.132, 5572.43, 100.9957, 1.570796, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+302, 180415, 530, 1, 0, 169, -2288.95, 5574.736, 100.9939, 3.68265, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+303, 180415, 530, 1, 0, 169, -2286.49, 5576.088, 100.9853, 2.862335, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+304, 180405, 530, 1, 0, 169, -2241.581, 5617.456, 64.07227, 1.850049, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+305, 180406, 530, 1, 0, 169, -2306.073, 5572.37, 64.07227, 4.049168, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 0)
+(@OGUID+306, 180472, 530, 1, 0, 169, -2299.912, 5575.924, 73.04609, 2.809975, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+307, 180405, 530, 1, 0, 169, -2302.336, 5582.462, 64.07227, 4.886924, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+308, 180472, 530, 1, 0, 169, -2313.528, 5589.7, 68.47504, 1.221729, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+309, 180472, 530, 1, 0, 169, -2299.703, 5602.162, 69.12782, 1.797689, 0, 0, 0, 1, 120, 255, 1), -- 180472 (Area: 0)
+(@OGUID+310, 185455, 530, 1, 0, 169, -1931.683, 5771.58, 130.6861, 5.131269, 0, 0, 0, 1, 120, 255, 1), -- 185455 (Area: 0)
+(@OGUID+311, 180429, 530, 1, 0, 169, -1897.193, 5764.772, 132.3861, 0.8726639, 0, 0, 0, 1, 120, 255, 1), -- 180429 (Area: 0)
+(@OGUID+312, 180429, 530, 1, 0, 169, -1754.127, 5644.799, 130.0099, 1.06465, 0, 0, 0, 1, 120, 255, 1), -- 180429 (Area: 0)
+(@OGUID+313, 180415, 530, 1, 0, 169, -1754.441, 5844.208, 146.4398, 4.520406, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+314, 180429, 530, 1, 0, 169, -1759.247, 5830.715, 151.03, 2.513274, 0, 0, 0, 1, 120, 255, 1), -- 180429 (Area: 0)
+(@OGUID+315, 185455, 530, 1, 0, 169, -1752.689, 5842.345, 146.4398, 5.93412, 0, 0, 0, 1, 120, 255, 1), -- 185455 (Area: 0)
+(@OGUID+316, 180415, 530, 1, 0, 169, -1755.557, 5841.976, 146.4398, 1.343901, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+317, 180407, 530, 1, 0, 169, -1694.201, 5803.418, 150.5294, 1.675514, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+318, 180406, 530, 1, 0, 169, -1682.232, 5716.45, 132.2278, 6.021387, 0, 0, 0, 1, 120, 255, 1), -- 180406 (Area: 0)
+(@OGUID+319, 180471, 530, 1, 0, 169, -1660.319, 5724.346, 138.4462, 3.787367, 0, 0, 0, 1, 120, 255, 1), -- 180471 (Area: 0)
+(@OGUID+320, 180471, 530, 1, 0, 169, -1661.021, 5725.675, 138.5542, 0.4014249, 0, 0, 0, 1, 120, 255, 1), -- 180471 (Area: 0)
+(@OGUID+321, 180407, 530, 1, 0, 169, -1664.092, 5696.812, 129.5579, 4.450591, 0, 0, 0, 1, 120, 255, 1), -- 180407 (Area: 0)
+(@OGUID+322, 180405, 530, 1, 0, 169, -1652.332, 5660.17, 132.697, 3.071766, 0, 0, 0, 1, 120, 255, 1), -- 180405 (Area: 0)
+(@OGUID+323, 180415, 530, 1, 0, 169, -1656.486, 5683.149, 132.9795, 3.368496, 0, 0, 0, 1, 120, 255, 1), -- 180415 (Area: 0)
+(@OGUID+324, 180411, 530, 1, 0, 169, -1657.563, 5686.755, 135.8198, 5.98648, 0, 0, 0, 1, 120, 255, 1), -- 180411 (Area: 0)
+(@OGUID+325, 180429, 530, 1, 0, 169, -1647.701, 5660.5, 134.0306, 0.4712385, 0, 0, 0, 1, 120, 255, 1); -- 180429 (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);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_29_02_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_29_02_world.sql
new file mode 100644
index 00000000000..bc597c073ee
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_29_02_world.sql
@@ -0,0 +1,10 @@
+--
+SET @OGUID:=17765;
+DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+5;
+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, 180643, 530, 1, 0, 169, 10362.4, -6414.424, 163.4537, 3.141593, 0, 0, 0, 1, 120, 255, 1), -- 180643 (Area: 3431)
+(@OGUID+1, 181325, 530, 1, 0, 169, 6810.514, -7413.837, 47.01349, 3.141593, 0, 0, 0, 1, 120, 255, 1), -- 181325 (Area: 3517)
+(@OGUID+2, 184803, 530, 1, 0, 169, 9748.917, -7075.639, 16.75368, 4.433136, 0, 0, 0, 1, 120, 255, 1), -- 184803 (Area: -1)
+(@OGUID+3, 184804, 530, 1, 0, 169, 9749.188, -7075.547, 16.75464, 2.617989, 0, 0, 0, 1, 120, 255, 1), -- 184804 (Area: -1)
+(@OGUID+4, 186406, 530, 1, 0, 169, 6738.535, -7607.16, 126.1211, 2.862331, 0, 0, 0, 1, 120, 255, 1), -- 186406 (Area: 3507)
+(@OGUID+5, 186407, 530, 1, 0, 169, 6795.697, -7574.934, 126.9773, 3.324856, 0, 0, 0, 1, 120, 255, 1); -- 186407 (Area: 3517)
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_29_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_29_03_world.sql
new file mode 100644
index 00000000000..a3c0c544784
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_29_03_world.sql
@@ -0,0 +1,33 @@
+--
+SET @OGUID:=224905;
+DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+19;
+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, 202586, 530, 1, 0, 169, 10354.45, -6370.502, 35.95272, 2.042034, 0, 0, 0, 1, 120, 255, 1), -- 202586 (Area: 3431) 6x
+(@OGUID+1, 206620, 530, 1, 0, 169, 9638.13, -7398.25, 23.498, 4.694937, 0, 0, 0, 1, 120, 255, 1), -- 206620 (Area: -1)
+(@OGUID+2, 206624, 530, 1, 0, 169, 9644.6, -7389.91, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+3, 206624, 530, 1, 0, 169, 9639.9, -7376.38, 15.73, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+4, 206624, 530, 1, 0, 169, 9643.22, -7390.81, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+5, 206624, 530, 1, 0, 169, 9638.62, -7377.51, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+6, 206624, 530, 1, 0, 169, 9646, -7387.29, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+7, 206624, 530, 1, 0, 169, 9646.04, -7389.03, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+8, 206624, 530, 1, 0, 169, 9643.43, -7392.46, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+9, 206624, 530, 1, 0, 169, 9644.47, -7388.16, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+10, 206624, 530, 1, 0, 169, 9637.14, -7376.63, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+11, 206624, 530, 1, 0, 169, 9646.02, -7389.05, 17.0706, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+12, 206624, 530, 1, 0, 169, 9629.57, -7384.52, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+13, 206624, 530, 1, 0, 169, 9630.78, -7381.57, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+14, 206624, 530, 1, 0, 169, 9631.65, -7385.59, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+15, 206624, 530, 1, 0, 169, 9630, -7386.5, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+16, 206624, 530, 1, 0, 169, 9631.02, -7383.47, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+17, 206624, 530, 1, 0, 169, 9631.83, -7387.56, 15.729, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+18, 206624, 530, 1, 0, 169, 9629.58, -7384.53, 17.0677, 0, 0, 0, 0, 1, 120, 255, 1), -- 206624 (Area: -1)
+(@OGUID+19, 207325, 530, 1, 0, 169, 9665.519, -7153.061, 14.25123, 5.480334, 0, 0, 0, 1, 120, 255, 1); -- 207325 (Area: -1)
+-- 6X only spawns
+SET @OGUID:=300909;
+DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+4;
+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, 216479, 530, 1, 0, 169, 9850.404, -7522.658, -9.157422, 4.558882, 0, 0, 0, 1, 120, 255, 1), -- 216479 (Area: -1)
+(@OGUID+1, 216480, 530, 1, 0, 169, 9851.67, -7522.734, -8.112472, 6.131109, 0, 0, 0, 1, 120, 255, 1), -- 216480 (Area: -1)
+(@OGUID+2, 216480, 530, 1, 0, 169, 9850.63, -7521.2, -8.11247, 1.417287, 0, 0, 0, 1, 120, 255, 1), -- 216480 (Area: -1)
+(@OGUID+3, 216480, 530, 1, 0, 169, 9849.185, -7522.354, -8.112472, 2.989516, 0, 0, 0, 1, 120, 255, 1), -- 216480 (Area: -1)
+(@OGUID+4, 216484, 530, 1, 0, 169, 9850.63, -7521.221, -8.112472, 1.417287, 0, 0, 0, 1, 120, 255, 1); -- 216484 (Area: -1)
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_00_world.sql
new file mode 100644
index 00000000000..84247a85973
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_00_world.sql
@@ -0,0 +1,16 @@
+--
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=27292;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=27292 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
+(27292,0,0,1,62,0,100,0,9512,0,0,0,11,48606,0,0,0,0,0,7,0,0,0,0,0,0,0,'Flamebringer - On gossip select - Spellcast'),
+(27292,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Flamebringer - On gossip select - Close gossip'),
+(27292,0,2,3,54,0,100,0,0,0,0,0,83,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Flamebringer - On summon - Remove npcflag'),
+(27292,0,3,4,61,0,100,0,0,0,0,0,85,46598,0,0,0,0,0,1,0,0,0,0,0,0,0,'Flamebringer - On summon - Spellcast'),
+(27292,0,4,0,61,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Flamebringer - Linked with previous Event -Set Passive'),
+(27292,0,5,0,28,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Flamebringer - On passenger removed - Despawn');
+DELETE FROM `creature_template_addon` WHERE `entry`=27292;
+INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES
+(27292, 0, 0, 33554432, 0, 0, '55971');
+DELETE FROM `creature_addon` WHERE `guid`=110538;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(110538,0,0,0,1,0,'');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_01_world_2015_10_10_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_01_world_2015_10_10_02.sql
new file mode 100644
index 00000000000..26552c4df47
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_01_world_2015_10_10_02.sql
@@ -0,0 +1,8 @@
+--
+DELETE FROM `smart_scripts` WHERE `entryorguid`=16286 AND `source_type`=0;
+UPDATE `creature_template` SET `AIName`="" WHERE `entry`=16286;
+
+DELETE FROM `spell_script_names` WHERE `spell_id` IN (29865,55053);
+INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
+(29865,"spell_loatheb_deathbloom"),
+(55053,"spell_loatheb_deathbloom");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_02_world_2015_10_10_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_02_world_2015_10_10_00.sql
new file mode 100644
index 00000000000..c26303006b7
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_02_world_2015_10_10_00.sql
@@ -0,0 +1,9 @@
+--
+UPDATE `creature_text` SET `probability`=20 WHERE `entry`=15954 AND `groupid`=2;
+
+DELETE FROM `creature_text` WHERE `entry`=15954 AND `groupid` in (4,5,6,7);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`probability`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
+(15954,4,0,"%s summons forth Skeletal Warriors!",41,100,32974,3,"Noth EMOTE_SUMMON"),
+(15954,5,0,"%s raises more skeletons!",41,100,32977,3,"Noth EMOTE_SUMMON_WAVE"),
+(15954,6,0,"%s teleports to the balcony above!",41,100,32331,3,"Noth EMOTE_TELEPORT_1"),
+(15954,7,0,"%s teleports back into the battle!",41,100,32976,3,"Noth EMOTE_TELEPORT_2");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_03_world_2015_10_10_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_03_world_2015_10_10_01.sql
new file mode 100644
index 00000000000..4088a33b837
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_03_world_2015_10_10_01.sql
@@ -0,0 +1,7 @@
+--
+UPDATE `creature_text` SET `probability`=20 WHERE `entry`=15936 AND `groupid`=1;
+
+DELETE FROM `creature_text` WHERE `entry`=15936 AND `groupid` IN (4,5);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`probability`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
+(15936,4,0,"%s teleports and begins to channel a spell!",41,100,32332,3,"Heigan EMOTE_DANCE"),
+(15936,5,0,"%s rushes to attack once more!",41,100,32333,3,"Heigan EMOTE_DANCE_END");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_04_world_2015_09_03_10.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_04_world_2015_09_03_10.sql
new file mode 100644
index 00000000000..5394299e737
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_04_world_2015_09_03_10.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `spell_proc_event` SET `Cooldown`=45 WHERE `entry`=64786;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_05_world_2015_09_03_11.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_05_world_2015_09_03_11.sql
new file mode 100644
index 00000000000..c499b5a71c6
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_05_world_2015_09_03_11.sql
@@ -0,0 +1,10 @@
+--
+SET @ENTRY := 3584;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`>=5;
+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,5,7,61,0,100,0,945,0,0,0,2,250,0,0,0,0,0,1,0,0,0,0,0,0,0,"Therylune - On Quest 'Therylune's Escape' Taken - Set Faction 250"),
+(@ENTRY,0,6,8,11,0,100,0,0,0,0,0,2,124,0,0,0,0,0,1,0,0,0,0,0,0,0,"Therylune - On Respawn - Set Faction 124"),
+(@ENTRY,0,7,9,61,0,100,0,0,0,0,0,19,512,0,0,0,0,0,1,0,0,0,0,0,0,0,"Therylune - On Quest 'Therylune's Escape' Taken - Remove Flags Immune To NPC's"),
+(@ENTRY,0,8,0,61,0,100,0,0,0,0,0,18,512,0,0,0,0,0,1,0,0,0,0,0,0,0,"Therylune - On Respawn - Set Flags Immune To NPC's"),
+(@ENTRY,0,9,0,61,0,100,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Therylune - On Quest 'Therylune's Escape' Taken - Remove npc flag");
+UPDATE `smart_scripts` SET `link`=5 WHERE `entryorguid`=3584 AND `source_type`=0 AND `id`=1 AND `link`=0;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_06_world_2015_09_06_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_06_world_2015_09_06_00.sql
new file mode 100644
index 00000000000..8d6331d808d
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_06_world_2015_09_06_00.sql
@@ -0,0 +1,70 @@
+SET @CGUID := 136178;
+
+DELETE FROM `creature` WHERE `id`=23311;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 23311, 530, 1, 169, -5076.106, 25.09657, 80.35052, 6.236346, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+1, 23311, 530, 1, 169, -5233.175, 64.53071, 64.41123, 0.7679449, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40732 - 40732) (possible waypoints or random movement)
+(@CGUID+2, 23311, 530, 1, 169, -5185.78, 143.9119, 71.66191, 1.692969, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+3, 23311, 530, 1, 169, -5275.489, 149.1322, 58.53136, 2.443461, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+4, 23311, 530, 1, 169, -5091.079, -114.7144, 64.35689, 1.239184, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+5, 23311, 530, 1, 169, -4979.629, -99.6888, 42.13466, 4.049164, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40735 - 40735) (possible waypoints or random movement)
+(@CGUID+6, 23311, 530, 1, 169, -5214.68, 221.5429, 72.53944, 4.380776, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40732 - 40732) (possible waypoints or random movement)
+(@CGUID+7, 23311, 530, 1, 169, -5227.612, 271.558, 70.12395, 0.3334433, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+8, 23311, 530, 1, 169, -5286.284, 241.2294, 67.83147, 4.598778, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+9, 23311, 530, 1, 169, -5269.888, 303.3626, 73.55891, 0.05235988, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+10, 23311, 530, 1, 169, -5285.691, 388.9862, 54.89359, 5.131268, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+11, 23311, 530, 1, 169, -5329.144, 192.1793, 52.40875, 0.5977584, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40714 - 40714)
+(@CGUID+12, 23311, 530, 1, 169, -5313.125, 170.9132, 54.45731, 2.199115, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+13, 23311, 530, 1, 169, -4988.237, 135.2316, 79.1295, 4.974188, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40735 - 40735) (possible waypoints or random movement)
+(@CGUID+14, 23311, 530, 1, 169, -4926.947, 217.0098, 65.26778, 3.333579, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40735 - 40735) (possible waypoints or random movement)
+(@CGUID+15, 23311, 530, 1, 169, -4922.614, 151.7855, 56.78815, 1.780236, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+16, 23311, 530, 1, 169, -4993.667, 235.146, 80.8679, 5.72468, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40732 - 40732) (possible waypoints or random movement)
+(@CGUID+17, 23311, 530, 1, 169, -4991.519, 300.2075, 82.21542, 4.956735, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40732 - 40732) (possible waypoints or random movement)
+(@CGUID+18, 23311, 530, 1, 169, -4849.121, 450.1942, 60.71572, 1.780236, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+19, 23311, 530, 1, 169, -4982.719, -33.12109, 69.65373, 2.86234, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40735 - 40735) (possible waypoints or random movement)
+(@CGUID+20, 23311, 530, 1, 169, -5073.178, 478.2025, 84.05375, 0.4363323, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40735 - 40735) (possible waypoints or random movement)
+(@CGUID+21, 23311, 530, 1, 169, -5037.911, 538.4877, 88.20789, 5.393067, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+22, 23311, 530, 1, 169, -4993.51, 508.6491, 85.82965, 5.986479, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+23, 23311, 530, 1, 169, -4962.048, 525.7373, 79.19551, 3.764333, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+24, 23311, 530, 1, 169, -5005.264, 532.8912, 87.46109, 4.386611, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+25, 23311, 530, 1, 169, -4892.17, 276.9066, 64.75311, 0.4014257, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+26, 23311, 530, 1, 169, -5141.98, 473.9572, 78.60102, 0.4886922, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+27, 23311, 530, 1, 169, -5200.688, 589.4948, 60.42498, 2.792527, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+28, 23311, 530, 1, 169, -5281.205, 653.8297, 41.3046, 4.782202, 120, 0, 0), -- 23311 (Area: 3759) (Auras: 40735 - 40735)
+(@CGUID+29, 23311, 530, 1, 169, -5221.946, 685.913, 60.32657, 4.27563, 120, 10, 1), -- 23311 (Area: 3759) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+30, 23311, 530, 1, 169, -5148.24, 737.8401, 73.05395, 4.782202, 120, 0, 0), -- 23311 (Area: 3965) (Auras: 40732 - 40732)
+(@CGUID+31, 23311, 530, 1, 169, -5013.051, 702.1115, 82.42272, 3.435459, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+32, 23311, 530, 1, 169, -4969.671, 576.4045, 77.05217, 0.5155401, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+33, 23311, 530, 1, 169, -4876.813, 515.5291, 60.59084, 5.581461, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+34, 23311, 530, 1, 169, -4943.457, 693.7371, 71.826, 1.425557, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+-- Below are what existed in TC previously
+(@CGUID+35, 23311, 530, 1, 169, -5241.89, 110.241, 58.1161, 5.43882, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+36, 23311, 530, 1, 169, -5231.88, 73.5107, 64.2172, 2.70563, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+37, 23311, 530, 1, 169, -5223.67, 41.7543, 68.7341, 5.06183, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+38, 23311, 530, 1, 169, -5315.02, 241.323, 59.5668, 4.75553, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+39, 23311, 530, 1, 169, -5135.13, 472.366, 78.4078, 3.1219, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+40, 23311, 530, 1, 169, -5172.18, 449.631, 76.6452, 4.06438, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+41, 23311, 530, 1, 169, -5200.65, 414.947, 74.4594, 4.13114, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+42, 23311, 530, 1, 169, -5248.11, 369.244, 68.7189, 3.43999, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+43, 23311, 530, 1, 169, -5289.96, 304.915, 67.6901, 3.63634, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+44, 23311, 530, 1, 169, -5043.44, 498.824, 86.5357, 3.86411, 120, 10, 1); -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=23311;
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN(2331100,2331101,2331102);
+
+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
+(23311, 0, 0, 1, 8, 0, 100, 1, 40742, 0, 0, 0, 33, 23311, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - On Spell Hit (Booterang) - Give Kill Credit'),
+(23311, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 28, 40714, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Remove Aura Dazed and Confused'),
+(23311, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 28, 40732, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Remove Aura Lazy and Good for Nothing'),
+(23311, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 28, 40735, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Remove Aura Defiant and Enraged'),
+(23311, 0, 4, 5, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Say'),
+(23311, 0, 5, 6, 61, 0, 100, 0, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Set Run'),
+(23311, 0, 6, 7, 61, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 19, 23308, 200, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Move to closest Dragonmaw Peon Work Node'),
+(23311, 0, 7, 8, 61, 0, 100, 0, 0, 0, 0, 0, 11, 39160, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Cast Booterang'),
+(23311, 0, 8, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 30000, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Despawn After 30 seconds'),
+(23311, 0, 9, 10, 38, 0, 100, 0, 1, 1, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - On Data Set - Set Data'),
+(23311, 0, 10, 0, 61, 0, 100, 0, 0, 0, 0, 0, 5, 233, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Play emote'),
+(23311, 0, 11, 0, 11, 0, 100, 0, 0, 0, 0, 0, 87, 2331100, 2331101, 2331102, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - On Spawn - Run Random Script'),
+(2331100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 75, 40714, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 1 - Add Aura Dazed and Confused'),
+(2331101, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 75, 40732, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 2 - Add Aura Lazy and Good for Nothing'),
+(2331102, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 75, 40735, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 3 - Add Aura Defiant and Enraged');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_07_world_2015_09_07_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_07_world_2015_09_07_00.sql
new file mode 100644
index 00000000000..46c7c4a66bd
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_07_world_2015_09_07_00.sql
@@ -0,0 +1,10 @@
+--
+UPDATE `smart_scripts` SET `action_param2`=2 WHERE `entryorguid` IN (2991401) AND `source_type`=9 AND `id`=0;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (30208);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (30208) AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (2991401, 2991400) AND `source_type`=9 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
+(2991400,9,2,0,0,0,100,0,0,0,0,0,11,56230,0,0,0,0,0,7,0,0,0,0,0,0,0,"Dead Iron Giant - On Script - Cast 'Create Fireforged Eyes'"),
+(2991401,9,2,0,0,0,100,0,0,0,0,0,11,56243,2,0,0,0,0,1,0,0,0,0,0,0,0,"Dead Iron Giant - On Script - Cast 'Summon Iron Dwarf'"),
+(2991401,9,3,0,0,0,100,0,0,0,0,0,11,56243,2,0,0,0,0,1,0,0,0,0,0,0,0,"Dead Iron Giant - On Script - Cast 'Summon Iron Dwarf'"),
+(30208,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,30,0,0,0,0,0,0,"Stormforged Ambusher - Just summoned - Start attack");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_08_world_2015_09_07_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_08_world_2015_09_07_01.sql
new file mode 100644
index 00000000000..ae43bc753ed
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_08_world_2015_09_07_01.sql
@@ -0,0 +1,7 @@
+UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `id`=23311;
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN(2331100,2331101,2331102) AND `id`>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
+(2331100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 2, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 1 - Set Faction'),
+(2331100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 89, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 1 - Set Random Movement'),
+(2331101, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 2, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 2 - Set Faction');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_09_world_2015_09_07_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_09_world_2015_09_07_02.sql
new file mode 100644
index 00000000000..3edb064e696
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_09_world_2015_09_07_02.sql
@@ -0,0 +1,5 @@
+--
+DELETE FROM `smart_scripts` WHERE `entryorguid`=22143 AND `source_type`=0 AND `id`=4;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=22144 AND `source_type`=0 AND `id`=4;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=22148 AND `source_type`=0 AND `id`=2;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=23022 AND `source_type`=0 AND `id`=12;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_10_world_2015_09_07_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_10_world_2015_09_07_03.sql
new file mode 100644
index 00000000000..495d42c3136
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_10_world_2015_09_07_03.sql
@@ -0,0 +1,163 @@
+--
+-- DK Faction Endquest - Implement Reaction for Orgrimmar and Alliance Guards
+
+DELETE FROM `creature_text` WHERE `entry` IN (68,1756,1976,3296) AND `groupid`>1;
+DELETE FROM `creature_text` WHERE `entry` IN (14304);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `comment`) VALUES
+(68, 2, 0, '%s throws a rotten apple at $n.', 16, 0, 100, 0, 0, 0, 31671, 'Stormwind City Guard'),
+(68, 3, 0, '%s throws rotten banana on $n.', 16, 0, 100, 0, 0, 0, 31672, 'Stormwind City Guard'),
+(68, 4, 0, '%s spits on $n.', 16, 0, 100, 0, 0, 0, 31673, 'Stormwind City Guard'),
+(68, 5, 0, 'Monster!', 12, 0, 100, 0, 0, 0, 31662, 'Stormwind City Guard'),
+(68, 5, 1, 'Murderer!', 12, 0, 100, 0, 0, 0, 31679, 'Stormwind City Guard'),
+(68, 5, 2, 'GET A ROPE!', 12, 0, 100, 0, 0, 0, 31669, 'Stormwind City Guard'),
+(68, 5, 3, 'How dare you set foot in our city!', 12, 0, 100, 0, 0, 0, 31684, 'Stormwind City Guard'),
+(68, 5, 4, 'You disgust me.', 12, 0, 100, 0, 0, 0, 31680, 'Stormwind City Guard'),
+(68, 5, 5, 'Looks like we''re going to have ourselves an execution.', 12, 0, 100, 0, 0, 0, 31682, 'Stormwind City Guard'),
+(68, 5, 6, 'Traitorous dog.', 12, 0, 100, 0, 0, 0, 31665, 'Stormwind City Guard'),
+(68, 5, 7, 'My family was wiped out by the Scourge! MONSTER!', 12, 0, 100, 0, 0, 0, 31667, 'Stormwind City Guard'),
+(14304, 2, 0, '%s throws a rotten apple at $n.', 16, 0, 100, 0, 0, 0, 31671, 'Kor''kron Elite'),
+(14304, 3, 0, '%s throws rotten banana on $n.', 16, 0, 100, 0, 0, 0, 31672, 'Kor''kron Elite'),
+(14304, 4, 0, '%s spits on $n.', 16, 0, 100, 0, 0, 0, 31673, 'Kor''kron Elite'),
+(14304, 5, 0, 'Monster!', 12, 0, 100, 0, 0, 0, 31662, 'Kor''kron Elite'),
+(14304, 5, 1, 'Murderer!', 12, 0, 100, 0, 0, 0, 31679, 'Kor''kron Elite'),
+(14304, 5, 2, 'GET A ROPE!', 12, 0, 100, 0, 0, 0, 31669, 'Kor''kron Elite'),
+(14304, 5, 3, 'How dare you set foot in our city!', 12, 0, 100, 0, 0, 0, 31684, 'Kor''kron Elite'),
+(14304, 5, 4, 'You disgust me.', 12, 0, 100, 0, 0, 0, 31680, 'Kor''kron Elite'),
+(14304, 5, 5, 'Looks like we''re going to have ourselves an execution.', 12, 0, 100, 0, 0, 0, 31682, 'Kor''kron Elite'),
+(14304, 5, 6, 'Traitorous dog.', 12, 0, 100, 0, 0, 0, 31665, 'Kor''kron Elite'),
+(14304, 5, 7, 'My family was wiped out by the Scourge! MONSTER!', 12, 0, 100, 0, 0, 0, 31667, 'Kor''kron Elite'),
+(1756, 2, 0, '%s throws a rotten apple at $n.', 16, 0, 100, 0, 0, 0, 31671, 'Stormwind Royal Guard'),
+(1756, 3, 0, '%s throws rotten banana on $n.', 16, 0, 100, 0, 0, 0, 31672, 'Stormwind Royal Guard'),
+(1756, 4, 0, '%s spits on $n.', 16, 0, 100, 0, 0, 0, 31673, 'Stormwind Royal Guard'),
+(1756, 5, 0, 'Monster!', 12, 0, 100, 0, 0, 0, 31662, 'Stormwind Royal Guard'),
+(1756, 5, 1, 'Murderer!', 12, 0, 100, 0, 0, 0, 31679, 'Stormwind Royal Guard'),
+(1756, 5, 2, 'GET A ROPE!', 12, 0, 100, 0, 0, 0, 31669, 'Stormwind Royal Guard'),
+(1756, 5, 3, 'How dare you set foot in our city!', 12, 0, 100, 0, 0, 0, 31684, 'Stormwind Royal Guard'),
+(1756, 5, 4, 'You disgust me.', 12, 0, 100, 0, 0, 0, 31680, 'Stormwind Royal Guard'),
+(1756, 5, 5, 'Looks like we''re going to have ourselves an execution.', 12, 0, 100, 0, 0, 0, 31682, 'Stormwind Royal Guard'),
+(1756, 5, 6, 'Traitorous dog.', 12, 0, 100, 0, 0, 0, 31665, 'Stormwind Royal Guard'),
+(1756, 5, 7, 'My family was wiped out by the Scourge! MONSTER!', 12, 0, 100, 0, 0, 0, 31667, 'Stormwind Royal Guard'),
+(1976, 2, 0, '%s throws a rotten apple at $n.', 16, 0, 100, 0, 0, 0, 31671, 'Stormwind City Patroller'),
+(1976, 3, 0, '%s throws rotten banana on $n.', 16, 0, 100, 0, 0, 0, 31672, 'Stormwind City Patroller'),
+(1976, 4, 0, '%s spits on $n.', 16, 0, 100, 0, 0, 0, 31673, 'Stormwind City Patroller'),
+(1976, 5, 0, 'Monster!', 12, 0, 100, 0, 0, 0, 31662, 'Stormwind City Patroller'),
+(1976, 5, 1, 'Murderer!', 12, 0, 100, 0, 0, 0, 31679, 'Stormwind City Patroller'),
+(1976, 5, 2, 'GET A ROPE!', 12, 0, 100, 0, 0, 0, 31669, 'Stormwind City Patroller'),
+(1976, 5, 3, 'How dare you set foot in our city!', 12, 0, 100, 0, 0, 0, 31684, 'Stormwind City Patroller'),
+(1976, 5, 4, 'You disgust me.', 12, 0, 100, 0, 0, 0, 31680, 'Stormwind City Patroller'),
+(1976, 5, 5, 'Looks like we''re going to have ourselves an execution.', 12, 0, 100, 0, 0, 0, 31682, 'Stormwind City Patroller'),
+(1976, 5, 6, 'Traitorous dog.', 12, 0, 100, 0, 0, 0, 31665, 'Stormwind City Patroller'),
+(1976, 5, 7, 'My family was wiped out by the Scourge! MONSTER!', 12, 0, 100, 0, 0, 0, 31667, 'Stormwind City Patroller'),
+(3296, 2, 0, '%s throws a rotten apple at $n.', 16, 0, 100, 0, 0, 0, 31671, 'Orgrimmar Grunt'),
+(3296, 3, 0, '%s throws rotten banana on $n.', 16, 0, 100, 0, 0, 0, 31672, 'Orgrimmar Grunt'),
+(3296, 4, 0, '%s spits on $n.', 16, 0, 100, 0, 0, 0, 31673, 'Orgrimmar Grunt'),
+(3296, 5, 0, 'Monster!', 12, 0, 100, 0, 0, 0, 31662, 'Orgrimmar Grunt'),
+(3296, 5, 1, 'Murderer!', 12, 0, 100, 0, 0, 0, 31679, 'Orgrimmar Grunt'),
+(3296, 5, 2, 'GET A ROPE!', 12, 0, 100, 0, 0, 0, 31669, 'Orgrimmar Grunt'),
+(3296, 5, 3, 'How dare you set foot in our city!', 12, 0, 100, 0, 0, 0, 31684, 'Orgrimmar Grunt'),
+(3296, 5, 4, 'You disgust me.', 12, 0, 100, 0, 0, 0, 31680, 'Orgrimmar Grunt'),
+(3296, 5, 5, 'Looks like we''re going to have ourselves an execution.', 12, 0, 100, 0, 0, 0, 31682, 'Orgrimmar Grunt'),
+(3296, 5, 6, 'Traitorous dog.', 12, 0, 100, 0, 0, 0, 31665, 'Orgrimmar Grunt'),
+(3296, 5, 7, 'My family was wiped out by the Scourge! MONSTER!', 12, 0, 100, 0, 0, 0, 31667, 'Orgrimmar Grunt'),
+(14304, 0, 0, 'Taste blade, mongrel!', 12, 0, 100, 0, 0, 0, 10950, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 1, 'Please tell me that you didn''t just do what I think you just did. Please tell me that I''m not going to have to hurt you... ', 12, 0, 100, 0, 0, 0, 10951, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 2, 'As if we don''t have enough problems, you go and create more!', 12, 0, 100, 0, 0, 0, 10953, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 3, 'You dare spill blood on neutral ground? OUT! OUT, I SAY!', 12, 0, 100, 0, 0, 0, 10948, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 4, 'We don''t take kindly to miscreants, $r.', 12, 0, 100, 0, 0, 0, 10949, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 5, 'Get a rope!',12, 0, 100, 0, 0, 0, 10952, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 6, 'Believe me when I tell you this: You''re gonna wish you weren''t born, sissy!', 12, 0, 100, 0, 0, 0, 10954, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 7, 'Your actions shame us all, $c. I hurt inside as I beat you senseless.', 12, 0, 100, 0, 0, 0, 10955, 'Kor''kron Elite - On Aggro');
+
+-- AIs
+-- Stormwind City Guard SAI
+SET @ENTRY := 68;
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' 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,10,0,100,0,1,10,10000,10000,87,@ENTRY*100+00,@ENTRY*100+01,@ENTRY*100+02,@ENTRY*100+03,0,0,1,0,0,0,0,0,0,0,"Stormwind City Guard - Within 1-10 Range Out of Combat LoS - Run Random Script"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On aggro - Say text1");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=68;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,68,0,0,28,0,13188,0,0,0,"","Only Run script if quest is completed");
+
+-- Kor''kron Elite SAI
+SET @ENTRY := 14304;
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' 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,10,0,100,0,1,10,10000,10000,87,68*100+00,68*100+01,68*100+02,68*100+03,0,0,1,0,0,0,0,0,0,0,"Kor''kron Elite - Within 1-10 Range Out of Combat LoS - Run Random Script"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Kor''kron Elite - On aggro - Say text1");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=14304;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,14304,0,0,28,0,13189,0,0,0,"","Only Run script if quest is completed");
+
+-- Stormwind City Patroller SAI
+SET @ENTRY := 1976;
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' 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,10,0,100,0,1,10,10000,10000,87,68*100+00,68*100+01,68*100+02,68*100+03,0,0,1,0,0,0,0,0,0,0,"Stormwind City Patroller - Within 1-10 Range Out of Combat LoS - Run Random Script"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Patroller - On aggro - Say text1");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=1976;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,1976,0,0,28,0,13188,0,0,0,"","Only Run script if quest is completed");
+
+-- Stormwind Royal Guard SAI
+SET @ENTRY := 1756;
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' 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,10,0,100,0,1,10,10000,10000,87,68*100+00,68*100+01,68*100+02,68*100+03,0,0,1,0,0,0,0,0,0,0,"Stormwind Royal Guard - Within 1-10 Range Out of Combat LoS - Run Random Script");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=1756;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,1756,0,0,28,0,13188,0,0,0,"","Only Run script if quest is completed");
+
+-- Orgrimmar Grunt SAI
+SET @ENTRY := 3296;
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' 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,10,0,100,0,1,10,10000,10000,87,68*100+00,68*100+01,68*100+02,68*100+03,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Grunt - Within 1-10 Range Out of Combat LoS - Run Random Script"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Orgrimmar Grunt - On aggro - Say text1");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=3296;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,3296,0,0,28,0,13189,0,0,0,"","Only Run script if quest is completed");
+
+-- Actionlist SAI
+SET @ENTRY := 6800;
+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,58509,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Cast ''Rotten Apple Toss'"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,2,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Say Line 2");
+
+-- Actionlist SAI
+SET @ENTRY := 6801;
+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,58513,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Cast 'Rotten Banana Toss'"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,3,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Say Line 3");
+
+-- Actionlist SAI
+SET @ENTRY := 6802;
+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,58520,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Cast 'Spit'"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,4,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Say Line 4");
+
+-- Actionlist SAI
+SET @ENTRY := 6803;
+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,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Say Line 5");
+
+
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (58509, 58513, 58520);
+INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES
+(58509, 58511, 0, 'Rotten Apple - Rotten Apple'),
+(58513, 58514, 0, 'Rotten Banana - Rotten Banana'),
+(58520, 58519, 0, 'Spit - Spit');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_11_world_2015_09_07_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_11_world_2015_09_07_04.sql
new file mode 100644
index 00000000000..bfae5b6eafd
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_11_world_2015_09_07_04.sql
@@ -0,0 +1,8 @@
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN(2331100,2331101,2331102) AND `id`>0;
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid` =23311 AND `id`=12;
+UPDATE `smart_scripts` SET `link`=12 WHERE `entryorguid`=23311 AND `source_type`=0 AND `id`=8 AND `link`=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
+(2331100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 89, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 1 - Set Random Movement'),
+(2331102, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 2, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 3 - Set Faction'),
+(23311, 0, 12, 0, 61, 0, 100, 0, 0, 0, 0, 0, 2, 62, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Set Faction');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_12_world_2015_09_07_05.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_12_world_2015_09_07_05.sql
new file mode 100644
index 00000000000..6ddd137c60d
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_12_world_2015_09_07_05.sql
@@ -0,0 +1,5 @@
+--
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = 57387;
+INSERT INTO `spell_linked_spell` VALUES (57387, 57608, 0, 'Argent Cannon - Powering Up The Core');
+UPDATE `creature` SET `curhealth`=126000 WHERE `id`=30236;
+UPDATE `creature_template` SET `unit_flags2`=0, `RegenHealth`=0 WHERE `entry`=30236;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_13_world_2015_09_08_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_13_world_2015_09_08_00.sql
new file mode 100644
index 00000000000..1b000429a1a
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_13_world_2015_09_08_00.sql
@@ -0,0 +1,15 @@
+--
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry` IN (58203);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(17,0,58203,0,0,31,1,3,31075,0,0,0,'','Iron Chain');
+
+UPDATE `smart_scripts` SET `event_param1`=500, `event_param2`=500, `action_type`=51 WHERE `entryorguid` IN (3092000) AND `source_type`=9 AND `id`=5;
+UPDATE `smart_scripts` SET `event_param1`=2000, `event_param2`=2000, `action_param1`=52520 WHERE `entryorguid` IN (3092000) AND `source_type`=9 AND `id`=0;
+UPDATE `smart_scripts` SET `event_param1`=2000, `event_param2`=2000, `action_param1`=58231, `target_type`=1, `target_param1`=0 WHERE `entryorguid` IN (3107500) AND `source_type`=9 AND `id`=0;
+UPDATE `smart_scripts` SET `event_type`=38, `event_param1`=1, `event_param2`=1, `event_param3`=0, `event_param4`=0, `action_type`=103, `action_param1`=1, `comment`="Scourge Bomb - On Data Set 1 1 - Root" WHERE `entryorguid` IN (31075) AND `source_type`=0 AND `id`=3;
+UPDATE `smart_scripts` SET `event_param1`=1000, `event_param2`=1000, `action_param1`=0 WHERE `entryorguid` IN (3107500) AND `source_type`=9 AND `id`=1;
+UPDATE `smart_scripts` SET `event_param3`=3 WHERE `entryorguid` IN (30920) AND `source_type`=0 AND `id`=1;
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (58231);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13,2,58231,0,0,31,0,3,31075,0,1,0,'','Exploding Abomination');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_14_world_2015_09_08_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_14_world_2015_09_08_01.sql
new file mode 100644
index 00000000000..ac4c458096e
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_14_world_2015_09_08_01.sql
@@ -0,0 +1,39 @@
+--
+-- Weapon Master Hanashi: add the missing linked IDs in `action_menu_id`
+UPDATE `gossip_menu_option` SET `action_menu_id`= 5262 WHERE `menu_id`= 5263 AND `OptionBroadcastTextID`= 8812;
+
+-- Hanashi is a troll, using Low Common "Troll" speech, so link the correct text lines for him:
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8603 WHERE `menu_id`= 5262 AND `option_text`= 'Crossbow';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8604 WHERE `menu_id`= 5262 AND `option_text`= 'Dagger';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8605 WHERE `menu_id`= 5262 AND `option_text`= 'Fist Weapon';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8606 WHERE `menu_id`= 5262 AND `option_text`= 'Gun';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8607 WHERE `menu_id`= 5262 AND `option_text`= 'Mace';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8608 WHERE `menu_id`= 5262 AND `option_text`= 'Polearm';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8609 WHERE `menu_id`= 5262 AND `option_text`= 'Sword';
+
+-- Weapon Master Archibald: add missing linked IDs to `action_menu_id` (using default gossip from npc_text)
+UPDATE `gossip_menu_option` SET `action_menu_id`= 5268 WHERE `menu_id`= 5269 AND `OptionBroadcastTextID`= 8812;
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8592 WHERE `menu_id`= 5268 AND `option_text`= 'Axe';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8593 WHERE `menu_id`= 5268 AND `option_text`= 'Bow';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8596 WHERE `menu_id`= 5268 AND `option_text`= 'Fist Weapon';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8597 WHERE `menu_id`= 5268 AND `option_text`= 'Gun';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8598 WHERE `menu_id`= 5268 AND `option_text`= 'Mace';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8600 WHERE `menu_id`= 5268 AND `option_text`= 'Staff';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8602 WHERE `menu_id`= 5268 AND `option_text`= 'Thrown';
+
+-- Weapon Master Sayoc: add the gossip link ID 5220 in `action_menu_id` and link it in `gossip_menu` too
+UPDATE `gossip_menu_option` SET `action_menu_id` = 5222 WHERE `menu_id` = 5221 AND `OptionBroadcastTextID`= 8812;
+-- Sayoc needs new lines in `gossip_menu_option` as well as the linked lines from npc_text :
+DELETE FROM `gossip_menu_option` WHERE `menu_id` = 5222 AND `OptionBroadcastTextID` IN (20582,20585,20586,20587,20588,20589);
+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
+(5222,0,0,'Crossbow',20582,1,1,8594,0,0,0,'',0),
+(5222,1,0,'Gun',20585,1,1,8597,0,0,0,'',0),
+(5222,2,0,'Mace',20586,1,1,8598,0,0,0,'',0),
+(5222,3,0,'Polearm',20587,1,1,8599,0,0,0,'',0),
+(5222,4,0,'Staff',20588,1,1,8610,0,0,0,'',0), --
+(5222,5,0,'Sword',20589,1,1,8601,0,0,0,'',0);
+
+UPDATE `creature_template` SET `type_flags`=134217728 WHERE `entry` IN (17005);
+DELETE FROM `gossip_menu_option` WHERE (`menu_id`=7337);
+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
+(7337,0,3,'Show me what you know, Larenis.',13168,5,16,0,0,0,0,'',0);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_15_world_2015_12_09_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_15_world_2015_12_09_00.sql
new file mode 100644
index 00000000000..cfa8399c350
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_15_world_2015_12_09_00.sql
@@ -0,0 +1,5 @@
+UPDATE `creature_template` SET `ScriptName`='npc_brann_bronzebeard_ulduar_intro' WHERE `entry`=33579;
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=48750 AND `spell_effect`=48770;
+DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_gen_burning_depths_necrolyte_image';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(48750, 'spell_gen_burning_depths_necrolyte_image');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_16_world_2015_09_15_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_16_world_2015_09_15_01.sql
new file mode 100644
index 00000000000..c524b8087be
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_16_world_2015_09_15_01.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask`|4194304 WHERE entry IN (26861,30788);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_17_world_2015_09_15_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_17_world_2015_09_15_02.sql
new file mode 100644
index 00000000000..017cbd0d7ef
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_17_world_2015_09_15_02.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry` IN (184322, 184324, 184325, 184326, 184327, 184328, 184329);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_18_world_2015_09_15_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_18_world_2015_09_15_03.sql
new file mode 100644
index 00000000000..89e40a643d4
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_18_world_2015_09_15_03.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask`|2048 WHERE entry IN (26861,30788);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_19_world_2015_09_16_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_19_world_2015_09_16_00.sql
new file mode 100644
index 00000000000..1e0da0ad8d0
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_19_world_2015_09_16_00.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask`|2048|8192 WHERE entry IN (26861,30788,29304,31370);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_20_world_2015_09_17_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_20_world_2015_09_17_00.sql
new file mode 100644
index 00000000000..db9da587517
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_20_world_2015_09_17_00.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `game_tele` SET `name`='TheRoyalExchange' WHERE `name`='TheRoyalExhange';
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_21_world_2015_09_21_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_21_world_2015_09_21_00.sql
new file mode 100644
index 00000000000..03c7db23de9
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_21_world_2015_09_21_00.sql
@@ -0,0 +1,2 @@
+--
+DELETE FROM `creature` WHERE `guid`=84939 AND `id`=22023;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_22_world_2015_09_21_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_22_world_2015_09_21_01.sql
new file mode 100644
index 00000000000..a7bcbb124dc
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_22_world_2015_09_21_01.sql
@@ -0,0 +1,4 @@
+--
+DELETE FROM `smart_scripts` WHERE `entryorguid`=3518 AND `source_type`=0;
+UPDATE `creature_template` SET `AIName`='' WHERE `entry`=3518;
+UPDATE `waypoint_scripts` SET `dataint`=1102 WHERE `id`=273 ;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_23_world_2015_09_21_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_23_world_2015_09_21_02.sql
new file mode 100644
index 00000000000..e79dddf7691
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_23_world_2015_09_21_02.sql
@@ -0,0 +1,32 @@
+--
+-- Defias Conjurer SAI "Comments and event_flags fix"
+SET @ENTRY := 619;
+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,1000,1000,1800000,1800000,11,12544,1,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Conjurer - Out of Combat - Cast 'Frost Armor'"),
+(@ENTRY,0,1,0,0,0,100,0,0,0,2400,3800,11,9053,64,0,0,0,0,2,0,0,0,0,0,0,0,"Defias Conjurer - Combat CMC - Cast 'Fireball'"),
+(@ENTRY,0,2,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Conjurer - On Health - Flee for assist (No Repeat)");
+
+-- Crushridge Warmonger SAI "Comments and event_flags fix"
+SET @ENTRY := 2287;
+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,4,0,10,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Crushridge Warmonger - On Aggro - Say Line 0 (No Repeat)"),
+(@ENTRY,0,1,0,2,0,100,1,0,50,0,0,39,15,1,0,0,0,0,1,0,0,0,0,0,0,0,"Crushridge Warmonger - Between 0-50% Health - Call For Help (No Repeat)"),
+(@ENTRY,0,2,3,74,0,100,1,0,15,0,0,11,8269,1,0,0,0,0,9,0,0,0,0,0,0,0,"Crushridge Warmonger - On Friendly Between 0-15% Health - Cast 'Frenzy' (No Repeat)"),
+(@ENTRY,0,3,0,61,0,100,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Crushridge Warmonger - On Friendly Between 0-15% Health - Say Line 1 (No Repeat)");
+
+-- Dustbelcher Lord SAI "Line numbering and event_flags fix"
+SET @ENTRY := 2719;
+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,7800,12100,11200,30000,11,9128,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dustbelcher Lord - In Combat - Cast 'Battle Shout'"),
+(@ENTRY,0,1,0,0,0,100,0,6600,18700,30800,32400,11,13730,1,0,0,0,0,1,0,0,0,0,0,0,0,"Dustbelcher Lord - In Combat - Cast 'Demoralizing Shout'"),
+(@ENTRY,0,2,0,2,0,100,1,0,50,0,0,39,15,1,0,0,0,0,1,0,0,0,0,0,0,0,"Dustbelcher Lord - Between 0-50% Health - Call For Help (No Repeat)");
+
+-- Duggan Wildhammer & Sentinel Leader & Dal Bloodclaw SAI "event_flags fix"
+UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (10817,17210) AND `source_type`=0 AND `id`=2;
+UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (3987) AND `source_type`=0 AND `id`=1;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_24_world_2015_09_21_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_24_world_2015_09_21_03.sql
new file mode 100644
index 00000000000..aea8aaf43a1
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_24_world_2015_09_21_03.sql
@@ -0,0 +1,3 @@
+--
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = 29320;
+INSERT INTO `spell_linked_spell` VALUES (29320, 29321, 0, 'Charge-Fear');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_25_world_2015_09_21_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_25_world_2015_09_21_04.sql
new file mode 100644
index 00000000000..40792506d57
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_25_world_2015_09_21_04.sql
@@ -0,0 +1,246 @@
+--
+UPDATE `gossip_menu_option` SET `action_menu_id`=9753 WHERE `menu_id`=9754;
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127753;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2926.023,`position_y`=-3200.403,`position_z`=273.3712 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,25278,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,2926.023,-3200.403,273.3712,0,0,0,0,100,0),
+(@PATH,2,2931.457,-3188.328,273.3712,0,0,0,0,100,0),
+(@PATH,3,2925.778,-3167.298,273.787,0,0,0,0,100,0),
+(@PATH,4,2907.542,-3166.655,273.787,0,0,0,0,100,0),
+(@PATH,5,2873.219,-3165.419,273.787,0,0,0,0,100,0),
+(@PATH,6,2861.632,-3165.088,273.787,0,0,0,0,100,0),
+(@PATH,7,2860.526,-3185.717,273.787,0,0,0,0,100,0),
+(@PATH,8,2860.435,-3203.401,273.787,0,0,0,0,100,0),
+(@PATH,9,2875.204,-3203.906,273.4088,0,0,0,0,100,0),
+(@PATH,10,2892.834,-3204.38,273.3965,0,0,0,0,100,0),
+(@PATH,11,2911.993,-3204.611,273.3846,0,0,0,0,100,0);
+
+DELETE FROM `creature_template_addon` WHERE `entry` =16400;
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127631;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3223.018,`position_y`=-3218.725,`position_z`=316.3705 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, '28370');
+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,3223.018,-3218.725,316.3705,0,0,0,0,100,0),
+(@PATH,2,3230.179,-3211.59,316.5933,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127632;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3208.167,`position_y`=-3234.595,`position_z`=315.4565 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, '28370');
+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,3208.167,-3234.595,315.4565,0,0,0,0,100,0),
+(@PATH,2,3200.392,-3242.829,315.141,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127633;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3178.613,`position_y`=-3263.671,`position_z`=316.4281 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, '28370');
+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,3178.613,-3263.671,316.4281,0,0,0,0,100,0),
+(@PATH,2,3174.119,-3267.95,316.7845,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127634;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3217.316,`position_y`=-3224.753,`position_z`=316.0583 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, '28370');
+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,3217.316,-3224.753,316.0583,0,0,0,0,100,0),
+(@PATH,2,3209.847,-3232.841,315.5579,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127635;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3190.628,`position_y`=-3252.565,`position_z`=315.5675 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, '28370');
+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,3190.628,-3252.565,315.5675,0,0,0,0,100,0),
+(@PATH,2,3196.852,-3246.524,315.0298,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127636;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3244.748,`position_y`=-3198.743,`position_z`=317.3646 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, '28370');
+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,3244.748,-3198.743,317.3646,0,0,0,0,100,0),
+(@PATH,2,3236.25,-3205.753,316.6993,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127637;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3246.763,`position_y`=-3193.856,`position_z`=317.3302 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, '28370');
+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,3246.763,-3193.856,317.3302,0,0,0,0,100,0),
+(@PATH,2,3252.532,-3188.566,318.1087,0,0,0,0,100,0);
+
+-- Pathing for Stitched Colossus Entry: 30071 'TDB FORMAT'
+SET @NPC := 128058;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3454.427,`position_y`=-3187.954,`position_z`=294.6607 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,3454.427,-3187.954,294.6607,0,0,0,0,100,0),
+(@PATH,2,3453.837,-3215.978,284.005,0,0,0,0,100,0),
+(@PATH,3,3453.848,-3237.722,272.597,0,0,0,0,100,0),
+(@PATH,4,3453.705,-3262.583,267.5943,0,0,0,0,100,0),
+(@PATH,5,3453.507,-3285.881,267.5923,0,0,0,0,100,0),
+(@PATH,6,3450.008,-3299.009,267.593,0,0,0,0,100,0),
+(@PATH,7,3434.539,-3314.597,267.592,0,0,0,0,100,0),
+(@PATH,8,3423.135,-3338.302,267.593,0,0,0,0,100,0),
+(@PATH,9,3430.531,-3358.816,267.592,0,0,0,0,100,0),
+(@PATH,10,3450.598,-3369.066,267.5927,0,0,0,0,100,0),
+(@PATH,11,3472.296,-3362.288,267.5991,0,0,0,0,100,0),
+(@PATH,12,3483.6,-3341.974,267.5938,0,0,0,0,100,0),
+(@PATH,13,3477.419,-3326.692,267.5933,0,0,0,0,100,0),
+(@PATH,14,3466.747,-3312.542,267.5925,0,0,0,0,100,0),
+(@PATH,15,3455.716,-3299.394,267.5929,0,0,0,0,100,0),
+(@PATH,16,3453.988,-3285.853,267.5922,0,0,0,0,100,0),
+(@PATH,17,3454.239,-3262.38,267.5943,0,0,0,0,100,0),
+(@PATH,18,3454.453,-3237.651,272.6341,0,0,0,0,100,0),
+(@PATH,19,3454.135,-3215.837,284.079,0,0,0,0,100,0);
+
+-- Pathing for Stitched Colossus Entry: 30071 'TDB FORMAT'
+SET @NPC := 128057;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3331.301,`position_y`=-3008.488,`position_z`=294.6606 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,3331.301,-3008.488,294.6606,0,0,0,0,100,0),
+(@PATH,2,3352.705,-3027.659,294.6606,0,0,0,0,100,0),
+(@PATH,3,3378.292,-3052.875,294.6657,0,0,0,0,100,0),
+(@PATH,4,3400.806,-3075.215,294.6628,0,0,0,0,100,0),
+(@PATH,5,3420.535,-3095.16,294.6607,0,0,0,0,100,0),
+(@PATH,6,3423.608,-3104.254,294.6607,0,0,0,0,100,0),
+(@PATH,7,3424.381,-3122.999,294.6599,0,0,0,0,100,0),
+(@PATH,8,3428.679,-3145.677,294.659,0,0,0,0,100,0),
+(@PATH,9,3444.718,-3157.384,294.6608,0,0,0,0,100,0),
+(@PATH,10,3466.77,-3155.3,294.6603,0,0,0,0,100,0),
+(@PATH,11,3481.494,-3139.173,294.6597,0,0,0,0,100,0),
+(@PATH,12,3480.309,-3114.887,294.6596,0,0,0,0,100,0),
+(@PATH,13,3467.193,-3102.655,294.6595,0,0,0,0,100,0),
+(@PATH,14,3448.526,-3099.575,294.6612,0,0,0,0,100,0),
+(@PATH,15,3428.409,-3099.175,294.6607,0,0,0,0,100,0),
+(@PATH,16,3420.901,-3094.735,294.6607,0,0,0,0,100,0),
+(@PATH,17,3401.064,-3074.813,294.6629,0,0,0,0,100,0),
+(@PATH,18,3378.616,-3052.372,294.6658,0,0,0,0,100,0),
+(@PATH,19,3352.98,-3027.292,294.6606,0,0,0,0,100,0),
+(@PATH,20,3331.301,-3008.488,294.6606,0,0,0,0,100,0),
+(@PATH,21,3311.187,-2990.615,294.6598,0,0,0,0,100,0),
+(@PATH,22,3311.187,-2990.615,294.6598,2.505866,0,0,0,100,0),
+(@PATH,23,3311.187,-2990.615,294.6598,2.251878,0,0,0,100,0),
+(@PATH,24,3311.187,-2990.615,294.6598,3.254467,0,0,0,100,0),
+(@PATH,25,3311.187,-2990.615,294.6598,5.113917,0,0,0,100,0);
+
+-- Pathing for Stitched Colossus Entry: 30071 'TDB FORMAT'
+SET @NPC := 128056;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3425.885,`position_y`=-3100.784,`position_z`=294.6607 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,3425.885,-3100.784,294.6607,0,0,0,0,100,0),
+(@PATH,2,3400.279,-3075.093,294.6628,0,0,0,0,100,0),
+(@PATH,3,3373.177,-3047.739,294.6664,0,0,0,0,100,0),
+(@PATH,4,3344.838,-3019.543,294.6606,0,0,0,0,100,0),
+(@PATH,5,3341.914,-3012.742,294.6606,0,0,0,0,100,0),
+(@PATH,6,3339.663,-2995.398,294.6601,0,0,0,0,100,0),
+(@PATH,7,3337.08,-2977.52,294.6604,0,0,0,0,100,0),
+(@PATH,8,3323.939,-2963.499,294.6603,0,0,0,0,100,0),
+(@PATH,9,3299.76,-2962.284,294.6606,0,0,0,0,100,0),
+(@PATH,10,3286.439,-2972.35,294.6593,0,0,0,0,100,0),
+(@PATH,11,3280.707,-2995.567,294.6606,0,0,0,0,100,0),
+(@PATH,12,3288.473,-3011.645,294.6597,0,0,0,0,100,0),
+(@PATH,13,3307.809,-3020.176,294.659,0,0,0,0,100,0),
+(@PATH,14,3325.226,-3018.351,294.6606,0,0,0,0,100,0),
+(@PATH,15,3338.513,-3016.632,294.6606,0,0,0,0,100,0),
+(@PATH,16,3344.342,-3020.255,294.6606,0,0,0,0,100,0),
+(@PATH,17,3372.666,-3048.441,294.6662,0,0,0,0,100,0),
+(@PATH,18,3399.818,-3075.62,294.6627,0,0,0,0,100,0),
+(@PATH,19,3425.406,-3101.135,294.6607,0,0,0,0,100,0),
+(@PATH,20,3451.888,-3127.903,294.6607,0,0,0,0,100,0),
+(@PATH,21,3451.888,-3127.903,294.6607,1.541391,0,0,0,100,0),
+(@PATH,22,3456.634,-3133.219,294.6606,0,0,0,0,100,0),
+(@PATH,23,3455.112,-3131.514,294.6606,6.06443,0,0,0,100,0),
+(@PATH,24,3455.112,-3131.514,294.6606,4.858006,0,0,0,100,0),
+(@PATH,25,3455.112,-3131.514,294.6606,2.345938,0,0,0,100,0);
+
+-- Pathing for Stitched Colossus Entry: 30071 'TDB FORMAT'
+SET @NPC := 128054;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3250.639,`position_y`=-2986.463,`position_z`=294.6606 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,3250.639,-2986.463,294.6606,0,0,0,0,100,0),
+(@PATH,2,3218.217,-2985.765,281.2667,0,0,0,0,100,0),
+(@PATH,3,3198.772,-2985.637,271.0636,0,0,0,0,100,0),
+(@PATH,4,3178.061,-2985.433,267.5943,0,0,0,0,100,0),
+(@PATH,5,3159.365,-2985.343,267.5929,0,0,0,0,100,0),
+(@PATH,6,3139.7,-2981.853,267.5929,0,0,0,0,100,0),
+(@PATH,7,3126.553,-2971.708,267.5919,0,0,0,0,100,0),
+(@PATH,8,3114.558,-2959.215,267.5926,0,0,0,0,100,0),
+(@PATH,9,3095.302,-2956.31,267.5921,0,0,0,0,100,0),
+(@PATH,10,3078.464,-2964.795,267.5918,0,0,0,0,100,0),
+(@PATH,11,3070.598,-2982.696,267.5929,0,0,0,0,100,0),
+(@PATH,12,3076.846,-3004.052,267.592,0,0,0,0,100,0),
+(@PATH,13,3096.726,-3015.381,267.5934,0,0,0,0,100,0),
+(@PATH,14,3115.124,-3011.505,267.5921,0,0,0,0,100,0),
+(@PATH,15,3127.605,-2998.091,267.5924,0,0,0,0,100,0),
+(@PATH,16,3139.447,-2989.035,267.5929,0,0,0,0,100,0),
+(@PATH,17,3159.26,-2985.907,267.5929,0,0,0,0,100,0),
+(@PATH,18,3178.106,-2985.838,267.5943,0,0,0,0,100,0),
+(@PATH,19,3198.909,-2986.179,271.1352,0,0,0,0,100,0),
+(@PATH,20,3218.02,-2986.236,281.1633,0,0,0,0,100,0);
+
+-- Pathing for Shade of Naxxramas Entry: 16164 'TDB FORMAT'
+SET @NPC := 127755;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2915.294,`position_y`=-3343.234,`position_z`=298.1457 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,2915.294,-3343.234,298.1457,0,0,0,0,100,0),
+(@PATH,2,2898.639,-3327.008,298.1457,0,0,0,0,100,0),
+(@PATH,3,2915.294,-3343.234,298.1457,0,0,0,0,100,0),
+(@PATH,4,2898.639,-3327.008,298.1457,0,0,0,0,100,0),
+(@PATH,5,2915.294,-3343.234,298.1457,0,0,0,0,100,0),
+(@PATH,6,2898.639,-3327.008,298.1457,0,0,0,0,100,0);
+
+-- Sludge Belcher SAI On Reset - Cast Disease Cloud was set to OOC
+UPDATE `smart_scripts` SET `event_type`=25 WHERE `entryorguid`=16029 AND `source_type`=0 AND `id`=0;
+-- These npc's should not be moving
+UPDATE creature SET `spawndist`=0, `MovementType`=0 WHERE `guid` IN (128070,128071,128072,128073,128074,128067,130957);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_26_world_2015_09_21_05.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_26_world_2015_09_21_05.sql
new file mode 100644
index 00000000000..eccb800e8ce
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_26_world_2015_09_21_05.sql
@@ -0,0 +1,41 @@
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`in(23392,23257,23334,23208,23335,22982);
+
+
+DELETE FROM `creature_text` WHERE `entry` in(23392,23257,23334,23208,23335,22982);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(23392, 0, 0, '$n is an officer and a $g gentleman : gentlewoman;.', 12, 0, 100, 0, 0, 0, 21940, 0, 'Skyguard Stable Master <Stable Master>'),
+(23257, 0, 0, 'Look who''s here. It''s $n, our top gun.', 12, 0, 100, 0, 0, 0, 21885, 0, 'Skyguard Windcharger'),
+(23257, 0, 1, '$n, terror of the skies, how are you doing?', 12, 0, 100, 0, 0, 0, 21893, 0, 'Skyguard Windcharger'),
+(23257, 0, 2, 'A-TEN-HUT, officer $n on the deck!', 12, 0, 100, 0, 0, 0, 21891, 0, 'Skyguard Windcharger'),
+(23257, 0, 3, '$G Mister : Lady; $n, what an unexpected pleasure, $g sir : ma''am;.', 12, 0, 100, 0, 0, 0, 21890, 0, 'Skyguard Windcharger'),
+(23257, 0, 4, 'Heh, the skies aren''t so friendly with $n flying them!', 12, 0, 100, 0, 0, 0, 21895, 0, 'Skyguard Windcharger'),
+(23257, 0, 5, '$n, you and I should race sometime.', 12, 0, 100, 0, 0, 0, 21937, 0, 'Skyguard Windcharger'),
+(23257, 0, 6, '$n, how''s your mount holding up? Pretty rough up there these days?', 12, 0, 100, 0, 0, 0, 21897, 0, 'Skyguard Windcharger'),
+(23334, 0, 0, 'Maybe one day $n will teach us a few of $g his : her; tricks?', 12, 0, 100, 0, 0, 0, 21942, 0, 'Sky Commander Keller'),
+(23208, 0, 0, 'Maybe one day $n will teach us a few of $g his : her; tricks?', 12, 0, 100, 0, 0, 0, 21942, 0, 'Skyguard Pyrotechnician'),
+(23335, 0, 0, 'You''re a peach! I''ll make sure that the ray is properly cared for.', 12, 0, 100, 0, 0, 0, 21371, 0, 'Skyguard Khatie'),
+(23335, 0, 1, 'Wow! Thanks for bringing it all the way back here. You didn''t have to do that.', 12, 0, 100, 0, 0, 0, 21370, 0, 'Skyguard Khatie'),
+(22982, 0, 0, '$n, do you feel the need -- the need for speed?', 12, 0, 100, 0, 0, 0, 21886, 0, 'Skyguard Navigator'),
+(22982, 0, 1, '$n, how''s your mount holding up? Pretty rough up there these days?', 12, 0, 100, 0, 0, 0, 21897, 0, 'Skyguard Navigator'),
+(22982, 0, 3, 'Heh, the skies aren''t so friendly with $n flying them!', 12, 0, 100, 0, 0, 0, 21895, 0, 'Skyguard Navigator'),
+(22982, 0, 4, '$n, terror of the skies, how are you doing?', 12, 0, 100, 0, 0, 0, 21893, 0, 'Skyguard Navigator');
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(23392,23257,23334,23208,23335,22982) 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
+(23392, 0, 0, 0, 10, 0, 100, 0, 1, 10, 300000, 300000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skyguard Stable Master <Stable Master> - OOC LOS - Say'),
+(23257, 0, 0, 0, 10, 0, 100, 0, 1, 10, 150000, 150000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skyguard Stable Master - OOC LOS - Say'),
+(23334, 0, 0, 0, 10, 0, 100, 0, 1, 10, 300000, 300000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Sky Commander Keller - OOC LOS - Say'),
+(23208, 0, 0, 0, 10, 0, 100, 0, 1, 10, 300000, 300000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skyguard Pyrotechnician - OOC LOS - Say'),
+(23335, 0, 0, 0, 10, 0, 100, 0, 1, 10, 300000, 300000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skyguard Khatie - OOC LOS - Say'),
+(22982, 0, 0, 0, 10, 0, 100, 0, 1, 10, 150000, 150000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skyguard Navigator - OOC LOS - Say');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` IN(23392,23257,23334,23208,23335,22982);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(22, 1, 23392, 0, 0, 5, 0, 1031, 128, 0, 0, 0, 0, '', 'requires shatari skyguard exhalted'),
+(22, 1, 23257, 0, 0, 5, 0, 1031, 128, 0, 0, 0, 0, '', 'requires shatari skyguard exhalted'),
+(22, 1, 23334, 0, 0, 5, 0, 1031, 128, 0, 0, 0, 0, '', 'requires shatari skyguard exhalted'),
+(22, 1, 23208, 0, 0, 5, 0, 1031, 128, 0, 0, 0, 0, '', 'requires shatari skyguard exhalted'),
+(22, 1, 23335, 0, 0, 28, 0, 11023, 0, 0, 0, 0, 0, '', 'requires Bomb Them Again complete in quest log'),
+(22, 1, 23335, 0, 1, 28, 0, 11010, 0, 0, 0, 0, 0, '', 'requires Bombing run complete in quest log'),
+(22, 1, 23335, 0, 2, 28, 0, 11102, 0, 0, 0, 0, 0, '', 'requires Bombing run complete in quest log'),
+(22, 1, 22982, 0, 0, 5, 0, 1031, 128, 0, 0, 0, 0, '', 'requires shatari skyguard exhalted');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_27_world_2015_09_21_06.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_27_world_2015_09_21_06.sql
new file mode 100644
index 00000000000..4e0ee5b2222
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_27_world_2015_09_21_06.sql
@@ -0,0 +1,18 @@
+--
+-- North Sea Kraken SAI
+SET @ENTRY := 34925;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY*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
+(@ENTRY,0,0,0,0,0,100,0,6000,9000,7000,9000,11,66514,0,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - IC - Cast Frost Breath'),
+(@ENTRY,0,1,0,8,0,40,0,66588,0,0,0,80,@ENTRY*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - On Spell hit Flaming Spear - ActionList'),
+(@ENTRY*100,9,0,0,0,0,100,0,0,0,0,0,11,50142,2,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Cast Submerge'),
+(@ENTRY*100,9,1,0,0,0,100,0,0,0,0,0,18,33554432,0,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Add unitflag not selectable'),
+(@ENTRY*100,9,2,0,0,0,100,0,3000,3000,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Turn Invisible'),
+(@ENTRY*100,9,3, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - actionList - Turn Visible'),
+(@ENTRY*100,9,4,0,0,0,100,0,0,0,0,0,19,33554432,0,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Remove unitflag not selectable'),
+(@ENTRY, 0, 2, 3, 2, 0, 100, 1, 1, 6, 0, 0, 11, 66994, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - On Between 1 and 6% HP - Cast Kraken Tooth Explosion'),
+(@ENTRY, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - Linked With Previous Event - Die'),
+(@ENTRY, 0, 4, 0, 1, 0, 100, 0, 30000, 30000, 30000, 30000, 11, 68909, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - OOC - Cast Submerge '),
+(@ENTRY, 0, 5, 0, 0, 0, 100, 0, 15000, 20000, 15000, 20000, 11, 66511, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - IC - Cast Whirl'),
+(@ENTRY,0,6,0,8,0,100,0,66588,0,0,0,11,66717,2,0,0,0,0,7,0,0,0,0,0,0,0,'North Sea Kraken - On spell Hit - Cast Quest credit');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_28_world_2015_09_21_07.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_28_world_2015_09_21_07.sql
new file mode 100644
index 00000000000..ce126d38081
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_28_world_2015_09_21_07.sql
@@ -0,0 +1,6 @@
+--
+DELETE FROM `smart_scripts` WHERE `entryorguid`=23899 AND `source_type`=0 AND `id` IN (8,9);
+UPDATE `smart_scripts` SET `link`=9 WHERE `entryorguid`=23899 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
+(23899,0,8,0,54,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tethyr - On Just Summoned - Set Active ON"),
+(23899,0,9,0,61,0,100,0,0,0,0,0,48,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tethyr - On wp reached - Set Active OFF");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_29_world_2015_09_21_08.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_29_world_2015_09_21_08.sql
new file mode 100644
index 00000000000..d56b962ad8f
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_29_world_2015_09_21_08.sql
@@ -0,0 +1,10 @@
+-- Update formation points
+UPDATE `creature_formations` SET `point_1`=1, `point_2`=19 WHERE `leaderGUID`=127045 AND `memberGUID`=127058;
+UPDATE `creature_formations` SET `point_1`=4, `point_2`=8 WHERE `leaderGUID`=201706 AND `memberGUID`=201764;
+UPDATE `creature_formations` SET `angle`=270,`point_1`=4, `point_2`=7 WHERE `leaderGUID`=201713 AND `memberGUID`=201735;
+UPDATE `creature_formations` SET `angle`=260, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=202628 AND `memberGUID` IN (202680);
+UPDATE `creature_formations` SET `angle`=100, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=202628 AND `memberGUID` IN (202682);
+UPDATE `creature_formations` SET `point_1`=2, `point_2`=7 WHERE `leaderGUID`=202629 AND `memberGUID` IN (202681,202684);
+UPDATE `creature_formations` SET `point_1`=1, `point_2`=10 WHERE `leaderGUID`=202692 AND `memberGUID` IN (202695,202696);
+UPDATE `creature_formations` SET `point_1`=2, `point_2`=7 WHERE `leaderGUID`=202814 AND `memberGUID` IN (202803,202804);
+UPDATE `creature_formations` SET `point_1`=3, `point_2`=6 WHERE `leaderGUID`=202815 AND `memberGUID` IN (202805,202806);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_30_world_2015_09_21_10.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_30_world_2015_09_21_10.sql
new file mode 100644
index 00000000000..e7938cdf352
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_30_world_2015_09_21_10.sql
@@ -0,0 +1,14 @@
+-- Hall of Stone formation fixes
+UPDATE `creature_formations` SET `angle`=310, `point_1`=1, `point_2`=3 WHERE `leaderGUID`=126709 AND `memberGUID`=126692;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=1, `point_2`=3 WHERE `leaderGUID`=126709 AND `memberGUID`=126693;
+UPDATE `creature_formations` SET `angle`=310, `point_1`=3, `point_2`=7 WHERE `leaderGUID`=126687 AND `memberGUID`=126705;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=3, `point_2`=7 WHERE `leaderGUID`=126687 AND `memberGUID`=126700;
+UPDATE `creature_formations` SET `angle`=310, `point_1`=2, `point_2`=6 WHERE `leaderGUID`=126690 AND `memberGUID`=126707;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=2, `point_2`=6 WHERE `leaderGUID`=126690 AND `memberGUID`=126701;
+UPDATE `creature_formations` SET `angle`=310, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=126695 AND `memberGUID`=126713;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=126695 AND `memberGUID`=126703;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=126696 AND `memberGUID`=126714;
+UPDATE `creature_formations` SET `angle`=310, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=126696 AND `memberGUID`=126704;
+UPDATE `creature_formations` SET `dist`=4, `point_1`=2, `point_2`=4 WHERE `leaderGUID`=126715 AND `memberGUID`=126716;
+UPDATE `creature_formations` SET `angle`=310, `point_1`=1, `point_2`=3 WHERE `leaderGUID`=126694 AND `memberGUID`=126711;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=1, `point_2`=3 WHERE `leaderGUID`=126694 AND `memberGUID`=126712;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_31_world_2015_09_22_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_31_world_2015_09_22_00.sql
new file mode 100644
index 00000000000..821e9ea3856
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_31_world_2015_09_22_00.sql
@@ -0,0 +1,10 @@
+DELETE FROM `creature_text` WHERE `entry` =23257 and `groupid`=0 and `id` in(7,8,9);
+DELETE FROM `creature_text` WHERE `entry` =22982 and `groupid`=0 and `id` in(5,6);
+
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+
+(23257, 0, 7, 'Well one thing''s for sure, $n''s not a nugget any more!', 12, 0, 100, 0, 0, 0, 21896, 0, 'Skyguard Windcharger'),
+(23257, 0, 8, 'Buzz the landing pad lately, $n?', 12, 0, 100, 0, 0, 0, 21889, 0, 'Skyguard Windcharger'),
+(23257, 0, 9, 'The list of Skyguard members is long and distinguished. $n tops that list.', 12, 0, 100, 0, 0, 0, 21939, 0, 'Skyguard Windcharger'),
+(22982, 0, 5, 'Well, if it isn''t our resident $g flyboy : flygirl;, $n. How''s it going, ace?', 12, 0, 100, 0, 0, 0, 21898, 0, 'Skyguard Navigator'),
+(22982, 0, 6, 'Hey, it''s our ace flyer, $n!', 12, 0, 100, 0, 0, 0, 21883, 0, 'Skyguard Navigator');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_32_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_32_world.sql
new file mode 100644
index 00000000000..208b482c33d
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_32_world.sql
@@ -0,0 +1,8 @@
+--
+UPDATE `npc_spellclick_spells` SET `cast_flags`=1 WHERE `npc_entry`=26477 AND `spell_id`=61832;
+
+UPDATE `smart_scripts` SET `action_param1`=48600 WHERE `entryorguid`=27292 AND `source_type`=0 AND `id`=3;
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=48600;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `Comment`) VALUES
+(13, 1, 48600, 31, 0, 3, 27292, "Ride Flamebringer effect only on Flamebringer");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_30_33_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_30_33_world.sql
new file mode 100644
index 00000000000..3b419524c5e
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_30_33_world.sql
@@ -0,0 +1,3 @@
+--
+UPDATE `creature_model_info` SET `DisplayID_Other_Gender`=0 WHERE `DisplayID` IN (16046, 3258, 14533);
+UPDATE `creature_template` SET `flags_extra`=`flags_extra`|128 WHERE `entry` IN (22434,22435,22447,22383);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_00_world_2015_09_22_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_00_world_2015_09_22_01.sql
new file mode 100644
index 00000000000..a01d8a27e75
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_00_world_2015_09_22_01.sql
@@ -0,0 +1,648 @@
+--
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127751;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2828.418,`position_y`=-3128.86,`position_z`=273.8336 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,25278,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,2828.418,-3128.86,273.8336,0,0,0,0,100,0),
+(@PATH,2,2828.67,-3097.49,273.8114,0,0,0,0,100,0),
+(@PATH,3,2824.122,-3127.451,273.8372,0,0,0,0,100,0),
+(@PATH,4,2813.568,-3143.734,273.8355,0,0,0,0,100,0),
+(@PATH,5,2801.097,-3163.161,273.787,0,0,0,0,100,0),
+(@PATH,6,2799.644,-3189.22,273.787,0,0,0,0,100,0),
+(@PATH,7,2820.002,-3202.299,273.7898,0,0,0,0,100,0),
+(@PATH,8,2844.853,-3200.758,273.787,0,0,0,0,100,0),
+(@PATH,9,2848.53,-3180.427,273.787,0,0,0,0,100,0),
+(@PATH,10,2827.984,-3152.95,273.787,0,0,0,0,100,0);
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127752;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2831.418,`position_y`=-3128.86,`position_z`=273.8336 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,25278,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,2828.418,-3128.86,273.8336,0,0,0,0,100,0),
+(@PATH,2,2828.67,-3097.49,273.8114,0,0,0,0,100,0),
+(@PATH,3,2824.122,-3127.451,273.8372,0,0,0,0,100,0),
+(@PATH,4,2813.568,-3143.734,273.8355,0,0,0,0,100,0),
+(@PATH,5,2801.097,-3163.161,273.787,0,0,0,0,100,0),
+(@PATH,6,2799.644,-3189.22,273.787,0,0,0,0,100,0),
+(@PATH,7,2820.002,-3202.299,273.7898,0,0,0,0,100,0),
+(@PATH,8,2844.853,-3200.758,273.787,0,0,0,0,100,0),
+(@PATH,9,2848.53,-3180.427,273.787,0,0,0,0,100,0),
+(@PATH,10,2827.984,-3152.95,273.787,0,0,0,0,100,0);
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127746; -- 127747
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2561.589,`position_y`=-3158.63,`position_z`=240.5253 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,25278,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,2561.589,-3158.63,240.5253,0,0,0,0,100,0), -- 00:55:40
+(@PATH,2,2577.802,-3151.077,240.5241,0,0,0,0,100,0), -- 00:55:45
+(@PATH,3,2585.239,-3138.162,240.5253,0,0,0,0,100,0), -- 00:55:52
+(@PATH,4,2585.295,-3121.586,240.5244,0,0,0,0,100,0), -- 00:55:58
+(@PATH,5,2580.453,-3111.228,240.5249,0,0,0,0,100,0), -- 00:56:05
+(@PATH,6,2584.915,-3101.806,240.5252,0,0,0,0,100,0), -- 00:56:09
+(@PATH,7,2608.073,-3078.412,240.5271,0,0,0,0,100,0), -- 00:56:14
+(@PATH,8,2627.942,-3058.567,240.5237,0,0,0,0,100,0), -- 00:56:27
+(@PATH,9,2645.011,-3041.33,240.523,0,0,0,0,100,0), -- 00:56:38
+(@PATH,10,2664.399,-3022.119,240.5253,0,0,0,0,100,0), -- 00:56:47
+(@PATH,11,2673.592,-3015.558,240.5253,0,0,0,0,100,0), -- 00:56:58
+(@PATH,12,2692.232,-3014.315,240.5253,0,0,0,0,100,0), -- 00:57:02
+(@PATH,13,2715.057,-3011.801,240.5254,0,0,0,0,100,0), -- 00:57:10
+(@PATH,14,2728.214,-2992.568,240.5253,0,0,0,0,100,0), -- 00:57:19
+(@PATH,15,2725.241,-2970.892,240.5249,0,0,0,0,100,0), -- 00:57:29
+(@PATH,16,2710.557,-2958.161,240.5251,0,0,0,0,100,0), -- 00:57:38
+(@PATH,17,2685.363,-2959.393,240.5253,0,0,0,0,100,0), -- 00:57:45
+(@PATH,18,2671.24,-2977.426,240.5248,0,0,0,0,100,0), -- 00:57:56
+(@PATH,19,2671.708,-2994.812,240.5246,0,0,0,0,100,0), -- 00:58:04
+(@PATH,20,2670.703,-3012.506,240.5252,0,0,0,0,100,0), -- 00:58:12
+(@PATH,21,2663.621,-3021.305,240.5253,0,0,0,0,100,0), -- 00:58:19
+(@PATH,22,2644.285,-3041.24,240.523,0,0,0,0,100,0), -- 00:58:24
+(@PATH,23,2627.018,-3058.662,240.5237,0,0,0,0,100,0), -- 00:58:35
+(@PATH,24,2607.562,-3078.047,240.5271,0,0,0,0,100,0), -- 00:58:44
+(@PATH,25,2583.966,-3101.257,240.5253,0,0,0,0,100,0), -- 00:58:55
+(@PATH,26,2575.257,-3105.696,240.5253,0,0,0,0,100,0), -- 00:59:08
+(@PATH,27,2561.672,-3099.622,240.5251,0,0,0,0,100,0), -- 00:59:11
+(@PATH,28,2542.95,-3102.525,240.5249,0,0,0,0,100,0), -- 00:59:17
+(@PATH,29,2529.021,-3116.719,240.5249,0,0,0,0,100,0), -- 00:59:26
+(@PATH,30,2527.216,-3133.08,240.5253,0,0,0,0,100,0), -- 00:59:33
+(@PATH,31,2530.838,-3143.624,240.5245,0,0,0,0,100,0), -- 00:59:40
+(@PATH,32,2537.175,-3152.094,240.524,0,0,0,0,100,0), -- 00:59:44
+(@PATH,33,2547.807,-3157.692,240.5253,0,0,0,0,100,0); -- 00:59:49
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127747; -- 127746
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2561.589,`position_y`=-3158.63,`position_z`=240.5253 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,25278,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,2561.589,-3158.63,240.5253,0,0,0,0,100,0), -- 00:55:40
+(@PATH,2,2577.802,-3151.077,240.5241,0,0,0,0,100,0), -- 00:55:45
+(@PATH,3,2585.239,-3138.162,240.5253,0,0,0,0,100,0), -- 00:55:52
+(@PATH,4,2585.295,-3121.586,240.5244,0,0,0,0,100,0), -- 00:55:58
+(@PATH,5,2580.453,-3111.228,240.5249,0,0,0,0,100,0), -- 00:56:05
+(@PATH,6,2584.915,-3101.806,240.5252,0,0,0,0,100,0), -- 00:56:09
+(@PATH,7,2608.073,-3078.412,240.5271,0,0,0,0,100,0), -- 00:56:14
+(@PATH,8,2627.942,-3058.567,240.5237,0,0,0,0,100,0), -- 00:56:27
+(@PATH,9,2645.011,-3041.33,240.523,0,0,0,0,100,0), -- 00:56:38
+(@PATH,10,2664.399,-3022.119,240.5253,0,0,0,0,100,0), -- 00:56:47
+(@PATH,11,2673.592,-3015.558,240.5253,0,0,0,0,100,0), -- 00:56:58
+(@PATH,12,2692.232,-3014.315,240.5253,0,0,0,0,100,0), -- 00:57:02
+(@PATH,13,2715.057,-3011.801,240.5254,0,0,0,0,100,0), -- 00:57:10
+(@PATH,14,2728.214,-2992.568,240.5253,0,0,0,0,100,0), -- 00:57:19
+(@PATH,15,2725.241,-2970.892,240.5249,0,0,0,0,100,0), -- 00:57:29
+(@PATH,16,2710.557,-2958.161,240.5251,0,0,0,0,100,0), -- 00:57:38
+(@PATH,17,2685.363,-2959.393,240.5253,0,0,0,0,100,0), -- 00:57:45
+(@PATH,18,2671.24,-2977.426,240.5248,0,0,0,0,100,0), -- 00:57:56
+(@PATH,19,2671.708,-2994.812,240.5246,0,0,0,0,100,0), -- 00:58:04
+(@PATH,20,2670.703,-3012.506,240.5252,0,0,0,0,100,0), -- 00:58:12
+(@PATH,21,2663.621,-3021.305,240.5253,0,0,0,0,100,0), -- 00:58:19
+(@PATH,22,2644.285,-3041.24,240.523,0,0,0,0,100,0), -- 00:58:24
+(@PATH,23,2627.018,-3058.662,240.5237,0,0,0,0,100,0), -- 00:58:35
+(@PATH,24,2607.562,-3078.047,240.5271,0,0,0,0,100,0), -- 00:58:44
+(@PATH,25,2583.966,-3101.257,240.5253,0,0,0,0,100,0), -- 00:58:55
+(@PATH,26,2575.257,-3105.696,240.5253,0,0,0,0,100,0), -- 00:59:08
+(@PATH,27,2561.672,-3099.622,240.5251,0,0,0,0,100,0), -- 00:59:11
+(@PATH,28,2542.95,-3102.525,240.5249,0,0,0,0,100,0), -- 00:59:17
+(@PATH,29,2529.021,-3116.719,240.5249,0,0,0,0,100,0), -- 00:59:26
+(@PATH,30,2527.216,-3133.08,240.5253,0,0,0,0,100,0), -- 00:59:33
+(@PATH,31,2530.838,-3143.624,240.5245,0,0,0,0,100,0), -- 00:59:40
+(@PATH,32,2537.175,-3152.094,240.524,0,0,0,0,100,0), -- 00:59:44
+(@PATH,33,2547.807,-3157.692,240.5253,0,0,0,0,100,0); -- 00:59:49
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127748;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2529.461,`position_y`=-3350.972,`position_z`=267.5927 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,25278,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,2529.461,-3350.972,267.5927,0,0,0,0,100,0), -- 00:55:41
+(@PATH,2,2530.323,-3325.176,267.5925,0,0,0,0,100,0), -- 00:55:47
+(@PATH,3,2543.675,-3311.973,267.593,0,0,0,0,100,0), -- 00:55:58
+(@PATH,4,2556.406,-3299.54,267.593,0,0,0,0,100,0), -- 00:56:05
+(@PATH,5,2555.974,-3276.286,267.5939,0,0,0,0,100,0), -- 00:56:13
+(@PATH,6,2556.132,-3255.743,258.8458,0,0,0,0,100,0), -- 00:56:21
+(@PATH,7,2556.734,-3215.111,240.5262,0,0,0,0,100,0), -- 00:56:31
+(@PATH,8,2556.227,-3191.951,240.5252,0,0,0,0,100,0), -- 00:56:49
+(@PATH,9,2556.103,-3169.521,240.5253,0,0,0,0,100,0), -- 00:56:58
+(@PATH,10,2544.249,-3156.771,240.5248,0,0,0,0,100,0), -- 00:57:07
+(@PATH,11,2530.144,-3142.768,240.5245,0,0,0,0,100,0), -- 00:57:13
+(@PATH,12,2526.182,-3127.083,240.5254,0,0,0,0,100,0), -- 00:57:22
+(@PATH,13,2529.482,-3115.22,240.5248,0,0,0,0,100,0), -- 00:57:28
+(@PATH,14,2541.532,-3103.333,240.5248,0,0,0,0,100,0), -- 00:57:33
+(@PATH,15,2554.839,-3099.154,240.5252,0,0,0,0,100,0), -- 00:57:40
+(@PATH,16,2573.704,-3104.429,240.5253,0,0,0,0,100,0), -- 00:57:45
+(@PATH,17,2584.594,-3120.166,240.5245,0,0,0,0,100,0), -- 00:57:53
+(@PATH,18,2579.713,-3142.299,240.5249,0,0,0,0,100,0), -- 00:58:01
+(@PATH,19,2568.922,-3153.001,240.5249,0,0,0,0,100,0), -- 00:58:10
+(@PATH,20,2556.966,-3168.974,240.5253,0,0,0,0,100,0), -- 00:58:16
+(@PATH,21,2556.745,-3191.808,240.5251,0,0,0,0,100,0), -- 00:58:24
+(@PATH,22,2556.038,-3215.004,240.5273,0,0,0,0,100,0), -- 00:58:33
+(@PATH,23,2555.711,-3255.515,258.7258,0,0,0,0,100,0), -- 00:58:42
+(@PATH,24,2555.592,-3276.532,267.5936,0,0,0,0,100,0), -- 00:59:00
+(@PATH,25,2556.91,-3299.243,267.5934,0,0,0,0,100,0), -- 00:59:10
+(@PATH,26,2565.721,-3309.663,267.5924,0,0,0,0,100,0), -- 00:59:18
+(@PATH,27,2580.893,-3321.083,267.5922,0,0,0,0,100,0), -- 00:59:23
+(@PATH,28,2586.392,-3342.971,267.5935,0,0,0,0,100,0), -- 00:59:32
+(@PATH,29,2578.376,-3360.212,267.5924,0,0,0,0,100,0), -- 00:59:40
+(@PATH,30,2556.463,-3369.452,267.593,0,0,0,0,100,0), -- 00:59:47
+(@PATH,31,2538.893,-3363.072,267.592,0,0,0,0,100,0); -- 00:59:57
+-- 0x1C2F4042A00FC8C0004C5C00017F5587 .go 2529.461 -3350.972 267.5927
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127749;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2529.461,`position_y`=-3350.972,`position_z`=267.5927 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,25278,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,2529.461,-3350.972,267.5927,0,0,0,0,100,0), -- 00:55:41
+(@PATH,2,2530.323,-3325.176,267.5925,0,0,0,0,100,0), -- 00:55:47
+(@PATH,3,2543.675,-3311.973,267.593,0,0,0,0,100,0), -- 00:55:58
+(@PATH,4,2556.406,-3299.54,267.593,0,0,0,0,100,0), -- 00:56:05
+(@PATH,5,2555.974,-3276.286,267.5939,0,0,0,0,100,0), -- 00:56:13
+(@PATH,6,2556.132,-3255.743,258.8458,0,0,0,0,100,0), -- 00:56:21
+(@PATH,7,2556.734,-3215.111,240.5262,0,0,0,0,100,0), -- 00:56:31
+(@PATH,8,2556.227,-3191.951,240.5252,0,0,0,0,100,0), -- 00:56:49
+(@PATH,9,2556.103,-3169.521,240.5253,0,0,0,0,100,0), -- 00:56:58
+(@PATH,10,2544.249,-3156.771,240.5248,0,0,0,0,100,0), -- 00:57:07
+(@PATH,11,2530.144,-3142.768,240.5245,0,0,0,0,100,0), -- 00:57:13
+(@PATH,12,2526.182,-3127.083,240.5254,0,0,0,0,100,0), -- 00:57:22
+(@PATH,13,2529.482,-3115.22,240.5248,0,0,0,0,100,0), -- 00:57:28
+(@PATH,14,2541.532,-3103.333,240.5248,0,0,0,0,100,0), -- 00:57:33
+(@PATH,15,2554.839,-3099.154,240.5252,0,0,0,0,100,0), -- 00:57:40
+(@PATH,16,2573.704,-3104.429,240.5253,0,0,0,0,100,0), -- 00:57:45
+(@PATH,17,2584.594,-3120.166,240.5245,0,0,0,0,100,0), -- 00:57:53
+(@PATH,18,2579.713,-3142.299,240.5249,0,0,0,0,100,0), -- 00:58:01
+(@PATH,19,2568.922,-3153.001,240.5249,0,0,0,0,100,0), -- 00:58:10
+(@PATH,20,2556.966,-3168.974,240.5253,0,0,0,0,100,0), -- 00:58:16
+(@PATH,21,2556.745,-3191.808,240.5251,0,0,0,0,100,0), -- 00:58:24
+(@PATH,22,2556.038,-3215.004,240.5273,0,0,0,0,100,0), -- 00:58:33
+(@PATH,23,2555.711,-3255.515,258.7258,0,0,0,0,100,0), -- 00:58:42
+(@PATH,24,2555.592,-3276.532,267.5936,0,0,0,0,100,0), -- 00:59:00
+(@PATH,25,2556.91,-3299.243,267.5934,0,0,0,0,100,0), -- 00:59:10
+(@PATH,26,2565.721,-3309.663,267.5924,0,0,0,0,100,0), -- 00:59:18
+(@PATH,27,2580.893,-3321.083,267.5922,0,0,0,0,100,0), -- 00:59:23
+(@PATH,28,2586.392,-3342.971,267.5935,0,0,0,0,100,0), -- 00:59:32
+(@PATH,29,2578.376,-3360.212,267.5924,0,0,0,0,100,0), -- 00:59:40
+(@PATH,30,2556.463,-3369.452,267.593,0,0,0,0,100,0), -- 00:59:47
+(@PATH,31,2538.893,-3363.072,267.592,0,0,0,0,100,0); -- 00:59:57
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127753;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2907.542,`position_y`=-3166.655,`position_z`=273.787 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,25278,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,2907.542,-3166.655,273.787,0,0,0,0,100,0), -- 00:46:47
+(@PATH,2,2873.219,-3165.419,273.787,0,0,0,0,100,0), -- 00:46:54
+(@PATH,3,2861.632,-3165.088,273.787,0,0,0,0,100,0), -- 00:47:09
+(@PATH,4,2860.526,-3185.717,273.787,0,0,0,0,100,0), -- 00:47:13
+(@PATH,5,2860.435,-3203.401,273.787,0,0,0,0,100,0), -- 00:47:21
+(@PATH,6,2875.204,-3203.906,273.4088,0,0,0,0,100,0), -- 00:47:28
+(@PATH,7,2892.834,-3204.38,273.3965,0,0,0,0,100,0), -- 00:47:34
+(@PATH,8,2911.993,-3204.611,273.3846,0,0,0,0,100,0), -- 00:47:42
+(@PATH,9,2926.023,-3200.403,273.3712,0,0,0,0,100,0), -- 00:47:49
+(@PATH,10,2931.457,-3188.328,273.3712,0,0,0,0,100,0), -- 00:47:55
+(@PATH,11,2925.778,-3167.298,273.787,0,0,0,0,100,0); -- 00:48:00
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127743;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2907.542,`position_y`=-3171.655,`position_z`=273.787 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,25278,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,2907.542,-3166.655,273.787,0,0,0,0,100,0), -- 00:46:47
+(@PATH,2,2873.219,-3165.419,273.787,0,0,0,0,100,0), -- 00:46:54
+(@PATH,3,2861.632,-3165.088,273.787,0,0,0,0,100,0), -- 00:47:09
+(@PATH,4,2860.526,-3185.717,273.787,0,0,0,0,100,0), -- 00:47:13
+(@PATH,5,2860.435,-3203.401,273.787,0,0,0,0,100,0), -- 00:47:21
+(@PATH,6,2875.204,-3203.906,273.4088,0,0,0,0,100,0), -- 00:47:28
+(@PATH,7,2892.834,-3204.38,273.3965,0,0,0,0,100,0), -- 00:47:34
+(@PATH,8,2911.993,-3204.611,273.3846,0,0,0,0,100,0), -- 00:47:42
+(@PATH,9,2926.023,-3200.403,273.3712,0,0,0,0,100,0), -- 00:47:49
+(@PATH,10,2931.457,-3188.328,273.3712,0,0,0,0,100,0), -- 00:47:55
+(@PATH,11,2925.778,-3167.298,273.787,0,0,0,0,100,0); -- 00:48:00
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127742;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2787.931,`position_y`=-3363.628,`position_z`=267.6847 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,25278,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,2787.931,-3363.628,267.6847,0,0,0,0,100,0),
+(@PATH,2,2787.864,-3320.595,267.6845,0,0,0,0,100,0),
+(@PATH,3,2787.388,-3287.191,267.6845,0,0,0,0,100,0),
+(@PATH,4,2787.864,-3320.595,267.6845,0,0,0,0,100,0);
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127754;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2790.931,`position_y`=-3363.628,`position_z`=267.6847 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,25278,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,2787.931,-3363.628,267.6847,0,0,0,0,100,0),
+(@PATH,2,2787.864,-3320.595,267.6845,0,0,0,0,100,0),
+(@PATH,3,2787.388,-3287.191,267.6845,0,0,0,0,100,0),
+(@PATH,4,2787.864,-3320.595,267.6845,0,0,0,0,100,0);
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127745;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2910.233,`position_y`=-2955.379,`position_z`=267.593 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,25278,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,2910.233,-2955.379,267.593,0,0,0,0,100,0), -- 00:55:44
+(@PATH,2,2892.628,-2961.647,267.5928,0,0,0,0,100,0), -- 00:55:51
+(@PATH,3,2884.039,-2971.864,267.5928,0,0,0,0,100,0), -- 00:56:00
+(@PATH,4,2870.617,-2985.568,267.593,0,0,0,0,100,0), -- 00:56:05
+(@PATH,5,2847.519,-2985.616,267.5938,0,0,0,0,100,0), -- 00:56:17
+(@PATH,6,2831.011,-2985.781,260.82,0,0,0,0,100,0), -- 00:56:26
+(@PATH,7,2811.443,-2985.972,250.9583,0,0,0,0,100,0), -- 00:56:34
+(@PATH,8,2781.199,-2986.169,240.5266,0,0,0,0,100,0), -- 00:56:42
+(@PATH,9,2763.189,-2986.039,240.5251,0,0,0,0,100,0), -- 00:56:54
+(@PATH,10,2744.237,-2985.519,240.5253,0,0,0,0,100,0), -- 00:57:02
+(@PATH,11,2734.137,-2977.427,240.5253,0,0,0,0,100,0), -- 00:57:10
+(@PATH,12,2722.754,-2967.005,240.5245,0,0,0,0,100,0), -- 00:57:15
+(@PATH,13,2708.031,-2957.228,240.5251,0,0,0,0,100,0), -- 00:57:21
+(@PATH,14,2691.098,-2957.404,240.525,0,0,0,0,100,0), -- 00:57:28
+(@PATH,15,2676.669,-2966.855,240.5253,0,0,0,0,100,0), -- 00:57:34
+(@PATH,16,2671.321,-2976.635,240.5248,0,0,0,0,100,0), -- 00:57:42
+(@PATH,17,2671.421,-2993.49,240.5246,0,0,0,0,100,0), -- 00:57:47
+(@PATH,18,2680.976,-3008.883,240.5253,0,0,0,0,100,0), -- 00:57:53
+(@PATH,19,2697.444,-3015.56,240.5247,0,0,0,0,100,0), -- 00:58:00
+(@PATH,20,2713.618,-3012.186,240.5255,0,0,0,0,100,0), -- 00:58:07
+(@PATH,21,2724.357,-3002.94,240.5247,0,0,0,0,100,0), -- 00:58:14
+(@PATH,22,2734.208,-2991.862,240.5253,0,0,0,0,100,0), -- 00:58:19
+(@PATH,23,2743.945,-2987.434,240.5253,0,0,0,0,100,0), -- 00:58:25
+(@PATH,24,2763.65,-2986.421,240.5252,0,0,0,0,100,0), -- 00:58:30
+(@PATH,25,2781.449,-2986.182,240.5266,0,0,0,0,100,0), -- 00:58:37
+(@PATH,26,2811.903,-2985.583,251.1997,0,0,0,0,100,0), -- 00:58:45
+(@PATH,27,2830.531,-2985.851,260.8194,0,0,0,0,100,0), -- 00:58:58
+(@PATH,28,2847.362,-2985.841,267.5938,0,0,0,0,100,0), -- 00:59:07
+(@PATH,29,2870.534,-2986.177,267.593,0,0,0,0,100,0), -- 00:59:14
+(@PATH,30,2882.414,-2997.007,267.593,0,0,0,0,100,0), -- 00:59:22
+(@PATH,31,2895.966,-3012.106,267.5926,0,0,0,0,100,0), -- 00:59:30
+(@PATH,32,2915.716,-3014.353,267.5935,0,0,0,0,100,0), -- 00:59:37
+(@PATH,33,2931.21,-3007.478,267.5931,0,0,0,0,100,0), -- 00:59:45
+(@PATH,34,2938.199,-2994.229,267.5933,0,0,0,0,100,0), -- 00:59:53
+(@PATH,35,2937.735,-2977.154,267.593,0,0,0,0,100,0), -- 00:59:59
+(@PATH,36,2927.648,-2962.08,267.5935,0,0,0,0,100,0); -- 01:00:05
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127744;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2910.233,`position_y`=-2955.379,`position_z`=267.593 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,25278,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,2910.233,-2955.379,267.593,0,0,0,0,100,0), -- 00:55:44
+(@PATH,2,2892.628,-2961.647,267.5928,0,0,0,0,100,0), -- 00:55:51
+(@PATH,3,2884.039,-2971.864,267.5928,0,0,0,0,100,0), -- 00:56:00
+(@PATH,4,2870.617,-2985.568,267.593,0,0,0,0,100,0), -- 00:56:05
+(@PATH,5,2847.519,-2985.616,267.5938,0,0,0,0,100,0), -- 00:56:17
+(@PATH,6,2831.011,-2985.781,260.82,0,0,0,0,100,0), -- 00:56:26
+(@PATH,7,2811.443,-2985.972,250.9583,0,0,0,0,100,0), -- 00:56:34
+(@PATH,8,2781.199,-2986.169,240.5266,0,0,0,0,100,0), -- 00:56:42
+(@PATH,9,2763.189,-2986.039,240.5251,0,0,0,0,100,0), -- 00:56:54
+(@PATH,10,2744.237,-2985.519,240.5253,0,0,0,0,100,0), -- 00:57:02
+(@PATH,11,2734.137,-2977.427,240.5253,0,0,0,0,100,0), -- 00:57:10
+(@PATH,12,2722.754,-2967.005,240.5245,0,0,0,0,100,0), -- 00:57:15
+(@PATH,13,2708.031,-2957.228,240.5251,0,0,0,0,100,0), -- 00:57:21
+(@PATH,14,2691.098,-2957.404,240.525,0,0,0,0,100,0), -- 00:57:28
+(@PATH,15,2676.669,-2966.855,240.5253,0,0,0,0,100,0), -- 00:57:34
+(@PATH,16,2671.321,-2976.635,240.5248,0,0,0,0,100,0), -- 00:57:42
+(@PATH,17,2671.421,-2993.49,240.5246,0,0,0,0,100,0), -- 00:57:47
+(@PATH,18,2680.976,-3008.883,240.5253,0,0,0,0,100,0), -- 00:57:53
+(@PATH,19,2697.444,-3015.56,240.5247,0,0,0,0,100,0), -- 00:58:00
+(@PATH,20,2713.618,-3012.186,240.5255,0,0,0,0,100,0), -- 00:58:07
+(@PATH,21,2724.357,-3002.94,240.5247,0,0,0,0,100,0), -- 00:58:14
+(@PATH,22,2734.208,-2991.862,240.5253,0,0,0,0,100,0), -- 00:58:19
+(@PATH,23,2743.945,-2987.434,240.5253,0,0,0,0,100,0), -- 00:58:25
+(@PATH,24,2763.65,-2986.421,240.5252,0,0,0,0,100,0), -- 00:58:30
+(@PATH,25,2781.449,-2986.182,240.5266,0,0,0,0,100,0), -- 00:58:37
+(@PATH,26,2811.903,-2985.583,251.1997,0,0,0,0,100,0), -- 00:58:45
+(@PATH,27,2830.531,-2985.851,260.8194,0,0,0,0,100,0), -- 00:58:58
+(@PATH,28,2847.362,-2985.841,267.5938,0,0,0,0,100,0), -- 00:59:07
+(@PATH,29,2870.534,-2986.177,267.593,0,0,0,0,100,0), -- 00:59:14
+(@PATH,30,2882.414,-2997.007,267.593,0,0,0,0,100,0), -- 00:59:22
+(@PATH,31,2895.966,-3012.106,267.5926,0,0,0,0,100,0), -- 00:59:30
+(@PATH,32,2915.716,-3014.353,267.5935,0,0,0,0,100,0), -- 00:59:37
+(@PATH,33,2931.21,-3007.478,267.5931,0,0,0,0,100,0), -- 00:59:45
+(@PATH,34,2938.199,-2994.229,267.5933,0,0,0,0,100,0), -- 00:59:53
+(@PATH,35,2937.735,-2977.154,267.593,0,0,0,0,100,0), -- 00:59:59
+(@PATH,36,2927.648,-2962.08,267.5935,0,0,0,0,100,0); -- 01:00:05
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127751,127752,127746,127747,127748,127749,127753,127743,127742,127754,127744,127745);
+DELETE FROM `creature_formations` WHERE `memberGUID` IN (127751,127752,127746,127747,127748,127749,127753,127743,127742,127754,127744,127745);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127751,127751,0,0,2,0,0),
+(127751,127752,3,90,2,2,0),
+(127746,127746,0,0,2,0,0),
+(127746,127747,3,270,2,0,0),
+(127748,127748,0,0,2,0,0),
+(127748,127749,3,270,2,0,0),
+(127753,127753,0,0,2,0,0),
+(127753,127743,3,270,2,0,0),
+(127742,127742,0,0,2,0,0),
+(127742,127754,3,270,2,1,3),
+(127744,127744,0,0,2,0,0),
+(127744,127745,3,270,2,0,0);
+
+-- Pathing for Death Knight Entry: 16146 'TDB FORMAT'
+SET @NPC := 127668;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2828.432,`position_y`=-3176.265,`position_z`=298.1476 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,2828.432,-3176.265,298.1476,0,0,0,0,100,0), -- 00:46:45
+(@PATH,2,2839.448,-3185.542,298.1487,0,0,0,0,100,0), -- 00:46:49
+(@PATH,3,2848.306,-3195.512,298.1775,0,0,0,0,100,0), -- 00:46:54
+(@PATH,4,2860.46,-3207.91,298.1058,0,0,0,0,100,0), -- 00:46:58
+(@PATH,5,2871.515,-3216.969,298.1441,0,0,0,0,100,0), -- 00:47:02
+(@PATH,6,2886.36,-3218.305,298.146,0,0,0,0,100,0), -- 00:47:07
+(@PATH,7,2871.515,-3216.969,298.1441,0,0,0,0,100,0), -- 00:47:13
+(@PATH,8,2860.46,-3207.91,298.1058,0,0,0,0,100,0), -- 00:47:17
+(@PATH,9,2848.306,-3195.512,298.1775,0,0,0,0,100,0), -- 00:47:22
+(@PATH,10,2839.448,-3185.542,298.1487,0,0,0,0,100,0), -- 00:47:27
+(@PATH,11,2828.432,-3176.265,298.1476,0,0,0,0,100,0), -- 00:47:30
+(@PATH,12,2813.296,-3175.835,298.1458,0,0,0,0,100,0), -- 00:47:35
+(@PATH,13,2790.895,-3179.5,298.1464,0,0,0,0,100,0), -- 00:47:40
+(@PATH,14,2813.296,-3175.835,298.1458,0,0,0,0,100,0); -- 00:47:49
+
+-- Pathing for Dark Touched Warrior Entry: 16156 'TDB FORMAT'
+SET @NPC := 127699;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2830.432,`position_y`=-3173.265,`position_z`=298.1476 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,2828.432,-3176.265,298.1476,0,0,0,0,100,0), -- 00:46:45
+(@PATH,2,2839.448,-3185.542,298.1487,0,0,0,0,100,0), -- 00:46:49
+(@PATH,3,2848.306,-3195.512,298.1775,0,0,0,0,100,0), -- 00:46:54
+(@PATH,4,2860.46,-3207.91,298.1058,0,0,0,0,100,0), -- 00:46:58
+(@PATH,5,2871.515,-3216.969,298.1441,0,0,0,0,100,0), -- 00:47:02
+(@PATH,6,2886.36,-3218.305,298.146,0,0,0,0,100,0), -- 00:47:07
+(@PATH,7,2871.515,-3216.969,298.1441,0,0,0,0,100,0), -- 00:47:13
+(@PATH,8,2860.46,-3207.91,298.1058,0,0,0,0,100,0), -- 00:47:17
+(@PATH,9,2848.306,-3195.512,298.1775,0,0,0,0,100,0), -- 00:47:22
+(@PATH,10,2839.448,-3185.542,298.1487,0,0,0,0,100,0), -- 00:47:27
+(@PATH,11,2828.432,-3176.265,298.1476,0,0,0,0,100,0), -- 00:47:30
+(@PATH,12,2813.296,-3175.835,298.1458,0,0,0,0,100,0), -- 00:47:35
+(@PATH,13,2790.895,-3179.5,298.1464,0,0,0,0,100,0), -- 00:47:40
+(@PATH,14,2813.296,-3175.835,298.1458,0,0,0,0,100,0); -- 00:47:49
+
+-- Pathing for Dark Touched Warrior Entry: 16156 'TDB FORMAT'
+SET @NPC := 127700;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2827.432,`position_y`=-3178.265,`position_z`=298.1476 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,2828.432,-3176.265,298.1476,0,0,0,0,100,0), -- 00:46:45
+(@PATH,2,2839.448,-3185.542,298.1487,0,0,0,0,100,0), -- 00:46:49
+(@PATH,3,2848.306,-3195.512,298.1775,0,0,0,0,100,0), -- 00:46:54
+(@PATH,4,2860.46,-3207.91,298.1058,0,0,0,0,100,0), -- 00:46:58
+(@PATH,5,2871.515,-3216.969,298.1441,0,0,0,0,100,0), -- 00:47:02
+(@PATH,6,2886.36,-3218.305,298.146,0,0,0,0,100,0), -- 00:47:07
+(@PATH,7,2871.515,-3216.969,298.1441,0,0,0,0,100,0), -- 00:47:13
+(@PATH,8,2860.46,-3207.91,298.1058,0,0,0,0,100,0), -- 00:47:17
+(@PATH,9,2848.306,-3195.512,298.1775,0,0,0,0,100,0), -- 00:47:22
+(@PATH,10,2839.448,-3185.542,298.1487,0,0,0,0,100,0), -- 00:47:27
+(@PATH,11,2828.432,-3176.265,298.1476,0,0,0,0,100,0), -- 00:47:30
+(@PATH,12,2813.296,-3175.835,298.1458,0,0,0,0,100,0), -- 00:47:35
+(@PATH,13,2790.895,-3179.5,298.1464,0,0,0,0,100,0), -- 00:47:40
+(@PATH,14,2813.296,-3175.835,298.1458,0,0,0,0,100,0); -- 00:47:49
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127668);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127668,127668,0,0,2,0,0),
+(127668,127699,3,270,2,5,12),
+(127668,127700,3,90,2,5,12);
+
+-- Pathing for Death Knight Captain Entry: 16145 'TDB FORMAT'
+SET @NPC := 127647;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2863.143,`position_y`=-3303.327,`position_z`=298.1498 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,2863.593,-3303.907,298.1498,0,0,0,0,100,0), -- 00:46:45
+(@PATH,2,2869.523,-3320.972,298.1457,0,0,0,0,100,0), -- 00:46:50
+(@PATH,3,2883.242,-3330.484,298.1457,0,0,0,0,100,0), -- 00:46:56
+(@PATH,4,2869.523,-3320.972,298.1457,0,0,0,0,100,0), -- 00:47:03
+(@PATH,5,2863.593,-3303.907,298.1498,0,0,0,0,100,0), -- 00:47:07
+(@PATH,6,2865.348,-3285.952,298.0973,0,0,0,0,100,0), -- 00:47:12
+(@PATH,7,2874.288,-3265.404,298.1561,0,0,0,0,100,0), -- 00:47:18
+(@PATH,8,2865.348,-3285.952,298.0973,0,0,0,0,100,0); -- 00:47:27
+
+-- Pathing for Death Knight Captain Entry: 16145 'TDB FORMAT'
+SET @NPC := 127648;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2867.593,`position_y`=-3304.907,`position_z`=298.1498 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,2863.593,-3303.907,298.1498,0,0,0,0,100,0), -- 00:46:45
+(@PATH,2,2869.523,-3320.972,298.1457,0,0,0,0,100,0), -- 00:46:50
+(@PATH,3,2883.242,-3330.484,298.1457,0,0,0,0,100,0), -- 00:46:56
+(@PATH,4,2869.523,-3320.972,298.1457,0,0,0,0,100,0), -- 00:47:03
+(@PATH,5,2863.593,-3303.907,298.1498,0,0,0,0,100,0), -- 00:47:07
+(@PATH,6,2865.348,-3285.952,298.0973,0,0,0,0,100,0), -- 00:47:12
+(@PATH,7,2874.288,-3265.404,298.1561,0,0,0,0,100,0), -- 00:47:18
+(@PATH,8,2865.348,-3285.952,298.0973,0,0,0,0,100,0); -- 00:47:27
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127647);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127647,127647,0,0,2,0,0),
+(127647,127648,4,270,2,2,6);
+
+-- Pathing for Shade of Naxxramas Entry: 16164 'TDB FORMAT'
+SET @NPC := 127755;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2915.294,`position_y`=-3343.234,`position_z`=298.1457 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,2915.294,-3343.234,298.1457,0,9000,0,0,100,0),
+(@PATH,2,2898.639,-3327.008,298.1457,0,9000,0,0,100,0);
+
+UPDATE `creature` SET `orientation`=5.51352 WHERE `guid` IN (127755,127758,127759);
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127755);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127755,127755,0,0,2,0,0),
+(127755,127758,2,360,2,1,2),
+(127755,127759,2,180,2,1,2);
+
+UPDATE `creature` SET `modelid`=0 WHERE `id` IN (16145,16146,16156,16163);
+
+-- Pathing for Unholy Staff Entry: 16215 'TDB FORMAT'
+SET @NPC := 127816;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2724.483,`position_y`=-3142.47,`position_z`=267.6181 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,2724.483,-3142.47,267.6181,0,0,0,0,100,0), -- 00:55:47
+(@PATH,2,2740.318,-3170.808,267.576,0,0,0,0,100,0); -- 00:56:00
+
+-- Pathing for Unholy Staff Entry: 16215 'TDB FORMAT'
+SET @NPC := 127817;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2721.483,`position_y`=-3144.47,`position_z`=267.6181 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,2724.483,-3142.47,267.6181,0,0,0,0,100,0), -- 00:55:47
+(@PATH,2,2740.318,-3170.808,267.576,0,0,0,0,100,0); -- 00:56:00
+
+-- Pathing for Unholy Staff Entry: 16215 'TDB FORMAT'
+SET @NPC := 127819;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2687.124,`position_y`=-3143.13,`position_z`=267.6205 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,2687.124,-3143.13,267.6205,0,0,0,0,100,0), -- 00:55:49
+(@PATH,2,2667.474,-3173.004,267.634,0,0,0,0,100,0); -- 00:56:04
+
+-- Pathing for Unholy Staff Entry: 16215 'TDB FORMAT'
+SET @NPC := 127820;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2684.124,`position_y`=-3142.13,`position_z`=267.6205 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,2687.124,-3143.13,267.6205,0,0,0,0,100,0), -- 00:55:49
+(@PATH,2,2667.474,-3173.004,267.634,0,0,0,0,100,0); -- 00:56:04
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127816,127819);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127816,127816,0,0,2,0,0),
+(127816,127817,3,270,2,1,2),
+(127819,127819,0,0,2,0,0),
+(127819,127820,3,270,2,1,2);
+
+-- Pathing for Unholy Axe Entry: 16194 'TDB FORMAT'
+SET @NPC := 127796;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2690.577,`position_y`=-3156.689,`position_z`=267.6078 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,2690.577,-3156.689,267.6078,0,0,0,0,100,0), -- 00:55:41
+(@PATH,2,2706.089,-3166.321,267.5782,0,0,0,0,100,0), -- 00:55:49
+(@PATH,3,2721.288,-3159.098,267.5903,0,0,0,0,100,0), -- 00:55:56
+(@PATH,4,2723.902,-3133.336,267.6333,0,0,0,0,100,0), -- 00:56:04
+(@PATH,5,2706.458,-3124.162,267.6098,0,0,0,0,100,0), -- 00:56:13
+(@PATH,6,2688.671,-3133.302,267.6201,0,0,0,0,100,0); -- 00:56:22
+
+-- Pathing for Unholy Axe Entry: 16194 'TDB FORMAT'
+SET @NPC := 127797;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2693.577,`position_y`=-3154.689,`position_z`=267.6078 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,2690.577,-3156.689,267.6078,0,0,0,0,100,0), -- 00:55:41
+(@PATH,2,2706.089,-3166.321,267.5782,0,0,0,0,100,0), -- 00:55:49
+(@PATH,3,2721.288,-3159.098,267.5903,0,0,0,0,100,0), -- 00:55:56
+(@PATH,4,2723.902,-3133.336,267.6333,0,0,0,0,100,0), -- 00:56:04
+(@PATH,5,2706.458,-3124.162,267.6098,0,0,0,0,100,0), -- 00:56:13
+(@PATH,6,2688.671,-3133.302,267.6201,0,0,0,0,100,0); -- 00:56:22
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127796);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127796,127796,0,0,2,0,0),
+(127796,127797,3,270,2,0,0);
+
+-- Pathing for Unholy Swords Entry: 16216 'TDB FORMAT'
+SET @NPC := 127822;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2740.497,`position_y`=-3216.551,`position_z`=267.6155 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,2740.497,-3216.551,267.6155,0,0,0,0,100,0), -- 00:55:46
+(@PATH,2,2735.71,-3191.704,267.4987,0,0,0,0,100,0), -- 00:55:54
+(@PATH,3,2721.61,-3178.054,267.5587,0,0,0,0,100,0), -- 00:56:05
+(@PATH,4,2735.71,-3191.704,267.4987,0,0,0,0,100,0), -- 00:56:14
+(@PATH,5,2740.497,-3216.551,267.6155,0,0,0,0,100,0), -- 00:56:21
+(@PATH,6,2734.737,-3239.713,267.602,0,0,0,0,100,0), -- 00:56:30
+(@PATH,7,2717.949,-3253.626,267.6629,0,0,0,0,100,0), -- 00:56:40
+(@PATH,8,2734.737,-3239.713,267.602,0,0,0,0,100,0); -- 00:56:50
+
+-- Pathing for Unholy Swords Entry: 16216 'TDB FORMAT'
+SET @NPC := 127823;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2743.497,`position_y`=-3216.551,`position_z`=267.6155 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,2740.497,-3216.551,267.6155,0,0,0,0,100,0), -- 00:55:46
+(@PATH,2,2735.71,-3191.704,267.4987,0,0,0,0,100,0), -- 00:55:54
+(@PATH,3,2721.61,-3178.054,267.5587,0,0,0,0,100,0), -- 00:56:05
+(@PATH,4,2735.71,-3191.704,267.4987,0,0,0,0,100,0), -- 00:56:14
+(@PATH,5,2740.497,-3216.551,267.6155,0,0,0,0,100,0), -- 00:56:21
+(@PATH,6,2734.737,-3239.713,267.602,0,0,0,0,100,0), -- 00:56:30
+(@PATH,7,2717.949,-3253.626,267.6629,0,0,0,0,100,0), -- 00:56:40
+(@PATH,8,2734.737,-3239.713,267.602,0,0,0,0,100,0); -- 00:56:50
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127822);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127822,127822,0,0,2,0,0),
+(127822,127823,4,90,2,3,7);
+
+-- Pathing for Instructor Razuvious Entry: 16061 'TDB FORMAT'
+SET @NPC := 128312;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2758.932,`position_y`=-3107.118,`position_z`=267.6845 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,2758.932,-3107.118,267.6845,0,0,0,0,100,0),
+(@PATH,2,2758.409,-3091.983,267.6845,0,0,0,0,100,0),
+(@PATH,3,2772.748,-3085.515,267.6845,0,0,0,0,100,0),
+(@PATH,4,2783.736,-3101.491,267.6845,0,0,0,0,100,0),
+(@PATH,5,2772.544,-3112.944,267.6845,0,0,0,0,100,0);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_01_world_2015_09_23_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_01_world_2015_09_23_00.sql
new file mode 100644
index 00000000000..5483d78b2ce
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_01_world_2015_09_23_00.sql
@@ -0,0 +1,612 @@
+-- Pathing for Venom Stalker Entry: 15976 'TDB FORMAT'
+SET @NPC := 127866;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3454.462,`position_y`=-3562.112,`position_z`=267.593 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,3454.462,-3562.112,267.593,0,0,0,0,100,0), -- 18:40:27
+(@PATH,2,3454.662,-3548.537,267.593,0,0,0,0,100,0), -- 18:40:38
+(@PATH,3,3464.026,-3545.334,267.593,0,0,0,0,100,0), -- 18:40:43
+(@PATH,4,3469.727,-3539.112,267.593,0,0,0,0,100,0), -- 18:40:47
+(@PATH,5,3471.318,-3524.515,267.593,0,0,0,0,100,0), -- 18:40:50
+(@PATH,6,3465.038,-3515.349,267.593,0,0,0,0,100,0), -- 18:40:56
+(@PATH,7,3454.185,-3511.259,267.593,0,0,0,0,100,0), -- 18:41:01
+(@PATH,8,3442.813,-3514.244,267.593,0,0,0,0,100,0), -- 18:41:06
+(@PATH,9,3435.952,-3524.05,267.593,0,0,0,0,100,0), -- 18:41:11
+(@PATH,10,3436.82,-3538.214,267.593,0,0,0,0,100,0), -- 18:41:16
+(@PATH,11,3445.783,-3546.556,267.593,0,0,0,0,100,0), -- 18:41:21
+(@PATH,12,3453.797,-3548.311,267.593,0,0,0,0,100,0), -- 18:41:25
+(@PATH,13,3453.227,-3570.022,267.593,0,0,0,0,100,0), -- 18:41:29
+(@PATH,14,3453.297,-3589.868,267.593,0,0,0,0,100,0), -- 18:41:38
+(@PATH,15,3452.981,-3624.833,269.3551,0,0,0,0,100,0), -- 18:41:46
+(@PATH,16,3453.006,-3638.403,276.4746,0,0,0,0,100,0), -- 18:41:59
+(@PATH,17,3453.413,-3650.563,282.8547,0,0,0,0,100,0), -- 18:42:06
+(@PATH,18,3453.339,-3674.839,294.1114,0,0,0,0,100,0), -- 18:42:12
+(@PATH,19,3453.625,-3707.783,294.6607,0,0,0,0,100,0), -- 18:42:23
+(@PATH,20,3453.646,-3719.333,294.6607,0,0,0,0,100,0), -- 18:42:36
+(@PATH,21,3440.435,-3724.057,294.6607,0,0,0,0,100,0), -- 18:42:41
+(@PATH,22,3433.669,-3735.089,294.6609,0,0,0,0,100,0), -- 18:42:46
+(@PATH,23,3435.129,-3747.669,294.6607,0,0,0,0,100,0), -- 18:42:50
+(@PATH,24,3444.191,-3756.717,294.6607,0,0,0,0,100,0), -- 18:42:55
+(@PATH,25,3457.736,-3759.273,294.6607,0,0,0,0,100,0), -- 18:43:01
+(@PATH,26,3468.683,-3752.32,294.6607,0,0,0,0,100,0), -- 18:43:06
+(@PATH,27,3473.417,-3741.013,294.6607,0,0,0,0,100,0), -- 18:43:12
+(@PATH,28,3469.141,-3727.593,294.6607,0,0,0,0,100,0), -- 18:43:17
+(@PATH,29,3461.402,-3721.552,294.6607,0,0,0,0,100,0), -- 18:43:22
+(@PATH,30,3453.865,-3719.445,294.6607,0,0,0,0,100,0), -- 18:43:27
+(@PATH,31,3453.944,-3707.97,294.6607,0,0,0,0,100,0), -- 18:43:29
+(@PATH,32,3453.922,-3674.717,294.0525,0,0,0,0,100,0), -- 18:43:34
+(@PATH,33,3454.177,-3650.563,282.855,0,0,0,0,100,0), -- 18:43:47
+(@PATH,34,3454.576,-3638.243,276.3913,0,0,0,0,100,0), -- 18:43:58
+(@PATH,35,3454.075,-3614.297,267.5918,0,0,0,0,100,0), -- 18:44:03
+(@PATH,36,3454.152,-3589.311,267.593,0,0,0,0,100,0); -- 18:44:14
+
+-- Pathing for Venom Stalker Entry: 15976 'TDB FORMAT'
+SET @NPC := 127867;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3454.462,`position_y`=-3569.112,`position_z`=267.593 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,3454.462,-3562.112,267.593,0,0,0,0,100,0), -- 18:40:27
+(@PATH,2,3454.662,-3548.537,267.593,0,0,0,0,100,0), -- 18:40:38
+(@PATH,3,3464.026,-3545.334,267.593,0,0,0,0,100,0), -- 18:40:43
+(@PATH,4,3469.727,-3539.112,267.593,0,0,0,0,100,0), -- 18:40:47
+(@PATH,5,3471.318,-3524.515,267.593,0,0,0,0,100,0), -- 18:40:50
+(@PATH,6,3465.038,-3515.349,267.593,0,0,0,0,100,0), -- 18:40:56
+(@PATH,7,3454.185,-3511.259,267.593,0,0,0,0,100,0), -- 18:41:01
+(@PATH,8,3442.813,-3514.244,267.593,0,0,0,0,100,0), -- 18:41:06
+(@PATH,9,3435.952,-3524.05,267.593,0,0,0,0,100,0), -- 18:41:11
+(@PATH,10,3436.82,-3538.214,267.593,0,0,0,0,100,0), -- 18:41:16
+(@PATH,11,3445.783,-3546.556,267.593,0,0,0,0,100,0), -- 18:41:21
+(@PATH,12,3453.797,-3548.311,267.593,0,0,0,0,100,0), -- 18:41:25
+(@PATH,13,3453.227,-3570.022,267.593,0,0,0,0,100,0), -- 18:41:29
+(@PATH,14,3453.297,-3589.868,267.593,0,0,0,0,100,0), -- 18:41:38
+(@PATH,15,3452.981,-3624.833,269.3551,0,0,0,0,100,0), -- 18:41:46
+(@PATH,16,3453.006,-3638.403,276.4746,0,0,0,0,100,0), -- 18:41:59
+(@PATH,17,3453.413,-3650.563,282.8547,0,0,0,0,100,0), -- 18:42:06
+(@PATH,18,3453.339,-3674.839,294.1114,0,0,0,0,100,0), -- 18:42:12
+(@PATH,19,3453.625,-3707.783,294.6607,0,0,0,0,100,0), -- 18:42:23
+(@PATH,20,3453.646,-3719.333,294.6607,0,0,0,0,100,0), -- 18:42:36
+(@PATH,21,3440.435,-3724.057,294.6607,0,0,0,0,100,0), -- 18:42:41
+(@PATH,22,3433.669,-3735.089,294.6609,0,0,0,0,100,0), -- 18:42:46
+(@PATH,23,3435.129,-3747.669,294.6607,0,0,0,0,100,0), -- 18:42:50
+(@PATH,24,3444.191,-3756.717,294.6607,0,0,0,0,100,0), -- 18:42:55
+(@PATH,25,3457.736,-3759.273,294.6607,0,0,0,0,100,0), -- 18:43:01
+(@PATH,26,3468.683,-3752.32,294.6607,0,0,0,0,100,0), -- 18:43:06
+(@PATH,27,3473.417,-3741.013,294.6607,0,0,0,0,100,0), -- 18:43:12
+(@PATH,28,3469.141,-3727.593,294.6607,0,0,0,0,100,0), -- 18:43:17
+(@PATH,29,3461.402,-3721.552,294.6607,0,0,0,0,100,0), -- 18:43:22
+(@PATH,30,3453.865,-3719.445,294.6607,0,0,0,0,100,0), -- 18:43:27
+(@PATH,31,3453.944,-3707.97,294.6607,0,0,0,0,100,0), -- 18:43:29
+(@PATH,32,3453.922,-3674.717,294.0525,0,0,0,0,100,0), -- 18:43:34
+(@PATH,33,3454.177,-3650.563,282.855,0,0,0,0,100,0), -- 18:43:47
+(@PATH,34,3454.576,-3638.243,276.3913,0,0,0,0,100,0), -- 18:43:58
+(@PATH,35,3454.075,-3614.297,267.5918,0,0,0,0,100,0), -- 18:44:03
+(@PATH,36,3454.152,-3589.311,267.593,0,0,0,0,100,0); -- 18:44:14
+
+-- Pathing for Venom Stalker Entry: 15976 'TDB FORMAT'
+SET @NPC := 127862;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3234.124,`position_y`=-3743.281,`position_z`=280.9517 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,3234.124,-3743.281,280.9517,0,0,0,0,100,0), -- 18:45:33
+(@PATH,2,3234.624,-3733.446,282.4194,0,0,0,0,100,0), -- 18:45:43
+(@PATH,3,3252.519,-3730.217,279.2638,0,0,0,0,100,0), -- 18:45:46
+(@PATH,4,3276.249,-3724.284,275.8947,0,0,0,0,100,0), -- 18:45:54
+(@PATH,5,3309.417,-3714.943,266.8448,0,0,0,0,100,0), -- 18:46:03
+(@PATH,6,3322.029,-3700.557,262.8869,0,0,0,0,100,0), -- 18:46:18
+(@PATH,7,3298.23,-3700.239,271.5519,0,0,0,0,100,0), -- 18:46:26
+(@PATH,8,3280.485,-3698.461,278.4746,0,0,0,0,100,0), -- 18:46:36
+(@PATH,9,3298.23,-3700.239,271.5519,0,0,0,0,100,0), -- 18:46:45
+(@PATH,10,3321.937,-3700.525,262.8836,0,0,0,0,100,0), -- 18:46:52
+(@PATH,11,3309.417,-3714.943,266.8448,0,0,0,0,100,0), -- 18:47:02
+(@PATH,12,3276.249,-3724.284,275.8947,0,0,0,0,100,0), -- 18:47:10
+(@PATH,13,3252.581,-3730.202,279.2548,0,0,0,0,100,0), -- 18:47:25
+(@PATH,14,3234.624,-3733.446,282.4194,0,0,0,0,100,0), -- 18:47:34
+(@PATH,15,3234.132,-3743.128,280.9408,0,0,0,0,100,0), -- 18:47:42
+(@PATH,16,3247.629,-3762.814,277.5423,0,0,0,0,100,0), -- 18:47:45
+(@PATH,17,3232.144,-3779.076,273.1304,0,0,0,0,100,0), -- 18:47:55
+(@PATH,18,3247.629,-3762.814,277.5423,0,0,0,0,100,0); -- 18:48:06
+
+-- Pathing for Venom Stalker Entry: 15976 'TDB FORMAT'
+SET @NPC := 127863;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3232.124,`position_y`=-3751.281,`position_z`=280.9517 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,3234.124,-3743.281,280.9517,0,0,0,0,100,0), -- 18:45:33
+(@PATH,2,3234.624,-3733.446,282.4194,0,0,0,0,100,0), -- 18:45:43
+(@PATH,3,3252.519,-3730.217,279.2638,0,0,0,0,100,0), -- 18:45:46
+(@PATH,4,3276.249,-3724.284,275.8947,0,0,0,0,100,0), -- 18:45:54
+(@PATH,5,3309.417,-3714.943,266.8448,0,0,0,0,100,0), -- 18:46:03
+(@PATH,6,3322.029,-3700.557,262.8869,0,0,0,0,100,0), -- 18:46:18
+(@PATH,7,3298.23,-3700.239,271.5519,0,0,0,0,100,0), -- 18:46:26
+(@PATH,8,3280.485,-3698.461,278.4746,0,0,0,0,100,0), -- 18:46:36
+(@PATH,9,3298.23,-3700.239,271.5519,0,0,0,0,100,0), -- 18:46:45
+(@PATH,10,3321.937,-3700.525,262.8836,0,0,0,0,100,0), -- 18:46:52
+(@PATH,11,3309.417,-3714.943,266.8448,0,0,0,0,100,0), -- 18:47:02
+(@PATH,12,3276.249,-3724.284,275.8947,0,0,0,0,100,0), -- 18:47:10
+(@PATH,13,3252.581,-3730.202,279.2548,0,0,0,0,100,0), -- 18:47:25
+(@PATH,14,3234.624,-3733.446,282.4194,0,0,0,0,100,0), -- 18:47:34
+(@PATH,15,3234.132,-3743.128,280.9408,0,0,0,0,100,0), -- 18:47:42
+(@PATH,16,3247.629,-3762.814,277.5423,0,0,0,0,100,0), -- 18:47:45
+(@PATH,17,3232.144,-3779.076,273.1304,0,0,0,0,100,0), -- 18:47:55
+(@PATH,18,3247.629,-3762.814,277.5423,0,0,0,0,100,0); -- 18:48:06
+
+-- Pathing for Venom Stalker Entry: 15976 'TDB FORMAT'
+SET @NPC := 127872;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3282.724,`position_y`=-3894.288,`position_z`=294.6608 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,3282.724,-3894.288,294.6608,0,0,0,0,100,0), -- 18:48:08
+(@PATH,2,3280.431,-3878.874,294.6607,0,0,0,0,100,0), -- 18:48:14
+(@PATH,3,3288.137,-3862.199,294.6597,0,0,0,0,100,0), -- 18:48:21
+(@PATH,4,3300.762,-3854.986,294.6609,0,0,0,0,100,0), -- 18:48:28
+(@PATH,5,3317.737,-3854.183,294.6609,0,0,0,0,100,0), -- 18:48:34
+(@PATH,6,3337.437,-3853.406,294.6607,0,0,0,0,100,0), -- 18:48:41
+(@PATH,7,3359.545,-3831.036,294.662,0,0,0,0,100,0), -- 18:48:48
+(@PATH,8,3383.364,-3807.658,294.6969,0,0,0,0,100,0), -- 18:49:02
+(@PATH,9,3407.369,-3783.911,294.661,0,0,0,0,100,0), -- 18:49:15
+(@PATH,10,3425.444,-3761.708,294.6607,0,0,0,0,100,0), -- 18:49:29
+(@PATH,11,3425.071,-3748.542,294.6605,0,0,0,0,100,0), -- 18:49:39
+(@PATH,12,3425.387,-3729.456,294.6607,0,0,0,0,100,0), -- 18:49:44
+(@PATH,13,3435.633,-3715.143,294.6598,0,0,0,0,100,0), -- 18:49:53
+(@PATH,14,3453.195,-3709.209,294.6607,0,0,0,0,100,0), -- 18:49:59
+(@PATH,15,3465.947,-3712.353,294.6602,0,0,0,0,100,0), -- 18:50:07
+(@PATH,16,3477.195,-3720.679,294.6599,0,0,0,0,100,0), -- 18:50:12
+(@PATH,17,3483.336,-3735.452,294.6605,0,0,0,0,100,0), -- 18:50:17
+(@PATH,18,3481.773,-3748.506,294.66,0,0,0,0,100,0), -- 18:50:24
+(@PATH,19,3474.602,-3761.479,294.6591,0,0,0,0,100,0), -- 18:50:29
+(@PATH,20,3459.724,-3768.537,294.6591,0,0,0,0,100,0), -- 18:50:35
+(@PATH,21,3444.191,-3767.875,294.6595,0,0,0,0,100,0), -- 18:50:41
+(@PATH,22,3431.064,-3767.097,294.6601,0,0,0,0,100,0), -- 18:50:49
+(@PATH,23,3410.49,-3782.893,294.6607,0,0,0,0,100,0), -- 18:50:53
+(@PATH,24,3385.208,-3808.768,294.6991,0,0,0,0,100,0), -- 18:51:03
+(@PATH,25,3361.281,-3832.754,294.662,0,0,0,0,100,0), -- 18:51:18
+(@PATH,26,3338.748,-3854.621,294.6607,0,0,0,0,100,0), -- 18:51:32
+(@PATH,27,3338.51,-3872.156,294.6597,0,0,0,0,100,0), -- 18:51:44
+(@PATH,28,3339.48,-3888.635,294.6605,0,0,0,0,100,0), -- 18:51:51
+(@PATH,29,3325.759,-3908.016,294.6607,0,0,0,0,100,0), -- 18:51:58
+(@PATH,30,3310.214,-3913.58,294.6595,0,0,0,0,100,0), -- 18:52:08
+(@PATH,31,3292.234,-3906.752,294.6605,0,0,0,0,100,0); -- 18:52:14
+
+-- Pathing for Venom Stalker Entry: 15976 'TDB FORMAT'
+SET @NPC := 127873;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3286.724,`position_y`=-3902.288,`position_z`=294.6608 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,3282.724,-3894.288,294.6608,0,0,0,0,100,0), -- 18:48:08
+(@PATH,2,3280.431,-3878.874,294.6607,0,0,0,0,100,0), -- 18:48:14
+(@PATH,3,3288.137,-3862.199,294.6597,0,0,0,0,100,0), -- 18:48:21
+(@PATH,4,3300.762,-3854.986,294.6609,0,0,0,0,100,0), -- 18:48:28
+(@PATH,5,3317.737,-3854.183,294.6609,0,0,0,0,100,0), -- 18:48:34
+(@PATH,6,3337.437,-3853.406,294.6607,0,0,0,0,100,0), -- 18:48:41
+(@PATH,7,3359.545,-3831.036,294.662,0,0,0,0,100,0), -- 18:48:48
+(@PATH,8,3383.364,-3807.658,294.6969,0,0,0,0,100,0), -- 18:49:02
+(@PATH,9,3407.369,-3783.911,294.661,0,0,0,0,100,0), -- 18:49:15
+(@PATH,10,3425.444,-3761.708,294.6607,0,0,0,0,100,0), -- 18:49:29
+(@PATH,11,3425.071,-3748.542,294.6605,0,0,0,0,100,0), -- 18:49:39
+(@PATH,12,3425.387,-3729.456,294.6607,0,0,0,0,100,0), -- 18:49:44
+(@PATH,13,3435.633,-3715.143,294.6598,0,0,0,0,100,0), -- 18:49:53
+(@PATH,14,3453.195,-3709.209,294.6607,0,0,0,0,100,0), -- 18:49:59
+(@PATH,15,3465.947,-3712.353,294.6602,0,0,0,0,100,0), -- 18:50:07
+(@PATH,16,3477.195,-3720.679,294.6599,0,0,0,0,100,0), -- 18:50:12
+(@PATH,17,3483.336,-3735.452,294.6605,0,0,0,0,100,0), -- 18:50:17
+(@PATH,18,3481.773,-3748.506,294.66,0,0,0,0,100,0), -- 18:50:24
+(@PATH,19,3474.602,-3761.479,294.6591,0,0,0,0,100,0), -- 18:50:29
+(@PATH,20,3459.724,-3768.537,294.6591,0,0,0,0,100,0), -- 18:50:35
+(@PATH,21,3444.191,-3767.875,294.6595,0,0,0,0,100,0), -- 18:50:41
+(@PATH,22,3431.064,-3767.097,294.6601,0,0,0,0,100,0), -- 18:50:49
+(@PATH,23,3410.49,-3782.893,294.6607,0,0,0,0,100,0), -- 18:50:53
+(@PATH,24,3385.208,-3808.768,294.6991,0,0,0,0,100,0), -- 18:51:03
+(@PATH,25,3361.281,-3832.754,294.662,0,0,0,0,100,0), -- 18:51:18
+(@PATH,26,3338.748,-3854.621,294.6607,0,0,0,0,100,0), -- 18:51:32
+(@PATH,27,3338.51,-3872.156,294.6597,0,0,0,0,100,0), -- 18:51:44
+(@PATH,28,3339.48,-3888.635,294.6605,0,0,0,0,100,0), -- 18:51:51
+(@PATH,29,3325.759,-3908.016,294.6607,0,0,0,0,100,0), -- 18:51:58
+(@PATH,30,3310.214,-3913.58,294.6595,0,0,0,0,100,0), -- 18:52:08
+(@PATH,31,3292.234,-3906.752,294.6605,0,0,0,0,100,0); -- 18:52:14
+
+-- Pathing for Venom Stalker Entry: 15976 'TDB FORMAT'
+SET @NPC := 127864;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3118.083,`position_y`=-3883.491,`position_z`=267.593 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,3118.083,-3883.491,267.593,0,0,0,0,100,0), -- 18:36:24
+(@PATH,2,3114.162,-3894.186,267.593,0,0,0,0,100,0), -- 18:36:33
+(@PATH,3,3104.3,-3900.575,267.593,0,0,0,0,100,0), -- 18:36:38
+(@PATH,4,3093.041,-3899.523,267.593,0,0,0,0,100,0), -- 18:36:43
+(@PATH,5,3083.292,-3890.907,267.593,0,0,0,0,100,0), -- 18:36:48
+(@PATH,6,3082.536,-3878.924,267.593,0,0,0,0,100,0), -- 18:36:53
+(@PATH,7,3088.724,-3868.493,267.593,0,0,0,0,100,0), -- 18:36:57
+(@PATH,8,3103.835,-3863.884,267.593,0,0,0,0,100,0), -- 18:37:02
+(@PATH,9,3114.156,-3873.857,267.593,0,0,0,0,100,0), -- 18:37:08
+(@PATH,10,3118.014,-3882.239,267.593,0,0,0,0,100,0), -- 18:37:14
+(@PATH,11,3142.844,-3882.002,267.593,0,0,0,0,100,0), -- 18:37:18
+(@PATH,12,3166.273,-3881.469,267.5934,0,0,0,0,100,0), -- 18:37:28
+(@PATH,13,3194.12,-3881.767,268.6533,0,0,0,0,100,0), -- 18:37:37
+(@PATH,14,3207.929,-3881.54,275.8944,0,0,0,0,100,0), -- 18:37:48
+(@PATH,15,3221.411,-3881.945,282.9668,0,0,0,0,100,0), -- 18:37:54
+(@PATH,16,3241.861,-3882.487,292.3779,0,0,0,0,100,0), -- 18:38:01
+(@PATH,17,3260.216,-3882.229,294.6607,0,0,0,0,100,0), -- 18:38:10
+(@PATH,18,3279.568,-3882.604,294.6607,0,0,0,0,100,0), -- 18:38:17
+(@PATH,19,3290.396,-3881.747,294.6607,0,0,0,0,100,0), -- 18:38:25
+(@PATH,20,3296.476,-3869.041,294.6607,0,0,0,0,100,0), -- 18:38:30
+(@PATH,21,3307.822,-3864.203,294.6607,0,0,0,0,100,0), -- 18:46:32
+(@PATH,22,3321.301,-3868.157,294.6607,0,0,0,0,100,0), -- 18:46:37
+(@PATH,23,3328.406,-3877.447,294.6597,0,0,0,0,100,0), -- 18:46:43
+(@PATH,24,3327.705,-3889.598,294.6607,0,0,0,0,100,0), -- 18:46:47
+(@PATH,25,3320.085,-3897.669,294.6607,0,0,0,0,100,0), -- 18:46:52
+(@PATH,26,3312.01,-3901.51,294.6607,0,0,0,0,100,0), -- 18:46:57
+(@PATH,27,3297.603,-3897.307,294.6607,0,0,0,0,100,0), -- 18:47:00
+(@PATH,28,3292.267,-3890.234,294.6607,0,0,0,0,100,0), -- 18:47:07
+(@PATH,29,3290.384,-3882.75,294.6607,0,0,0,0,100,0), -- 18:47:10
+(@PATH,30,3279.155,-3882.98,294.6607,0,0,0,0,100,0), -- 18:47:14
+(@PATH,31,3260.253,-3882.767,294.6607,0,0,0,0,100,0), -- 18:47:17
+(@PATH,32,3241.78,-3882.872,292.339,0,0,0,0,100,0), -- 18:47:25
+(@PATH,33,3221.214,-3882.398,282.8636,0,0,0,0,100,0), -- 18:47:33
+(@PATH,34,3207.818,-3881.953,275.8358,0,0,0,0,100,0), -- 18:47:42
+(@PATH,35,3194.124,-3882.38,268.655,0,0,0,0,100,0), -- 18:47:48
+(@PATH,36,3166.121,-3882.08,267.5934,0,0,0,0,100,0), -- 18:47:54
+(@PATH,37,3142.54,-3882.999,267.593,0,0,0,0,100,0); -- 18:48:06
+
+-- Pathing for Venom Stalker Entry: 15976 'TDB FORMAT'
+SET @NPC := 127865;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3126.083,`position_y`=-3882.491,`position_z`=267.593 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,3118.083,-3883.491,267.593,0,0,0,0,100,0), -- 18:36:24
+(@PATH,2,3114.162,-3894.186,267.593,0,0,0,0,100,0), -- 18:36:33
+(@PATH,3,3104.3,-3900.575,267.593,0,0,0,0,100,0), -- 18:36:38
+(@PATH,4,3093.041,-3899.523,267.593,0,0,0,0,100,0), -- 18:36:43
+(@PATH,5,3083.292,-3890.907,267.593,0,0,0,0,100,0), -- 18:36:48
+(@PATH,6,3082.536,-3878.924,267.593,0,0,0,0,100,0), -- 18:36:53
+(@PATH,7,3088.724,-3868.493,267.593,0,0,0,0,100,0), -- 18:36:57
+(@PATH,8,3103.835,-3863.884,267.593,0,0,0,0,100,0), -- 18:37:02
+(@PATH,9,3114.156,-3873.857,267.593,0,0,0,0,100,0), -- 18:37:08
+(@PATH,10,3118.014,-3882.239,267.593,0,0,0,0,100,0), -- 18:37:14
+(@PATH,11,3142.844,-3882.002,267.593,0,0,0,0,100,0), -- 18:37:18
+(@PATH,12,3166.273,-3881.469,267.5934,0,0,0,0,100,0), -- 18:37:28
+(@PATH,13,3194.12,-3881.767,268.6533,0,0,0,0,100,0), -- 18:37:37
+(@PATH,14,3207.929,-3881.54,275.8944,0,0,0,0,100,0), -- 18:37:48
+(@PATH,15,3221.411,-3881.945,282.9668,0,0,0,0,100,0), -- 18:37:54
+(@PATH,16,3241.861,-3882.487,292.3779,0,0,0,0,100,0), -- 18:38:01
+(@PATH,17,3260.216,-3882.229,294.6607,0,0,0,0,100,0), -- 18:38:10
+(@PATH,18,3279.568,-3882.604,294.6607,0,0,0,0,100,0), -- 18:38:17
+(@PATH,19,3290.396,-3881.747,294.6607,0,0,0,0,100,0), -- 18:38:25
+(@PATH,20,3296.476,-3869.041,294.6607,0,0,0,0,100,0), -- 18:38:30
+(@PATH,21,3307.822,-3864.203,294.6607,0,0,0,0,100,0), -- 18:46:32
+(@PATH,22,3321.301,-3868.157,294.6607,0,0,0,0,100,0), -- 18:46:37
+(@PATH,23,3328.406,-3877.447,294.6597,0,0,0,0,100,0), -- 18:46:43
+(@PATH,24,3327.705,-3889.598,294.6607,0,0,0,0,100,0), -- 18:46:47
+(@PATH,25,3320.085,-3897.669,294.6607,0,0,0,0,100,0), -- 18:46:52
+(@PATH,26,3312.01,-3901.51,294.6607,0,0,0,0,100,0), -- 18:46:57
+(@PATH,27,3297.603,-3897.307,294.6607,0,0,0,0,100,0), -- 18:47:00
+(@PATH,28,3292.267,-3890.234,294.6607,0,0,0,0,100,0), -- 18:47:07
+(@PATH,29,3290.384,-3882.75,294.6607,0,0,0,0,100,0), -- 18:47:10
+(@PATH,30,3279.155,-3882.98,294.6607,0,0,0,0,100,0), -- 18:47:14
+(@PATH,31,3260.253,-3882.767,294.6607,0,0,0,0,100,0), -- 18:47:17
+(@PATH,32,3241.78,-3882.872,292.339,0,0,0,0,100,0), -- 18:47:25
+(@PATH,33,3221.214,-3882.398,282.8636,0,0,0,0,100,0), -- 18:47:33
+(@PATH,34,3207.818,-3881.953,275.8358,0,0,0,0,100,0), -- 18:47:42
+(@PATH,35,3194.124,-3882.38,268.655,0,0,0,0,100,0), -- 18:47:48
+(@PATH,36,3166.121,-3882.08,267.5934,0,0,0,0,100,0), -- 18:47:54
+(@PATH,37,3142.54,-3882.999,267.593,0,0,0,0,100,0); -- 18:48:06
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127862,127863,127864,127865,127866,127867,127872,127873);
+DELETE FROM `creature_formations` WHERE `memberGUID` IN (127862,127863,127864,127865,127866,127867,127872,127873);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127866,127866,0,0,2,0,0),
+(127866,127867,8,360,2,0,0),
+(127862,127862,0,0,2,0,0),
+(127862,127863,8,360,2,0,0),
+(127872,127872,0,0,2,0,0),
+(127872,127873,8,360,2,0,0),
+(127864,127864,0,0,2,0,0),
+(127864,127865,8,360,2,0,0);
+
+-- Pathing for Poisonous Skitterer Entry: 15977 'TDB FORMAT'
+SET @NPC := 127907;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3074.529,`position_y`=-3897.057,`position_z`=267.593 WHERE `guid` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@NPC+1,@PATH,0,0,1,0, ''),(@NPC+2,@PATH,0,0,1,0, ''),(@NPC+3,@PATH,0,0,1,0, ''),
+(@NPC+4,@PATH,0,0,1,0, ''),(@NPC+5,@PATH,0,0,1,0, ''),(@NPC+6,@PATH,0,0,1,0, ''),(@NPC+7,@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,3074.529,-3897.057,267.593,0,0,1,0,100,0), -- 18:49:16
+(@PATH,2,3079.677,-3905.275,267.5924,0,0,1,0,100,0), -- 18:49:18
+(@PATH,3,3100.693,-3912.941,267.593,0,0,1,0,100,0), -- 18:49:19
+(@PATH,4,3117.195,-3907.615,267.5934,0,0,1,0,100,0), -- 18:49:21
+(@PATH,5,3127.366,-3895.706,267.593,0,0,1,0,100,0), -- 18:49:22
+(@PATH,6,3140.936,-3884.294,267.593,0,0,1,0,100,0), -- 18:49:24
+(@PATH,7,3158.318,-3883.925,267.593,0,0,1,0,100,0), -- 18:49:26
+(@PATH,8,3174.53,-3883.984,267.5941,0,0,1,0,100,0), -- 18:49:27
+(@PATH,9,3194.791,-3884.305,269.0044,0,0,1,0,100,0), -- 18:49:30
+(@PATH,10,3205.072,-3884.625,274.395,0,0,1,0,100,0), -- 18:49:31
+(@PATH,11,3215.293,-3885.147,279.7566,0,0,1,0,100,0), -- 18:49:32
+(@PATH,12,3223.794,-3885.607,284.2162,0,0,1,0,100,0), -- 18:49:33
+(@PATH,13,3237.89,-3886.143,290.4647,0,0,1,0,100,0), -- 18:49:35
+(@PATH,14,3247.501,-3886.756,294.6604,0,0,1,0,100,0), -- 18:49:36
+(@PATH,15,3267.746,-3887.45,294.6607,0,0,1,0,100,0), -- 18:49:37
+(@PATH,16,3282.858,-3895.334,294.6606,0,0,1,0,100,0), -- 18:49:39
+(@PATH,17,3295.857,-3909.075,294.6605,0,0,1,0,100,0), -- 18:49:41
+(@PATH,18,3313.104,-3913.105,294.6597,0,0,1,0,100,0), -- 18:49:43
+(@PATH,19,3331.879,-3904.76,294.6607,0,0,1,0,100,0), -- 18:49:44
+(@PATH,20,3338.559,-3891.88,294.6608,0,0,1,0,100,0), -- 18:49:47
+(@PATH,21,3339.517,-3878.169,294.6594,0,0,1,0,100,0), -- 18:49:48
+(@PATH,22,3332.953,-3864.011,294.6603,0,0,1,0,100,0), -- 18:49:49
+(@PATH,23,3319.689,-3854.916,294.6607,0,0,1,0,100,0), -- 18:49:50
+(@PATH,24,3304.591,-3853.372,294.6609,0,0,1,0,100,0), -- 18:49:53
+(@PATH,25,3288.425,-3861.284,294.6596,0,0,1,0,100,0), -- 18:49:54
+(@PATH,26,3280.122,-3870.386,294.6606,0,0,1,0,100,0), -- 18:49:56
+(@PATH,27,3267.866,-3880.449,294.6615,0,0,1,0,100,0), -- 18:49:58
+(@PATH,28,3247.675,-3880.42,294.6608,0,0,1,0,100,0), -- 18:49:59
+(@PATH,29,3237.588,-3880.728,290.3199,0,0,1,0,100,0), -- 18:50:01
+(@PATH,30,3224.797,-3880.583,284.7434,0,0,1,0,100,0), -- 18:50:02
+(@PATH,31,3215.042,-3880.425,279.6261,0,0,1,0,100,0), -- 18:50:04
+(@PATH,32,3195.322,-3880.004,269.2845,0,0,1,0,100,0), -- 18:50:05
+(@PATH,33,3175.766,-3879.59,267.5942,0,0,1,0,100,0), -- 18:50:06
+(@PATH,34,3158.302,-3879.587,267.593,0,0,1,0,100,0), -- 18:50:09
+(@PATH,35,3140.589,-3879.343,267.593,0,0,1,0,100,0), -- 18:50:11
+(@PATH,36,3127.137,-3869.814,267.5929,0,0,1,0,100,0), -- 18:50:12
+(@PATH,37,3118.936,-3859.253,267.5927,0,0,1,0,100,0), -- 18:50:13
+(@PATH,38,3103.765,-3853.207,267.5929,0,0,1,0,100,0), -- 18:50:15
+(@PATH,39,3087.844,-3856.353,267.593,0,0,1,0,100,0), -- 18:50:17
+(@PATH,40,3075.642,-3865.845,267.5934,0,0,1,0,100,0), -- 18:50:18
+(@PATH,41,3070.007,-3884.099,267.593,0,0,1,0,100,0); -- 18:50:19
+-- 0x1C3B1C42A00F9A400063AC0000019CDF .go 3074.529 -3897.057 267.593
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+DELETE FROM `creature_formations` WHERE `memberGUID` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@NPC+1,6,150,2,0,0),
+(@NPC,@NPC+2,6,100,2,0,0),
+(@NPC,@NPC+3,6,50,2,0,0),
+(@NPC,@NPC+4,6,360,2,0,0),
+(@NPC,@NPC+5,6,310,2,0,0),
+(@NPC,@NPC+6,6,240,2,0,0),
+(@NPC,@NPC+7,6,190,2,0,0);
+
+-- Pathing for Poisonous Skitterer Entry: 15977 'TDB FORMAT'
+SET @NPC := 127963;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3224.441,`position_y`=-3876.754,`position_z`=284.5573 WHERE `guid` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@NPC+1,@PATH,0,0,1,0, ''),(@NPC+2,@PATH,0,0,1,0, ''),(@NPC+3,@PATH,0,0,1,0, ''),
+(@NPC+4,@PATH,0,0,1,0, ''),(@NPC+5,@PATH,0,0,1,0, ''),(@NPC+6,@PATH,0,0,1,0, ''),(@NPC+7,@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,3224.441,-3876.754,284.5573,0,0,1,0,100,0), -- 18:48:59
+(@PATH,2,3243.073,-3881.118,292.9622,0,0,1,0,100,0), -- 18:49:03
+(@PATH,3,3264.531,-3885.239,294.6607,0,0,1,0,100,0), -- 18:49:04
+(@PATH,4,3280.712,-3887.944,294.6607,0,0,1,0,100,0), -- 18:49:07
+(@PATH,5,3286.485,-3901.147,294.66,0,0,1,0,100,0), -- 18:49:08
+(@PATH,6,3299.353,-3910.954,294.6605,0,0,1,0,100,0), -- 18:49:10
+(@PATH,7,3310.171,-3913.553,294.6593,0,0,1,0,100,0), -- 18:49:12
+(@PATH,8,3320.141,-3911.575,294.6602,0,0,1,0,100,0), -- 18:49:13
+(@PATH,9,3327.62,-3907.016,294.6607,0,0,1,0,100,0), -- 18:49:14
+(@PATH,10,3337.314,-3895.928,294.6607,0,0,1,0,100,0), -- 18:49:15
+(@PATH,11,3339.708,-3878.755,294.6594,0,0,1,0,100,0), -- 18:49:16
+(@PATH,12,3333.498,-3863.702,294.6603,0,0,1,0,100,0), -- 18:49:18
+(@PATH,13,3323.844,-3856.551,294.6607,0,0,1,0,100,0), -- 18:49:20
+(@PATH,14,3309.547,-3852.652,294.6601,0,0,1,0,100,0), -- 18:49:21
+(@PATH,15,3294.998,-3857.095,294.6609,0,0,1,0,100,0), -- 18:49:22
+(@PATH,16,3284.745,-3868.869,294.6604,0,0,1,0,100,0), -- 18:49:24
+(@PATH,17,3280.295,-3878.902,294.6607,0,0,1,0,100,0), -- 18:49:25
+(@PATH,18,3264.526,-3882.421,294.6607,0,0,1,0,100,0), -- 18:49:26
+(@PATH,19,3243.129,-3885.538,292.9888,0,0,1,0,100,0), -- 18:49:29
+(@PATH,20,3225,-3889.948,284.8481,0,0,1,0,100,0), -- 18:49:30
+(@PATH,21,3207.006,-3898.323,275.4061,0,0,1,0,100,0), -- 18:49:32
+(@PATH,22,3182.24,-3901.498,267.5922,0,0,1,0,100,0), -- 18:49:35
+(@PATH,23,3181.843,-3882.055,267.5952,0,0,1,0,100,0), -- 18:49:37
+(@PATH,24,3181.309,-3863.954,267.6013,0,0,1,0,100,0), -- 18:49:39
+(@PATH,25,3202.393,-3869.113,272.9927,0,0,1,0,100,0); -- 18:49:41
+-- 0x1C3B1C42A00F9A400063AC0004019CDF .go 3224.441 -3876.754 284.5573
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+DELETE FROM `creature_formations` WHERE `memberGUID` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@NPC+1,6,150,2,0,0),
+(@NPC,@NPC+2,6,100,2,0,0),
+(@NPC,@NPC+3,6,50,2,0,0),
+(@NPC,@NPC+4,6,360,2,0,0),
+(@NPC,@NPC+5,6,310,2,0,0),
+(@NPC,@NPC+6,6,240,2,0,0),
+(@NPC,@NPC+7,6,190,2,0,0);
+
+-- Pathing for Poisonous Skitterer Entry: 15977 'TDB FORMAT'
+SET @NPC := 127915;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3435.956,`position_y`=-3606.878,`position_z`=267.5925 WHERE `guid` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@NPC+1,@PATH,0,0,1,0, ''),(@NPC+2,@PATH,0,0,1,0, ''),(@NPC+3,@PATH,0,0,1,0, ''),
+(@NPC+4,@PATH,0,0,1,0, ''),(@NPC+5,@PATH,0,0,1,0, ''),(@NPC+6,@PATH,0,0,1,0, ''),(@NPC+7,@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,3435.956,-3606.878,267.5925,0,0,1,0,100,0), -- 18:40:42
+(@PATH,2,3435.056,-3623.646,268.7272,0,0,1,0,100,0), -- 18:40:43
+(@PATH,3,3434.696,-3642.454,278.5947,0,0,1,0,100,0), -- 18:40:45
+(@PATH,4,3451.302,-3657.603,286.5476,0,0,1,0,100,0), -- 18:40:47
+(@PATH,5,3451.777,-3674.688,294.0381,0,0,1,0,100,0), -- 18:40:49
+(@PATH,6,3450.148,-3687.086,294.6606,0,0,1,0,100,0), -- 18:40:52
+(@PATH,7,3448.747,-3700.197,294.6606,0,0,1,0,100,0), -- 18:40:53
+(@PATH,8,3441.068,-3712.697,294.6603,0,0,1,0,100,0), -- 18:40:54
+(@PATH,9,3427.858,-3724.603,294.6606,0,0,1,0,100,0), -- 18:40:56
+(@PATH,10,3424.089,-3742.215,294.6599,0,0,1,0,100,0), -- 18:40:58
+(@PATH,11,3432.195,-3760.958,294.6607,0,0,1,0,100,0), -- 18:40:59
+(@PATH,12,3446.482,-3768.38,294.6594,0,0,1,0,100,0), -- 18:41:02
+(@PATH,13,3458.209,-3769.1,294.6591,0,0,1,0,100,0), -- 18:41:03
+(@PATH,14,3474.842,-3761.217,294.6591,0,0,1,0,100,0), -- 18:41:04
+(@PATH,15,3483.013,-3745.727,294.6602,0,0,1,0,100,0), -- 18:44:04
+(@PATH,16,3482.468,-3731.778,294.6606,0,0,1,0,100,0), -- 18:43:22
+(@PATH,17,3476.008,-3718.655,294.6598,0,0,1,0,100,0), -- 18:43:24
+(@PATH,18,3463.966,-3711.199,294.6607,0,0,1,0,100,0), -- 18:43:25
+(@PATH,19,3458.016,-3700.416,294.6607,0,0,1,0,100,0), -- 18:43:26
+(@PATH,20,3456.704,-3687.183,294.6606,0,0,1,0,100,0), -- 18:43:27
+(@PATH,21,3453.893,-3674.658,294.0241,0,0,1,0,100,0), -- 18:43:28
+(@PATH,22,3453.96,-3657.726,286.6128,0,0,1,0,100,0), -- 18:43:30
+(@PATH,23,3469.155,-3643.573,279.192,0,0,1,0,100,0), -- 18:43:32
+(@PATH,24,3470.532,-3624.281,269.0706,0,0,1,0,100,0), -- 18:43:34
+(@PATH,25,3470.325,-3607.22,267.5942,0,0,1,0,100,0), -- 18:43:37
+(@PATH,26,3451.28,-3607.224,267.5939,0,0,1,0,100,0); -- 18:43:38
+-- 0x1C3B1C42A00F9A400063AC0000019CE0 .go 3435.956 -3606.878 267.5925
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+DELETE FROM `creature_formations` WHERE `memberGUID` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@NPC+1,6,150,2,0,0),
+(@NPC,@NPC+2,6,100,2,0,0),
+(@NPC,@NPC+3,6,50,2,0,0),
+(@NPC,@NPC+4,6,360,2,0,0),
+(@NPC,@NPC+5,6,310,2,0,0),
+(@NPC,@NPC+6,6,240,2,0,0),
+(@NPC,@NPC+7,6,190,2,0,0);
+
+-- Pathing for Poisonous Skitterer Entry: 15977 'TDB FORMAT'
+SET @NPC := 127971;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3295.49,`position_y`=-3908.793,`position_z`=294.6605 WHERE `guid` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@NPC+1,@PATH,0,0,1,0, ''),(@NPC+2,@PATH,0,0,1,0, ''),(@NPC+3,@PATH,0,0,1,0, ''),
+(@NPC+4,@PATH,0,0,1,0, ''),(@NPC+5,@PATH,0,0,1,0, ''),(@NPC+6,@PATH,0,0,1,0, ''),(@NPC+7,@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,3295.49,-3908.793,294.6605,0,0,1,0,100,0), -- 18:51:17
+(@PATH,2,3315.678,-3912.224,294.6599,0,0,1,0,100,0), -- 18:51:19
+(@PATH,3,3333.155,-3901.934,294.6607,0,0,1,0,100,0), -- 18:51:21
+(@PATH,4,3340.176,-3885.257,294.6602,0,0,1,0,100,0), -- 18:51:23
+(@PATH,5,3340.906,-3871.007,294.6597,0,0,1,0,100,0), -- 18:51:24
+(@PATH,6,3346.968,-3852.773,294.6607,0,0,1,0,100,0), -- 18:51:27
+(@PATH,7,3351.746,-3834.469,294.661,0,0,1,0,100,0), -- 18:51:28
+(@PATH,8,3355.633,-3811.367,294.6529,0,0,1,0,100,0), -- 18:51:30
+(@PATH,9,3364.557,-3793.01,294.6719,0,0,1,0,100,0), -- 18:51:33
+(@PATH,10,3373.259,-3788.029,294.6747,0,0,1,0,100,0), -- 18:51:34
+(@PATH,11,3386.617,-3791.233,294.6732,0,0,1,0,100,0), -- 18:51:35
+(@PATH,12,3403.893,-3786.905,294.6616,0,0,1,0,100,0), -- 18:51:36
+(@PATH,13,3417.919,-3780.905,294.6603,0,0,1,0,100,0), -- 18:51:39
+(@PATH,14,3435.631,-3777.892,294.6598,0,0,1,0,100,0), -- 18:51:40
+(@PATH,15,3453.584,-3770.242,294.6595,0,0,1,0,100,0), -- 18:51:41
+(@PATH,16,3473.68,-3761.83,294.6591,0,0,1,0,100,0), -- 18:51:44
+(@PATH,17,3482.105,-3748.733,294.66,0,0,1,0,100,0), -- 18:51:46
+(@PATH,18,3481.656,-3730.049,294.6605,0,0,1,0,100,0), -- 18:51:47
+(@PATH,19,3466.719,-3713.448,294.6601,0,0,1,0,100,0), -- 18:51:50
+(@PATH,20,3442.352,-3711.847,294.6607,0,0,1,0,100,0), -- 18:51:52
+(@PATH,21,3425.655,-3728.148,294.6607,0,0,1,0,100,0), -- 18:51:55
+(@PATH,22,3424.592,-3744.035,294.6601,0,0,1,0,100,0), -- 18:51:57
+(@PATH,23,3425.272,-3756.561,294.6607,0,0,1,0,100,0), -- 18:51:58
+(@PATH,24,3416.304,-3774.603,294.6607,0,0,1,0,100,0), -- 18:51:59
+(@PATH,25,3405.274,-3797.244,294.6658,0,0,1,0,100,0), -- 18:52:02
+(@PATH,26,3394.972,-3815.078,294.7111,0,0,1,0,100,0), -- 18:52:04
+(@PATH,27,3377.224,-3831.485,294.6744,0,0,1,0,100,0), -- 18:52:06
+(@PATH,28,3355.986,-3838.537,294.661,0,0,1,0,100,0), -- 18:52:08
+(@PATH,29,3337.649,-3843.212,294.6607,0,0,1,0,100,0), -- 18:52:10
+(@PATH,30,3316.94,-3850.059,294.6604,0,0,1,0,100,0), -- 18:52:13
+(@PATH,31,3304.55,-3853.525,294.6609,0,0,1,0,100,0), -- 18:52:15
+(@PATH,32,3288.827,-3861.687,294.6596,0,0,1,0,100,0), -- 18:52:16
+(@PATH,33,3281.996,-3873.274,294.6607,0,0,1,0,100,0), -- 18:52:18
+(@PATH,34,3281.982,-3891.924,294.6607,0,0,1,0,100,0); -- 18:52:19
+-- 0x1C3B1C42A00F9A400063AC0004019CE0 .go 3295.49 -3908.793 294.6605
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+DELETE FROM `creature_formations` WHERE `memberGUID` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@NPC+1,6,150,2,0,0),
+(@NPC,@NPC+2,6,100,2,0,0),
+(@NPC,@NPC+3,6,50,2,0,0),
+(@NPC,@NPC+4,6,360,2,0,0),
+(@NPC,@NPC+5,6,310,2,0,0),
+(@NPC,@NPC+6,6,240,2,0,0),
+(@NPC,@NPC+7,6,190,2,0,0);
+
+-- Pathing for Poisonous Skitterer Entry: 15977 'TDB FORMAT'
+SET @NPC := 127923;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3445.511,`position_y`=-3562.019,`position_z`=267.5927 WHERE `guid` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+DELETE FROM `creature_addon` WHERE `guid` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(@NPC,@PATH,0,0,1,0, ''),(@NPC+1,@PATH,0,0,1,0, ''),(@NPC+2,@PATH,0,0,1,0, ''),(@NPC+3,@PATH,0,0,1,0, ''),
+(@NPC+4,@PATH,0,0,1,0, ''),(@NPC+5,@PATH,0,0,1,0, ''),(@NPC+6,@PATH,0,0,1,0, ''),(@NPC+7,@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,3445.511,-3562.019,267.5927,0,0,1,0,100,0), -- 18:50:41
+(@PATH,2,3436.16,-3553.894,267.5926,0,0,1,0,100,0), -- 18:50:40
+(@PATH,3,3427.388,-3543.853,267.5927,0,0,1,0,100,0), -- 18:50:39
+(@PATH,4,3424.374,-3524.575,267.593,0,0,1,0,100,0), -- 18:50:36
+(@PATH,5,3430.726,-3510.367,267.5926,0,0,1,0,100,0), -- 18:50:35
+(@PATH,6,3450.23,-3500.03,267.593,0,0,1,0,100,0), -- 18:50:33
+(@PATH,7,3467.847,-3503.534,267.592,0,0,1,0,100,0), -- 18:50:32
+(@PATH,8,3476.588,-3510.952,267.5963,0,0,1,0,100,0), -- 18:50:30
+(@PATH,9,3481.654,-3519.189,267.599,0,0,1,0,100,0), -- 18:50:29
+(@PATH,10,3483.025,-3534.862,267.5939,0,0,1,0,100,0), -- 18:50:28
+(@PATH,11,3476.475,-3549.416,267.5925,0,0,1,0,100,0), -- 18:50:26
+(@PATH,12,3462.348,-3561.076,267.5923,0,0,1,0,100,0), -- 18:50:24
+(@PATH,13,3457.105,-3576.026,267.593,0,0,1,0,100,0), -- 18:50:22
+(@PATH,14,3456.484,-3596.646,267.5931,0,0,1,0,100,0), -- 18:50:21
+(@PATH,15,3456.006,-3616.097,267.5933,0,0,1,0,100,0), -- 18:50:18
+(@PATH,16,3455.418,-3633.274,273.7843,0,0,1,0,100,0), -- 18:50:17
+(@PATH,17,3455.296,-3644.975,279.9232,0,0,1,0,100,0), -- 18:50:16
+(@PATH,18,3455.71,-3658.097,286.8079,0,0,1,0,100,0), -- 18:50:13
+(@PATH,19,3454.985,-3676.887,294.6609,0,0,1,0,100,0), -- 18:50:12
+(@PATH,20,3455.906,-3694.337,294.6607,0,0,1,0,100,0), -- 18:50:10
+(@PATH,21,3467.804,-3706.619,294.66,0,0,1,0,100,0), -- 18:50:09
+(@PATH,22,3476.442,-3720.346,294.6599,0,0,1,0,100,0), -- 18:50:06
+(@PATH,23,3483.089,-3735.734,294.6605,0,0,1,0,100,0), -- 18:50:05
+(@PATH,24,3480.588,-3752.523,294.6599,0,0,1,0,100,0), -- 18:50:04
+(@PATH,25,3467.757,-3765.589,294.6591,0,0,1,0,100,0), -- 18:50:01
+(@PATH,26,3453.585,-3770.197,294.6595,0,0,1,0,100,0), -- 18:50:00
+(@PATH,27,3436.298,-3764.208,294.6599,0,0,1,0,100,0), -- 18:49:59
+(@PATH,28,3426.811,-3752.177,294.6607,0,0,1,0,100,0), -- 18:49:56
+(@PATH,29,3423.844,-3737.633,294.6601,0,0,1,0,100,0), -- 18:49:55
+(@PATH,30,3429.387,-3722.426,294.6605,0,0,1,0,100,0), -- 18:49:54
+(@PATH,31,3441.138,-3712.122,294.6603,0,0,1,0,100,0), -- 18:49:52
+(@PATH,32,3449.993,-3694.774,294.6606,0,0,1,0,100,0), -- 18:49:50
+(@PATH,33,3450.414,-3676.926,294.6604,0,0,1,0,100,0), -- 18:49:48
+(@PATH,34,3451.136,-3657.843,286.6731,0,0,1,0,100,0), -- 18:49:47
+(@PATH,35,3451.486,-3645.041,279.957,0,0,1,0,100,0), -- 18:49:46
+(@PATH,36,3451.301,-3632.746,273.5061,0,0,1,0,100,0), -- 18:49:43
+(@PATH,37,3451.295,-3615.899,267.594,0,0,1,0,100,0), -- 18:49:41
+(@PATH,38,3451.307,-3596.557,267.5931,0,0,1,0,100,0), -- 18:49:39
+(@PATH,39,3451.611,-3575.75,267.5927,0,0,1,0,100,0); -- 18:49:37
+-- 0x1C3B1C42A00F9A400063AC0008019CDF .go 3445.511 -3562.019 267.5927
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+DELETE FROM `creature_formations` WHERE `memberGUID` IN (@NPC,@NPC+1,@NPC+2,@NPC+3,@NPC+4,@NPC+5,@NPC+6,@NPC+7);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(@NPC,@NPC,0,0,2,0,0),
+(@NPC,@NPC+1,6,150,2,0,0),
+(@NPC,@NPC+2,6,100,2,0,0),
+(@NPC,@NPC+3,6,50,2,0,0),
+(@NPC,@NPC+4,6,360,2,0,0),
+(@NPC,@NPC+5,6,310,2,0,0),
+(@NPC,@NPC+6,6,240,2,0,0),
+(@NPC,@NPC+7,6,190,2,0,0);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_02_world_2015_09_23_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_02_world_2015_09_23_01.sql
new file mode 100644
index 00000000000..a90442e8b5a
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_02_world_2015_09_23_01.sql
@@ -0,0 +1,155 @@
+DELETE FROM `creature` WHERE `guid` IN (86098, 86097, 86092, 86091, 86090, 86088, 86089, 86087, 86086, 86085);
+
+-- Pathing for Dragonmaw Shaman Entry: 21720 'TDB FORMAT'
+SET @NPC := 75806;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4178.686,`position_y`=490.5659,`position_z`=30.16439 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,-4178.686,490.5659,30.16439,0,0,0,0,100,0), -- 10:20:24
+(@PATH,2,-4197.292,485.9068,30.38932,0,0,0,0,100,0), -- 10:20:35
+(@PATH,3,-4225.723,467.5575,41.27721,0,0,0,0,100,0), -- 10:20:44
+(@PATH,4,-4215.874,436.8994,48.21687,0,0,0,0,100,0), -- 10:20:57
+(@PATH,5,-4237.429,402.9925,63.27236,0,0,0,0,100,0), -- 10:21:13
+(@PATH,6,-4257.311,375.9668,78.98435,0,0,0,0,100,0), -- 10:21:30
+(@PATH,7,-4218.265,427.3583,49.21005,0,0,0,0,100,0), -- 10:21:59
+(@PATH,8,-4226.337,464.256,42.97073,0,0,0,0,100,0), -- 10:22:17
+(@PATH,9,-4205.016,481.8601,31.38265,0,0,0,0,100,0), -- 10:22:32
+(@PATH,10,-4193.525,487.0911,30.10522,0,0,0,0,100,0), -- 10:22:46
+(@PATH,11,-4172.567,476.759,31.17034,0,0,0,0,100,0), -- 10:22:55
+(@PATH,12,-4151.987,448.1165,33.53831,0,0,0,0,100,0), -- 10:23:06
+(@PATH,13,-4113.85,424.8085,34.97233,0,0,0,0,100,0), -- 10:23:18
+(@PATH,14,-4147.163,444.2449,34.1104,0,0,0,0,100,0), -- 10:23:38
+(@PATH,15,-4157.673,454.7521,31.41072,0,0,0,0,100,0); -- 10:23:57
+
+-- Pathing for Dragonmaw Shaman Entry: 21720 'TDB FORMAT'
+SET @NPC := 75803;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4294.086,`position_y`=400.621,`position_z`=81.62926 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,233, '');
+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,-4294.086,400.621,81.62926,0,25000,0,0,100,0), -- 10:13:30
+(@PATH,2,-4292.586,399.621,81.62926,0,25000,0,0,100,0); -- 10:13:50
+
+-- Pathing for Dragonmaw Shaman Entry: 21720 'TDB FORMAT'
+SET @NPC := 75798;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4244.082,`position_y`=315.9884,`position_z`=134.664 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,-4244.082,315.9884,134.664,0,0,0,0,100,0), -- 10:12:22
+(@PATH,2,-4235.726,319.797,134.6712,0,0,0,0,100,0), -- 10:12:25
+(@PATH,3,-4229.505,315.7428,134.6895,0,0,0,0,100,0), -- 10:12:28
+(@PATH,4,-4194.724,303.9587,136.7709,0,0,0,0,100,0), -- 10:12:30
+(@PATH,5,-4190.966,294.0813,135.7594,0,0,0,0,100,0), -- 10:12:45
+(@PATH,6,-4183.756,287.0773,135.6553,0,0,0,0,100,0), -- 10:14:20
+(@PATH,7,-4191.174,297.8928,136.033,0,0,0,0,100,0), -- 10:14:26
+(@PATH,8,-4220.702,310.0533,134.9795,0,0,0,0,100,0), -- 10:14:30
+(@PATH,9,-4229.358,315.7001,134.6958,0,0,0,0,100,0), -- 10:14:45
+(@PATH,10,-4230.426,317.3666,134.676,0,0,0,0,100,0), -- 10:14:48
+(@PATH,11,-4235.935,319.6286,134.6698,0,0,0,0,100,0), -- 10:14:50
+(@PATH,12,-4255.562,318.7018,134.6108,0,0,0,0,100,0), -- 10:14:54
+(@PATH,13,-4249.844,317.125,134.6809,0,0,0,0,100,0), -- 10:15:00
+(@PATH,14,-4243.675,313.4105,134.6629,0,0,0,0,100,0), -- 10:15:06
+(@PATH,15,-4235.89,308.923,134.6676,0,0,0,0,100,0), -- 10:15:08
+(@PATH,16,-4230.517,310.4198,134.6871,0,0,0,0,100,0), -- 10:15:11
+(@PATH,17,-4194.894,303.7994,136.77,0,0,0,0,100,0), -- 10:15:14
+(@PATH,18,-4188.841,309.6393,135.933,0,0,0,0,100,0), -- 10:15:29
+(@PATH,19,-4175.213,316.2365,135.7092,0,0,0,0,100,0), -- 10:15:34
+(@PATH,20,-4161.508,360.043,141.9081,0,0,0,0,100,0), -- 10:15:40
+(@PATH,21,-4171.737,320.0564,135.9073,0,0,0,0,100,0), -- 10:16:01
+(@PATH,22,-4185.639,313.6697,135.3489,0,0,0,0,100,0), -- 10:16:20
+(@PATH,23,-4191.21,305.0679,136.4015,0,0,0,0,100,0), -- 10:16:26
+(@PATH,24,-4220.617,309.9903,134.8077,0,0,0,0,100,0), -- 10:16:31
+(@PATH,25,-4229.755,310.8228,134.6904,0,0,0,0,100,0), -- 10:16:45
+(@PATH,26,-4235.208,308.5773,134.6808,0,0,0,0,100,0), -- 10:16:48
+(@PATH,27,-4243.492,313.3849,134.6674,0,0,0,0,100,0), -- 10:16:51
+(@PATH,28,-4255.519,318.5628,134.6098,0,0,0,0,100,0), -- 10:16:54
+(@PATH,29,-4249.62,317.301,134.6521,0,0,0,0,100,0); -- 10:17:00
+
+-- Pathing for Dragonmaw Shaman Entry: 21720 'TDB FORMAT'
+SET @NPC := 75801;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4263.521,`position_y`=408.381,`position_z`=79.67068 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,-4263.521,408.381,79.67068,0,0,0,0,100,0), -- 10:12:48
+(@PATH,2,-4275.601,391.1442,81.45609,0,0,0,0,100,0), -- 10:13:03
+(@PATH,3,-4276.916,384.2662,79.99209,0,0,0,0,100,0), -- 10:13:13
+(@PATH,4,-4272.852,367.3383,83.40826,0,0,0,0,100,0), -- 10:13:19
+(@PATH,5,-4299.143,333.1703,109.8589,0,0,0,0,100,0), -- 10:13:24
+(@PATH,6,-4291.638,298.5769,121.6239,0,0,0,0,100,0), -- 10:13:44
+(@PATH,7,-4284.62,294.5884,122.3762,0,0,0,0,100,0), -- 10:14:00
+(@PATH,8,-4265.867,286.0486,122.6935,0,0,0,0,100,0), -- 10:14:11
+(@PATH,9,-4231.655,272.0292,122.6157,0,0,0,0,100,0), -- 10:14:22
+(@PATH,10,-4221.664,271.404,122.5952,0,0,0,0,100,0), -- 10:14:30
+(@PATH,11,-4221.826,271.2171,122.3309,0,0,0,0,100,0), -- 10:14:42
+(@PATH,12,-4241.433,272.7845,122.9299,0,0,0,0,100,0), -- 10:14:50
+(@PATH,13,-4243.721,273.0889,123.1742,0,0,0,0,100,0), -- 10:15:00
+(@PATH,14,-4287.71,296.0865,122.0869,0,0,0,0,100,0), -- 10:15:09
+(@PATH,15,-4299.358,330.6028,110.9833,0,0,0,0,100,0), -- 10:15:20
+(@PATH,16,-4274.684,364.696,85.32684,0,0,0,0,100,0), -- 10:15:36
+(@PATH,17,-4269.528,373.963,80.26889,0,0,0,0,100,0), -- 10:15:57
+(@PATH,18,-4276.889,385.2,79.98441,0,0,0,0,100,0); -- 10:16:01
+
+-- Dragonmaw Subjugator SAI
+SET @ENTRY := 21718;
+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,1,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Subjugator - Out of Combat - Enable Combat Movement (No Repeat)"),
+(@ENTRY,0,1,2,4,0,100,1,0,0,0,0,11,9613,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dragonmaw Subjugator - On Aggro - Cast 'Shadow Bolt' (No Repeat)"),
+(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Subjugator - On Aggro - Increment Phase By 1 (No Repeat)"),
+(@ENTRY,0,3,0,9,1,100,0,0,40,2400,3800,11,9613,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dragonmaw Subjugator - Within 0-40 Range - Cast 'Shadow Bolt' (No Repeat)"),
+(@ENTRY,0,4,5,3,1,100,1,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Subjugator - Between 0-15% Mana - Enable Combat Movement (Phase 1) (No Repeat)"),
+(@ENTRY,0,5,0,61,1,100,0,0,0,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Subjugator - Between 0-15% Mana - Increment Phase By 1 (Phase 1) (No Repeat)"),
+(@ENTRY,0,6,0,9,1,100,1,35,80,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Subjugator - Within 35-80 Range - Enable Combat Movement (Phase 1) (No Repeat)"),
+(@ENTRY,0,7,0,9,1,100,1,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Subjugator - Within 5-15 Range - Disable Combat Movement (Phase 1) (No Repeat)"),
+(@ENTRY,0,8,0,9,1,100,1,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Subjugator - Within 0-5 Range - Enable Combat Movement (Phase 1) (No Repeat)"),
+(@ENTRY,0,9,0,3,2,100,0,30,100,100,100,23,0,1,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Subjugator - Between 30-100% Mana - Decrement Phase By 1 (Phase 1) (No Repeat)"),
+(@ENTRY,0,10,11,2,0,100,1,0,15,0,0,22,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Subjugator - Between 0-15% Health - Set Event Phase 3 (No Repeat)"),
+(@ENTRY,0,11,12,61,0,100,0,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Subjugator - Between 0-15% Health - Enable Combat Movement (No Repeat)"),
+(@ENTRY,0,12,0,61,0,100,0,0,0,0,0,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Dragonmaw Subjugator - Between 0-15% Health - Flee For Assist (No Repeat)"),
+(@ENTRY,0,13,0,6,0,100,1,0,0,0,0,33,22197,0,0,0,0,0,7,0,0,0,0,0,0,0,"Dragonmaw Subjugator - On Just Died - Quest Credit 'Infiltrating Dragonmaw Fortress' (No Repeat)");
+
+-- Pathing for Dragonmaw Subjugator Entry: 21718 'TDB FORMAT'
+SET @NPC := 75774;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4102.015,`position_y`=377.2606,`position_z`=30.89463 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,-4102.015,377.2606,30.89463,0,0,0,0,100,0), -- 10:20:43
+(@PATH,2,-4108.736,382.3355,30.58962,0,0,0,0,100,0), -- 10:20:47
+(@PATH,3,-4115.181,384.7361,30.83398,0,0,0,0,100,0), -- 10:20:49
+(@PATH,4,-4115.945,392.739,30.79796,0,0,0,0,100,0), -- 10:20:53
+(@PATH,5,-4111.743,392.8836,30.53397,0,0,0,0,100,0), -- 10:20:54
+(@PATH,6,-4106.752,389.3356,30.54209,0,0,0,0,100,0), -- 10:20:57
+(@PATH,7,-4103.535,395.7037,30.67706,0,0,0,0,100,0), -- 10:21:00
+(@PATH,8,-4103.445,396.1037,30.62162,0,0,0,0,100,0), -- 10:21:02
+(@PATH,9,-4099.806,402.0006,30.79059,0,0,0,0,100,0), -- 10:21:14
+(@PATH,10,-4099.44,401.964,30.87934,0,0,0,0,100,0), -- 10:21:15
+(@PATH,11,-4086.569,405.2619,30.82691,0,0,0,0,100,0), -- 10:21:21
+(@PATH,12,-4089.497,392.9045,30.76514,0,0,0,0,100,0), -- 10:21:26
+(@PATH,13,-4089.03,381.2375,31.16474,0,0,0,0,100,0), -- 10:21:31
+(@PATH,14,-4091.608,379.7381,30.97511,0,0,0,0,100,0); -- 10:21:33
+
+-- Pathing for Dragonmaw Subjugator Entry: 21718 'TDB FORMAT'
+SET @NPC := 75780;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4192.549,`position_y`=463.3147,`position_z`=30.76653 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,-4192.549,463.3147,30.76653,0,0,0,0,100,0), -- 10:21:58
+(@PATH,2,-4188.431,467.3629,30.58786,0,0,0,0,100,0); -- 10:22:00
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_03_world_2015_09_23_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_03_world_2015_09_23_02.sql
new file mode 100644
index 00000000000..fa89371371d
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_03_world_2015_09_23_02.sql
@@ -0,0 +1,176 @@
+--
+SET @GUID1 := -78496;
+SET @GUID2 := -52330;
+UPDATE `creature` SET `position_x`= -4236.136230, `position_y`= 313.865417, `position_z`= 160.389038, `orientation`= 3.5595 WHERE `guid`= 78496;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (22317, 23188, 22253);
+UPDATE `creature_template` SET `InhabitType`= 4 WHERE `entry`=23225;
+DELETE FROM `creature` WHERE `guid` IN (132815, 132816, 132817) AND `id`=23188; -- remove wrong spawns
+UPDATE `smart_scripts` SET `event_type`=25 WHERE `entryorguid`=23311 AND `source_type`=0 AND `id`=11; -- Fix an aura set by spawn instead of reset
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@GUID1, -52330, 23188, 22253) AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (22317*100, 22317*100+1, 22317*100+2, 2318800, 2318801, 2318802, 2318803, 22253*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
+(@GUID1,0,0,0,1,0,100,0,2000,4000,12000,16000,12,23188,7,0,0,0,0,8,0,0,0,-4236.136230, 313.865417, 160.389038, 3.9795,"Netherwing Drake Escape Dummy - OOC - Summon Creature 'Dragonmaw Transporter'"),
+(@GUID1,0,1,0,63,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Netherwing Drake Escape Dummy - Just created - Set active"),
+(23188,0,0,0,54,0,100,0,0,0,0,0,87,2318800,2318801,2318802,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - Just summoned - action list"),
+(2318800,9,0,0,0,0,100,0,0,0,0,0,53,1,231880,0,0,0,2,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - Action list - Start Waypoint"),
+(2318800,9,1,0,0,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - Action list - Set Active On"),
+(2318801,9,0,0,0,0,100,0,0,0,0,0,53,1,231881,0,0,0,2,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - Action list - Start Waypoint"),
+(2318801,9,1,0,0,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - Action list - Set Active On"),
+(2318802,9,0,0,0,0,100,0,0,0,0,0,53,1,231882,0,0,0,2,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - Action list - Start Waypoint"),
+(2318802,9,1,0,0,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - Action list - Set Active On"),
+(23188,0,1,0,58,0,100,0,27,231880,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - On Waypoint Finished - Despawn Instant"),
+(23188,0,2,0,58,0,100,0,31,231881,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - On Waypoint Finished - Despawn Instant"),
+(23188,0,3,0,58,0,100,0,25,231882,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - On Waypoint Finished - Despawn Instant"),
+(23188,0,4,0,58,0,100,0,26,231883,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - On Waypoint Finished - Despawn Instant"),
+(22253, 0, 0, 0, 0, 0, 100, 0, 3000, 5000, 7000, 7000, 11, 15496, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Ascendant - IC - Cast Cleave"),
+(22253, 0, 1, 0, 0, 0, 100, 0, 5000, 7000, 8000, 10000, 11, 17547, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Ascendant - IC - Cast Mortal Strike"),
+(22253, 0, 2, 0, 0, 0, 100, 0, 4000, 7000, 9000, 12000, 11, 10966, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Ascendant - IC - Cast Uppercut"),
+(@GUID2, 0, 0, 0, 0, 0, 100, 0, 3000, 5000, 7000, 7000, 11, 15496, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Ascendant - IC - Cast Cleave"),
+(@GUID2, 0, 1, 0, 0, 0, 100, 0, 5000, 7000, 8000, 10000, 11, 17547, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Ascendant - IC - Cast Mortal Strike"),
+(@GUID2, 0, 2, 0, 0, 0, 100, 0, 4000, 7000, 9000, 12000, 11, 10966, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Ascendant - IC - Cast Uppercut"),
+(@GUID2,0,3,0,1,0,100,0,2000,5000,12000,16000,12,23188,7,0,0,0,0,8,0,0,0,-4933.316895, 31.134706, 61.772137, 0.480736,"Dragonmaw Ascendant - OOC - Summon Creature 'Dragonmaw Transporter'"),
+(@GUID2,0,4,0,63,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Ascendant - Just created - Set active"),
+(23188,0,5,0,54,0,100,0,0,0,0,0,80,2318803,2,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - Just summoned - action list"),
+(2318803,9,0,0,0,0,100,0,0,0,0,0,53,1,231883,0,0,0,2,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - action list - Start Waypoint"),
+(2318803,9,1,0,0,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonmaw Transporter - action list - Set Active On"),
+(23188, 0, 6, 0, 0, 0, 100, 0, 3000, 5000, 7000, 7000, 11, 38861, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Transporter- IC - Aimed Shot"),
+(23188, 0, 7, 0, 0, 0, 100, 0, 5000, 7000, 8000, 10000, 11, 19503, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Transporter - IC - Scatter Shot"),
+(23188, 0, 8, 0, 0, 0, 100, 0, 4000, 7000, 9000, 12000, 11, 38859, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Transporter - IC - Serpent Sting"),
+(23188, 0, 9, 0, 0, 0, 100, 0, 1000, 2000, 3000, 4000, 11, 38858, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Transporter - IC - Shoot");
+
+DELETE FROM conditions WHERE SourceTypeOrReferenceId=22 AND SourceEntry=23188;
+INSERT INTO conditions (SourceTypeOrReferenceId, SourceGroup, SourceEntry, SourceId, ElseGroup, ConditionTypeOrReference, ConditionTarget, ConditionValue1, ConditionValue2, ConditionValue3, NegativeCondition, ErrorTextId, ScriptName, Comment) VALUES
+(22, 1, 23188, 0, 0, 23, 0, 3939, 0, 0, 0, 0, '', 'Execute SmartAI for Dragonmaw Transporter if the area is 3759'),
+(22, 6, 23188, 0, 0, 23, 0, 3759, 0, 0, 0, 0, '', 'Execute SmartAI for Dragonmaw Transporter if the area is 3759');
+
+SET @PATH := 231880;
+DELETE FROM `waypoints` WHERE `entry`=@PATH;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(@PATH,1,-4234.259,316.7951,194.5695, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,2,-4278.778,291.9364,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,3,-4315.755,272.5735,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,4,-4332.82,267.5372,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,5,-4354.233,260.8795,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,6,-4391.55,249.5022,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,7,-4429.059,238.4517,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,8,-4470.008,227.2337,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,9,-4489.761,222.9549,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,10,-4502.434,220.6088,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,11,-4528.817,218.5281,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,12,-4546.15,218.6741,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,13,-4595.704,217.5207,162.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,14,-4641.978,205.2794,147.0265, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,15,-4662.014,198.3955,118.6931, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,16,-4686.042,195.7724,92.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,17,-4720.744,183.9892,92.33202, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,18,-4745.649,173.8856,98.19311, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,19,-4756.257,154.736,105.7487, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,20,-4761.057,143.5172,108.3876, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,21,-4787.247,129.8356,110.6098, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,22,-4815.383,124.4918,109.6376, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,23,-4841.104,99.13585,116.1653, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,24,-4876.217,68.20888,99.16536, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,25,-4887.112,56.80024,92.74867, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,26,-4921.727,36.11827,73.94312, 'Dragonmaw Transporter'), -- 07:14:59
+(@PATH,27,-4924.737,36.20354,61.87088, 'Dragonmaw Transporter'); -- 07:14:59
+-- 0x1C09FC424016A500000019000022323C .go -4234.259 316.7951 194.5695
+
+-- Pathing for Dragonmaw Transporter Entry: 23188 'TDB FORMAT'
+SET @PATH := 231881;
+DELETE FROM `waypoints` WHERE `entry`=@PATH;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(@PATH,1,-4235.772,310.6806,195.9172, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,2,-4266.868,305.2986,170.0554, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,3,-4289.381,299.2866,169.0554, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,4,-4313.463,296.8451,169.0554, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,5,-4334.991,295.7913,169.0554, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,6,-4355.52,290.1741,169.0554, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,7,-4382.983,278.409,169.0554, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,8,-4419.237,271.8036,169.0554, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,9,-4448.44,268.7892,169.0554, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,10,-4463.974,265.9718,169.0554, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,11,-4486.522,265.1359,165.4998, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,12,-4515.319,266.4659,154.3332, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,13,-4538.145,266.9955,143.7777, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,14,-4565.51,267.0066,134.7498, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,15,-4574.724,266.6996,130.4999, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,16,-4585.344,265.8585,125.2221, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,17,-4610.452,266.8059,114.0276, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,18,-4648.119,265.0245,89.41651, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,19,-4679.999,264.3499,80.02769, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,20,-4726.6,265.6508,91.11095, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,21,-4757.61,263.9644,96.61092, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,22,-4790.494,252.6213,107.7221, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,23,-4830.46,243.5237,113.6109, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,24,-4850.946,232.3608,114.611, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,25,-4865.539,204.393,115.9165, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,26,-4867.515,184.822,112.5276, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,27,-4869.98,147.345,96.99986, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,28,-4875.779,115.5371,89.69432, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,29,-4900.512,79.47276,79.22215, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,30,-4920.873,41.16504,69.30544, 'Dragonmaw Transporter'), -- 07:15:20
+(@PATH,31,-4924.737,36.20354,61.87088, 'Dragonmaw Transporter'); -- 07:15:20
+-- 0x1C09FC424016A5000000190000223259 .go -4235.772 310.6806 195.9172
+
+-- Pathing for Dragonmaw Transporter Entry: 23188 'TDB FORMAT'
+SET @PATH := 231882;
+DELETE FROM `waypoints` WHERE `entry`=@PATH;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(@PATH,1,-4235.186,312.622,195.6112, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,2,-4234.272,312.2153,195.6112, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,3,-4293.566,245.1756,179.3634, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,4,-4305.508,238.4082,179.3634, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,5,-4329.843,217.8027,179.3634, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,6,-4362.729,186.0796,186.419, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,7,-4434.846,123.756,230.3912, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,8,-4459.073,85.18902,233.9189, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,9,-4482.534,56.35666,232.5023, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,10,-4493.029,34.64518,235.1689, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,11,-4503.293,2.772352,232.5856, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,12,-4536.873,-16.30306,224.7523, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,13,-4579.444,-18.38878,223.5301, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,14,-4611.417,9.642578,219.03, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,15,-4660.565,11.25814,228.7522, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,16,-4698.878,14.15853,227.3911, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,17,-4734.97,25.07422,223.0023, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,18,-4766.538,46.62153,220.8356, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,19,-4794.966,67.12045,197.8634, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,20,-4815.075,72.55089,183.6967, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,21,-4855.917,67.18316,133.6689, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,22,-4868.51,61.47526,116.2801, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,23,-4890.089,51.30317,92.11338, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,24,-4922.806,35.50499,72.91895, 'Dragonmaw Transporter'), -- 07:18:37
+(@PATH,25,-4924.737,36.20354,61.87088, 'Dragonmaw Transporter'); -- 07:18:37
+-- 0x1C09FC424016A50000001900002232FF .go -4235.186 312.622 195.6112
+
+-- Pathing for Dragonmaw Transporter Entry: 23188 'TDB FORMAT'
+SET @PATH := 231883;
+DELETE FROM `waypoints` WHERE `entry`=@PATH;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(@PATH,1,-4921.116,38.40239,62.79848, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,2,-4920.266,38.92785,62.79848, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,3,-4911.522,44.50662,65.54009, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,4,-4897.991,49.12988,69.23454, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,5,-4854.699,71.66743,69.23454, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,6,-4811.554,91.95888,69.23454, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,7,-4782.642,107.2382,69.23454, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,8,-4749.689,123.6898,102.4568, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,9,-4717.377,120.1987,102.5401, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,10,-4677.343,111.8249,122.37344, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,11,-4642.299,106.9923,122.62343, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,12,-4595.685,101.0696,122.23454, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,13,-4568.682,107.7912,122.23454, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,14,-4532.451,105.1658,122.23454, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,15,-4502.495,109.315,122.23454, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,16,-4478.215,118.6488,122.23454, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,17,-4437.049,132.6271,122.23454, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,18,-4401.484,131.5858,122.23454, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,19,-4360.693,156.9551,122.37343, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,20,-4324.191,184.9894,122.9568, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,21,-4299.081,216.2382,141.7901, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,22,-4292.715,227.4521,179.9077, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,23,-4281.613,263.6761,179.9077, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,24,-4260.6,294.3777,179.9077, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,25,-4240.507,326.8979,154.0465, 'Dragonmaw Transporter'), -- 07:15:14
+(@PATH,26,-4240.507,326.8979,154.0465, 'Dragonmaw Transporter'); -- 07:15:14
+-- 0x1C09FC424016A5000000190000223269 .go -4921.116 38.40239 62.79848
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_04_world_2015_09_23_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_04_world_2015_09_23_03.sql
new file mode 100644
index 00000000000..7a241bafd41
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_04_world_2015_09_23_03.sql
@@ -0,0 +1,80 @@
+--
+SET @DredgeWorm:= 8925;
+SET @DeepStinger:= 8926;
+SET @DarkScreecher:= 8927;
+SET @Burrowing:= 8928;
+SET @Creeper:= 8933;
+SET @Beetle:= 8932;
+SET @Gorosh:= 9027;
+SET @Grizzle:= 9028;
+SET @Eviscerator:= 9029;
+SET @Okthor:= 9030;
+SET @Anubshiah:= 9031;
+SET @Hedrum:= 9032;
+
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' WHERE `entry` IN (@DredgeWorm, @DeepStinger, @DarkScreecher, @Burrowing, @Creeper, @Beetle, @Gorosh, @Grizzle, @Eviscerator, @Okthor, @Anubshiah, @Hedrum);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@DredgeWorm, @DeepStinger, @DarkScreecher, @Burrowing, @Creeper, @Beetle, @Gorosh, @Grizzle, @Eviscerator, @Okthor, @Anubshiah, @Hedrum) 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
+(@DredgeWorm,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@DeepStinger,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@DarkScreecher,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@Burrowing,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@Creeper,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@Beetle,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@Gorosh,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@Grizzle,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@Eviscerator,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@Okthor,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@Anubshiah,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@Hedrum,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"@DredgeWorm - Just summoned - Start Attack"),
+(@DredgeWorm,0,1,0,0,0,100,0,3000,4000,10000,15000,11,14535,0,0,0,0,0,5,0,0,0,0,0,0,0,"Dredge Worm - In Combat - Cast Dredge Sickness"),
+(@DredgeWorm,0,2,0,0,0,100,0,4000,4000,8000,8000,11,13298,32,0,0,0,0,5,0,0,0,0,0,0,0,"Dredge Worm - In Combat - Cast Poison"),
+(@DredgeWorm,0,3,0,0,0,100,0,5000,6000,3000,3000,11,6917,0,0,0,0,0,5,0,0,0,0,0,0,0,"Dredge Worm - In Combat - Cast Venom Spit)"),
+(@DeepStinger,0,1,0,0,0,100,0,2000,2000,6000,8000,11,14534,0,0,0,0,0,5,0,0,0,0,0,0,0,"Deep Stinger - In Combat - Cast Barbed Sting"),
+(@DeepStinger,0,2,0,0,0,100,0,4000,4000,4000,4000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0,"Deep Stinger - In Combat - Cast Cleave"),
+(@DarkScreecher,0,1,0,0,0,100,0,2000,2000,6000,8000,11,14538,0,0,0,0,0,5,0,0,0,0,0,0,0,"Dark Screecher - In Combat - Cast Aural Shock"),
+(@DarkScreecher,0,2,0,0,0,100,0,4000,4000,9000,10000,11,8281,0,0,0,0,0,5,0,0,0,0,0,0,0,"Dark Screecher - In Combat - Cast Sonic Burst"),
+(@Burrowing,0,1,0,0,0,100,0,2000,2000,30000,30000,11,14533,0,0,0,0,0,5,0,0,0,0,0,0,0,"Burrowing Thundersnout - In Combat - Cast Disjonction"),
+(@Burrowing,0,2,0,0,0,100,0,3000,3000,3000,3000,11,15611,0,0,0,0,0,5,0,0,0,0,0,0,0,"Burrowing Thundersnout - In Combat - Cast Lizard Bolt"),
+(@Burrowing,0,3,0,0,0,100,0,5000,5000,8000,8000,11,15548,0,0,0,0,0,5,0,0,0,0,0,0,0,"Burrowing Thundersnout - In Combat - Cast Thunderclap"),
+(@Creeper,0,1,0,0,0,100,0,2000,2000,20000,20000,11,14532,0,0,0,0,0,5,0,0,0,0,0,0,0,"Cave Creeper - In Combat - Cast Creeper Venom"),
+(@Creeper,0,2,0,0,0,100,0,4000,4000,8000,8000,11,745,0,0,0,0,0,2,0,0,0,0,0,0,0,"Cave Creeper - In Combat - Cast Web"),
+(@Creeper,0,3,0,0,0,100,0,5000,6000,4000,8000,11,15656,0,0,0,0,0,5,0,0,0,0,0,0,0,"Cave Creeper - In Combat - Cast Poisonous Stab"),
+(@Beetle,0,1,0,0,0,100,0,2000,2000,30000,30000,11,14539,0,0,0,0,0,2,0,0,0,0,0,0,0,"Borer Beetle - In Combat - Cast Putrid Enzyme"),
+(@Beetle,0,2,0,0,0,100,0,4000,4000,15000,20000,11,6016,0,0,0,0,0,5,0,0,0,0,0,0,0,"Borer Beetle - In Combat - Cast Pierce Armor"),
+(@Gorosh,0,1,0,0,0,100,0,2000,4000,6000,8000,11,13736,0,0,0,0,0,2,0,0,0,0,0,0,0,"Gorosh the Dervish - In Combat - Cast Whirlwind"),
+(@Gorosh,0,2,0,0,0,100,0,4000,6000,5000,6000,11,15708,0,0,0,0,0,2,0,0,0,0,0,0,0,"Gorosh the Dervish - In Combat - Cast Mortal Strike"),
+(@Gorosh,0,3,0,0,0,100,1,10000,15000,10000,15000,11,21049,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gorosh the Dervish - In Combat - Cast Bloodlust"),
+(@Grizzle,0,1,0,0,0,100,0,2000,3000,4000,5000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grizzle the Dervish - In Combat - Cast Cleave"),
+(@Grizzle,0,2,0,0,0,100,0,4000,5000,8000,9000,11,6524,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grizzle the Dervish - In Combat - Cast Ground Tremor"),
+(@Grizzle,0,3,0,0,0,100,1,10000,15000,10000,15000,11,8269,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grizzle the Dervish - In Combat - Cast Frenzy"),
+(@Grizzle,0,4,0,0,0,100,0,6000,7000,6000,9000,11,24458,0,0,0,0,0,5,0,0,0,0,0,0,0,"Grizzle the Dervish - In Combat - Cast Shadow Shock"),
+(@Eviscerator,0,1,0,0,0,100,0,2000,3000,14000,15000,11,14331,0,0,0,0,0,2,0,0,0,0,0,0,0,"Eviscerator - In Combat - Cast Vicious Rend"),
+(@Eviscerator,0,2,0,0,0,100,0,4000,5000,4000,5000,11,15245,0,0,0,0,0,2,0,0,0,0,0,0,0,"Eviscerator - In Combat - Cast Shadow Bolt Volley"),
+(@Eviscerator,0,3,0,0,0,100,0,5000,6000,15000,16000,11,8269,0,0,0,0,0,1,0,0,0,0,0,0,0,"Eviscerator - In Combat - Cast Anti-Magic Shield"),
+(@Okthor,0,1,0,0,0,100,0,2000,3000,4000,5000,11,15254,0,0,0,0,0,2,0,0,0,0,0,0,0,"Okthor - In Combat - Cast Arcane Bolt"),
+(@Okthor,0,2,0,0,0,100,0,5000,6000,6000,7000,11,15453,0,0,0,0,0,2,0,0,0,0,0,0,0,"Okthor - In Combat - Cast Arcane Explosion"),
+(@Okthor,0,3,0,0,0,100,0,9000,11000,11000,12000,11,13323,0,0,0,0,0,5,0,0,0,0,0,0,0,"Okthor - In Combat - Cast Polymorph"),
+(@Okthor,0,4,0,0,0,100,0,7000,8000,9000,10000,11,13747,0,0,0,0,0,5,0,0,0,0,0,0,0,"Okthor - In Combat - Cast Slow"),
+(@Anubshiah,0,1,0,0,0,100,0,5000,7000,10000,11000,11,8994,0,0,0,0,0,5,0,0,0,0,0,0,0,"Anubshiah - In Combat - Cast Banish"),
+(@Anubshiah,0,2,0,0,0,100,0,2000,3000,8000,9000,11,15470,0,0,0,0,0,5,0,0,0,0,0,0,0,"Anubshiah - In Combat - Cast Curse of Tongues"),
+(@Anubshiah,0,3,0,0,0,100,0,4000,5000,13000,15000,11,12493,0,0,0,0,0,5,0,0,0,0,0,0,0,"Anubshiah - In Combat - Cast Curse of Weakness"),
+(@Anubshiah,0,4,0,0,0,100,0,1000,1000,300000,300000,11,13787,0,0,0,0,0,1,0,0,0,0,0,0,0,"Anubshiah - In Combat - Cast Demon Armor"),
+(@Anubshiah,0,5,0,0,0,100,0,7000,8000,10000,13000,11,15471,0,0,0,0,0,5,0,0,0,0,0,0,0,"Anubshiah - In Combat - Cast Enveloping Web"),
+(@Anubshiah,0,6,0,0,0,100,0,3000,4000,4000,5000,11,15472,0,0,0,0,0,5,0,0,0,0,0,0,0,"Anubshiah - In Combat - Cast Shadow Bolt"),
+(@Hedrum,0,1,0,0,0,100,0,2000,2000,15000,18000,11,15475,0,0,0,0,0,5,0,0,0,0,0,0,0,"Hedrum - In Combat - Cast Baneful Poison"),
+(@Hedrum,0,2,0,0,0,100,0,7000,9000,15000,18000,11,3609,0,0,0,0,0,5,0,0,0,0,0,0,0,"Hedrum - In Combat - Cast Paralyzing Poison"),
+(@Hedrum,0,3,0,0,0,100,1,10000,15000,20000,25000,11,15474,0,0,0,0,0,5,0,0,0,0,0,0,0,"Hedrum - In Combat - Cast Web Explosion");
+
+UPDATE `creature_template` SET `unit_flags`=131904 WHERE `entry`=10096;
+DELETE FROM `creature_template_addon` WHERE `entry` IN (@DeepStinger);
+INSERT INTO `creature_template_addon` (`entry`, `bytes2`, `auras`) VALUES
+(@DeepStinger, 1, '8601');
+
+UPDATE `creature_text` SET `groupid`=4, `id`=1 WHERE `BroadcastTextId`=5441 AND `entry`=10096;
+UPDATE `creature_text` SET `groupid`=0, `id`=1 WHERE `BroadcastTextId`=5442 AND `entry`=10096;
+UPDATE `creature_text` SET `groupid`=1, `id`=1 WHERE `BroadcastTextId`=5443 AND `entry`=10096;
+UPDATE `creature_text` SET `groupid`=5, `id`=1 WHERE `BroadcastTextId`=5444 AND `entry`=10096;
+UPDATE `creature_text` SET `groupid`=2, `id`=1 WHERE `BroadcastTextId`=5445 AND `entry`=10096;
+UPDATE `creature_text` SET `groupid`=3, `id`=1 WHERE `BroadcastTextId`=5446 AND `entry`=10096;
+UPDATE `creature_text` SET `id`=0 WHERE `entry`=10096;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_05_world_2015_09_23_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_05_world_2015_09_23_04.sql
new file mode 100644
index 00000000000..e44acde69de
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_05_world_2015_09_23_04.sql
@@ -0,0 +1 @@
+UPDATE `creature_loot_template` SET `Chance`=100 WHERE `Entry`=23188 AND `Item`=32509;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_06_world_2015_09_23_05.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_06_world_2015_09_23_05.sql
new file mode 100644
index 00000000000..1347b79a61b
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_06_world_2015_09_23_05.sql
@@ -0,0 +1,9 @@
+--
+UPDATE `creature_formations` SET `point_1`=2, `point_2`=8 WHERE `leaderGUID`=126083 AND `memberGUID`<>126083;
+UPDATE `creature_formations` SET `point_1`=1, `point_2`=5 WHERE `leaderGUID`=201700 AND `memberGUID`<>201700;
+UPDATE `creature_formations` SET `point_1`=5, `point_2`=11 WHERE `leaderGUID`=202823 AND `memberGUID`<>202823;
+UPDATE `creature_formations` SET `point_1`=1, `point_2`=8 WHERE `leaderGUID`=126981 AND `memberGUID`<>126981;
+UPDATE `creature_formations` SET `point_1`=3, `point_2`=7 WHERE `leaderGUID`=131931 AND `memberGUID`<>131931;
+UPDATE `creature_formations` SET `point_1`=1, `point_2`=5 WHERE `leaderGUID`=131920 AND `memberGUID`<>131920;
+UPDATE `creature_formations` SET `point_1`=1, `point_2`=5 WHERE `leaderGUID`=131926 AND `memberGUID`<>131926;
+UPDATE `creature_formations` SET `point_1`=1, `point_2`=10 WHERE `leaderGUID`=202231 AND `memberGUID`<>202231;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_07_world_2015_09_24_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_07_world_2015_09_24_00.sql
new file mode 100644
index 00000000000..5047e4c44b7
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_07_world_2015_09_24_00.sql
@@ -0,0 +1,209 @@
+-- Pathing for Death Knight Captain Entry: 16145 'TDB FORMAT'
+SET @NPC := 127640;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2556.952,`position_y`=-3294.904,`position_z`=267.5933 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, '');
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2556.952,`position_y`=-3294.904,`position_z`=267.5933 WHERE `guid` IN (127685,127686,127656,127657);
+DELETE FROM `creature_addon` WHERE `guid` IN (127685,127686,127656,127657);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(127685,@PATH,0,0,1,0, ''), (127686,@PATH,0,0,1,0, ''), (127656,@PATH,0,0,1,0, ''), (127657,@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,2556.952,-3294.904,267.5933,0,0,0,0,100,0),
+(@PATH,2,2556.655,-3273.629,266.7731,0,0,0,0,100,0),
+(@PATH,3,2556.505,-3258.446,260.2637,0,0,0,0,100,0),
+(@PATH,4,2556.29,-3229.774,245.2207,0,0,0,0,100,0),
+(@PATH,5,2555.99,-3205.854,240.5267,0,0,0,0,100,0),
+(@PATH,6,2555.881,-3183.735,240.5253,0,0,0,0,100,0),
+(@PATH,7,2556.055,-3164.447,240.5253,0,0,0,0,100,0),
+(@PATH,8,2556.121,-3141.804,240.5253,0,0,0,0,100,0),
+(@PATH,9,2556.055,-3164.447,240.5253,0,0,0,0,100,0),
+(@PATH,10,2555.881,-3183.735,240.5253,0,0,0,0,100,0),
+(@PATH,11,2555.99,-3205.854,240.5267,0,0,0,0,100,0),
+(@PATH,12,2556.29,-3229.774,245.2207,0,0,0,0,100,0),
+(@PATH,13,2556.505,-3258.446,260.2637,0,0,0,0,100,0),
+(@PATH,14,2556.655,-3273.629,266.7731,0,0,0,0,100,0),
+(@PATH,15,2556.952,-3294.904,267.5933,0,0,0,0,100,0),
+(@PATH,16,2556.716,-3318.195,267.593,0,0,0,0,100,0),
+(@PATH,17,2556.767,-3335.356,267.593,0,0,0,0,100,0),
+(@PATH,18,2556.716,-3318.195,267.593,0,0,0,0,100,0);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127640);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127640,127640,0,0,2,0,0),
+(127640,127685,3,360,2,8,17),
+(127640,127686,3,40,2,8,17),
+(127640,127656,3,320,2,8,17),
+(127640,127657,3,260,2,8,17);
+
+-- Pathing for Death Knight Captain Entry: 16145 'TDB FORMAT'
+SET @NPC := 127641;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2540.547,`position_y`=-3209.821,`position_z`=240.5256 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, '');
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2540.547,`position_y`=-3209.821,`position_z`=240.5256 WHERE `guid` IN (127687,127688,127658,127659);
+DELETE FROM `creature_addon` WHERE `guid` IN (127687,127688,127658,127659);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(127687,@PATH,0,0,1,0, ''), (127688,@PATH,0,0,1,0, ''), (127658,@PATH,0,0,1,0, ''), (127659,@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,2540.547,-3209.821,240.5256,0,0,0,0,100,0),
+(@PATH,2,2550.174,-3195.296,240.5253,0,0,0,0,100,0),
+(@PATH,3,2550.015,-3178.325,240.5252,0,0,0,0,100,0),
+(@PATH,4,2542.807,-3161.292,240.5246,0,0,0,0,100,0),
+(@PATH,5,2531.76,-3145.814,240.5244,0,0,0,0,100,0),
+(@PATH,6,2526.761,-3124.435,240.5252,0,0,0,0,100,0),
+(@PATH,7,2535.071,-3107.707,240.5244,0,0,0,0,100,0),
+(@PATH,8,2553.146,-3099.002,240.5252,0,0,0,0,100,0),
+(@PATH,9,2568.556,-3098.702,240.5253,0,0,0,0,100,0),
+(@PATH,10,2586.523,-3091.121,240.5253,0,0,0,0,100,0),
+(@PATH,11,2599.675,-3076.474,240.5264,0,0,0,0,100,0),
+(@PATH,12,2599.267,-3055.494,240.5239,0,0,0,0,100,0),
+(@PATH,13,2618.495,-3035.821,240.5235,0,0,0,0,100,0),
+(@PATH,14,2634.81,-3052.702,240.5237,0,0,0,0,100,0),
+(@PATH,15,2651.288,-3069.151,240.5216,0,0,0,0,100,0),
+(@PATH,16,2628.244,-3086.696,240.5232,0,0,0,0,100,0),
+(@PATH,17,2608.684,-3085.287,240.5264,0,0,0,0,100,0),
+(@PATH,18,2595.005,-3098.484,240.5253,0,0,0,0,100,0),
+(@PATH,19,2587.623,-3116.573,240.5246,0,0,0,0,100,0),
+(@PATH,20,2586.39,-3131.935,240.525,0,0,0,0,100,0),
+(@PATH,21,2577.873,-3150.335,240.524,0,0,0,0,100,0),
+(@PATH,22,2565.028,-3163.529,240.5253,0,0,0,0,100,0),
+(@PATH,23,2559.751,-3177.576,240.5253,0,0,0,0,100,0),
+(@PATH,24,2559.432,-3195.028,240.5254,0,0,0,0,100,0),
+(@PATH,25,2570.551,-3210.158,240.5293,0,0,0,0,100,0),
+(@PATH,26,2555.933,-3210.18,240.5274,0,0,0,0,100,0);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127641);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127641,127641,0,0,2,0,0),
+(127641,127687,3,360,2,0,0),
+(127641,127688,3,40,2,0,0),
+(127641,127658,3,320,2,0,0),
+(127641,127659,3,260,2,0,0);
+
+-- Pathing for Death Knight Captain Entry: 16145 'TDB FORMAT'
+SET @NPC := 127642;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2781.675,`position_y`=-2973.126,`position_z`=240.5271 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, '');
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2781.675,`position_y`=-2973.126,`position_z`=240.5271 WHERE `guid` IN (127689,127690,127660,127661);
+DELETE FROM `creature_addon` WHERE `guid` IN (127689,127690,127660,127661);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(127689,@PATH,0,0,1,0, ''), (127690,@PATH,0,0,1,0, ''), (127660,@PATH,0,0,1,0, ''), (127661,@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,2781.675,-2973.126,240.5271,0,0,0,0,100,0),
+(@PATH,2,2781.545,-2987.27,240.5265,0,0,0,0,100,0),
+(@PATH,3,2781.296,-2999.196,240.5251,0,0,0,0,100,0),
+(@PATH,4,2761.818,-2991.876,240.525,0,0,0,0,100,0),
+(@PATH,5,2741.577,-2996.512,240.5255,0,0,0,0,100,0),
+(@PATH,6,2720.587,-3007.503,240.5255,0,0,0,0,100,0),
+(@PATH,7,2702.402,-3013.772,240.5244,0,0,0,0,100,0),
+(@PATH,8,2678.602,-3021.83,240.5253,0,0,0,0,100,0),
+(@PATH,9,2662.359,-3033.787,240.5253,0,0,0,0,100,0),
+(@PATH,10,2656.579,-3044.628,240.5232,0,0,0,0,100,0),
+(@PATH,11,2654.518,-3070.607,240.5216,0,0,0,0,100,0),
+(@PATH,12,2642.806,-3082.523,240.5241,0,0,0,0,100,0),
+(@PATH,13,2625.915,-3067.382,240.5231,0,0,0,0,100,0),
+(@PATH,14,2613.159,-3055.652,240.5243,0,0,0,0,100,0),
+(@PATH,15,2603.647,-3046.96,240.5242,0,0,0,0,100,0),
+(@PATH,16,2613.084,-3036.567,240.5217,0,0,0,0,100,0),
+(@PATH,17,2640.296,-3028.944,240.525,0,0,0,0,100,0),
+(@PATH,18,2652.006,-3024.45,240.5253,0,0,0,0,100,0),
+(@PATH,19,2664.795,-3009.59,240.5253,0,0,0,0,100,0),
+(@PATH,20,2670.619,-2990.552,240.5244,0,0,0,0,100,0),
+(@PATH,21,2679.347,-2964.029,240.5253,0,0,0,0,100,0),
+(@PATH,22,2697.98,-2955.501,240.5241,0,0,0,0,100,0),
+(@PATH,23,2719.132,-2962.616,240.5251,0,0,0,0,100,0),
+(@PATH,24,2741.907,-2976.874,240.5253,0,0,0,0,100,0),
+(@PATH,25,2760.453,-2981.653,240.5253,0,0,0,0,100,0);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127642);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127642,127642,0,0,2,0,0),
+(127642,127689,3,360,2,0,0),
+(127642,127690,3,40,2,0,0),
+(127642,127660,3,320,2,0,0),
+(127642,127661,3,260,2,0,0);
+
+-- Pathing for Death Knight Captain Entry: 16145 'TDB FORMAT'
+SET @NPC := 127645;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2584.613,`position_y`=-3100.685,`position_z`=240.5253 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, '');
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2584.613,`position_y`=-3100.685,`position_z`=240.5253 WHERE `guid` IN (127691,127692,127664,127665);
+DELETE FROM `creature_addon` WHERE `guid` IN (127691,127692,127664,127665);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(127691,@PATH,0,0,1,0, ''), (127692,@PATH,0,0,1,0, ''), (127664,@PATH,0,0,1,0, ''), (127665,@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,2584.613,-3100.685,240.5253,0,0,0,0,100,0),
+(@PATH,2,2601.56,-3083.452,240.5258,0,0,0,0,100,0),
+(@PATH,3,2629.143,-3055.421,240.5237,0,0,0,0,100,0),
+(@PATH,4,2650.178,-3034.592,240.526,0,0,0,0,100,0),
+(@PATH,5,2667.962,-3017.14,240.5253,0,0,0,0,100,0),
+(@PATH,6,2680.883,-3004.51,240.5252,0,0,0,0,100,0),
+(@PATH,7,2699.352,-2986.865,240.5253,0,0,0,0,100,0),
+(@PATH,8,2680.883,-3004.51,240.5252,0,0,0,0,100,0),
+(@PATH,9,2667.962,-3017.14,240.5253,0,0,0,0,100,0),
+(@PATH,10,2650.178,-3034.592,240.526,0,0,0,0,100,0),
+(@PATH,11,2629.143,-3055.421,240.5237,0,0,0,0,100,0),
+(@PATH,12,2601.56,-3083.452,240.5258,0,0,0,0,100,0),
+(@PATH,13,2584.613,-3100.685,240.5253,0,0,0,0,100,0),
+(@PATH,14,2570.169,-3114.794,240.5253,0,0,0,0,100,0),
+(@PATH,15,2556.747,-3128.429,240.5253,0,0,0,0,100,0),
+(@PATH,16,2570.169,-3114.794,240.5253,0,0,0,0,100,0);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127645);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127645,127645,0,0,2,0,0),
+(127645,127691,3,360,2,7,15),
+(127645,127692,3,40,2,7,15),
+(127645,127664,3,320,2,7,15),
+(127645,127665,3,260,2,7,15);
+
+-- Pathing for Death Knight Captain Entry: 16145 'TDB FORMAT'
+SET @NPC := 127649;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2871.322,`position_y`=-2985.748,`position_z`=267.593 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, '');
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2871.322,`position_y`=-2985.748,`position_z`=267.593 WHERE `guid` IN (127701,127702,127670,127671);
+DELETE FROM `creature_addon` WHERE `guid` IN (127701,127702,127670,127671);
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(127701,@PATH,0,0,1,0, ''), (127702,@PATH,0,0,1,0, ''), (127670,@PATH,0,0,1,0, ''), (127671,@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,2871.322,-2985.748,267.593,0,0,0,0,100,0),
+(@PATH,2,2852.31,-2985.821,267.593,0,0,0,0,100,0),
+(@PATH,3,2838.662,-2985.802,264.0277,0,0,0,0,100,0),
+(@PATH,4,2807.427,-2985.919,248.8516,0,0,0,0,100,0),
+(@PATH,5,2784.644,-2986.206,240.5265,0,0,0,0,100,0),
+(@PATH,6,2760.957,-2986.261,240.5249,0,0,0,0,100,0),
+(@PATH,7,2735.987,-2986.227,240.5253,0,0,0,0,100,0),
+(@PATH,8,2716.594,-2986.268,240.5253,0,0,0,0,100,0),
+(@PATH,9,2700.477,-2986.242,240.525,0,0,0,0,100,0),
+(@PATH,10,2716.594,-2986.268,240.5253,0,0,0,0,100,0),
+(@PATH,11,2735.987,-2986.227,240.5253,0,0,0,0,100,0),
+(@PATH,12,2760.708,-2986.261,240.5253,0,0,0,0,100,0),
+(@PATH,13,2784.644,-2986.206,240.5265,0,0,0,0,100,0),
+(@PATH,14,2807.427,-2985.919,248.8516,0,0,0,0,100,0),
+(@PATH,15,2838.662,-2985.802,264.0277,0,0,0,0,100,0),
+(@PATH,16,2852.31,-2985.821,267.593,0,0,0,0,100,0),
+(@PATH,17,2871.322,-2985.748,267.593,0,0,0,0,100,0),
+(@PATH,18,2893.314,-2985.45,267.593,0,0,0,0,100,0),
+(@PATH,19,2908.467,-2985.152,267.5937,0,0,0,0,100,0),
+(@PATH,20,2893.314,-2985.45,267.593,0,0,0,0,100,0);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127649);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127649,127649,0,0,2,0,0),
+(127649,127701,3,360,2,9,19),
+(127649,127702,3,40,2,9,19),
+(127649,127670,3,320,2,9,19),
+(127649,127671,3,260,2,9,19);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_08_world_2015_09_24_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_08_world_2015_09_24_01.sql
new file mode 100644
index 00000000000..9bf41b75a70
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_08_world_2015_09_24_01.sql
@@ -0,0 +1,24 @@
+--
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127640);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127640,127640,0,0,2,0,0),
+(127640,127685,3,360,2,0,0),
+(127640,127686,3,40,2,0,0),
+(127640,127656,3,320,2,0,0),
+(127640,127657,3,260,2,0,0);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127645);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127645,127645,0,0,2,0,0),
+(127645,127691,3,360,2,0,0),
+(127645,127692,3,40,2,0,0),
+(127645,127664,3,320,2,0,0),
+(127645,127665,3,260,2,0,0);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127649);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127649,127649,0,0,2,0,0),
+(127649,127701,3,360,2,0,0),
+(127649,127702,3,40,2,0,0),
+(127649,127670,3,320,2,0,0),
+(127649,127671,3,260,2,0,0);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_09_world_2015_09_24_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_09_world_2015_09_24_02.sql
new file mode 100644
index 00000000000..a02d7b25d85
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_09_world_2015_09_24_02.sql
@@ -0,0 +1,19 @@
+--
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `Entry` IN (29698, 26043);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (29698, 26043) 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
+(29698,0,0,0,4,0,100,0,0,0,0,0,11,54487,0,0,0,0,0,2,0,0,0,0,0,0,0,'Drakuru Raptor - On aggro - Cast Jump Attack'),
+(26043,0,0,0,1,0,100,0,2000,8000,8000,15000,11,46400,0,0,0,0,0,1,0,0,0,0,0,0,0,'Steam Burst - OOC - Cast Steam Weapon');
+
+UPDATE `creature_equip_template` SET `ItemID1`=21573, `ItemID2`=143 WHERE `creatureid`=27160;
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `Entry`=27375;
+
+DELETE FROM `creature_template_addon` WHERE `entry`= 27268;
+INSERT INTO `creature_template_addon` (`entry`, `mount`, `bytes1`, `bytes2`, `auras`) VALUES (27268,0,0,1,48553);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (13) AND `SourceEntry`=48551;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(13, 1, 48551, 0, 31, 3, 27375, 0, 0, '', 'Vengeful Stormhammer only on Risen Gryphon Rider Target', 0);
+
+DELETE FROM `creature_addon` WHERE `guid`= 86097;
+DELETE FROM `waypoint_data` WHERE `id`= 860970;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_10_world_2015_09_24_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_10_world_2015_09_24_03.sql
new file mode 100644
index 00000000000..ea71a59cf1e
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_10_world_2015_09_24_03.sql
@@ -0,0 +1,24 @@
+--
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127649);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127649,127649,0,0,2,0,0),
+(127649,127701,3,360,2,9,19),
+(127649,127702,3,40,2,9,19),
+(127649,127670,3,320,2,9,19),
+(127649,127671,3,260,2,9,19);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127645);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127645,127645,0,0,2,0,0),
+(127645,127691,3,360,2,7,15),
+(127645,127692,3,40,2,7,15),
+(127645,127664,3,320,2,7,15),
+(127645,127665,3,260,2,7,15);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (127640);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(127640,127640,0,0,2,0,0),
+(127640,127685,3,360,2,8,17),
+(127640,127686,3,40,2,8,17),
+(127640,127656,3,320,2,8,17),
+(127640,127657,3,260,2,8,17);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_11_world_2015_09_26_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_11_world_2015_09_26_00.sql
new file mode 100644
index 00000000000..a6fdcf8198c
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_11_world_2015_09_26_00.sql
@@ -0,0 +1,11 @@
+--
+SET @LAMENTER := 39048;
+UPDATE `creature_template` SET `AIName`='SmartAI', `InhabitType`=4 WHERE `entry`=@LAMENTER;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@LAMENTER AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@LAMENTER*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
+(@LAMENTER, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 80, @LAMENTER*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Sylvanas'' Lamenter - On Summoned - Action list'),
+(@LAMENTER*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 37090, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Sylvanas'' Lamenter - Action list - Cast Lament of the Highborne: Highborne Aura'),
+(@LAMENTER*100, 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,"Sylvanas'' Lamenter - Action list - Set run off"),
+(@LAMENTER*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 114, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Sylvanas'' Lamenter - Action list - Rise up'),
+(@LAMENTER*100, 9, 3, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 4, 15095, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Sylvanas'' Lamenter - Action list - Play Sound Lament of the Highborne');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_12_world_2015_09_26_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_12_world_2015_09_26_01.sql
new file mode 100644
index 00000000000..17fc710b804
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_12_world_2015_09_26_01.sql
@@ -0,0 +1,40 @@
+--
+UPDATE `creature_template` SET `unit_flags`=33555200 WHERE `entry`=28253;
+
+SET @ENTRY := 30736;
+UPDATE `creature_template` SET `AIName`="SmartAI", `unit_flags`=33555200, `InhabitType`=4 WHERE `entry` IN (@ENTRY);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@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,75,57806,0,0,0,0,0,1,0,0,0,0,0,0,0,"Released Soul - Just summoned - Add aura"),
+(@ENTRY,0,1,2,61,0,100,0,0,0,0,0,4,37,0,0,0,0,0,1,0,0,0,0,0,0,0,"Released Soul - Just summoned - Play sound"),
+(@ENTRY,0,2,3,61,0,100,0,0,0,0,0,59,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Released Soul - Just summoned - Set run off"),
+(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,114,40,0,0,0,0,0,1,0,0,0,0,0,0,0,"Released Soul - Just summoned - Rise up"),
+(@ENTRY,0,4,0,54,0,100,0,0,0,0,0,41,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Released Soul - Just summoned - Despawn");
+
+UPDATE `creature_template` SET `unit_flags`=33554432 WHERE `entry` IN (30850,30852,30841);
+
+UPDATE `creature_template` SET `unit_flags`=131076, `flags_extra`=66 WHERE `entry`=25534;
+
+UPDATE `creature_template` SET `unit_flags`=32768 WHERE `entry`=26271;
+UPDATE `creature` SET `unit_flags`=537166592 WHERE `guid` IN (110812, 110813, 110814, 110815, 110816, 110817);
+
+DELETE FROM `creature_addon` WHERE `guid` IN (110812, 110813, 110814, 110815, 110816, 110817);
+INSERT INTO `creature_addon` (`guid`, `bytes2`, `auras`) VALUES
+(110812, 1, "29266"),
+(110813, 1, "29266"),
+(110814, 1, "29266"),
+(110815, 1, "29266"),
+(110816, 1, "29266"),
+(110817, 1, "29266");
+
+UPDATE `creature_template` SET `unit_flags`=512 WHERE `entry`=31402;
+
+UPDATE `creature_template` SET `unit_flags`=33536 WHERE `entry`=30501;
+
+DELETE FROM `creature` WHERE `guid`=120496 AND `id`=28414;
+
+DELETE FROM `creature_template_addon` WHERE `entry` IN (28413);
+INSERT INTO `creature_template_addon` (`entry`, `bytes2`, `auras`) VALUES
+(28413, 0, "54450");
+
+UPDATE `creature_template` SET `flags_extra`=2 WHERE `entry` IN (28413);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_13_world_2015_09_26_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_13_world_2015_09_26_02.sql
new file mode 100644
index 00000000000..c5cee6530d0
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_13_world_2015_09_26_02.sql
@@ -0,0 +1,6 @@
+-- Eversong Ranger
+DELETE FROM `smart_scripts` WHERE `entryorguid`=15938 AND `source_type`=0 AND `id`<14;
+UPDATE `smart_scripts` SET `id`= `id`-12 WHERE `entryorguid`=15938 AND `source_type`=0 AND `id`>13;
+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
+(15938,0,0,0,0,0,100,0,0,0,2200,3800,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Eversong Ranger - In Combat CMC - Cast 'Shoot'"),
+(15938,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Eversong Ranger - Between 0-15% Health - Flee For Assist (No Repeat)");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_14_world_2015_09_26_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_14_world_2015_09_26_03.sql
new file mode 100644
index 00000000000..b5ee16e808a
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_14_world_2015_09_26_03.sql
@@ -0,0 +1,5 @@
+-- Iceskin Sentry
+UPDATE `creature` SET `movementtype`=0, `spawndist`=0 WHERE `id`=31012;
+UPDATE `creature_addon` SET `bytes1`=50331657 WHERE `guid`=121512;
+UPDATE `creature_template` SET `unit_flags`=2147778560 WHERE `entry`=31012;
+UPDATE `creature_addon` SET `auras`="58269" WHERE `guid` IN (121497, 121498, 121499, 121500, 121502, 121503, 121504, 121505, 121506, 121507, 121508, 121509, 121510, 121511, 121512);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_15_world_2015_09_29_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_15_world_2015_09_29_00.sql
new file mode 100644
index 00000000000..9acc58d0e26
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_15_world_2015_09_29_00.sql
@@ -0,0 +1,6 @@
+--
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=27075;
+DELETE FROM `smart_scripts` WHERE `entryorguid`IN (27627) 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
+(27075,0,0,1,8,0,100,0,47935,0,0,0,33,27075,0,0,0,0,0,7,0,0,0,0,0,0,0,"Dun Argol Power Core - On Spellhit - Credit Kill"),
+(27075,0,1,0,61,0,100,0,0,0,0,0,51,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dun Argol Power Core - On Spellhit - Kill Self");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_16_world_2015_09_29_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_16_world_2015_09_29_01.sql
new file mode 100644
index 00000000000..d3dd352b5ca
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_16_world_2015_09_29_01.sql
@@ -0,0 +1,36 @@
+--
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=5 AND `SourceEntry`=27626;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(22, 5, 27626, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'execute sai only if the player is the summoner');
+
+UPDATE `creature_template` SET `npcflag`=16777216 WHERE `entry`=27626;
+UPDATE `npc_spellclick_spells` SET `cast_flags`=1 WHERE `npc_entry`=27626 AND `spell_id`=49138;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=27626 AND `source_type`=0 AND `id`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=27627 AND `source_type`=0 AND `id`=0;
+UPDATE `smart_scripts` SET `event_phase_mask`=0 WHERE `entryorguid`=27626 AND `source_type`=0 AND `id`=4;
+UPDATE `vehicle_template_accessory` SET `minion`=1, `summontype`=5, `summontimer`=0 WHERE `entry`=27626;
+
+UPDATE `smart_scripts` SET `event_param1`=11000, `event_param2`=11000, `action_param1`=61647 WHERE `entryorguid`=2693500 AND `source_type`=9 AND `id`=3;
+UPDATE `smart_scripts` SET `event_param1`=3000, `event_param2`=3000, `action_type`=51, `comment`="Anatoly - On Script - Kill self" WHERE `entryorguid`=2697100 AND `source_type`=9 AND `id`=10;
+UPDATE `smart_scripts` SET `id`=11 WHERE `entryorguid`=2697100 AND `source_type`=9 AND `id`=10 AND `action_type`=51;
+UPDATE `smart_scripts` SET `id`=10 WHERE `entryorguid`=2697100 AND `source_type`=9 AND `id`=9 AND `action_type`=69;
+UPDATE `smart_scripts` SET `id`=9 WHERE `entryorguid`=2697100 AND `source_type`=9 AND `id`=8 AND `action_type`=45;
+UPDATE `smart_scripts` SET `id`=8 WHERE `entryorguid`=2697100 AND `source_type`=9 AND `id`=7 and `action_type`=1;
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`IN (2697100) AND `source_type`=9 AND `id`= 7;
+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
+(2697100,9,7,0,0,0,100,0,0,0,0,0,51,0,0,0,0,0,0,19,27632,20,0,0,0,0,0,"Anatoly - On Script - Kill Tatjana");
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`IN (27626) AND `source_type`=0 AND `id`> 7;
+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
+(27626,0,8,9,61,0,100,0,0,0,0,0,11,49162,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tatjana's Horse - On Waypoint 19 Reached - Summon Tatjana"),
+(27626,0,9,10,61,0,100,0,0,0,0,0,41,0,0,0,0,0,0,19,27627,20,0,0,0,0,0,"Tatjana's Horse - On Waypoint 19 Reached - Despawn"),
+(27626,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,"Tatjana's Horse - On Waypoint 19 Reached - Despawn");
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`IN (27627) AND `source_type`=0 AND `id`= 6;
+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
+(27627,0,6,0,8,0,100,0,49134,0,0,0,20,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tatjana - On Spellhit 'Tranquilizer Dart' - Stop Attack");
+
+DELETE FROM `creature_template_addon` WHERE `entry`=27632;
+INSERT INTO `creature_template_addon` (`entry`,`bytes1`,`bytes2`,`auras`) VALUES
+(27632,0,0,"49135");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_17_world_2015_09_29_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_17_world_2015_09_29_02.sql
new file mode 100644
index 00000000000..de63019221f
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_17_world_2015_09_29_02.sql
@@ -0,0 +1,15 @@
+--
+UPDATE `creature_template` SET `flags_extra`=2 WHERE `entry`=29639;
+UPDATE `creature` SET `MovementType`=0, `spawndist`=0 WHERE `guid`=105166;
+UPDATE `creature_addon` SET `auras`=29266 WHERE `guid`=105166;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=29500;
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (29558, 32520);
+UPDATE `creature` SET `MovementType`=0, `spawndist`=0 WHERE `guid`=105243;
+UPDATE `creature_addon` SET `auras`=29266 WHERE `guid`=105243;
+
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `Entry` IN (29351, 29358);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (29351, 29358) 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
+(29351,0,0,0,0,0,100,0,2000,5000,7000,9000,11,38621,0,0,0,0,0,2,0,0,0,0,0,0,0,'Niffelem Frost Giant - IC - Cast Debilitating Strike'),
+(29358,0,0,0,0,0,100,0,2000,5000,7000,9000,11,61572,0,0,0,0,0,2,0,0,0,0,0,0,0,'Frostworg - IC - Cast Frostbite'),
+(29358,0,1,0,0,0,100,0,2000,6000,6000,9000,11,50075,0,0,0,0,0,2,0,0,0,0,0,0,0,'Frostworg - IC - Cast Maim Flesh');
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_18_world_2015_09_29_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_18_world_2015_09_29_03.sql
new file mode 100644
index 00000000000..74390f75e6d
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_18_world_2015_09_29_03.sql
@@ -0,0 +1,18 @@
+--
+
+DELETE FROM `creature` WHERE `id`=29558;
+UPDATE `creature_template` SET `npcflag`=16777216 WHERE `entry` IN (29351, 29358);
+
+DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN (29358, 29351);
+INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES
+(29358,46598,0,0),
+(29351,46598,0,0);
+
+DELETE FROM `vehicle_template_accessory` WHERE `entry` IN (29358, 29351);
+INSERT INTO `vehicle_template_accessory` (`entry`,`accessory_entry`,`seat_id`,`minion`,`description`,`summontype`) VALUES
+(29351,29558,0,1, 'Niffelem Frost Giant', 8),
+(29351,29558,1,1, 'Niffelem Frost Giant', 8),
+(29351,29558,2,1, 'Niffelem Frost Giant', 8),
+(29351,29558,3,1, 'Niffelem Frost Giant', 8),
+(29358,29558,0,1, 'Frostworg', 8),
+(29358,29558,1,1, 'Frostworg', 8);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_19_world_2015_09_30_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_19_world_2015_09_30_00.sql
new file mode 100644
index 00000000000..fd441ec05f5
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_19_world_2015_09_30_00.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `waypoint_data` SET `position_z` = 45.5099 WHERE `id` = 845820 AND `point` = 5;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_20_world_2015_10_01_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_20_world_2015_10_01_00.sql
new file mode 100644
index 00000000000..8e6ca285c97
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_20_world_2015_10_01_00.sql
@@ -0,0 +1,112 @@
+-- Pathing for Azuremyst Peacekeeper Entry: 18038 'TDB FORMAT'
+SET @NPC := 63772;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4171.392,`position_y`=-12464.35,`position_z`=44.40071 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,4097,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,-4171.392,-12464.35,44.40071,0,0,0,0,100,0),
+(@PATH,2,-4172.635,-12441.57,43.73568,0,0,0,0,100,0),
+(@PATH,3,-4183.271,-12464.69,44.86507,0,0,0,0,100,0),
+(@PATH,4,-4191.694,-12478.19,45.88747,0,0,0,0,100,0),
+(@PATH,5,-4208.529,-12485.6,44.76502,0,0,0,0,100,0),
+(@PATH,6,-4206.412,-12507.59,45.07471,0,0,0,0,100,0),
+(@PATH,7,-4195.887,-12522.06,45.18763,0,0,0,0,100,0),
+(@PATH,8,-4175.124,-12527.87,44.7594,0,0,0,0,100,0),
+(@PATH,9,-4159.117,-12516.98,44.69878,0,0,0,0,100,0),
+(@PATH,10,-4153.929,-12500.22,44.07134,0,0,0,0,100,0),
+(@PATH,11,-4155.868,-12489.98,44.48027,0,0,0,0,100,0);
+
+-- Pathing for Azuremyst Peacekeeper Entry: 18038 'TDB FORMAT'
+SET @NPC := 63774;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4200.606,`position_y`=-12494.63,`position_z`=44.62513 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,4097,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,-4200.606,-12494.63,44.62513,0,0,0,0,100,0),
+(@PATH,2,-4177.409,-12486.11,44.26247,0,0,0,0,100,0),
+(@PATH,3,-4164.705,-12500.84,44.40313,0,0,0,0,100,0),
+(@PATH,4,-4134.247,-12503.81,43.62505,0,0,0,0,100,0),
+(@PATH,5,-4100.406,-12490.22,40.99446,0,0,0,0,100,0),
+(@PATH,6,-4067.271,-12473.87,35.7093,0,0,0,0,100,0),
+(@PATH,7,-4034.042,-12460.46,31.01041,0,0,0,0,100,0),
+(@PATH,8,-4000.527,-12450.34,25.04846,0,0,0,0,100,0),
+(@PATH,9,-3967.376,-12442.74,18.43705,0,0,0,0,100,0),
+(@PATH,10,-3951.83,-12430.16,14.62435,0,0,0,0,100,0),
+(@PATH,11,-3923.009,-12427.82,9.259804,0,0,0,0,100,0),
+(@PATH,12,-3890.977,-12420.35,3.110225,0,0,0,0,100,0),
+(@PATH,13,-3845.61,-12400.15,-0.5076148,0,0,0,0,100,0),
+(@PATH,14,-3799.788,-12396.9,-1.57003,0,0,0,0,100,0),
+(@PATH,15,-3767.789,-12389.86,-1.612022,0,0,0,0,100,0),
+(@PATH,16,-3733.884,-12386.01,-2.563792,0,0,0,0,100,0),
+(@PATH,17,-3699.675,-12379.4,-3.253355,0,0,0,0,100,0),
+(@PATH,18,-3676.898,-12366.13,-3.005086,0,0,0,0,100,0),
+(@PATH,19,-3634.198,-12353.74,-1.517532,0,0,0,0,100,0),
+(@PATH,20,-3600.196,-12362.62,0.9561348,0,0,0,0,100,0),
+(@PATH,21,-3566.171,-12360.33,3.723941,0,0,0,0,100,0),
+(@PATH,22,-3533.756,-12360.66,6.88605,0,0,0,0,100,0),
+(@PATH,23,-3500.217,-12359.56,9.171444,0,0,0,0,100,0),
+(@PATH,24,-3533.756,-12360.66,6.88605,0,0,0,0,100,0),
+(@PATH,25,-3566.171,-12360.33,3.723941,0,0,0,0,100,0),
+(@PATH,26,-3600.196,-12362.62,0.9561348,0,0,0,0,100,0),
+(@PATH,27,-3634.033,-12353.8,-1.465286,0,0,0,0,100,0),
+(@PATH,28,-3676.898,-12366.13,-3.005086,0,0,0,0,100,0),
+(@PATH,29,-3699.675,-12379.4,-3.253355,0,0,0,0,100,0),
+(@PATH,30,-3733.884,-12386.01,-2.563792,0,0,0,0,100,0),
+(@PATH,31,-3767.789,-12389.86,-1.612022,0,0,0,0,100,0),
+(@PATH,32,-3799.788,-12396.9,-1.57003,0,0,0,0,100,0),
+(@PATH,33,-3845.61,-12400.15,-0.5076148,0,0,0,0,100,0),
+(@PATH,34,-3890.977,-12420.35,3.110225,0,0,0,0,100,0),
+(@PATH,35,-3923.009,-12427.82,9.259804,0,0,0,0,100,0),
+(@PATH,36,-3951.679,-12430.06,14.65267,0,0,0,0,100,0),
+(@PATH,37,-3967.376,-12442.74,18.43705,0,0,0,0,100,0),
+(@PATH,38,-4000.527,-12450.34,25.04846,0,0,0,0,100,0),
+(@PATH,39,-4034.023,-12460.46,30.9877,0,0,0,0,100,0),
+(@PATH,40,-4067.271,-12473.87,35.7093,0,0,0,0,100,0),
+(@PATH,41,-4100.406,-12490.22,40.99446,0,0,0,0,100,0),
+(@PATH,42,-4134.247,-12503.81,43.62505,0,0,0,0,100,0),
+(@PATH,43,-4164.705,-12500.84,44.40313,0,0,0,0,100,0),
+(@PATH,44,-4177.409,-12486.11,44.26247,0,0,0,0,100,0);
+
+-- Pathing for Azuremyst Peacekeeper Entry: 18038 'TDB FORMAT'
+SET @NPC := 63773;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4134.126,`position_y`=-12506.01,`position_z`=43.88897 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,4097,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,-4134.126,-12506.01,43.88897,0,0,0,0,100,0),
+(@PATH,2,-4167.211,-12511.93,44.3844,0,0,0,0,100,0),
+(@PATH,3,-4197.208,-12508.09,44.48694,0,0,0,0,100,0),
+(@PATH,4,-4233.25,-12487.22,41.86756,0,0,0,0,100,0),
+(@PATH,5,-4267.729,-12476.33,29.47266,0,0,0,0,100,0),
+(@PATH,6,-4289.251,-12471.83,24.20484,0,0,0,0,100,0),
+(@PATH,7,-4319.148,-12478.5,18.93451,0,0,0,0,100,0),
+(@PATH,8,-4333.606,-12469.67,15.57558,0,0,0,0,100,0),
+(@PATH,9,-4364.828,-12471.54,10.27822,0,0,0,0,100,0),
+(@PATH,10,-4399.945,-12455.7,5.627916,0,0,0,0,100,0),
+(@PATH,11,-4432.767,-12443.6,2.278673,0,0,0,0,100,0),
+(@PATH,12,-4467.428,-12430.61,2.763325,0,0,0,0,100,0),
+(@PATH,13,-4499.994,-12415.54,4.523335,0,0,0,0,100,0),
+(@PATH,14,-4533.506,-12416.08,7.310507,0,0,0,0,100,0),
+(@PATH,15,-4566.756,-12417.92,9.204178,0,0,0,0,100,0),
+(@PATH,16,-4533.506,-12416.08,7.310507,0,0,0,0,100,0),
+(@PATH,17,-4499.994,-12415.54,4.523335,0,0,0,0,100,0),
+(@PATH,18,-4467.428,-12430.61,2.763325,0,0,0,0,100,0),
+(@PATH,19,-4432.767,-12443.6,2.278673,0,0,0,0,100,0),
+(@PATH,20,-4399.945,-12455.7,5.627916,0,0,0,0,100,0),
+(@PATH,21,-4364.828,-12471.54,10.27822,0,0,0,0,100,0),
+(@PATH,22,-4333.889,-12469.66,15.56435,0,0,0,0,100,0),
+(@PATH,23,-4319.148,-12478.5,18.93451,0,0,0,0,100,0),
+(@PATH,24,-4289.251,-12471.83,24.20484,0,0,0,0,100,0),
+(@PATH,25,-4267.729,-12476.33,29.47266,0,0,0,0,100,0),
+(@PATH,26,-4233.25,-12487.22,41.86756,0,0,0,0,100,0),
+(@PATH,27,-4197.208,-12508.09,44.48694,0,0,0,0,100,0),
+(@PATH,28,-4167.211,-12511.93,44.3844,0,0,0,0,100,0);
+
+DELETE FROM `creature` WHERE `guid`=63770;
+DELETE FROM `creature_addon` WHERE `guid`=63770;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_21_world_2015_10_01_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_21_world_2015_10_01_01.sql
new file mode 100644
index 00000000000..bb32607b23d
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_21_world_2015_10_01_01.sql
@@ -0,0 +1,247 @@
+--
+SET @ENTRY := 34102;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (@ENTRY, 33462, 33480, 33459, 33467, 33477, 33465);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY, 33462, 33480, 33459, 33467, 33477, 33465) AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY*100, @ENTRY*100+1, @ENTRY*100+2, @ENTRY*100+3, @ENTRY*100+4, @ENTRY*100+5, @ENTRY*100+6, 33462*100, 33480*100, 33459*100, 33467*100, 33477*100, 33465*100, 33462*100+1, 33480*100+1, 33459*100+1, 33467*100+1, 33477*100+1, 33465*100+1) 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,0,0,0,1,0,100,0,600000,600000,1200000,1200000,53,0,@ENTRY*10,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - OOC - Action List"),
+(@ENTRY,0,1,0,40,0,100,0,1,@ENTRY*10,0,0,80,@ENTRY*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - On waypoint reached - Action List"),
+(@ENTRY*100,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,8494.070313, 1102.23584, 554.327515, 3.772250,"Argent Confessor Paletress - Action List - Set orientation"),
+(@ENTRY*100,9,1,0,0,0,100,0,2000,2000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,2,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,3,0,0,0,100,0,7000,7000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,4,0,0,0,100,0,5000,5000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,5,0,0,0,100,0,7000,7000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,6,0,0,0,100,0,5000,5000,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,7,0,0,0,100,0,5000,5000,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,8,0,0,0,100,0,7000,7000,0,0,1,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,9,0,0,0,100,0,7000,7000,0,0,1,8,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,10,0,0,0,100,0,7000,7000,0,0,1,9,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,11,0,0,0,100,0,5000,5000,0,0,1,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,12,0,0,0,100,0,5000,5000,0,0,1,11,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,13,0,0,0,100,0,5000,5000,0,0,1,12,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,14,0,0,0,100,0,7000,7000,0,0,1,13,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,15,0,0,0,100,0,5000,5000,0,0,1,14,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,16,0,0,0,100,0,5000,5000,0,0,1,15,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,17,0,0,0,100,0,6000,6000,0,0,1,16,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,18,0,0,0,100,0,6000,6000,0,0,1,17,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,19,0,0,0,100,0,7000,7000,0,0,1,18,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Talk"),
+(@ENTRY*100,9,20,0,0,0,100,0,7000,7000,0,0,53,0,@ENTRY*10+1,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Action List - Start wp"),
+(@ENTRY,0,2,0,40,0,100,0,2,@ENTRY*10+1,0,0,87,@ENTRY*100+1,@ENTRY*100+2,@ENTRY*100+3,@ENTRY*100+4,@ENTRY*100+5,@ENTRY*100+5,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - On data set - Random Action List"),
+(@ENTRY*100+1,9,0,0,0,0,100,0,0,0,0,0,54,18000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY*100+1,9,1,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,19,33462,50,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY*100+2,9,0,0,0,0,100,0,0,0,0,0,54,18000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY*100+2,9,1,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,19,33480,50,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY*100+3,9,0,0,0,0,100,0,0,0,0,0,54,18000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY*100+3,9,1,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,19,33459,50,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY*100+4,9,0,0,0,0,100,0,0,0,0,0,54,18000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY*100+4,9,1,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,19,33467,50,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY*100+5,9,0,0,0,0,100,0,0,0,0,0,54,18000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY*100+5,9,1,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,19,33477,50,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY*100+6,9,0,0,0,0,100,0,0,0,0,0,54,18000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY*100+6,9,1,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,19,33465,50,0,0,0,0,0,"Argent Confessor Paletress - Random Action List - Set Data"),
+(@ENTRY,0,3,0,38,0,100,0,1,1,0,0,69,0,0,0,0,0,0,8,0,0,0,8490.290039, 1111.510010, 554.333984, 4.642580,"Argent Confessor Paletress - On data set - move to pos"),
+(@ENTRY,0,4,0,38,0,100,0,1,2,0,0,5,23,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - On data set - play emote"),
+(@ENTRY,0,5,0,38,0,100,0,1,3,0,0,5,17,0,0,0,0,0,1,0,0,0,0,0,0,0,"Argent Confessor Paletress - On data set - play emote"),
+(33462,0,0,0,38,0,100,0,1,1,0,0,80,33462*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnomeregan Champion - On data set - Action List"),
+(33462*100,9,0,0,0,0,100,0,0,0,0,0,91,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnomeregan Champion - Action List - Set up"),
+(33462*100,9,1,0,0,0,100,0,0,0,0,0,53,0,33462*10,0,0,0,0,1,0,0,0,0,0,0,0,"Gnomeregan Champion - Action List - Start waypoint"),
+(33480,0,0,0,38,0,100,0,1,1,0,0,80,33480*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ironforge Champion - On data set - Action List"),
+(33480*100,9,0,0,0,0,100,0,0,0,0,0,91,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ironforge Champion - Action List - Set up"),
+(33480*100,9,1,0,0,0,100,0,0,0,0,0,53,0,33480*10,0,0,0,0,1,0,0,0,0,0,0,0,"Ironforge Champion - Action List - Start waypoint"),
+(33459,0,0,0,38,0,100,0,1,1,0,0,80,33459*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Champion - On data set - Action List"),
+(33459*100,9,0,0,0,0,100,0,0,0,0,0,91,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Champion - Action List - Set up"),
+(33459*100,9,1,0,0,0,100,0,0,0,0,0,53,0,33459*10,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Champion - Action List - Start waypoint"),
+(33467,0,0,0,38,0,100,0,1,1,0,0,80,33467*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Silvermoon Champion - On data set - Action List"),
+(33467*100,9,0,0,0,0,100,0,0,0,0,0,91,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Silvermoon Champion - Action List - Set up"),
+(33467*100,9,1,0,0,0,100,0,0,0,0,0,53,0,33467*10,0,0,0,0,1,0,0,0,0,0,0,0,"Silvermoon Champion - Action List - Start waypoint"),
+(33477,0,0,0,38,0,100,0,1,1,0,0,80,33477*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind Champion - On data set - Action List"),
+(33477*100,9,0,0,0,0,100,0,0,0,0,0,91,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind Champion - Action List - Set up"),
+(33477*100,9,1,0,0,0,100,0,0,0,0,0,53,0,33477*10,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind Champion - Action List - Start waypoint"),
+(33465,0,0,0,38,0,100,0,1,1,0,0,80,33465*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Undercity Champion - On data set - Action List"),
+(33465*100,9,0,0,0,0,100,0,0,0,0,0,91,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Undercity Champion - Action List - Set up"),
+(33465*100,9,1,0,0,0,100,0,0,0,0,0,53,0,33465*10,0,0,0,0,1,0,0,0,0,0,0,0,"Undercity Champion - Action List - Start waypoint"),
+(33462,0,1,0,40,0,100,0,5,33462*10,0,0,80,33462*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnomeregan Champion - On waypoint reached - Action List"),
+(33462*100+1,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,8485.782227, 1114.010864, 554.297485, 5.774796,"Gnomeregan Champion - Action List - Set orientation"),
+(33462*100+1,9,1,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnomeregan Champion - Action List - Talk"),
+(33462*100+1,9,2,0,0,0,100,0,6000,6000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnomeregan Champion - Action List - Talk"),
+(33462*100+1,9,3,0,0,0,100,0,6000,6000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnomeregan Champion - Action List - Talk"),
+(33462*100+1,9,4,0,0,0,100,0,10000,10000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnomeregan Champion - Action List - Talk"),
+(33462*100+1,9,5,0,0,0,100,0,6000,6000,0,0,1,19,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Gnomeregan Champion - Action List - Talk"),
+(33462*100+1,9,6,0,0,0,100,0,6000,6000,0,0,1,20,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Gnomeregan Champion - Action List - Talk"),
+(33462*100+1,9,7,0,0,0,100,0,6000,6000,0,0,45,1,1,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Gnomeregan Champion - Action List - Set Data"),
+(33462*100+1,9,8,0,0,0,100,0,0,0,0,0,53,0,33462*10+1,0,0,0,0,1,0,0,0,0,0,0,0,"Gnomeregan Champion - Action List - Start waypoint"),
+(33462,0,2,0,40,0,100,0,5,33462*10+1,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnomeregan Champion - On waypoint reached - Despawn"),
+(33480,0,1,0,40,0,100,0,5,33480*10,0,0,80,33480*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ironforge Champion - On waypoint reached - Action List"),
+(33480*100+1,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,8485.782227, 1114.010864, 554.297485, 5.774796,"Ironforge Champion - Action List - Set orientation"),
+(33480*100+1,9,1,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ironforge Champion - Action List - Talk"),
+(33480*100+1,9,2,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ironforge Champion - Action List - Talk"),
+(33480*100+1,9,3,0,0,0,100,0,5000,5000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ironforge Champion - Action List - Talk"),
+(33480*100+1,9,4,0,0,0,100,0,5000,5000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ironforge Champion - Action List - Talk"),
+(33480*100+1,9,5,0,0,0,100,0,5000,5000,0,0,1,21,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Ironforge Champion - Action List - Talk"),
+(33480*100+1,9,6,0,0,0,100,0,5000,5000,0,0,45,1,1,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Ironforge Champion - Action List - Set Data"),
+(33480*100+1,9,7,0,0,0,100,0,0,0,0,0,53,0,33480*10+1,0,0,0,0,1,0,0,0,0,0,0,0,"Ironforge Champion - Action List - Start waypoint"),
+(33480,0,2,0,40,0,100,0,5,33480*10+1,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ironforge Champion - On waypoint reached - Despawn"),
+(33459,0,1,0,40,0,100,0,3,33459*10,0,0,80,33459*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Champion - On waypoint reached - Action List"),
+(33459*100+1,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,8485.782227, 1114.010864, 554.297485, 5.774796,"Orgrimmar Champion - Action List - Set orientation"),
+(33459*100+1,9,1,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Champion - Action List - Talk"),
+(33459*100+1,9,2,0,0,0,100,0,6000,6000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Champion - Action List - Talk"),
+(33459*100+1,9,3,0,0,0,100,0,6000,6000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Champion - Action List - Talk"),
+(33459*100+1,9,4,0,0,0,100,0,6000,6000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Champion - Action List - Talk"),
+(33459*100+1,9,5,0,0,0,100,0,6000,6000,0,0,1,22,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Orgrimmar Champion - Action List - Talk"),
+(33459*100+1,9,6,0,0,0,100,0,6000,6000,0,0,1,23,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Orgrimmar Champion - Action List - Talk"),
+(33459*100+1,9,7,0,0,0,100,0,4000,4000,0,0,45,1,2,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Orgrimmar Champion - Action List - Set Data"),
+(33459*100+1,9,8,0,0,0,100,0,1000,1000,0,0,5,11,0,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Champion - Action List - Emote"),
+(33459*100+1,9,9,0,0,0,100,0,2000,2000,0,0,1,24,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Orgrimmar Champion - Action List - Talk"),
+(33459*100+1,9,10,0,0,0,100,0,6000,6000,0,0,45,1,1,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Orgrimmar Champion - Action List - Set Data"),
+(33459*100+1,9,11,0,0,0,100,0,0,0,0,0,53,0,33459*10+1,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Champion - Action List - Start waypoint"),
+(33459,0,2,0,40,0,100,0,3,33459*10+1,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Champion - On waypoint reached - Despawn"),
+(33467,0,1,0,40,0,100,0,4,33467*10,0,0,80,33467*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Silvermoon Champion - On waypoint reached - Action List"),
+(33467*100+1,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,8485.782227, 1114.010864, 554.297485, 5.774796,"Silvermoon Champion - Action List - Set orientation"),
+(33467*100+1,9,1,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Silvermoon Champion - Action List - Talk"),
+(33467*100+1,9,2,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Silvermoon Champion - Action List - Talk"),
+(33467*100+1,9,3,0,0,0,100,0,5000,5000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Silvermoon Champion - Action List - Talk"),
+(33467*100+1,9,4,0,0,0,100,0,5000,5000,0,0,1,25,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Silvermoon Champion - Action List - Talk"),
+(33467*100+1,9,5,0,0,0,100,0,8000,8000,0,0,1,26,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Silvermoon Champion - Action List - Talk"),
+(33467*100+1,9,6,0,0,0,100,0,2000,2000,0,0,45,1,3,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Silvermoon Champion - Action List - Set Data"),
+(33467*100+1,9,7,0,0,0,100,0,3000,3000,0,0,5,17,0,0,0,0,0,1,0,0,0,0,0,0,0,"Silvermoon Champion - Action List - Emote"),
+(33467*100+1,9,8,0,0,0,100,0,5000,5000,0,0,45,1,1,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Silvermoon Champion - Action List - Set Data"),
+(33467*100+1,9,9,0,0,0,100,0,0,0,0,0,53,0,33467*10+1,0,0,0,0,1,0,0,0,0,0,0,0,"Silvermoon Champion - Action List - Start waypoint"),
+(33467,0,2,0,40,0,100,0,4,33467*10+1,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Silvermoon Champion - On waypoint reached - Despawn"),
+(33477,0,1,0,40,0,100,0,6,33477*10,0,0,80,33477*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind Champion - On waypoint reached - Action List"),
+(33477*100+1,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,8485.782227, 1114.010864, 554.297485, 5.774796,"Stormwind Champion - Action List - Set orientation"),
+(33477*100+1,9,1,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind Champion - Action List - Talk"),
+(33477*100+1,9,2,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind Champion - Action List - Talk"),
+(33477*100+1,9,3,0,0,0,100,0,5000,5000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind Champion - Action List - Talk"),
+(33477*100+1,9,4,0,0,0,100,0,5000,5000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind Champion - Action List - Talk"),
+(33477*100+1,9,5,0,0,0,100,0,5000,5000,0,0,1,27,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Stormwind Champion - Action List - Talk"),
+(33477*100+1,9,6,0,0,0,100,0,7000,7000,0,0,1,28,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Stormwind Champion - Action List - Talk"),
+(33477*100+1,9,7,0,0,0,100,0,8000,8000,0,0,1,29,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Stormwind Champion - Action List - Talk"),
+(33477*100+1,9,8,0,0,0,100,0,7000,7000,0,0,1,30,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Stormwind Champion - Action List - Talk"),
+(33477*100+1,9,9,0,0,0,100,0,5000,5000,0,0,45,1,1,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Stormwind Champion - Action List - Set Data"),
+(33477*100+1,9,10,0,0,0,100,0,0,0,0,0,53,0,33477*10+1,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind Champion - Action List - Start waypoint"),
+(33477,0,2,0,40,0,100,0,6,33477*10+1,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind Champion - On waypoint reached - Despawn"),
+(33465,0,1,0,40,0,100,0,3,33465*10,0,0,80,33465*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Undercity Champion - On waypoint reached - Action List"),
+(33465*100+1,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,8485.782227, 1114.010864, 554.297485, 5.774796,"Undercity Champion - Action List - Set orientation"),
+(33465*100+1,9,1,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Undercity Champion - Action List - Talk"),
+(33465*100+1,9,2,0,0,0,100,0,5000,5000,0,0,1,31,0,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Undercity Champion - Action List - Talk"),
+(33465*100+1,9,3,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Undercity Champion - Action List - Talk"),
+(33465*100+1,9,4,0,0,0,100,0,1000,1000,0,0,5,11,0,0,0,0,0,1,0,0,0,0,0,0,0,"Undercity Champion - Action List - Emote"),
+(33465*100+1,9,5,0,0,0,100,0,2000,2000,0,0,45,1,1,0,0,0,0,19,@ENTRY,15,0,0,0,0,0,"Undercity Champion - Action List - Set Data"),
+(33465*100+1,9,6,0,0,0,100,0,3000,3000,0,0,5,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Undercity Champion - Action List - Emote"),
+(33465*100+1,9,7,0,0,0,100,0,3000,3000,0,0,53,0,33465*10+1,0,0,0,0,1,0,0,0,0,0,0,0,"Undercity Champion - Action List - Start waypoint"),
+(33465,0,2,0,40,0,100,0,3,33465*10+1,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Undercity Champion - On waypoint reached - Despawn");
+
+DELETE FROM `waypoints` WHERE `entry`IN (@ENTRY*10, @ENTRY*10+1, 33462*10, 33462*10+1, 33480*10, 33480*10+1, 33459*10, 33459*10+1, 33467*10, 33467*10+1, 33477*10, 33477*10+1, 33465*10, 33465*10+1);
+INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
+(@ENTRY*10+1,1,8490.655273, 1111.821045, 554.363525,'Argent Confessor Paletress'),
+(@ENTRY*10+1,2,8488.863281, 1112.676514, 554.298096,'Argent Confessor Paletress'),
+(@ENTRY*10,1,8494.070313, 1102.23584, 554.327515,'Argent Confessor Paletress'),
+(33462*10,1,8491.833008, 1100.861572, 554.361450,'Champion'),
+(33462*10,2,8491.234375, 1102.656860, 554.360840,'Champion'),
+(33462*10,3,8487.101563, 1107.712036, 554.363220,'Champion'),
+(33462*10,4,8482.299805, 1113.207886, 554.349243,'Champion'),
+(33462*10,5,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33462*10+1,1,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33462*10+1,2,8482.299805, 1113.207886, 554.349243,'Champion'),
+(33462*10+1,3,8487.101563, 1107.712036, 554.363220,'Champion'),
+(33462*10+1,4,8491.234375, 1102.656860, 554.360840,'Champion'),
+(33462*10+1,5,8491.833008, 1100.861572, 554.361450,'Champion'),
+(33480*10,1,8494.106445, 1097.863037, 554.344543,'Champion'),
+(33480*10,2,8491.234375, 1102.656860, 554.360840,'Champion'),
+(33480*10,3,8487.101563, 1107.712036, 554.363220,'Champion'),
+(33480*10,4,8482.942383, 1113.390015, 554.340759,'Champion'),
+(33480*10,5,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33480*10+1,1,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33480*10+1,2,8482.942383, 1113.390015, 554.340759,'Champion'),
+(33480*10+1,3,8487.101563, 1107.712036, 554.363220,'Champion'),
+(33480*10+1,4,8491.234375, 1102.656860, 554.360840,'Champion'),
+(33480*10+1,5,8494.106445, 1097.863037, 554.344543,'Champion'),
+(33459*10,1,8486.814453, 1107.731689, 554.365784,'Champion'),
+(33459*10,2,8482.299805, 1113.207886, 554.349243,'Champion'),
+(33459*10,3,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33459*10+1,1,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33459*10+1,2,8482.299805, 1113.207886, 554.349243,'Champion'),
+(33459*10+1,3,8486.814453, 1107.731689, 554.365784,'Champion'),
+(33467*10,1,8483.411133, 1105.254639, 554.445313,'Champion'),
+(33467*10,2,8486.906250, 1107.583130, 554.366699,'Champion'),
+(33467*10,3,8482.692383, 1113.328857, 554.342896,'Champion'),
+(33467*10,4,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33467*10+1,1,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33467*10+1,2,8482.692383, 1113.328857, 554.342896,'Champion'),
+(33467*10+1,3,8486.906250, 1107.583130, 554.366699,'Champion'),
+(33467*10+1,4,8483.411133, 1105.254639, 554.445313,'Champion'),
+(33477*10,1,8492.628906, 1091.799683, 554.420837,'Champion'),
+(33477*10,2,8496.347656, 1094.432129, 554.335510,'Champion'),
+(33477*10,3,8492.845703, 1099.233643, 554.353027,'Champion'),
+(33477*10,4,8488.207031, 1106.236206, 554.367737,'Champion'),
+(33477*10,5,8483.253906, 1113.153198, 554.338135,'Champion'),
+(33477*10,6,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33477*10+1,1,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33477*10+1,2,8483.253906, 1113.153198, 554.338135,'Champion'),
+(33477*10+1,3,8488.207031, 1106.236206, 554.367737,'Champion'),
+(33477*10+1,4,8492.845703, 1099.233643, 554.353027,'Champion'),
+(33477*10+1,5,8496.347656, 1094.432129, 554.335510,'Champion'),
+(33477*10+1,6,8492.628906, 1091.799683, 554.420837,'Champion'),
+(33465*10,1,8477.542969, 1110.444702, 554.429932,'Champion'),
+(33465*10,2,8482.299805, 1113.207886, 554.349243,'Champion'),
+(33465*10,3,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33465*10+1,1,8485.782227, 1114.010864, 554.297485,'Champion'),
+(33465*10+1,2,8482.299805, 1113.207886, 554.349243,'Champion'),
+(33465*10+1,3,8477.542969, 1110.444702, 554.429932,'Champion');
+
+DELETE FROM `creature_text` WHERE `entry` IN (@ENTRY, 33462, 33480, 33459, 33467, 33477, 33465);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@ENTRY,0,0,'Thank you all for attending this sermon. It''s wonderful to see so many familiar faces!',12,0,100,0,0,0, 'Argent Confessor Paletress',34192),
+(@ENTRY,1,0,'Today I would like to touch on the three virtues of the Light.',12,0,100,0,0,0, 'Argent Confessor Paletress',34193),
+(@ENTRY,2,0,'These are dark and difficult times for us all. The armies of the Scourge amass to the south. Companions fall on the battlefield and rise to serve our enemy moments later.',12,0,100,0,0,0, 'Argent Confessor Paletress',34194),
+(@ENTRY,3,0,'Many of you have experienced a betrayal of trust.',12,0,100,0,0,0, 'Argent Confessor Paletress',34196),
+(@ENTRY,4,0,'Yet you persevere, as we all must. In these times, no one is a stranger to the virtue of tenacity. In the face of despair and hatred, we continue to stand true to our beliefs and fight on.',12,0,100,0,0,0, 'Argent Confessor Paletress',34197),
+(@ENTRY,5,0,'There can be no doubt as to your tenacity... but there are other virtues to consider.',12,0,100,0,0,0, 'Argent Confessor Paletress',34199),
+(@ENTRY,6,0,'Respect is the first virtue taught to those joining the path of the Light.',12,0,100,0,0,0, 'Argent Confessor Paletress',34200),
+(@ENTRY,7,0,'Look across the aisle to those you would call enemy. Despite the hatred that separates you, there are qualities to respect in your opponent. Their prowess should be acknowledged.',12,0,100,0,0,0, 'Argent Confessor Paletress',34201),
+(@ENTRY,8,0,'All of us gathered here have a concept of honorable combat. Conducting yourself with honor and treating your opponent as you wish to be treated shows respect.',12,0,100,0,0,0, 'Argent Confessor Paletress',34202),
+(@ENTRY,9,0,'Respect your opponent on the field, whether he be your brother or your sworn enemy. No matter where your beliefs truly lie, such respect is acknowledging a connection...',12,0,100,0,0,0, 'Argent Confessor Paletress',34203),
+(@ENTRY,10,0,'...and in acknowledging those connections, you are closer to the Light.',12,0,100,0,0,0, 'Argent Confessor Paletress',34205),
+(@ENTRY,11,0,'There is one further step on the path of Light: compassion.',12,0,100,0,0,0, 'Argent Confessor Paletress',34206),
+(@ENTRY,12,0,'Rivalries abound in this day and age. It is easy to see differences wherever you turn.',12,0,100,0,0,0, 'Argent Confessor Paletress',34207),
+(@ENTRY,13,0,'The challenge is in looking beyond appearances and understanding our similarities. Through this understanding, you can feel compassion for the losses others have suffered...',12,0,100,0,0,0, 'Argent Confessor Paletress',34208),
+(@ENTRY,14,0,'...even if the victim bears another banner.',12,0,100,0,0,0, 'Argent Confessor Paletress',34209),
+(@ENTRY,15,0,'By feeling and understanding compassion in enemy and ally alike, you reaffirm your connection with the world.',12,0,100,0,0,0, 'Argent Confessor Paletress',34210),
+(@ENTRY,16,0,'Acting on these tenets, these virtues, help make the world a place we all can appreciate. A world of honor and justice.',12,0,100,0,0,0, 'Argent Confessor Paletress',34211),
+(@ENTRY,17,0,'Think on my words, friends. In the darkness that surrounds us all, the Light is needed more than ever.',12,0,100,0,0,0, 'Argent Confessor Paletress',34212),
+(@ENTRY,18,0,'I''ll be behind the confessional screen if anyone wishes to speak with me. Any doubts, any worries, any uncertainties I will happily soothe.',12,0,100,0,0,0, 'Argent Confessor Paletress',34216),
+(@ENTRY,19,0,'Take heart. Size isn''t what matters, but how you use the skills you have.',12,0,100,0,0,0, 'Argent Confessor Paletress',34250),
+(@ENTRY,20,0,'What you lack in size you make up for in ambition and dedication, little one. Go with the Light.',12,0,100,0,0,0, 'Argent Confessor Paletress',34251),
+(@ENTRY,21,0,'Drink in moderation, then, my dwarven friend, but you may want to turn in your lance and reins for the time being. Go with the Light.',12,0,100,0,0,0, 'Argent Confessor Paletress',34259),
+(@ENTRY,22,0,'I understand your frustration. Your people are ferocious in battle, and this isn''t what you''re used to.',12,0,100,0,0,0, 'Argent Confessor Paletress',34285),
+(@ENTRY,23,0,'But this is a different sort of honorable combat. Difficult to adapt to, perhaps, but with your prowess I''m sure you''ll show everyone the strength in your people.',12,0,100,0,0,0, 'Argent Confessor Paletress',34286),
+(@ENTRY,24,0,'Besides... while an axe can be a valuable tool in war, lances have their uses as well.',12,0,100,0,0,0, 'Argent Confessor Paletress',34287),
+(@ENTRY,25,0,'It may seem pointless, but try to find pride in a good fight. The time will come when all this practicing and competition will be put to good use.',12,0,100,0,0,0, 'Argent Confessor Paletress',34292),
+(@ENTRY,26,0,'And your hair looks wonderful.',12,0,100,0,0,0, 'Argent Confessor Paletress',34293),
+(@ENTRY,27,0,'Your heart is in the right place, and I know you seek to serve the Light. But these small strikes do little to the great undead host.',12,0,100,0,0,0, 'Argent Confessor Paletress',34264),
+(@ENTRY,28,0,'This tournament is helping to form a strong, concerted force, though it may not appear obvious. When we''re ready, the eyes of the Crusade and all its champions will turn towards Icecrown.',12,0,100,0,0,0, 'Argent Confessor Paletress',34265),
+(@ENTRY,29,0,'We will bring the might of all races to the Lich King, and he will be defeated.',12,0,100,0,0,0, 'Argent Confessor Paletress',34266),
+(@ENTRY,30,0,'I know this does not seem like the obvious path to you, but it will bring you closer to the Light. Fight well, brother.',12,0,100,0,0,0, 'Argent Confessor Paletress',34267),
+(@ENTRY,31,0,'Oh, my. Do you feel remorseful, at least?',12,0,100,0,0,0, 'Argent Confessor Paletress',34254),
+(33462,0,0,'I don''t know if I can compete! Everyone is so much bigger!',12,0,100,0,0,0, 'Gnomeregan Champion',34246),
+(33462,1,0,'I''ve calculated the probability of my success, and it''s distressingly low!',12,0,100,0,0,0, 'Gnomeregan Champion',34247),
+(33462,2,0,'I can''t accurately assess the mathematics behind the charge of my turbostrider while keeping hold of my lance at the precise angle needed and keeping my shield in the exact location for maximum protection at any given second!',12,0,100,0,0,0, 'Gnomeregan Champion',34248),
+(33462,3,0,'...and some of those mounts can trample me!',12,0,100,0,0,0, 'Gnomeregan Champion',34249),
+(33480,0,0,'Lass, I''ve a confession to make to ya.',12,0,100,0,0,0, 'Ironforge Champion',34255),
+(33480,1,0,'I''ve been feelin''... urges.',12,0,100,0,0,0, 'Ironforge Champion',34256),
+(33480,2,0,'It was a powerful feelin'' while I was listenin'' to yer sermon, and it''s drivin'' me nuts!',12,0,100,0,0,0, 'Ironforge Champion',34257),
+(33480,3,0,'...I NEED A DRINK!',12,0,100,0,0,0, 'Ironforge Champion',34258),
+(33459,0,0,'This isn''t honorable combat. I long to face my opponents in battle with my axe in hand!',12,0,100,0,0,0, 'Orgrimmar Champion',34269),
+(33459,1,0,'These are my enemies. YOU would be my enemy in battle! Your king has declared war on my kind!',12,0,100,0,0,0, 'Orgrimmar Champion',34270),
+(33459,2,0,'But instead of fighting as my people would, as my people should, I find myself with a long, unwieldy pole, attempting to coax my wolf into charging my opponent without attacking.',12,0,100,0,0,0, 'Orgrimmar Champion',34271),
+(33459,3,0,'This is not how orcs fight! My duty to the Warchief wars with my personal honor. I hold no faith in your Light, but as you seem an advisor, I would hear your words.',12,0,100,0,0,0, 'Orgrimmar Champion',34272),
+(33467,0,0,'This fighting is endless. I''m not certain how much more of it I can stand.',12,0,100,0,0,0, 'Silvermoon Champion',34289),
+(33467,1,0,'All of this posturing, all of this dancing about in rings... it seems pointless. What''s the use?',12,0,100,0,0,0, 'Silvermoon Champion',34290),
+(33467,2,0,'And I''m beginning to get HELMET HAIR. This is a travesty!',12,0,100,0,0,0, 'Silvermoon Champion',34291),
+(33477,0,0,'My heart hangs heavier with each passing day, Confessor.',12,0,100,0,0,0, 'Stormwind Champion',34260),
+(33477,1,0,'I have been ordered here, and here I stay and fight under the banner of Stormwind. But everything I do here is empty.',12,0,100,0,0,0, 'Stormwind Champion',34261),
+(33477,2,0,'Beyond these reaches, the Scourge continue their work, destroying more and more of what we''ve built. The fight should be there. I should be there.',12,0,100,0,0,0, 'Stormwind Champion',34262),
+(33477,3,0,'How can I justify jousting while people die without my protection?',12,0,100,0,0,0, 'Stormwind Champion',34263),
+(33465,0,0,'I punched a penguin on my way in here.',12,0,100,0,0,0, 'Undercity Champion',34252),
+(33465,1,0,'Nah, not really. I just wanted to see the look on your face.',12,0,100,0,0,0, 'Undercity Champion',34253);
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_22_world_2015_10_01_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_22_world_2015_10_01_02.sql
new file mode 100644
index 00000000000..caaa229b9c3
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_22_world_2015_10_01_02.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `smart_scripts` SET `event_param1`=2000, `event_param2`=3000, `event_param3`=13000, `event_param4`=15000, `action_param1`=7357, `action_param2`=0, COMMENT="Murloc Scout - In Combat - Cast 'Poisonous Stab'" WHERE `entryorguid`IN (578) AND `source_type`=0 AND `id`=0;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_23_world_2015_10_03_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_23_world_2015_10_03_00.sql
new file mode 100644
index 00000000000..090111be95b
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_23_world_2015_10_03_00.sql
@@ -0,0 +1,21 @@
+--
+-- Razormaw SAI
+SET @ENTRY := 17592;
+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,1000,3000,3000,5000,11,31279,64,0,0,0,0,2,0,0,0,0,0,0,0,"Razormaw - In Combat - Cast 'Swipe'"),
+(@ENTRY,0,1,0,0,0,100,0,8000,12000,6000,8000,11,8873,64,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - In Combat - Cast 'Flame Breath'"),
+(@ENTRY,0,2,0,2,0,50,1,0,50,0,0,11,14100,64,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - Between 0-50% Health - Cast 'Terrifying Roar' (No Repeat)"),
+(@ENTRY,0,3,11,11,0,100,0,0,0,0,0,53,1,17592,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - On Respawn - Start Waypoint"),
+(@ENTRY,0,4,18,40,0,100,0,10,17592,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - On Waypoint 10 Reached - Remove Flag Immune To Players"),
+(@ENTRY,0,11,0,61,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - On Respawn - Set Active On"),
+(@ENTRY,0,14,18,40,0,100,0,9,17592,0,0,91,2,3,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - On Waypoint 9 Reached - Remove Flag Hover"),
+(@ENTRY,0,18,0,61,0,100,0,10,17592,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - On Waypoint 10 Reached - Set Reactstate Aggressive"),
+(@ENTRY,0,19,0,40,0,100,0,11,17592,0,0,101,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - On Waypoint 11 Reached - Set Home Position"),
+(@ENTRY,0,20,23,40,0,100,0,1,17592,0,0,18,256,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - On Waypoint 1 Reached - Set Flag Immune To Players"),
+(@ENTRY,0,21,22,25,0,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - On Reset - Set Reactstate Aggressive"),
+(@ENTRY,0,22,0,61,0,100,0,0,0,0,0,91,2,3,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - On Reset - Remove Flag Hover"),
+(@ENTRY,0,23,0,61,0,100,0,1,17592,0,0,90,2,3,0,0,0,0,1,0,0,0,0,0,0,0,"Razormaw - On Waypoint 1 Reached - Set Flag Hover");
+
+UPDATE `waypoints` SET `position_z` = 96.5391 WHERE `entry`=17592 AND `pointid`=11;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_24_world_2015_10_03_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_24_world_2015_10_03_01.sql
new file mode 100644
index 00000000000..150d77b06e5
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_10_31_24_world_2015_10_03_01.sql
@@ -0,0 +1,16 @@
+--
+DELETE FROM `creature` WHERE `guid`=71981 AND `id`=20251;
+
+UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (15241, 21719, 24933, 21497, 20127);
+UPDATE `creature_template` SET `InhabitType`=7 WHERE `entry` IN (20611);
+
+UPDATE `creature_template_addon` SET `bytes1`=33554432 WHERE `entry`=21497;
+UPDATE `creature_template` SET `unit_flags`=512 WHERE `entry` IN (21497);
+UPDATE `smart_scripts` SET `action_param1`=15847, `comment`="Blackscale - In Combat - Cast 'Tail Sweep'" WHERE `entryorguid`=21497 AND `source_Type`=0 AND `id`=2;
+UPDATE `creature` SET `MovementType`=1, `spawndist`=10 WHERE `id` IN (21497, 20611, 20127);
+UPDATE `creature` SET `MovementType`=0, `spawndist`=0 WHERE `id` IN (21639, 20251, 22320);
+
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (20238);
+DELETE FROM `smart_scripts` WHERE `entryorguid`IN (20238) 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
+(20238,0,0,0,1,0,100,0,1000,3000,3000,7000,11,35063,0,0,0,0,0,19,20251,20,0,0,0,0,0,"Honor Hold Scout - OOC - Cast Shoot Honor Hold Scout Archery Target");
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_10_31_25_world_2015_04_18_08.sql b/sql/old/6.x/world/02_2015_11_08/2015_10_31_25_world_2015_04_18_08.sql
new file mode 100644
index 00000000000..b6a7ec2e68b
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_00_world_from_335.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_00_world_from_335.sql
new file mode 100644
index 00000000000..4d1adbb96d2
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_01_world_2015_04_26_05.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_01_world_2015_04_26_05.sql
new file mode 100644
index 00000000000..d870128a55d
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_02_world_2015_04_26_06.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_02_world_2015_04_26_06.sql
new file mode 100644
index 00000000000..014c19cd96e
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_03_world_2015_04_26_07.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_03_world_2015_04_26_07.sql
new file mode 100644
index 00000000000..e23229e7f49
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_04_world_2015_04_26_08.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_04_world_2015_04_26_08.sql
new file mode 100644
index 00000000000..be53b1ebc60
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_05_world_2015_04_26_09.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_05_world_2015_04_26_09.sql
new file mode 100644
index 00000000000..e450fd5c64e
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_06_world_2015_04_27_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_06_world_2015_04_27_00.sql
new file mode 100644
index 00000000000..53b3b686ec2
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_07_world_2015_04_27_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_07_world_2015_04_27_01.sql
new file mode 100644
index 00000000000..af4f0fc4faf
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_08_world_2015_04_28_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_08_world_2015_04_28_00.sql
new file mode 100644
index 00000000000..ee651b8473c
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_09_world_2015_04_28_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_09_world_2015_04_28_01.sql
new file mode 100644
index 00000000000..238e3097f48
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_10_world_2015_04_28_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_10_world_2015_04_28_02.sql
new file mode 100644
index 00000000000..c3eebf4ad7a
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_11_world_2015_04_28_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_11_world_2015_04_28_03.sql
new file mode 100644
index 00000000000..fac605b9f06
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_12_world_2015_04_29_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_12_world_2015_04_29_00.sql
new file mode 100644
index 00000000000..14ff30d9e14
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_13_world_from_335.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_13_world_from_335.sql
new file mode 100644
index 00000000000..34e87223b8d
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_14_world_2015_08_21_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_14_world_2015_08_21_01.sql
new file mode 100644
index 00000000000..794e03cd0d3
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_15_world_2015_08_23_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_15_world_2015_08_23_00.sql
new file mode 100644
index 00000000000..7d5863dcce8
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_16_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_16_world.sql
new file mode 100644
index 00000000000..d18e5bc02d9
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_01_17_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_01_17_world.sql
new file mode 100644
index 00000000000..b8232e90215
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_04_00_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_04_00_world.sql
new file mode 100644
index 00000000000..42469b5b4f7
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_00_world_2015_10_04_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_00_world_2015_10_04_04.sql
new file mode 100644
index 00000000000..dda9747be6f
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_01_world_2015_10_04_05.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_01_world_2015_10_04_05.sql
new file mode 100644
index 00000000000..5ce8c03278d
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_02_world_2015_10_05_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_02_world_2015_10_05_00.sql
new file mode 100644
index 00000000000..5f17920a9f5
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_03_world_2015_10_06_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_03_world_2015_10_06_00.sql
new file mode 100644
index 00000000000..2ff13df720c
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_04_world_2015_10_06_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_04_world_2015_10_06_01.sql
new file mode 100644
index 00000000000..385c5f019bf
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_05_world_2015_10_08_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_05_world_2015_10_08_00.sql
new file mode 100644
index 00000000000..633ade27863
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_06_world_2015_10_08_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_06_world_2015_10_08_01.sql
new file mode 100644
index 00000000000..6b162ee4393
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_07_world_2015_10_10_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_07_world_2015_10_10_04.sql
new file mode 100644
index 00000000000..b1bab808d96
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_08_world_2015_10_11_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_08_world_2015_10_11_02.sql
new file mode 100644
index 00000000000..ee0beb9387b
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_09_world_2015_10_11_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_09_world_2015_10_11_03.sql
new file mode 100644
index 00000000000..247b55c3e22
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_10_world_2015_10_11_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_10_world_2015_10_11_04.sql
new file mode 100644
index 00000000000..17664992c98
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_05_11_world_2015_10_12_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_05_11_world_2015_10_12_00.sql
new file mode 100644
index 00000000000..122dba5d4db
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_00_world_2015_10_11_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_00_world_2015_10_11_00.sql
new file mode 100644
index 00000000000..dbad0438ed3
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_01_world_2015_10_14_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_01_world_2015_10_14_01.sql
new file mode 100644
index 00000000000..5b72a9af236
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_02_world_2015_10_14_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_02_world_2015_10_14_02.sql
new file mode 100644
index 00000000000..44b00fceb04
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_03_world_2015_10_14_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_03_world_2015_10_14_03.sql
new file mode 100644
index 00000000000..e91d340d043
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_04_world_2015_10_14_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_04_world_2015_10_14_04.sql
new file mode 100644
index 00000000000..70585dfb213
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_05_world_2015_10_14_05.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_05_world_2015_10_14_05.sql
new file mode 100644
index 00000000000..5029b807055
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_06_world_2015_10_14_06.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_06_world_2015_10_14_06.sql
new file mode 100644
index 00000000000..b3b5b23ea30
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_07_world_2015_10_14_07.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_07_world_2015_10_14_07.sql
new file mode 100644
index 00000000000..4c2d6b05e1e
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_08_world_2015_10_16_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_08_world_2015_10_16_00.sql
new file mode 100644
index 00000000000..8dd4beec595
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_09_world_2015_10_17_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_09_world_2015_10_17_00.sql
new file mode 100644
index 00000000000..c519abb709c
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_10_world_2015_10_17_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_10_world_2015_10_17_02.sql
new file mode 100644
index 00000000000..3c39921bf60
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_11_world_2015_10_20_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_11_world_2015_10_20_00.sql
new file mode 100644
index 00000000000..ed787f90f68
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_12_world_2015_10_20_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_12_world_2015_10_20_01.sql
new file mode 100644
index 00000000000..f2d3e950a90
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_13_world_2015_10_20_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_13_world_2015_10_20_02.sql
new file mode 100644
index 00000000000..e2211a704ea
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_14_world_2015_10_20_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_14_world_2015_10_20_03.sql
new file mode 100644
index 00000000000..23f7ba806c1
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_15_world_2015_10_21_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_15_world_2015_10_21_00.sql
new file mode 100644
index 00000000000..d751a6e65bc
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_16_world_2015_10_21_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_16_world_2015_10_21_01.sql
new file mode 100644
index 00000000000..dd5e289d2c5
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_17_world_2015_10_22_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_17_world_2015_10_22_00.sql
new file mode 100644
index 00000000000..8075c4e1b20
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_18_world_2015_10_22_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_18_world_2015_10_22_01.sql
new file mode 100644
index 00000000000..ee7db3024ae
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_19_world_2015_10_23_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_19_world_2015_10_23_00.sql
new file mode 100644
index 00000000000..ed83c4897e7
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_20_world_2015_10_23_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_20_world_2015_10_23_01.sql
new file mode 100644
index 00000000000..01d4dd4206d
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_21_world_2015_10_23_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_21_world_2015_10_23_02.sql
new file mode 100644
index 00000000000..b0ff237e45b
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_22_world_2015_10_27_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_22_world_2015_10_27_01.sql
new file mode 100644
index 00000000000..1fae9b7ca94
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_23_world_2015_10_31_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_23_world_2015_10_31_00.sql
new file mode 100644
index 00000000000..edae60f42d6
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_24_world_2015_10_31_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_24_world_2015_10_31_01.sql
new file mode 100644
index 00000000000..28aae78fac0
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_25_world_2015_10_31_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_25_world_2015_10_31_02.sql
new file mode 100644
index 00000000000..6dfeba2116c
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_26_world_2015_11_01_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_26_world_2015_11_01_00.sql
new file mode 100644
index 00000000000..dabd7d27138
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_27_world_2015_11_01_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_27_world_2015_11_01_03.sql
new file mode 100644
index 00000000000..13b0157d7ba
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_28_world_2015_11_01_04.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_28_world_2015_11_01_04.sql
new file mode 100644
index 00000000000..90efdecdf4f
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_29_world_2015_11_02_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_29_world_2015_11_02_00.sql
new file mode 100644
index 00000000000..19379ad7d71
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_30_world_2015_11_02_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_30_world_2015_11_02_01.sql
new file mode 100644
index 00000000000..c074e6b7de8
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_31_world_2015_11_03_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_31_world_2015_11_03_00.sql
new file mode 100644
index 00000000000..deb95e8e7be
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_32_world_2015_11_03_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_32_world_2015_11_03_01.sql
new file mode 100644
index 00000000000..2c4f70b043b
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_33_world_2015_11_03_02.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_33_world_2015_11_03_02.sql
new file mode 100644
index 00000000000..c4757d0d634
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_34_world_2015_08_26_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_34_world_2015_08_26_01.sql
new file mode 100644
index 00000000000..ded18be8a7b
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_35_world_2015_10_10_05.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_35_world_2015_10_10_05.sql
new file mode 100644
index 00000000000..5a552b76e64
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_36_world_2015_07_27_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_36_world_2015_07_27_00.sql
new file mode 100644
index 00000000000..96140cff8ef
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_37_world_2015_07_27_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_37_world_2015_07_27_01.sql
new file mode 100644
index 00000000000..1c450b8b6ce
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_38_world_2015_10_03_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_38_world_2015_10_03_00.sql
new file mode 100644
index 00000000000..4a5aedb13d4
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_39_world_2015_10_04_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_39_world_2015_10_04_01.sql
new file mode 100644
index 00000000000..9e478ea401a
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_40_world_2015_10_04_03.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_40_world_2015_10_04_03.sql
new file mode 100644
index 00000000000..693d88687ce
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_41_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_41_world.sql
new file mode 100644
index 00000000000..4c177a8c93f
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_42_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_42_world.sql
new file mode 100644
index 00000000000..5505a032c35
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_43_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_43_world.sql
new file mode 100644
index 00000000000..853acac9a79
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_06_44_world_2015_08_26_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_06_44_world_2015_08_26_00.sql
new file mode 100644
index 00000000000..2bb55b8bfc7
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_07_00_world_2015_10_02_01.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_07_00_world_2015_10_02_01.sql
new file mode 100644
index 00000000000..95f91cd5938
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_07_01_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_07_01_world.sql
new file mode 100644
index 00000000000..f6ddc034e20
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/2015_11_07_01_world.sql
@@ -0,0 +1 @@
+DELETE FROM `trinity_string` WHERE `entry` = 11010;
diff --git a/sql/old/6.x/world/02_2015_11_08/2015_11_07_02_world_2015_09_11_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_07_02_world_2015_09_11_00.sql
new file mode 100644
index 00000000000..678e03a31e3
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_07_03_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_07_03_world.sql
new file mode 100644
index 00000000000..2cb4a1bdd90
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_07_04_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_07_04_world.sql
new file mode 100644
index 00000000000..834a18a00e5
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_07_05_world.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_07_05_world.sql
new file mode 100644
index 00000000000..55a6f3e5f9d
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/old/6.x/world/02_2015_11_08/2015_11_07_06_world_2015_05_09_00.sql b/sql/old/6.x/world/02_2015_11_08/2015_11_07_06_world_2015_05_09_00.sql
new file mode 100644
index 00000000000..d2e488cc026
--- /dev/null
+++ b/sql/old/6.x/world/02_2015_11_08/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/sql/updates/auth/2015_11_08_00_auth.sql b/sql/updates/auth/2015_11_08_00_auth.sql
new file mode 100644
index 00000000000..be8a4d21b66
--- /dev/null
+++ b/sql/updates/auth/2015_11_08_00_auth.sql
@@ -0,0 +1 @@
+UPDATE `updates` SET `state`='ARCHIVED';
diff --git a/sql/updates/characters/2015_11_08_00_characters.sql b/sql/updates/characters/2015_11_08_00_characters.sql
new file mode 100644
index 00000000000..be8a4d21b66
--- /dev/null
+++ b/sql/updates/characters/2015_11_08_00_characters.sql
@@ -0,0 +1 @@
+UPDATE `updates` SET `state`='ARCHIVED';
diff --git a/sql/updates/hotfixes/2015_11_08_00_hotfixes.sql b/sql/updates/hotfixes/2015_11_08_00_hotfixes.sql
new file mode 100644
index 00000000000..be8a4d21b66
--- /dev/null
+++ b/sql/updates/hotfixes/2015_11_08_00_hotfixes.sql
@@ -0,0 +1 @@
+UPDATE `updates` SET `state`='ARCHIVED';
diff --git a/sql/updates/world/2015_11_08_00_world.sql b/sql/updates/world/2015_11_08_00_world.sql
new file mode 100644
index 00000000000..59365e2a4a7
--- /dev/null
+++ b/sql/updates/world/2015_11_08_00_world.sql
@@ -0,0 +1,3 @@
+UPDATE `version` SET `db_version`='TDB 6.03', `cache_id`=3 LIMIT 1;
+
+UPDATE `updates` SET `state`='ARCHIVED';
diff --git a/sql/updates/world/2015_11_08_01_world.sql b/sql/updates/world/2015_11_08_01_world.sql
new file mode 100644
index 00000000000..ab74f6826e4
--- /dev/null
+++ b/sql/updates/world/2015_11_08_01_world.sql
@@ -0,0 +1,5 @@
+UPDATE `smart_scripts` SET `action_param1`=169, `action_param2`=1 WHERE `action_type`=44 AND `action_param1`=1;
+UPDATE `smart_scripts` SET `action_param1`=170, `action_param2`=1 WHERE `action_type`=44 AND `action_param1`=2;
+UPDATE `smart_scripts` SET `action_param1`=177, `action_param2`=1 WHERE `action_type`=44 AND `action_param1`=256;
+
+UPDATE `smart_scripts` SET `action_type`=16, `action_param1`=371, `action_param2`=1 WHERE `action_type`=44 AND `action_param1`=3;
diff --git a/sql/updates/world/2015_11_09_00_world.sql b/sql/updates/world/2015_11_09_00_world.sql
new file mode 100644
index 00000000000..e9360cf8963
--- /dev/null
+++ b/sql/updates/world/2015_11_09_00_world.sql
@@ -0,0 +1,5 @@
+--
+UPDATE `gossip_menu_option` SET `option_text`="What's on the auction house today?", `OptionBroadcastTextID`=35877 WHERE `menu_id`=10656 AND id=0;
+
+UPDATE `conditions` SET `ConditionTypeOrReference`=17, `ConditionValue1`=2796, `comment`="Only allow players who have the achievement Brew of the Month to access vendor" WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9549 AND `ElseGroup`=0;
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9549 AND `ElseGroup`=2;
diff --git a/sql/updates/world/2015_11_09_01_world.sql b/sql/updates/world/2015_11_09_01_world.sql
new file mode 100644
index 00000000000..6fd5dec39b7
--- /dev/null
+++ b/sql/updates/world/2015_11_09_01_world.sql
@@ -0,0 +1,6 @@
+--
+SET @obj := 191840;
+UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry`=@obj;
+DELETE FROM `smart_scripts` WHERE `source_type`=1 AND `entryorguid`=@obj;
+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
+(@obj,1,0,0,70,0,100,1,2,0,0,0,41,500,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Plagued Proto-Drake Egg - In GO_STATE_CHANGED - despawn');
diff --git a/sql/updates/world/2015_11_09_02_world.sql b/sql/updates/world/2015_11_09_02_world.sql
new file mode 100644
index 00000000000..6cccbef3d41
--- /dev/null
+++ b/sql/updates/world/2015_11_09_02_world.sql
@@ -0,0 +1,2 @@
+UPDATE `command` SET `help`='Syntax: .additem #itemid/[#itemname]/#shift-click-item-link #itemcount #bonusListIDs\n\nAdds the specified number of items of id #itemid (or exact (!) name $itemname in brackets, or link created by shift-click at item in inventory or recipe) to your or selected character inventory. If #itemcount is omitted, only one item will be added. #bonusListIDs is a semicolon separated list of bonuses to add to item (such as Mythic/Heroic/Warforged/socket)' WHERE `name`='additem';
+UPDATE `command` SET `help`='Syntax: .additemset #itemsetid #bonusListIDs\n\nAdd items from itemset of id #itemsetid to your or selected character inventory. Will add by one example each item from itemset.\n\nIf the itemset has multiple levels it adds one of each item level. #bonusListIDs is a semicolon separated list of bonuses to add to all items (such as Mythic/Heroic/Warforged/socket)' WHERE `name`='additemset';
diff --git a/sql/updates/world/2015_11_10_00_world.sql b/sql/updates/world/2015_11_10_00_world.sql
new file mode 100644
index 00000000000..6e969f288f1
--- /dev/null
+++ b/sql/updates/world/2015_11_10_00_world.sql
@@ -0,0 +1,24 @@
+--
+DELETE FROM `creature_text` WHERE `entry` = 33686;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES
+(33686, 0, 0, 'I was constructed to serve as a repository for essential information regarding this complex. My primary functions include communicating the status of the frontal defense systems and assessing the status of the entity that this complex was built to imprison.', 12, 0, 0, 0, 0, 0, 'Norgannon SAY_EVENT_1', 33703),
+(33686, 1, 0, 'Access to the interior of the complex is currently restricted. Primary defensive emplacements are active. Secondary systems are currently non-active.', 12, 0, 0, 0, 0, 0, 'Norgannon SAY_EVENT_2', 33705),
+(33686, 2, 0, 'Compromise of complex detected, security override enabled - query permitted.', 12, 0, 0, 0, 0, 0, 'Norgannon SAY_EVENT_3', 33707),
+(33686, 3, 0, 'Primary defensive emplacements consist of iron constructs and Storm Beacons, which will generate additional constructs as necessary. Secondary systems consist of orbital defense emplacements.', 12, 0, 0, 0, 0, 0, 'Norgannon SAY_EVENT_4', 33712),
+(33686, 4, 0, 'Entity designate: Yogg-Saron. Security has been compromised. Prison operational status unknown. Unable to contact Watchers for notification purposes.', 12, 0, 0, 0, 0, 0, 'Norgannon SAY_EVENT_5', 33711);
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`IN(3370100) 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
+(3370100, 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, 'High Explorer Dellorah - Script - Say Line 0'),
+(3370100, 9, 1, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 33686, 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Say Line 0 (Lore Keeper of Norgannon)'),
+(3370100, 9, 2, 0, 0, 0, 100, 0, 13000, 13000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Say Line 1'),
+(3370100, 9, 3, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 33686, 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Say Line 1 (Lore Keeper of Norgannon)'),
+(3370100, 9, 4, 0, 0, 0, 100, 0, 11000, 11000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Say Line 2'),
+(3370100, 9, 5, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 33686, 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Say Line 2 (Lore Keeper of Norgannon)'),
+(3370100, 9, 6, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, 33686, 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Say Line 3 (Lore Keeper of Norgannon)'),
+(3370100, 9, 7, 0, 0, 0, 100, 0, 12000, 12000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Say Line 3'),
+(3370100, 9, 8, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Say Line 4'),
+(3370100, 9, 9, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Say Line 5'),
+(3370100, 9, 10, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 33696, 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Set Data to Archmage Rhydian'),
+(3370100, 9, 11, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 1, 4, 0, 0, 0, 0, 0, 19, 33686 , 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Say Line 4 (Lore Keeper of Norgannon)'),
+(3370100, 9, 12, 0, 0, 0, 100, 0, 13000, 13000, 0, 0, 1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'High Explorer Dellorah - Script - Say Line 6');
diff --git a/src/common/Collision/Management/VMapManager2.cpp b/src/common/Collision/Management/VMapManager2.cpp
index 9a31692593d..ae39fdaa297 100644
--- a/src/common/Collision/Management/VMapManager2.cpp
+++ b/src/common/Collision/Management/VMapManager2.cpp
@@ -326,4 +326,9 @@ namespace VMAP
return StaticMapTree::CanLoadMap(std::string(basePath), mapId, x, y);
}
+ void VMapManager2::getInstanceMapTree(InstanceTreeMap &instanceMapTree)
+ {
+ instanceMapTree = iInstanceMapTrees;
+ }
+
} // namespace VMAP
diff --git a/src/common/Collision/Management/VMapManager2.h b/src/common/Collision/Management/VMapManager2.h
index 553145cda4b..d425f35d44b 100644
--- a/src/common/Collision/Management/VMapManager2.h
+++ b/src/common/Collision/Management/VMapManager2.h
@@ -128,7 +128,7 @@ namespace VMAP
return getMapFileName(mapId);
}
virtual bool existsMap(const char* basePath, unsigned int mapId, int x, int y) override;
- public:
+
void getInstanceMapTree(InstanceTreeMap &instanceMapTree);
typedef uint32(*GetLiquidFlagsFn)(uint32 liquidType);
diff --git a/src/common/Collision/Maps/MapTree.cpp b/src/common/Collision/Maps/MapTree.cpp
index 862f3e1cefe..d1bcc12f305 100644
--- a/src/common/Collision/Maps/MapTree.cpp
+++ b/src/common/Collision/Maps/MapTree.cpp
@@ -474,4 +474,10 @@ namespace VMAP
}
iLoadedTiles.erase(tile);
}
+
+ void StaticMapTree::getModelInstances(ModelInstance* &models, uint32 &count)
+ {
+ models = iTreeValues;
+ count = iNTreeValues;
+ }
}
diff --git a/src/common/Collision/Models/ModelInstance.h b/src/common/Collision/Models/ModelInstance.h
index dfdb001db0a..f8bbfa4fa73 100644
--- a/src/common/Collision/Models/ModelInstance.h
+++ b/src/common/Collision/Models/ModelInstance.h
@@ -70,12 +70,11 @@ namespace VMAP
void intersectPoint(const G3D::Vector3& p, AreaInfo &info) const;
bool GetLocationInfo(const G3D::Vector3& p, LocationInfo &info) const;
bool GetLiquidLevel(const G3D::Vector3& p, LocationInfo &info, float &liqHeight) const;
+ WorldModel* getWorldModel() { return iModel; }
protected:
G3D::Matrix3 iInvRot;
float iInvScale;
WorldModel* iModel;
- public:
- WorldModel* getWorldModel();
};
} // namespace VMAP
diff --git a/src/common/Collision/Models/WorldModel.cpp b/src/common/Collision/Models/WorldModel.cpp
index 3af120045cb..d29758b51f4 100644
--- a/src/common/Collision/Models/WorldModel.cpp
+++ b/src/common/Collision/Models/WorldModel.cpp
@@ -250,6 +250,13 @@ namespace VMAP
return result;
}
+ void WmoLiquid::getPosInfo(uint32 &tilesX, uint32 &tilesY, G3D::Vector3 &corner) const
+ {
+ tilesX = iTilesX;
+ tilesY = iTilesY;
+ corner = iCorner;
+ }
+
// ===================== GroupModel ==================================
GroupModel::GroupModel(const GroupModel &other):
@@ -410,6 +417,13 @@ namespace VMAP
return 0;
}
+ void GroupModel::getMeshData(std::vector<G3D::Vector3>& outVertices, std::vector<MeshTriangle>& outTriangles, WmoLiquid*& liquid)
+ {
+ outVertices = vertices;
+ outTriangles = triangles;
+ liquid = iLiquid;
+ }
+
// ===================== WorldModel ==================================
void WorldModel::setGroupModels(std::vector<GroupModel> &models)
@@ -583,4 +597,9 @@ namespace VMAP
fclose(rf);
return result;
}
+
+ void WorldModel::getGroupModels(std::vector<GroupModel>& outGroupModels)
+ {
+ outGroupModels = groupModels;
+ }
}
diff --git a/src/common/Collision/Models/WorldModel.h b/src/common/Collision/Models/WorldModel.h
index 6a901a59fdf..afa9d15b264 100644
--- a/src/common/Collision/Models/WorldModel.h
+++ b/src/common/Collision/Models/WorldModel.h
@@ -58,6 +58,7 @@ namespace VMAP
uint32 GetFileSize();
bool writeToFile(FILE* wf);
static bool readFromFile(FILE* rf, WmoLiquid* &liquid);
+ void getPosInfo(uint32 &tilesX, uint32 &tilesY, G3D::Vector3 &corner) const;
private:
WmoLiquid() : iTilesX(0), iTilesY(0), iCorner(), iType(0), iHeight(NULL), iFlags(NULL) { }
uint32 iTilesX; //!< number of tiles in x direction, each
@@ -66,8 +67,6 @@ namespace VMAP
uint32 iType; //!< liquid type
float *iHeight; //!< (tilesX + 1)*(tilesY + 1) height values
uint8 *iFlags; //!< info if liquid tile is used
- public:
- void getPosInfo(uint32 &tilesX, uint32 &tilesY, G3D::Vector3 &corner) const;
};
/*! holding additional info for WMO group files */
@@ -92,6 +91,7 @@ namespace VMAP
const G3D::AABox& GetBound() const { return iBound; }
uint32 GetMogpFlags() const { return iMogpFlags; }
uint32 GetWmoID() const { return iGroupWMOID; }
+ void getMeshData(std::vector<G3D::Vector3>& outVertices, std::vector<MeshTriangle>& outTriangles, WmoLiquid*& liquid);
protected:
G3D::AABox iBound;
uint32 iMogpFlags;// 0x8 outdor; 0x2000 indoor
@@ -100,9 +100,8 @@ namespace VMAP
std::vector<MeshTriangle> triangles;
BIH meshTree;
WmoLiquid* iLiquid;
- public:
- void getMeshData(std::vector<G3D::Vector3> &vertices, std::vector<MeshTriangle> &triangles, WmoLiquid* &liquid);
};
+
/*! Holds a model (converted M2 or WMO) in its original coordinate space */
class WorldModel
{
@@ -117,12 +116,11 @@ namespace VMAP
bool GetLocationInfo(const G3D::Vector3 &p, const G3D::Vector3 &down, float &dist, LocationInfo &info) const;
bool writeFile(const std::string &filename);
bool readFile(const std::string &filename);
+ void getGroupModels(std::vector<GroupModel>& outGroupModels);
protected:
uint32 RootWMOID;
std::vector<GroupModel> groupModels;
BIH groupTree;
- public:
- void getGroupModels(std::vector<GroupModel> &groupModels);
};
} // namespace VMAP
diff --git a/src/common/Common.h b/src/common/Common.h
index 605b6dc4ae8..2a492e0eeee 100644
--- a/src/common/Common.h
+++ b/src/common/Common.h
@@ -45,6 +45,7 @@
#include <boost/optional.hpp>
#include <boost/utility/in_place_factory.hpp>
+#include <boost/functional/hash.hpp>
#include "Debugging/Errors.h"
@@ -178,4 +179,19 @@ namespace Trinity
}
}
+//! Hash implementation for std::pair to allow using pairs in unordered_set or as key for unordered_map
+//! Individual types used in pair must be hashable by boost::hash
+namespace std
+{
+ template<class K, class V>
+ struct hash<std::pair<K, V>>
+ {
+ public:
+ size_t operator()(std::pair<K, V> const& key) const
+ {
+ return boost::hash_value(key);
+ }
+ };
+}
+
#endif
diff --git a/src/common/Debugging/Errors.cpp b/src/common/Debugging/Errors.cpp
index 6c295a993f5..2406493442d 100644
--- a/src/common/Debugging/Errors.cpp
+++ b/src/common/Debugging/Errors.cpp
@@ -59,10 +59,15 @@ void Assert(char const* file, int line, char const* function, char const* messag
exit(1);
}
-void Fatal(char const* file, int line, char const* function, char const* message)
+void Fatal(char const* file, int line, char const* function, char const* message, ...)
{
- fprintf(stderr, "\n%s:%i in %s FATAL ERROR:\n %s\n",
- file, line, function, message);
+ va_list args;
+ va_start(args, message);
+
+ fprintf(stderr, "\n%s:%i in %s FATAL ERROR:\n ", file, line, function);
+ vfprintf(stderr, message, args);
+ fprintf(stderr, "\n");
+ fflush(stderr);
std::this_thread::sleep_for(std::chrono::seconds(10));
*((volatile int*)NULL) = 0;
diff --git a/src/common/Debugging/Errors.h b/src/common/Debugging/Errors.h
index edf56b29136..9e526933acc 100644
--- a/src/common/Debugging/Errors.h
+++ b/src/common/Debugging/Errors.h
@@ -26,10 +26,10 @@ namespace Trinity
DECLSPEC_NORETURN void Assert(char const* file, int line, char const* function, char const* message) ATTR_NORETURN;
DECLSPEC_NORETURN void Assert(char const* file, int line, char const* function, char const* message, char const* format, ...) ATTR_NORETURN ATTR_PRINTF(5, 6);
- DECLSPEC_NORETURN void Fatal(char const* file, int line, char const* function, char const* message) ATTR_NORETURN;
+ DECLSPEC_NORETURN void Fatal(char const* file, int line, char const* function, char const* message, ...) ATTR_NORETURN ATTR_PRINTF(4, 5);
DECLSPEC_NORETURN void Error(char const* file, int line, char const* function, char const* message) ATTR_NORETURN;
-
+
DECLSPEC_NORETURN void Abort(char const* file, int line, char const* function) ATTR_NORETURN;
void Warning(char const* file, int line, char const* function, char const* message);
@@ -45,7 +45,7 @@ namespace Trinity
#endif
#define WPAssert(cond, ...) ASSERT_BEGIN do { if (!(cond)) Trinity::Assert(__FILE__, __LINE__, __FUNCTION__, #cond, ##__VA_ARGS__); } while(0) ASSERT_END
-#define WPFatal(cond, msg) ASSERT_BEGIN do { if (!(cond)) Trinity::Fatal(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END
+#define WPFatal(cond, ...) ASSERT_BEGIN do { if (!(cond)) Trinity::Fatal(__FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); } while(0) ASSERT_END
#define WPError(cond, msg) ASSERT_BEGIN do { if (!(cond)) Trinity::Error(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END
#define WPWarning(cond, msg) ASSERT_BEGIN do { if (!(cond)) Trinity::Warning(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END
#define WPAbort() ASSERT_BEGIN do { Trinity::Abort(__FILE__, __LINE__, __FUNCTION__); } while(0) ASSERT_END
diff --git a/src/server/bnetserver/Server/Session.cpp b/src/server/bnetserver/Server/Session.cpp
index 36137b20b41..062ee535b23 100644
--- a/src/server/bnetserver/Server/Session.cpp
+++ b/src/server/bnetserver/Server/Session.cpp
@@ -672,6 +672,7 @@ bool Battlenet::Session::Update()
if (_queryFuture.valid() && _queryFuture.wait_for(std::chrono::seconds(0)) == std::future_status::ready)
{
auto callback = std::move(_queryCallback);
+ _queryCallback = nullptr;
callback(_queryFuture.get());
}
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/DatabaseWorkerPool.h b/src/server/database/Database/DatabaseWorkerPool.h
index 7cc5dfb63a0..fecf6c055bc 100644
--- a/src/server/database/Database/DatabaseWorkerPool.h
+++ b/src/server/database/Database/DatabaseWorkerPool.h
@@ -67,6 +67,8 @@ class DatabaseWorkerPool
WPFatal(mysql_thread_safe(), "Used MySQL library isn't thread-safe.");
WPFatal(mysql_get_client_version() >= MIN_MYSQL_CLIENT_VERSION, "TrinityCore does not support MySQL versions below 5.1");
+ WPFatal(mysql_get_client_version() == MYSQL_VERSION_ID, "Used MySQL library version (%s) does not match the version used to compile TrinityCore (%s).",
+ mysql_get_client_info(), MYSQL_SERVER_VERSION);
}
~DatabaseWorkerPool()
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/CoreAI/CombatAI.cpp b/src/server/game/AI/CoreAI/CombatAI.cpp
index 7efed2976c4..9d76ee5573d 100644
--- a/src/server/game/AI/CoreAI/CombatAI.cpp
+++ b/src/server/game/AI/CoreAI/CombatAI.cpp
@@ -259,7 +259,7 @@ void TurretAI::UpdateAI(uint32 /*diff*/)
// VehicleAI
//////////////
-VehicleAI::VehicleAI(Creature* creature) : CreatureAI(creature), m_ConditionsTimer(VEHICLE_CONDITION_CHECK_TIME)
+VehicleAI::VehicleAI(Creature* creature) : CreatureAI(creature), m_HasConditions(false), m_ConditionsTimer(VEHICLE_CONDITION_CHECK_TIME)
{
LoadConditions();
m_DoDismiss = false;
@@ -285,7 +285,7 @@ void VehicleAI::UpdateAI(uint32 diff)
void VehicleAI::OnCharmed(bool apply)
{
- if (!me->GetVehicleKit()->IsVehicleInUse() && !apply && !conditions.empty()) // was used and has conditions
+ if (!me->GetVehicleKit()->IsVehicleInUse() && !apply && m_HasConditions) // was used and has conditions
{
m_DoDismiss = true; // needs reset
}
@@ -297,16 +297,14 @@ void VehicleAI::OnCharmed(bool apply)
void VehicleAI::LoadConditions()
{
- conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE, me->GetEntry());
- if (!conditions.empty())
- TC_LOG_DEBUG("condition", "VehicleAI::LoadConditions: loaded %u conditions", uint32(conditions.size()));
+ m_HasConditions = sConditionMgr->HasConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE, me->GetEntry());
}
void VehicleAI::CheckConditions(uint32 diff)
{
if (m_ConditionsTimer < diff)
{
- if (!conditions.empty())
+ if (m_HasConditions)
{
if (Vehicle* vehicleKit = me->GetVehicleKit())
for (SeatMap::iterator itr = vehicleKit->Seats.begin(); itr != vehicleKit->Seats.end(); ++itr)
@@ -314,7 +312,7 @@ void VehicleAI::CheckConditions(uint32 diff)
{
if (Player* player = passenger->ToPlayer())
{
- if (!sConditionMgr->IsObjectMeetToConditions(player, me, conditions))
+ if (!sConditionMgr->IsObjectMeetingNotGroupedConditions(CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE, me->GetEntry(), player, me))
{
player->ExitVehicle();
return; // check other pessanger in next tick
diff --git a/src/server/game/AI/CoreAI/CombatAI.h b/src/server/game/AI/CoreAI/CombatAI.h
index 97308f22e5d..26b5db3e7c8 100644
--- a/src/server/game/AI/CoreAI/CombatAI.h
+++ b/src/server/game/AI/CoreAI/CombatAI.h
@@ -112,7 +112,7 @@ struct VehicleAI : public CreatureAI
private:
void LoadConditions();
void CheckConditions(uint32 diff);
- ConditionList conditions;
+ bool m_HasConditions;
uint32 m_ConditionsTimer;
bool m_DoDismiss;
uint32 m_DismissTimer;
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/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index fa6db60dac2..56dcbfd38fb 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -89,13 +89,8 @@ void SmartScript::ProcessEventsFor(SMART_EVENT e, Unit* unit, uint32 var0, uint3
continue;
if (eventType == e /*&& (!i->event.event_phase_mask || IsInPhase(i->event.event_phase_mask)) && !(i->event.event_flags & SMART_EVENT_FLAG_NOT_REPEATABLE && i->runOnce)*/)
- {
- ConditionList conds = sConditionMgr->GetConditionsForSmartEvent(i->entryOrGuid, i->event_id, i->source_type);
- ConditionSourceInfo info = ConditionSourceInfo(unit, GetBaseObject());
-
- if (sConditionMgr->IsObjectMeetToConditions(info, conds))
+ if (sConditionMgr->IsObjectMeetingSmartEventConditions(i->entryOrGuid, i->event_id, i->source_type, unit, GetBaseObject()))
ProcessEvent(*i, unit, var0, var1, bvar, spell, gob);
- }
}
}
@@ -1053,16 +1048,21 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- if (!IsCreature(*itr))
- continue;
-
- if ((*itr)->ToUnit()->IsAlive() && IsSmart((*itr)->ToCreature()))
+ if (Creature* target = (*itr)->ToCreature())
{
- ENSURE_AI(SmartAI, (*itr)->ToCreature()->AI())->SetDespawnTime(e.action.forceDespawn.delay + 1); // Next tick
- ENSURE_AI(SmartAI, (*itr)->ToCreature()->AI())->StartDespawn();
+ if (target->IsAlive() && IsSmart(target))
+ {
+ ENSURE_AI(SmartAI, target->AI())->SetDespawnTime(e.action.forceDespawn.delay + 1); // Next tick
+ ENSURE_AI(SmartAI, target->AI())->StartDespawn();
+ }
+ else
+ target->DespawnOrUnsummon(e.action.forceDespawn.delay);
+ }
+ else if (GameObject* goTarget = (*itr)->ToGameObject())
+ {
+ if (IsSmartGO(goTarget))
+ goTarget->SetRespawnTime(e.action.forceDespawn.delay + 1);
}
- else
- (*itr)->ToCreature()->DespawnOrUnsummon(e.action.forceDespawn.delay);
}
delete targets;
@@ -2354,10 +2354,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
void SmartScript::ProcessTimedAction(SmartScriptHolder& e, uint32 const& min, uint32 const& max, Unit* unit, uint32 var0, uint32 var1, bool bvar, const SpellInfo* spell, GameObject* gob)
{
- ConditionList const conds = sConditionMgr->GetConditionsForSmartEvent(e.entryOrGuid, e.event_id, e.source_type);
- ConditionSourceInfo info = ConditionSourceInfo(unit, GetBaseObject());
-
- if (sConditionMgr->IsObjectMeetToConditions(info, conds))
+ if (sConditionMgr->IsObjectMeetingSmartEventConditions(e.entryOrGuid, e.event_id, e.source_type, unit, GetBaseObject()))
ProcessAction(e, unit, var0, var1, bvar, spell, gob);
RecalcTimer(e, min, max);
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/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp
index dc1ecf7c1c3..bab3c00e224 100644
--- a/src/server/game/Battlefield/Battlefield.cpp
+++ b/src/server/game/Battlefield/Battlefield.cpp
@@ -106,7 +106,7 @@ void Battlefield::HandlePlayerLeaveZone(Player* player, uint32 /*zone*/)
if (m_PlayersInWar[player->GetTeamId()].find(player->GetGUID()) != m_PlayersInWar[player->GetTeamId()].end())
{
m_PlayersInWar[player->GetTeamId()].erase(player->GetGUID());
- player->GetSession()->SendBfLeaveMessage(m_Guid);
+ player->GetSession()->SendBfLeaveMessage(GetQueueId(), GetState(), player->GetZoneId() == GetZoneId());
if (Group* group = player->GetGroup()) // Remove the player from the raid group
group->RemoveMember(player->GetGUID());
@@ -210,7 +210,7 @@ void Battlefield::InvitePlayerToQueue(Player* player)
return;
if (m_PlayersInQueue[player->GetTeamId()].size() <= m_MinPlayer || m_PlayersInQueue[GetOtherTeam(player->GetTeamId())].size() >= m_MinPlayer)
- player->GetSession()->SendBfInvitePlayerToQueue(m_Guid);
+ player->GetSession()->SendBfInvitePlayerToQueue(GetQueueId(), GetState());
}
void Battlefield::InvitePlayersInQueueToWar()
@@ -279,7 +279,7 @@ void Battlefield::InvitePlayerToWar(Player* player)
m_PlayersWillBeKick[player->GetTeamId()].erase(player->GetGUID());
m_InvitedPlayers[player->GetTeamId()][player->GetGUID()] = time(NULL) + m_TimeForAcceptInvite;
- player->GetSession()->SendBfInvitePlayerToWar(m_Guid, m_ZoneId, m_TimeForAcceptInvite);
+ player->GetSession()->SendBfInvitePlayerToWar(GetQueueId(), m_ZoneId, m_TimeForAcceptInvite);
}
void Battlefield::InitStalker(uint32 entry, Position const& pos)
@@ -361,7 +361,7 @@ void Battlefield::PlayerAcceptInviteToQueue(Player* player)
// Add player in queue
m_PlayersInQueue[player->GetTeamId()].insert(player->GetGUID());
// Send notification
- player->GetSession()->SendBfQueueInviteResponse(m_Guid, m_ZoneId);
+ player->GetSession()->SendBfQueueInviteResponse(GetQueueId(), m_ZoneId, GetState());
}
// Called in WorldSession::HandleBfExitRequest
@@ -379,7 +379,7 @@ void Battlefield::PlayerAcceptInviteToWar(Player* player)
if (AddOrSetPlayerToCorrectBfGroup(player))
{
- player->GetSession()->SendBfEntered(m_Guid);
+ player->GetSession()->SendBfEntered(GetQueueId(), player->GetZoneId() != GetZoneId(), player->GetTeamId() == GetAttackerTeam());
m_PlayersInWar[player->GetTeamId()].insert(player->GetGUID());
m_InvitedPlayers[player->GetTeamId()].erase(player->GetGUID());
diff --git a/src/server/game/Battlefield/Battlefield.h b/src/server/game/Battlefield/Battlefield.h
index 42d27ed35cf..78c4f7eb77d 100644
--- a/src/server/game/Battlefield/Battlefield.h
+++ b/src/server/game/Battlefield/Battlefield.h
@@ -30,7 +30,16 @@ enum BattlefieldTypes
enum BattlefieldIDs
{
- BATTLEFIELD_BATTLEID_WG = 1 // Wintergrasp battle
+ BATTLEFIELD_BATTLEID_WG = 1, // Wintergrasp battle
+ BATTLEFIELD_BATTLEID_TB = 21, // Tol Barad
+ BATTLEFIELD_BATTLEID_ASHRAN = 24 // Ashran
+};
+
+enum BattlefieldState
+{
+ BATTLEFIELD_INACTIVE = 0,
+ BATTLEFIELD_WARMUP = 1,
+ BATTLEFIELD_IN_PROGRESS = 2
};
enum BattlefieldObjectiveStates
@@ -224,13 +233,15 @@ class Battlefield : public ZoneScript
uint32 GetTypeId() const { return m_TypeId; }
uint32 GetZoneId() const { return m_ZoneId; }
- ObjectGuid GetGUID() const { return m_Guid; }
+ uint64 GetQueueId() const { return MAKE_PAIR64(m_BattleId | 0x20000, 0x1F100000); }
void TeamApplyBuff(TeamId team, uint32 spellId, uint32 spellId2 = 0);
/// Return true if battle is start, false if battle is not started
bool IsWarTime() const { return m_isActive; }
+ int8 GetState() const { return m_isActive ? BATTLEFIELD_IN_PROGRESS : (m_Timer <= m_StartGroupingTimer ? BATTLEFIELD_WARMUP : BATTLEFIELD_INACTIVE); }
+
/// Enable or Disable battlefield
void ToggleBattlefield(bool enable) { m_IsEnabled = enable; }
/// Return if battlefield is enable
@@ -344,8 +355,6 @@ class Battlefield : public ZoneScript
void InitStalker(uint32 entry, Position const& pos);
protected:
- ObjectGuid m_Guid;
-
ObjectGuid StalkerGuid;
uint32 m_Timer; // Global timer for event
bool m_IsEnabled;
diff --git a/src/server/game/Battlefield/BattlefieldMgr.cpp b/src/server/game/Battlefield/BattlefieldMgr.cpp
index 0ce7d3a685c..dd0260326d4 100644
--- a/src/server/game/Battlefield/BattlefieldMgr.cpp
+++ b/src/server/game/Battlefield/BattlefieldMgr.cpp
@@ -122,11 +122,11 @@ Battlefield* BattlefieldMgr::GetBattlefieldByBattleId(uint32 battleId)
return NULL;
}
-Battlefield* BattlefieldMgr::GetBattlefieldByGUID(ObjectGuid guid)
+Battlefield* BattlefieldMgr::GetBattlefieldByQueueId(uint64 queueId)
{
- for (BattlefieldSet::iterator itr = _battlefieldSet.begin(); itr != _battlefieldSet.end(); ++itr)
- if ((*itr)->GetGUID() == guid)
- return *itr;
+ for (Battlefield* bf : _battlefieldSet)
+ if (bf->GetQueueId() == queueId)
+ return bf;
return NULL;
}
diff --git a/src/server/game/Battlefield/BattlefieldMgr.h b/src/server/game/Battlefield/BattlefieldMgr.h
index 456d18d6c72..d370add82a9 100644
--- a/src/server/game/Battlefield/BattlefieldMgr.h
+++ b/src/server/game/Battlefield/BattlefieldMgr.h
@@ -44,7 +44,7 @@ class BattlefieldMgr
// return assigned battlefield
Battlefield* GetBattlefieldToZoneId(uint32 zoneId);
Battlefield* GetBattlefieldByBattleId(uint32 battleId);
- Battlefield* GetBattlefieldByGUID(ObjectGuid guid);
+ Battlefield* GetBattlefieldByQueueId(uint64 queueId);
ZoneScript* GetZoneScript(uint32 zoneId);
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.cpp b/src/server/game/Chat/Chat.cpp
index ff8192e459a..5be39ba60fc 100644
--- a/src/server/game/Chat/Chat.cpp
+++ b/src/server/game/Chat/Chat.cpp
@@ -35,54 +35,16 @@
bool ChatHandler::load_command_table = true;
-// get number of commands in table
-static size_t getCommandTableSize(const ChatCommand* commands)
+std::vector<ChatCommand> const& ChatHandler::getCommandTable()
{
- if (!commands)
- return 0;
- size_t count = 0;
- while (commands[count].Name != NULL)
- count++;
- return count;
-}
-
-// append source command table to target, return number of appended commands
-static size_t appendCommandTable(ChatCommand* target, const ChatCommand* source)
-{
- const size_t count = getCommandTableSize(source);
- if (count)
- memcpy(target, source, count * sizeof(ChatCommand));
- return count;
-}
-
-ChatCommand* ChatHandler::getCommandTable()
-{
- // cache for commands, needed because some commands are loaded dynamically through ScriptMgr
- // cache is never freed and will show as a memory leak in diagnostic tools
- // can't use vector as vector storage is implementation-dependent, eg, there can be alignment gaps between elements
- static ChatCommand* commandTableCache = NULL;
+ static std::vector<ChatCommand> commandTableCache;
if (LoadCommandTable())
{
SetLoadCommandTable(false);
- {
- // count total number of top-level commands
- size_t total = 0;
- std::vector<ChatCommand*> const& dynamic = sScriptMgr->GetChatCommands();
- for (std::vector<ChatCommand*>::const_iterator it = dynamic.begin(); it != dynamic.end(); ++it)
- total += getCommandTableSize(*it);
- total += 1; // ending zero
-
- // cache top-level commands
- size_t added = 0;
- free(commandTableCache);
- commandTableCache = (ChatCommand*)malloc(sizeof(ChatCommand) * total);
- ASSERT(commandTableCache);
- memset(commandTableCache, 0, sizeof(ChatCommand) * total);
- for (std::vector<ChatCommand*>::const_iterator it = dynamic.begin(); it != dynamic.end(); ++it)
- added += appendCommandTable(commandTableCache + added, *it);
- }
+ std::vector<ChatCommand> cmds = sScriptMgr->GetChatCommands();
+ commandTableCache.swap(cmds);
PreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_COMMANDS);
PreparedQueryResult result = WorldDatabase.Query(stmt);
@@ -265,7 +227,7 @@ void ChatHandler::SendSysMessage(uint32 entry)
SendSysMessage(GetTrinityString(entry));
}
-bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, std::string const& fullcmd)
+bool ChatHandler::ExecuteCommandInTable(std::vector<ChatCommand> const& table, const char* text, std::string const& fullcmd)
{
char const* oldtext = text;
std::string cmd = "";
@@ -278,7 +240,7 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, st
while (*text == ' ') ++text;
- for (uint32 i = 0; table[i].Name != NULL; ++i)
+ for (uint32 i = 0; i < table.size(); ++i)
{
if (!hasStringAbbr(table[i].Name, cmd.c_str()))
continue;
@@ -286,7 +248,7 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, st
bool match = false;
if (strlen(table[i].Name) > cmd.length())
{
- for (uint32 j = 0; table[j].Name != NULL; ++j)
+ for (uint32 j = 0; j < table.size(); ++j)
{
if (!hasStringAbbr(table[j].Name, cmd.c_str()))
continue;
@@ -302,7 +264,7 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, st
continue;
// select subcommand from child commands list
- if (table[i].ChildCommands != NULL)
+ if (!table[i].ChildCommands.empty())
{
if (!ExecuteCommandInTable(table[i].ChildCommands, text, fullcmd))
{
@@ -367,7 +329,7 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, st
return false;
}
-bool ChatHandler::SetDataForCommandInTable(ChatCommand* table, char const* text, uint32 permission, std::string const& help, std::string const& fullcommand)
+bool ChatHandler::SetDataForCommandInTable(std::vector<ChatCommand>& table, char const* text, uint32 permission, std::string const& help, std::string const& fullcommand)
{
std::string cmd = "";
@@ -379,14 +341,14 @@ bool ChatHandler::SetDataForCommandInTable(ChatCommand* table, char const* text,
while (*text == ' ') ++text;
- for (uint32 i = 0; table[i].Name != NULL; i++)
+ for (uint32 i = 0; i < table.size(); i++)
{
// for data fill use full explicit command names
if (table[i].Name != cmd)
continue;
// select subcommand from child commands list (including "")
- if (table[i].ChildCommands != NULL)
+ if (!table[i].ChildCommands.empty())
{
if (SetDataForCommandInTable(table[i].ChildCommands, text, permission, help, fullcommand))
return true;
@@ -413,7 +375,7 @@ bool ChatHandler::SetDataForCommandInTable(ChatCommand* table, char const* text,
// in case "" command let process by caller
if (!cmd.empty())
{
- if (table == getCommandTable())
+ if (&table == &getCommandTable())
TC_LOG_ERROR("sql.sql", "Table `command` have not existed command '%s', skip.", cmd.c_str());
else
TC_LOG_ERROR("sql.sql", "Table `command` have not existed subcommand '%s' in command '%s', skip.", cmd.c_str(), fullcommand.c_str());
@@ -519,10 +481,10 @@ Valid examples:
return LinkExtractor(message).IsValidMessage();
}
-bool ChatHandler::ShowHelpForSubCommands(ChatCommand* table, char const* cmd, char const* subcmd)
+bool ChatHandler::ShowHelpForSubCommands(std::vector<ChatCommand> const& table, char const* cmd, char const* subcmd)
{
std::string list;
- for (uint32 i = 0; table[i].Name != NULL; ++i)
+ for (uint32 i = 0; i < table.size(); ++i)
{
// must be available (ignore handler existence for show command with possible available subcommands)
if (!isAvailable(table[i]))
@@ -539,14 +501,14 @@ bool ChatHandler::ShowHelpForSubCommands(ChatCommand* table, char const* cmd, ch
list += table[i].Name;
- if (table[i].ChildCommands)
+ if (!table[i].ChildCommands.empty())
list += " ...";
}
if (list.empty())
return false;
- if (table == getCommandTable())
+ if (&table == &getCommandTable())
{
SendSysMessage(LANG_AVIABLE_CMD);
PSendSysMessage("%s", list.c_str());
@@ -557,11 +519,11 @@ bool ChatHandler::ShowHelpForSubCommands(ChatCommand* table, char const* cmd, ch
return true;
}
-bool ChatHandler::ShowHelpForCommand(ChatCommand* table, const char* cmd)
+bool ChatHandler::ShowHelpForCommand(std::vector<ChatCommand> const& table, const char* cmd)
{
if (*cmd)
{
- for (uint32 i = 0; table[i].Name != NULL; ++i)
+ for (uint32 i = 0; i < table.size(); ++i)
{
// must be available (ignore handler existence for show command with possible available subcommands)
if (!isAvailable(table[i]))
@@ -573,7 +535,7 @@ bool ChatHandler::ShowHelpForCommand(ChatCommand* table, const char* cmd)
// have subcommand
char const* subcmd = (*cmd) ? strtok(NULL, " ") : "";
- if (table[i].ChildCommands && subcmd && *subcmd)
+ if (!table[i].ChildCommands.empty() && subcmd && *subcmd)
{
if (ShowHelpForCommand(table[i].ChildCommands, subcmd))
return true;
@@ -582,7 +544,7 @@ bool ChatHandler::ShowHelpForCommand(ChatCommand* table, const char* cmd)
if (!table[i].Help.empty())
SendSysMessage(table[i].Help.c_str());
- if (table[i].ChildCommands)
+ if (!table[i].ChildCommands.empty())
if (ShowHelpForSubCommands(table[i].ChildCommands, table[i].Name, subcmd ? subcmd : ""))
return true;
@@ -591,7 +553,7 @@ bool ChatHandler::ShowHelpForCommand(ChatCommand* table, const char* cmd)
}
else
{
- for (uint32 i = 0; table[i].Name != NULL; ++i)
+ for (uint32 i = 0; i < table.size(); ++i)
{
// must be available (ignore handler existence for show command with possible available subcommands)
if (!isAvailable(table[i]))
@@ -603,7 +565,7 @@ bool ChatHandler::ShowHelpForCommand(ChatCommand* table, const char* cmd)
if (!table[i].Help.empty())
SendSysMessage(table[i].Help.c_str());
- if (table[i].ChildCommands)
+ if (!table[i].ChildCommands.empty())
if (ShowHelpForSubCommands(table[i].ChildCommands, "", ""))
return true;
@@ -1053,7 +1015,7 @@ void ChatHandler::extractOptFirstArg(char* args, char** arg1, char** arg2)
char* ChatHandler::extractQuotedArg(char* args)
{
- if (!*args)
+ if (!args || !*args)
return NULL;
if (*args == '"')
diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h
index 34faac68980..9dc232c4010 100644
--- a/src/server/game/Chat/Chat.h
+++ b/src/server/game/Chat/Chat.h
@@ -39,13 +39,18 @@ struct GameTele;
class ChatCommand
{
+ typedef bool(*pHandler)(ChatHandler*, char const*);
+
public:
- const char * Name;
- uint32 Permission; // function pointer required correct align (use uint32)
- bool AllowConsole;
- bool (*Handler)(ChatHandler*, const char* args);
- std::string Help;
- ChatCommand* ChildCommands;
+ ChatCommand(char const* name, uint32 permission, bool allowConsole, pHandler handler, std::string help, std::vector<ChatCommand> childCommands = std::vector<ChatCommand>())
+ : 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)
+ bool AllowConsole;
+ pHandler Handler;
+ std::string Help;
+ std::vector<ChatCommand> ChildCommands;
};
class ChatHandler
@@ -83,7 +88,7 @@ class ChatHandler
bool ParseCommands(const char* text);
- static ChatCommand* getCommandTable();
+ static std::vector<ChatCommand> const& getCommandTable();
bool isValidChatMessage(const char* msg);
void SendGlobalSysMessage(const char *str);
@@ -134,12 +139,12 @@ class ChatHandler
static bool LoadCommandTable() { return load_command_table; }
static void SetLoadCommandTable(bool val) { load_command_table = val; }
- bool ShowHelpForCommand(ChatCommand* table, const char* cmd);
+ bool ShowHelpForCommand(std::vector<ChatCommand> const& table, const char* cmd);
protected:
explicit ChatHandler() : m_session(NULL), sentErrorMessage(false) { } // for CLI subclass
- static bool SetDataForCommandInTable(ChatCommand* table, const char* text, uint32 permission, std::string const& help, std::string const& fullcommand);
- bool ExecuteCommandInTable(ChatCommand* table, const char* text, std::string const& fullcmd);
- bool ShowHelpForSubCommands(ChatCommand* table, char const* cmd, char const* subcmd);
+ static bool SetDataForCommandInTable(std::vector<ChatCommand>& table, const char* text, uint32 permission, std::string const& help, std::string const& fullcommand);
+ bool ExecuteCommandInTable(std::vector<ChatCommand> const& table, const char* text, std::string const& fullcmd);
+ bool ShowHelpForSubCommands(std::vector<ChatCommand> const& table, char const* cmd, char const* subcmd);
private:
WorldSession* m_session; // != NULL for chat command call and NULL for CLI command
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index dd3f3244f5b..2c31a61f5cd 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -28,7 +28,7 @@
#include "SpellAuras.h"
#include "SpellMgr.h"
-char const* ConditionMgr::StaticSourceTypeData[CONDITION_SOURCE_TYPE_MAX] =
+char const* const ConditionMgr::StaticSourceTypeData[CONDITION_SOURCE_TYPE_MAX] =
{
"None",
"Creature Loot",
@@ -107,7 +107,7 @@ ConditionMgr::ConditionTypeInfo const ConditionMgr::StaticConditionTypeData[COND
// Checks if object meets the condition
// Can have CONDITION_SOURCE_TYPE_NONE && !mReferenceId if called from a special event (ie: SmartAI)
-bool Condition::Meets(ConditionSourceInfo& sourceInfo)
+bool Condition::Meets(ConditionSourceInfo& sourceInfo) const
{
ASSERT(ConditionTarget < MAX_CONDITION_TARGETS);
WorldObject* object = sourceInfo.mConditionTargets[ConditionTarget];
@@ -326,7 +326,7 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo)
Unit* unit = object->ToUnit();
if (toUnit && unit)
{
- switch (ConditionValue2)
+ switch (static_cast<RelationType>(ConditionValue2))
{
case RELATION_SELF:
condMeets = unit == toUnit;
@@ -346,6 +346,8 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo)
case RELATION_CREATED_BY:
condMeets = unit->GetCreatorGUID() == toUnit->GetGUID();
break;
+ default:
+ break;
}
}
}
@@ -452,7 +454,7 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo)
return condMeets && script;
}
-uint32 Condition::GetSearcherTypeMaskForCondition()
+uint32 Condition::GetSearcherTypeMaskForCondition() const
{
// build mask of types for which condition can return true
// this is used for speeding up gridsearches
@@ -622,7 +624,7 @@ uint32 Condition::GetSearcherTypeMaskForCondition()
return mask;
}
-uint32 Condition::GetMaxAvailableConditionTargets()
+uint32 Condition::GetMaxAvailableConditionTargets() const
{
// returns number of targets which are available for given source type
switch (SourceType)
@@ -678,114 +680,105 @@ ConditionMgr::~ConditionMgr()
Clean();
}
-ConditionList ConditionMgr::GetConditionReferences(uint32 refId)
-{
- ConditionList conditions;
- ConditionReferenceContainer::const_iterator ref = ConditionReferenceStore.find(refId);
- if (ref != ConditionReferenceStore.end())
- conditions = (*ref).second;
- return conditions;
-}
-
-uint32 ConditionMgr::GetSearcherTypeMaskForConditionList(ConditionList const& conditions)
+uint32 ConditionMgr::GetSearcherTypeMaskForConditionList(ConditionContainer const& conditions) const
{
if (conditions.empty())
return GRID_MAP_TYPE_MASK_ALL;
// groupId, typeMask
- std::map<uint32, uint32> ElseGroupStore;
- for (ConditionList::const_iterator i = conditions.begin(); i != conditions.end(); ++i)
+ std::map<uint32, uint32> elseGroupSearcherTypeMasks;
+ for (ConditionContainer::const_iterator i = conditions.begin(); i != conditions.end(); ++i)
{
// no point of having not loaded conditions in list
ASSERT((*i)->isLoaded() && "ConditionMgr::GetSearcherTypeMaskForConditionList - not yet loaded condition found in list");
- std::map<uint32, uint32>::const_iterator itr = ElseGroupStore.find((*i)->ElseGroup);
+ std::map<uint32, uint32>::const_iterator itr = elseGroupSearcherTypeMasks.find((*i)->ElseGroup);
// group not filled yet, fill with widest mask possible
- if (itr == ElseGroupStore.end())
- ElseGroupStore[(*i)->ElseGroup] = GRID_MAP_TYPE_MASK_ALL;
+ if (itr == elseGroupSearcherTypeMasks.end())
+ elseGroupSearcherTypeMasks[(*i)->ElseGroup] = GRID_MAP_TYPE_MASK_ALL;
// no point of checking anymore, empty mask
- else if (!(*itr).second)
+ else if (!itr->second)
continue;
if ((*i)->ReferenceId) // handle reference
{
ConditionReferenceContainer::const_iterator ref = ConditionReferenceStore.find((*i)->ReferenceId);
ASSERT(ref != ConditionReferenceStore.end() && "ConditionMgr::GetSearcherTypeMaskForConditionList - incorrect reference");
- ElseGroupStore[(*i)->ElseGroup] &= GetSearcherTypeMaskForConditionList((*ref).second);
+ elseGroupSearcherTypeMasks[(*i)->ElseGroup] &= GetSearcherTypeMaskForConditionList((*ref).second);
}
else // handle normal condition
{
// object will match conditions in one ElseGroupStore only when it matches all of them
// so, let's find a smallest possible mask which satisfies all conditions
- ElseGroupStore[(*i)->ElseGroup] &= (*i)->GetSearcherTypeMaskForCondition();
+ elseGroupSearcherTypeMasks[(*i)->ElseGroup] &= (*i)->GetSearcherTypeMaskForCondition();
}
}
// object will match condition when one of the checks in ElseGroupStore is matching
// so, let's include all possible masks
uint32 mask = 0;
- for (std::map<uint32, uint32>::const_iterator i = ElseGroupStore.begin(); i != ElseGroupStore.end(); ++i)
+ for (std::map<uint32, uint32>::const_iterator i = elseGroupSearcherTypeMasks.begin(); i != elseGroupSearcherTypeMasks.end(); ++i)
mask |= i->second;
return mask;
}
-bool ConditionMgr::IsObjectMeetToConditionList(ConditionSourceInfo& sourceInfo, ConditionList const& conditions)
+bool ConditionMgr::IsObjectMeetToConditionList(ConditionSourceInfo& sourceInfo, ConditionContainer const& conditions) const
{
// groupId, groupCheckPassed
- std::map<uint32, bool> ElseGroupStore;
- for (ConditionList::const_iterator i = conditions.begin(); i != conditions.end(); ++i)
+ std::map<uint32, bool> elseGroupStore;
+ for (Condition const* condition : conditions)
{
- TC_LOG_DEBUG("condition", "ConditionMgr::IsPlayerMeetToConditionList %s val1: %u", (*i)->ToString().c_str(), (*i)->ConditionValue1);
- if ((*i)->isLoaded())
+ TC_LOG_DEBUG("condition", "ConditionMgr::IsPlayerMeetToConditionList %s val1: %u", condition->ToString().c_str(), condition->ConditionValue1);
+ if (condition->isLoaded())
{
//! Find ElseGroup in ElseGroupStore
- std::map<uint32, bool>::const_iterator itr = ElseGroupStore.find((*i)->ElseGroup);
+ std::map<uint32, bool>::const_iterator itr = elseGroupStore.find(condition->ElseGroup);
//! If not found, add an entry in the store and set to true (placeholder)
- if (itr == ElseGroupStore.end())
- ElseGroupStore[(*i)->ElseGroup] = true;
+ if (itr == elseGroupStore.end())
+ elseGroupStore[condition->ElseGroup] = true;
else if (!(*itr).second)
continue;
- if ((*i)->ReferenceId)//handle reference
+ if (condition->ReferenceId)//handle reference
{
- ConditionReferenceContainer::const_iterator ref = ConditionReferenceStore.find((*i)->ReferenceId);
+ ConditionReferenceContainer::const_iterator ref = ConditionReferenceStore.find(condition->ReferenceId);
if (ref != ConditionReferenceStore.end())
{
- if (!IsObjectMeetToConditionList(sourceInfo, (*ref).second))
- ElseGroupStore[(*i)->ElseGroup] = false;
+ if (!IsObjectMeetToConditionList(sourceInfo, ref->second))
+ elseGroupStore[condition->ElseGroup] = false;
}
else
{
TC_LOG_DEBUG("condition", "ConditionMgr::IsPlayerMeetToConditionList %s Reference template -%u not found",
- (*i)->ToString().c_str(), (*i)->ReferenceId); // checked at loading, should never happen
+ condition->ToString().c_str(), condition->ReferenceId); // checked at loading, should never happen
}
}
else //handle normal condition
{
- if (!(*i)->Meets(sourceInfo))
- ElseGroupStore[(*i)->ElseGroup] = false;
+ if (!condition->Meets(sourceInfo))
+ elseGroupStore[condition->ElseGroup] = false;
}
}
}
- for (std::map<uint32, bool>::const_iterator i = ElseGroupStore.begin(); i != ElseGroupStore.end(); ++i)
+ for (std::map<uint32, bool>::const_iterator i = elseGroupStore.begin(); i != elseGroupStore.end(); ++i)
if (i->second)
return true;
return false;
}
-bool ConditionMgr::IsObjectMeetToConditions(WorldObject* object, ConditionList const& conditions)
+bool ConditionMgr::IsObjectMeetToConditions(WorldObject* object, ConditionContainer const& conditions) const
{
ConditionSourceInfo srcInfo = ConditionSourceInfo(object);
return IsObjectMeetToConditions(srcInfo, conditions);
}
-bool ConditionMgr::IsObjectMeetToConditions(WorldObject* object1, WorldObject* object2, ConditionList const& conditions)
+bool ConditionMgr::IsObjectMeetToConditions(WorldObject* object1, WorldObject* object2, ConditionContainer const& conditions) const
{
ConditionSourceInfo srcInfo = ConditionSourceInfo(object1, object2);
return IsObjectMeetToConditions(srcInfo, conditions);
}
-bool ConditionMgr::IsObjectMeetToConditions(ConditionSourceInfo& sourceInfo, ConditionList const& conditions)
+bool ConditionMgr::IsObjectMeetToConditions(ConditionSourceInfo& sourceInfo, ConditionContainer const& conditions) const
{
if (conditions.empty())
return true;
@@ -814,7 +807,8 @@ bool ConditionMgr::CanHaveSourceGroupSet(ConditionSourceType sourceType)
sourceType == CONDITION_SOURCE_TYPE_SPELL_IMPLICIT_TARGET ||
sourceType == CONDITION_SOURCE_TYPE_SPELL_CLICK_EVENT ||
sourceType == CONDITION_SOURCE_TYPE_SMART_EVENT ||
- sourceType == CONDITION_SOURCE_TYPE_NPC_VENDOR);
+ sourceType == CONDITION_SOURCE_TYPE_NPC_VENDOR ||
+ sourceType == CONDITION_SOURCE_TYPE_PHASE);
}
bool ConditionMgr::CanHaveSourceIdSet(ConditionSourceType sourceType)
@@ -822,87 +816,114 @@ bool ConditionMgr::CanHaveSourceIdSet(ConditionSourceType sourceType)
return (sourceType == CONDITION_SOURCE_TYPE_SMART_EVENT);
}
-ConditionList ConditionMgr::GetConditionsForNotGroupedEntry(ConditionSourceType sourceType, uint32 entry)
+bool ConditionMgr::IsObjectMeetingNotGroupedConditions(ConditionSourceType sourceType, uint32 entry, ConditionSourceInfo& sourceInfo) const
{
- ConditionList spellCond;
if (sourceType > CONDITION_SOURCE_TYPE_NONE && sourceType < CONDITION_SOURCE_TYPE_MAX)
{
- ConditionContainer::const_iterator itr = ConditionStore.find(sourceType);
- if (itr != ConditionStore.end())
+ ConditionsByEntryMap::const_iterator i = ConditionStore[sourceType].find(entry);
+ if (i != ConditionStore[sourceType].end())
{
- ConditionTypeContainer::const_iterator i = (*itr).second.find(entry);
- if (i != (*itr).second.end())
- {
- spellCond = (*i).second;
- TC_LOG_DEBUG("condition", "GetConditionsForNotGroupedEntry: found conditions for type %u and entry %u", uint32(sourceType), entry);
- }
+ TC_LOG_DEBUG("condition", "GetConditionsForNotGroupedEntry: found conditions for type %u and entry %u", uint32(sourceType), entry);
+ return IsObjectMeetToConditions(sourceInfo, i->second);
}
}
- return spellCond;
+
+ return true;
+}
+
+bool ConditionMgr::IsObjectMeetingNotGroupedConditions(ConditionSourceType sourceType, uint32 entry, WorldObject* target0, WorldObject* target1 /*= nullptr*/, WorldObject* target2 /*= nullptr*/) const
+{
+ ConditionSourceInfo conditionSource(target0, target1, target2);
+ return IsObjectMeetingNotGroupedConditions(sourceType, entry, conditionSource);
}
-ConditionList ConditionMgr::GetConditionsForSpellClickEvent(uint32 creatureId, uint32 spellId)
+bool ConditionMgr::HasConditionsForNotGroupedEntry(ConditionSourceType sourceType, uint32 entry) const
{
- ConditionList cond;
- CreatureSpellConditionContainer::const_iterator itr = SpellClickEventConditionStore.find(creatureId);
+ ConditionContainer spellCond;
+ if (sourceType > CONDITION_SOURCE_TYPE_NONE && sourceType < CONDITION_SOURCE_TYPE_MAX)
+ if (ConditionStore[sourceType].find(entry) != ConditionStore[sourceType].end())
+ return true;
+
+ return false;
+}
+
+bool ConditionMgr::IsObjectMeetingSpellClickConditions(uint32 creatureId, uint32 spellId, WorldObject* clicker, WorldObject* target) const
+{
+ ConditionEntriesByCreatureIdMap::const_iterator itr = SpellClickEventConditionStore.find(creatureId);
if (itr != SpellClickEventConditionStore.end())
{
- ConditionTypeContainer::const_iterator i = (*itr).second.find(spellId);
- if (i != (*itr).second.end())
+ ConditionsByEntryMap::const_iterator i = itr->second.find(spellId);
+ if (i != itr->second.end())
{
- cond = (*i).second;
TC_LOG_DEBUG("condition", "GetConditionsForSpellClickEvent: found conditions for SpellClickEvent entry %u spell %u", creatureId, spellId);
+ ConditionSourceInfo sourceInfo(clicker, target);
+ return IsObjectMeetToConditions(sourceInfo, i->second);
}
}
- return cond;
+ return true;
}
-ConditionList ConditionMgr::GetConditionsForVehicleSpell(uint32 creatureId, uint32 spellId)
+ConditionContainer const* ConditionMgr::GetConditionsForSpellClickEvent(uint32 creatureId, uint32 spellId) const
{
- ConditionList cond;
- CreatureSpellConditionContainer::const_iterator itr = VehicleSpellConditionStore.find(creatureId);
+ ConditionEntriesByCreatureIdMap::const_iterator itr = SpellClickEventConditionStore.find(creatureId);
+ if (itr != SpellClickEventConditionStore.end())
+ {
+ ConditionsByEntryMap::const_iterator i = itr->second.find(spellId);
+ if (i != itr->second.end())
+ {
+ TC_LOG_DEBUG("condition", "GetConditionsForSpellClickEvent: found conditions for SpellClickEvent entry %u spell %u", creatureId, spellId);
+ return &i->second;
+ }
+ }
+ return nullptr;
+}
+
+bool ConditionMgr::IsObjectMeetingVehicleSpellConditions(uint32 creatureId, uint32 spellId, Player* player, Unit* vehicle) const
+{
+ ConditionEntriesByCreatureIdMap::const_iterator itr = VehicleSpellConditionStore.find(creatureId);
if (itr != VehicleSpellConditionStore.end())
{
- ConditionTypeContainer::const_iterator i = (*itr).second.find(spellId);
- if (i != (*itr).second.end())
+ ConditionsByEntryMap::const_iterator i = itr->second.find(spellId);
+ if (i != itr->second.end())
{
- cond = (*i).second;
TC_LOG_DEBUG("condition", "GetConditionsForVehicleSpell: found conditions for Vehicle entry %u spell %u", creatureId, spellId);
+ ConditionSourceInfo sourceInfo(player, vehicle);
+ return IsObjectMeetToConditions(sourceInfo, i->second);
}
}
- return cond;
+ return true;
}
-ConditionList ConditionMgr::GetConditionsForSmartEvent(int64 entryOrGuid, uint32 eventId, uint32 sourceType)
+bool ConditionMgr::IsObjectMeetingSmartEventConditions(int64 entryOrGuid, uint32 eventId, uint32 sourceType, Unit* unit, WorldObject* baseObject) const
{
- ConditionList cond;
SmartEventConditionContainer::const_iterator itr = SmartEventConditionStore.find(std::make_pair(entryOrGuid, sourceType));
if (itr != SmartEventConditionStore.end())
{
- ConditionTypeContainer::const_iterator i = (*itr).second.find(eventId + 1);
- if (i != (*itr).second.end())
+ ConditionsByEntryMap::const_iterator i = itr->second.find(eventId + 1);
+ if (i != itr->second.end())
{
- cond = (*i).second;
TC_LOG_DEBUG("condition", "GetConditionsForSmartEvent: found conditions for Smart Event entry or guid " SI64FMTD " eventId %u", entryOrGuid, eventId);
+ ConditionSourceInfo sourceInfo(unit, baseObject);
+ return IsObjectMeetToConditions(sourceInfo, i->second);
}
}
- return cond;
+ return true;
}
-ConditionList ConditionMgr::GetConditionsForNpcVendorEvent(uint32 creatureId, uint32 itemId)
+bool ConditionMgr::IsObjectMeetingVendorItemConditions(uint32 creatureId, uint32 itemId, Player* player, Creature* vendor) const
{
- ConditionList cond;
- NpcVendorConditionContainer::const_iterator itr = NpcVendorConditionContainerStore.find(creatureId);
+ ConditionEntriesByCreatureIdMap::const_iterator itr = NpcVendorConditionContainerStore.find(creatureId);
if (itr != NpcVendorConditionContainerStore.end())
{
- ConditionTypeContainer::const_iterator i = (*itr).second.find(itemId);
+ ConditionsByEntryMap::const_iterator i = (*itr).second.find(itemId);
if (i != (*itr).second.end())
{
- cond = (*i).second;
TC_LOG_DEBUG("condition", "GetConditionsForNpcVendorEvent: found conditions for creature entry %u item %u", creatureId, itemId);
+ ConditionSourceInfo sourceInfo(player, vendor);
+ return IsObjectMeetToConditions(sourceInfo, i->second);
}
}
- return cond;
+ return true;
}
void ConditionMgr::LoadConditions(bool isReload)
@@ -934,6 +955,18 @@ void ConditionMgr::LoadConditions(bool isReload)
TC_LOG_INFO("misc", "Re-Loading `gossip_menu_option` Table for Conditions!");
sObjectMgr->LoadGossipMenuItems();
sSpellMgr->UnloadSpellInfoImplicitTargetConditionLists();
+
+ TC_LOG_INFO("misc", "Re-Loading `terrain_phase_info` Table for Conditions!");
+ sObjectMgr->LoadTerrainPhaseInfo();
+
+ TC_LOG_INFO("misc", "Re-Loading `terrain_swap_defaults` Table for Conditions!");
+ sObjectMgr->LoadTerrainSwapDefaults();
+
+ TC_LOG_INFO("misc", "Re-Loading `terrain_worldmap` Table for Conditions!");
+ sObjectMgr->LoadTerrainWorldMaps();
+
+ TC_LOG_INFO("misc", "Re-Loading `phase_area` Table for Conditions!");
+ sObjectMgr->LoadAreaPhases();
}
QueryResult result = WorldDatabase.Query("SELECT SourceTypeOrReferenceId, SourceGroup, SourceEntry, SourceId, ElseGroup, ConditionTypeOrReference, ConditionTarget, "
@@ -965,7 +998,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);
@@ -1010,14 +1043,8 @@ void ConditionMgr::LoadConditions(bool isReload)
if (iSourceTypeOrReferenceId < 0)//it is a reference template
{
- uint32 uRefId = abs(iSourceTypeOrReferenceId);
- if (ConditionReferenceStore.find(uRefId) == ConditionReferenceStore.end())//make sure we have a list for our conditions, based on reference id
- {
- ConditionList mCondList;
- ConditionReferenceStore[uRefId] = mCondList;
- }
- ConditionReferenceStore[uRefId].push_back(cond);//add to reference storage
- count++;
+ ConditionReferenceStore[std::abs(iSourceTypeOrReferenceId)].push_back(cond);//add to reference storage
+ ++count;
continue;
}//end of reference templates
@@ -1135,6 +1162,9 @@ void ConditionMgr::LoadConditions(bool isReload)
++count;
continue;
}
+ case CONDITION_SOURCE_TYPE_PHASE:
+ valid = addToPhases(cond);
+ break;
default:
break;
}
@@ -1151,22 +1181,19 @@ void ConditionMgr::LoadConditions(bool isReload)
}
continue;
}
-
- //handle not grouped conditions
- //make sure we have a storage list for our SourceType
- if (ConditionStore.find(cond->SourceType) == ConditionStore.end())
+ else if (cond->SourceType == CONDITION_SOURCE_TYPE_TERRAIN_SWAP)
{
- ConditionTypeContainer mTypeMap;
- ConditionStore[cond->SourceType] = mTypeMap;//add new empty list for SourceType
- }
+ if (!addToTerrainSwaps(cond))
+ {
+ delete cond;
+ continue;
+ }
- //make sure we have a condition list for our SourceType's entry
- if (ConditionStore[cond->SourceType].find(cond->SourceEntry) == ConditionStore[cond->SourceType].end())
- {
- ConditionList mCondList;
- ConditionStore[cond->SourceType][cond->SourceEntry] = mCondList;
+ ++count;
+ continue;
}
+ //handle not grouped conditions
//add new Condition to storage based on Type/Entry
ConditionStore[cond->SourceType][cond->SourceEntry].push_back(cond);
++count;
@@ -1176,7 +1203,7 @@ void ConditionMgr::LoadConditions(bool isReload)
TC_LOG_INFO("server.loading", ">> Loaded %u conditions in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
}
-bool ConditionMgr::addToLootTemplate(Condition* cond, LootTemplate* loot)
+bool ConditionMgr::addToLootTemplate(Condition* cond, LootTemplate* loot) const
{
if (!loot)
{
@@ -1191,7 +1218,7 @@ bool ConditionMgr::addToLootTemplate(Condition* cond, LootTemplate* loot)
return false;
}
-bool ConditionMgr::addToGossipMenus(Condition* cond)
+bool ConditionMgr::addToGossipMenus(Condition* cond) const
{
GossipMenusMapBoundsNonConst pMenuBounds = sObjectMgr->GetGossipMenusMapBoundsNonConst(cond->SourceGroup);
@@ -1211,7 +1238,7 @@ bool ConditionMgr::addToGossipMenus(Condition* cond)
return false;
}
-bool ConditionMgr::addToGossipMenuItems(Condition* cond)
+bool ConditionMgr::addToGossipMenuItems(Condition* cond) const
{
GossipMenuItemsMapBoundsNonConst pMenuItemBounds = sObjectMgr->GetGossipMenuItemsMapBoundsNonConst(cond->SourceGroup);
if (pMenuItemBounds.first != pMenuItemBounds.second)
@@ -1230,7 +1257,7 @@ bool ConditionMgr::addToGossipMenuItems(Condition* cond)
return false;
}
-bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond)
+bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond) const
{
uint32 conditionEffMask = cond->SourceGroup;
SpellInfo* spellInfo = const_cast<SpellInfo*>(sSpellMgr->AssertSpellInfo(cond->SourceEntry));
@@ -1257,7 +1284,7 @@ bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond)
// build new shared mask with found effect
uint32 sharedMask = 1 << i;
- ConditionList* cmp = effect->ImplicitTargetConditions;
+ ConditionContainer* cmp = effect->ImplicitTargetConditions;
for (uint8 effIndex = i + 1; effIndex < MAX_SPELL_EFFECTS; ++effIndex)
{
SpellEffectInfo const* inner = spellInfo->GetEffect(DIFFICULTY_NONE, effIndex);
@@ -1289,7 +1316,7 @@ bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond)
continue;
// get shared data
- ConditionList* sharedList = effect->ImplicitTargetConditions;
+ ConditionContainer* sharedList = effect->ImplicitTargetConditions;
// there's already data entry for that sharedMask
if (sharedList)
@@ -1306,7 +1333,7 @@ bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond)
else
{
// add new list, create new shared mask
- sharedList = new ConditionList();
+ sharedList = new ConditionContainer();
bool assigned = false;
for (uint8 i = firstEffIndex; i < MAX_SPELL_EFFECTS; ++i)
{
@@ -1334,7 +1361,63 @@ bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond)
return true;
}
-bool ConditionMgr::isSourceTypeValid(Condition* cond)
+static bool addToTerrainSwapStore(TerrainPhaseInfo& swaps, Condition* cond)
+{
+ bool added = false;
+ for (auto itr = swaps.begin(); itr != swaps.end(); ++itr)
+ for (auto it2 = itr->second.begin(); it2 != itr->second.end(); ++it2)
+ if (it2->Id == uint32(cond->SourceEntry))
+ it2->Conditions.push_back(cond), added = true;
+
+ return added;
+}
+
+bool ConditionMgr::addToTerrainSwaps(Condition* cond) const
+{
+ bool added = false;
+ added = addToTerrainSwapStore(sObjectMgr->GetPhaseTerrainSwapStoreForLoading(), cond);
+ added = addToTerrainSwapStore(sObjectMgr->GetDefaultTerrainSwapStoreForLoading(), cond) || added;
+ if (added)
+ return true;
+
+ TC_LOG_ERROR("sql.sql", "%s No terrain swap with map %u exists.", cond->ToString().c_str(), cond->SourceEntry);
+ return false;
+}
+
+bool ConditionMgr::addToPhases(Condition* cond) const
+{
+ if (!cond->SourceEntry)
+ {
+ PhaseInfo& p = sObjectMgr->GetAreaPhasesForLoading();
+ for (auto phaseItr = p.begin(); phaseItr != p.end(); ++phaseItr)
+ {
+ for (PhaseInfoStruct& phase : phaseItr->second)
+ {
+ if (phase.Id == cond->SourceGroup)
+ {
+ phase.Conditions.push_back(cond);
+ return true;
+ }
+ }
+ }
+ }
+ else if (std::vector<PhaseInfoStruct>* phases = sObjectMgr->GetPhasesForAreaForLoading(cond->SourceEntry))
+ {
+ for (PhaseInfoStruct& phase : *phases)
+ {
+ if (phase.Id == cond->SourceGroup)
+ {
+ phase.Conditions.push_back(cond);
+ return true;
+ }
+ }
+ }
+
+ TC_LOG_ERROR("sql.sql", "%s Area %u does not have phase %u.", cond->ToString().c_str(), cond->SourceGroup, cond->SourceEntry);
+ return false;
+}
+
+bool ConditionMgr::isSourceTypeValid(Condition* cond) const
{
if (cond->SourceType == CONDITION_SOURCE_TYPE_NONE || cond->SourceType >= CONDITION_SOURCE_TYPE_MAX)
{
@@ -1674,12 +1757,28 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond)
}
break;
}
+ case CONDITION_SOURCE_TYPE_TERRAIN_SWAP:
+ {
+ if (!sMapStore.LookupEntry(cond->SourceEntry))
+ {
+ TC_LOG_ERROR("sql.sql", "%s SourceEntry in `condition` table, does not exist in Map.dbc, ignoring.", cond->ToString().c_str());
+ return false;
+ }
+ break;
+ }
+ case CONDITION_SOURCE_TYPE_PHASE:
+ {
+ if (cond->SourceEntry && !GetAreaEntryByAreaID(cond->SourceEntry))
+ {
+ TC_LOG_ERROR("sql.sql", "%s SourceEntry in `condition` table, does not exist in AreaTable.dbc, ignoring.", cond->ToString().c_str());
+ return false;
+ }
+ break;
+ }
case CONDITION_SOURCE_TYPE_GOSSIP_MENU:
case CONDITION_SOURCE_TYPE_GOSSIP_MENU_OPTION:
case CONDITION_SOURCE_TYPE_SMART_EVENT:
case CONDITION_SOURCE_TYPE_NONE:
- case CONDITION_SOURCE_TYPE_TERRAIN_SWAP:
- case CONDITION_SOURCE_TYPE_PHASE:
default:
break;
}
@@ -1687,7 +1786,7 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond)
return true;
}
-bool ConditionMgr::isConditionTypeValid(Condition* cond)
+bool ConditionMgr::isConditionTypeValid(Condition* cond) const
{
if (cond->ConditionType == CONDITION_NONE || cond->ConditionType >= CONDITION_MAX)
{
@@ -2154,81 +2253,50 @@ void ConditionMgr::LogUselessConditionValue(Condition* cond, uint8 index, uint32
void ConditionMgr::Clean()
{
for (ConditionReferenceContainer::iterator itr = ConditionReferenceStore.begin(); itr != ConditionReferenceStore.end(); ++itr)
- {
- for (ConditionList::const_iterator it = itr->second.begin(); it != itr->second.end(); ++it)
+ for (ConditionContainer::const_iterator it = itr->second.begin(); it != itr->second.end(); ++it)
delete *it;
- itr->second.clear();
- }
ConditionReferenceStore.clear();
- for (ConditionContainer::iterator itr = ConditionStore.begin(); itr != ConditionStore.end(); ++itr)
+ for (uint32 i = 0; i < CONDITION_SOURCE_TYPE_MAX; ++i)
{
- for (ConditionTypeContainer::iterator it = itr->second.begin(); it != itr->second.end(); ++it)
- {
- for (ConditionList::const_iterator i = it->second.begin(); i != it->second.end(); ++i)
- delete *i;
- it->second.clear();
- }
- itr->second.clear();
- }
+ for (ConditionsByEntryMap::iterator it = ConditionStore[i].begin(); it != ConditionStore[i].end(); ++it)
+ for (ConditionContainer::const_iterator itr = it->second.begin(); itr != it->second.end(); ++itr)
+ delete *itr;
- ConditionStore.clear();
+ ConditionStore[i].clear();
+ }
- for (CreatureSpellConditionContainer::iterator itr = VehicleSpellConditionStore.begin(); itr != VehicleSpellConditionStore.end(); ++itr)
- {
- for (ConditionTypeContainer::iterator it = itr->second.begin(); it != itr->second.end(); ++it)
- {
- for (ConditionList::const_iterator i = it->second.begin(); i != it->second.end(); ++i)
+ for (ConditionEntriesByCreatureIdMap::iterator itr = VehicleSpellConditionStore.begin(); itr != VehicleSpellConditionStore.end(); ++itr)
+ for (ConditionsByEntryMap::iterator it = itr->second.begin(); it != itr->second.end(); ++it)
+ for (ConditionContainer::const_iterator i = it->second.begin(); i != it->second.end(); ++i)
delete *i;
- it->second.clear();
- }
- itr->second.clear();
- }
VehicleSpellConditionStore.clear();
for (SmartEventConditionContainer::iterator itr = SmartEventConditionStore.begin(); itr != SmartEventConditionStore.end(); ++itr)
- {
- for (ConditionTypeContainer::iterator it = itr->second.begin(); it != itr->second.end(); ++it)
- {
- for (ConditionList::const_iterator i = it->second.begin(); i != it->second.end(); ++i)
+ for (ConditionsByEntryMap::iterator it = itr->second.begin(); it != itr->second.end(); ++it)
+ for (ConditionContainer::const_iterator i = it->second.begin(); i != it->second.end(); ++i)
delete *i;
- it->second.clear();
- }
- itr->second.clear();
- }
SmartEventConditionStore.clear();
- for (CreatureSpellConditionContainer::iterator itr = SpellClickEventConditionStore.begin(); itr != SpellClickEventConditionStore.end(); ++itr)
- {
- for (ConditionTypeContainer::iterator it = itr->second.begin(); it != itr->second.end(); ++it)
- {
- for (ConditionList::const_iterator i = it->second.begin(); i != it->second.end(); ++i)
+ for (ConditionEntriesByCreatureIdMap::iterator itr = SpellClickEventConditionStore.begin(); itr != SpellClickEventConditionStore.end(); ++itr)
+ for (ConditionsByEntryMap::iterator it = itr->second.begin(); it != itr->second.end(); ++it)
+ for (ConditionContainer::const_iterator i = it->second.begin(); i != it->second.end(); ++i)
delete *i;
- it->second.clear();
- }
- itr->second.clear();
- }
SpellClickEventConditionStore.clear();
- for (NpcVendorConditionContainer::iterator itr = NpcVendorConditionContainerStore.begin(); itr != NpcVendorConditionContainerStore.end(); ++itr)
- {
- for (ConditionTypeContainer::iterator it = itr->second.begin(); it != itr->second.end(); ++it)
- {
- for (ConditionList::const_iterator i = it->second.begin(); i != it->second.end(); ++i)
+ for (ConditionEntriesByCreatureIdMap::iterator itr = NpcVendorConditionContainerStore.begin(); itr != NpcVendorConditionContainerStore.end(); ++itr)
+ for (ConditionsByEntryMap::iterator it = itr->second.begin(); it != itr->second.end(); ++it)
+ for (ConditionContainer::const_iterator i = it->second.begin(); i != it->second.end(); ++i)
delete *i;
- it->second.clear();
- }
- itr->second.clear();
- }
NpcVendorConditionContainerStore.clear();
// this is a BIG hack, feel free to fix it if you can figure out the ConditionMgr ;)
- for (std::list<Condition*>::const_iterator itr = AllocatedMemoryStore.begin(); itr != AllocatedMemoryStore.end(); ++itr)
+ for (std::vector<Condition*>::const_iterator itr = AllocatedMemoryStore.begin(); itr != AllocatedMemoryStore.end(); ++itr)
delete *itr;
AllocatedMemoryStore.clear();
diff --git a/src/server/game/Conditions/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h
index 3549b1f2515..d33b7edffce 100644
--- a/src/server/game/Conditions/ConditionMgr.h
+++ b/src/server/game/Conditions/ConditionMgr.h
@@ -19,12 +19,9 @@
#ifndef TRINITY_CONDITIONMGR_H
#define TRINITY_CONDITIONMGR_H
-#include "Define.h"
-#include "Errors.h"
-#include <list>
-#include <map>
-#include <string>
+#include "Common.h"
+class Creature;
class Player;
class Unit;
class WorldObject;
@@ -183,13 +180,13 @@ enum MaxConditionTargets
struct ConditionSourceInfo
{
WorldObject* mConditionTargets[MAX_CONDITION_TARGETS]; // an array of targets available for conditions
- Condition* mLastFailedCondition;
- ConditionSourceInfo(WorldObject* target0, WorldObject* target1 = NULL, WorldObject* target2 = NULL)
+ Condition const* mLastFailedCondition;
+ ConditionSourceInfo(WorldObject* target0, WorldObject* target1 = nullptr, WorldObject* target2 = nullptr)
{
mConditionTargets[0] = target0;
mConditionTargets[1] = target1;
mConditionTargets[2] = target2;
- mLastFailedCondition = NULL;
+ mLastFailedCondition = nullptr;
}
};
@@ -230,22 +227,20 @@ struct Condition
NegativeCondition = false;
}
- bool Meets(ConditionSourceInfo& sourceInfo);
- uint32 GetSearcherTypeMaskForCondition();
+ bool Meets(ConditionSourceInfo& sourceInfo) const;
+ uint32 GetSearcherTypeMaskForCondition() const;
bool isLoaded() const { return ConditionType > CONDITION_NONE || ReferenceId; }
- uint32 GetMaxAvailableConditionTargets();
+ uint32 GetMaxAvailableConditionTargets() const;
std::string ToString(bool ext = false) const; /// For logging purpose
};
-typedef std::list<Condition*> ConditionList;
-typedef std::map<uint32, ConditionList> ConditionTypeContainer;
-typedef std::map<ConditionSourceType, ConditionTypeContainer> ConditionContainer;
-typedef std::map<uint32, ConditionTypeContainer> CreatureSpellConditionContainer;
-typedef std::map<uint32, ConditionTypeContainer> NpcVendorConditionContainer;
-typedef std::map<std::pair<int32, uint32 /*SAI source_type*/>, ConditionTypeContainer> SmartEventConditionContainer;
-
-typedef std::map<uint32, ConditionList> ConditionReferenceContainer;//only used for references
+typedef std::vector<Condition*> ConditionContainer;
+typedef std::unordered_map<uint32 /*SourceEntry*/, ConditionContainer> ConditionsByEntryMap;
+typedef std::array<ConditionsByEntryMap, CONDITION_SOURCE_TYPE_MAX> ConditionEntriesByTypeArray;
+typedef std::unordered_map<uint32, ConditionsByEntryMap> ConditionEntriesByCreatureIdMap;
+typedef std::unordered_map<std::pair<int32, uint32 /*SAI source_type*/>, ConditionsByEntryMap> SmartEventConditionContainer;
+typedef std::unordered_map<uint32, ConditionContainer> ConditionReferenceContainer;//only used for references
class ConditionMgr
{
@@ -261,20 +256,22 @@ class ConditionMgr
}
void LoadConditions(bool isReload = false);
- bool isConditionTypeValid(Condition* cond);
- ConditionList GetConditionReferences(uint32 refId);
+ bool isConditionTypeValid(Condition* cond) const;
- uint32 GetSearcherTypeMaskForConditionList(ConditionList const& conditions);
- bool IsObjectMeetToConditions(WorldObject* object, ConditionList const& conditions);
- bool IsObjectMeetToConditions(WorldObject* object1, WorldObject* object2, ConditionList const& conditions);
- bool IsObjectMeetToConditions(ConditionSourceInfo& sourceInfo, ConditionList const& conditions);
+ uint32 GetSearcherTypeMaskForConditionList(ConditionContainer const& conditions) const;
+ bool IsObjectMeetToConditions(WorldObject* object, ConditionContainer const& conditions) const;
+ bool IsObjectMeetToConditions(WorldObject* object1, WorldObject* object2, ConditionContainer const& conditions) const;
+ bool IsObjectMeetToConditions(ConditionSourceInfo& sourceInfo, ConditionContainer const& conditions) const;
static bool CanHaveSourceGroupSet(ConditionSourceType sourceType);
static bool CanHaveSourceIdSet(ConditionSourceType sourceType);
- ConditionList GetConditionsForNotGroupedEntry(ConditionSourceType sourceType, uint32 entry);
- ConditionList GetConditionsForSpellClickEvent(uint32 creatureId, uint32 spellId);
- ConditionList GetConditionsForSmartEvent(int64 entryOrGuid, uint32 eventId, uint32 sourceType);
- ConditionList GetConditionsForVehicleSpell(uint32 creatureId, uint32 spellId);
- ConditionList GetConditionsForNpcVendorEvent(uint32 creatureId, uint32 itemId);
+ bool IsObjectMeetingNotGroupedConditions(ConditionSourceType sourceType, uint32 entry, ConditionSourceInfo& sourceInfo) const;
+ bool IsObjectMeetingNotGroupedConditions(ConditionSourceType sourceType, uint32 entry, WorldObject* target0, WorldObject* target1 = nullptr, WorldObject* target2 = nullptr) const;
+ bool HasConditionsForNotGroupedEntry(ConditionSourceType sourceType, uint32 entry) const;
+ bool IsObjectMeetingSpellClickConditions(uint32 creatureId, uint32 spellId, WorldObject* clicker, WorldObject* target) const;
+ ConditionContainer const* GetConditionsForSpellClickEvent(uint32 creatureId, uint32 spellId) const;
+ bool IsObjectMeetingVehicleSpellConditions(uint32 creatureId, uint32 spellId, Player* player, Unit* vehicle) const;
+ bool IsObjectMeetingSmartEventConditions(int64 entryOrGuid, uint32 eventId, uint32 sourceType, Unit* unit, WorldObject* baseObject) const;
+ bool IsObjectMeetingVendorItemConditions(uint32 creatureId, uint32 itemId, Player* player, Creature* vendor) const;
struct ConditionTypeInfo
{
@@ -283,28 +280,30 @@ class ConditionMgr
bool HasConditionValue2;
bool HasConditionValue3;
};
- static char const* StaticSourceTypeData[CONDITION_SOURCE_TYPE_MAX];
+ static char const* const StaticSourceTypeData[CONDITION_SOURCE_TYPE_MAX];
static ConditionTypeInfo const StaticConditionTypeData[CONDITION_MAX];
private:
- bool isSourceTypeValid(Condition* cond);
- bool addToLootTemplate(Condition* cond, LootTemplate* loot);
- bool addToGossipMenus(Condition* cond);
- bool addToGossipMenuItems(Condition* cond);
- bool addToSpellImplicitTargetConditions(Condition* cond);
- bool IsObjectMeetToConditionList(ConditionSourceInfo& sourceInfo, ConditionList const& conditions);
+ bool isSourceTypeValid(Condition* cond) const;
+ bool addToLootTemplate(Condition* cond, LootTemplate* loot) const;
+ bool addToGossipMenus(Condition* cond) const;
+ bool addToGossipMenuItems(Condition* cond) const;
+ bool addToSpellImplicitTargetConditions(Condition* cond) const;
+ bool addToTerrainSwaps(Condition* cond) const;
+ bool addToPhases(Condition* cond) const;
+ bool IsObjectMeetToConditionList(ConditionSourceInfo& sourceInfo, ConditionContainer const& conditions) const;
static void LogUselessConditionValue(Condition* cond, uint8 index, uint32 value);
void Clean(); // free up resources
- std::list<Condition*> AllocatedMemoryStore; // some garbage collection :)
-
- ConditionContainer ConditionStore;
- ConditionReferenceContainer ConditionReferenceStore;
- CreatureSpellConditionContainer VehicleSpellConditionStore;
- CreatureSpellConditionContainer SpellClickEventConditionStore;
- NpcVendorConditionContainer NpcVendorConditionContainerStore;
- SmartEventConditionContainer SmartEventConditionStore;
+ std::vector<Condition*> AllocatedMemoryStore; // some garbage collection :)
+
+ ConditionEntriesByTypeArray ConditionStore;
+ ConditionReferenceContainer ConditionReferenceStore;
+ ConditionEntriesByCreatureIdMap VehicleSpellConditionStore;
+ ConditionEntriesByCreatureIdMap SpellClickEventConditionStore;
+ ConditionEntriesByCreatureIdMap NpcVendorConditionContainerStore;
+ SmartEventConditionContainer SmartEventConditionStore;
};
#define sConditionMgr ConditionMgr::instance()
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 6a230bc9d1e..cf1933c5877 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -527,14 +527,18 @@ enum ItemExtendedCostFlags
enum ItemBonusType
{
- ITEM_BONUS_ITEM_LEVEL = 1,
- ITEM_BONUS_STAT = 2,
- ITEM_BONUS_QUALITY = 3,
- ITEM_BONUS_DESCRIPTION = 4,
- ITEM_BONUS_SUFFIX = 5,
- ITEM_BONUS_SOCKET = 6,
- ITEM_BONUS_APPEARANCE = 7,
- ITEM_BONUS_REQUIRED_LEVEL = 8,
+ ITEM_BONUS_ITEM_LEVEL = 1,
+ ITEM_BONUS_STAT = 2,
+ ITEM_BONUS_QUALITY = 3,
+ ITEM_BONUS_DESCRIPTION = 4,
+ ITEM_BONUS_SUFFIX = 5,
+ ITEM_BONUS_SOCKET = 6,
+ ITEM_BONUS_APPEARANCE = 7,
+ ITEM_BONUS_REQUIRED_LEVEL = 8,
+ ITEM_BONUS_DISPLAY_TOAST_METHOD = 9,
+ ITEM_BONUS_REPAIR_COST_MULTIPLIER = 10,
+ ITEM_BONUS_SCALING_STAT_DISTRIBUTION = 11,
+ ITEM_BONUS_UNK_12 = 12
};
enum ItemLimitCategoryMode
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/Corpse/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp
index 4122c3a61c2..3ed66a71cf4 100644
--- a/src/server/game/Entities/Corpse/Corpse.cpp
+++ b/src/server/game/Entities/Corpse/Corpse.cpp
@@ -61,7 +61,6 @@ void Corpse::RemoveFromWorld()
bool Corpse::Create(ObjectGuid::LowType guidlow, Map* map)
{
- SetMap(map);
Object::_Create(ObjectGuid::Create<HighGuid::Corpse>(map->GetId(), 0, guidlow));
return true;
}
@@ -79,17 +78,13 @@ bool Corpse::Create(ObjectGuid::LowType guidlow, Player* owner)
return false;
}
- //we need to assign owner's map for corpse
- //in other way we will get a crash in Corpse::SaveToDB()
- SetMap(owner->GetMap());
-
Object::_Create(ObjectGuid::Create<HighGuid::Corpse>(GetMapId(), 0, guidlow));
SetPhaseMask(owner->GetPhaseMask(), false);
SetObjectScale(1.0f);
SetGuidValue(CORPSE_FIELD_OWNER, owner->GetGUID());
- _gridCoord = Trinity::ComputeGridCoord(GetPositionX(), GetPositionY());
+ _cellCoord = Trinity::ComputeCellCoord(GetPositionX(), GetPositionY());
CopyPhaseFrom(owner);
@@ -133,20 +128,6 @@ void Corpse::SaveToDB()
CharacterDatabase.CommitTransaction(trans);
}
-void Corpse::DeleteBonesFromWorld()
-{
- ASSERT(GetType() == CORPSE_BONES);
- Corpse* corpse = ObjectAccessor::GetCorpse(*this, GetGUID());
-
- if (!corpse)
- {
- TC_LOG_ERROR("entities.player", "Bones %s not found in world.", GetGUID().ToString().c_str());
- return;
- }
-
- AddObjectToRemoveList();
-}
-
void Corpse::DeleteFromDB(SQLTransaction& trans)
{
DeleteFromDB(GetOwnerGUID(), trans);
@@ -201,7 +182,7 @@ bool Corpse::LoadCorpseFromDB(ObjectGuid::LowType guid, Field* fields)
return false;
}
- _gridCoord = Trinity::ComputeGridCoord(GetPositionX(), GetPositionY());
+ _cellCoord = Trinity::ComputeCellCoord(GetPositionX(), GetPositionY());
return true;
}
diff --git a/src/server/game/Entities/Corpse/Corpse.h b/src/server/game/Entities/Corpse/Corpse.h
index be2cb435ac9..c135548bee3 100644
--- a/src/server/game/Entities/Corpse/Corpse.h
+++ b/src/server/game/Entities/Corpse/Corpse.h
@@ -61,7 +61,6 @@ class Corpse : public WorldObject, public GridObject<Corpse>
void SaveToDB();
bool LoadCorpseFromDB(ObjectGuid::LowType guid, Field* fields);
- void DeleteBonesFromWorld();
void DeleteFromDB(SQLTransaction& trans);
static void DeleteFromDB(ObjectGuid const& ownerGuid, SQLTransaction& trans);
@@ -71,8 +70,8 @@ class Corpse : public WorldObject, public GridObject<Corpse>
void ResetGhostTime() { m_time = time(NULL); }
CorpseType GetType() const { return m_type; }
- GridCoord const& GetGridCoord() const { return _gridCoord; }
- void SetGridCoord(GridCoord const& gridCoord) { _gridCoord = gridCoord; }
+ CellCoord const& GetCellCoord() const { return _cellCoord; }
+ void SetCellCoord(CellCoord const& cellCoord) { _cellCoord = cellCoord; }
Loot loot; // remove insignia ONLY at BG
Player* lootRecipient;
@@ -83,6 +82,6 @@ class Corpse : public WorldObject, public GridObject<Corpse>
private:
CorpseType m_type;
time_t m_time;
- GridCoord _gridCoord; // gride for corpse position for fast search
+ CellCoord _cellCoord;
};
#endif
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 26ee5329808..ea21bf8af96 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -1580,7 +1580,7 @@ void Creature::setDeathState(DeathState s)
SetMeleeDamageSchool(SpellSchools(cinfo->dmgschool));
Motion_Initialize();
Unit::setDeathState(ALIVE);
- LoadCreaturesAddon(true);
+ LoadCreaturesAddon();
}
}
@@ -2096,7 +2096,7 @@ CreatureAddon const* Creature::GetCreatureAddon() const
}
//creature_addon table
-bool Creature::LoadCreaturesAddon(bool reload)
+bool Creature::LoadCreaturesAddon()
{
CreatureAddon const* cainfo = GetCreatureAddon();
if (!cainfo)
@@ -2162,12 +2162,7 @@ bool Creature::LoadCreaturesAddon(bool reload)
// skip already applied aura
if (HasAura(*itr))
- {
- if (!reload)
- TC_LOG_ERROR("sql.sql", "Creature (GUID: " UI64FMTD " Entry: %u) has duplicate aura (spell %u) in `auras` field.", GetSpawnId(), GetEntry(), *itr);
-
continue;
- }
AddAura(*itr, this);
TC_LOG_DEBUG("entities.unit", "Spell: %u added to creature (%s)", *itr, GetGUID().ToString().c_str());
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index eb2e7df65b8..1f5984691be 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -475,7 +475,7 @@ class Creature : public Unit, public GridObject<Creature>, public MapObject
void DisappearAndDie();
bool Create(ObjectGuid::LowType guidlow, Map* map, uint32 phaseMask, uint32 entry, float x, float y, float z, float ang, CreatureData const* data = nullptr, uint32 vehId = 0);
- bool LoadCreaturesAddon(bool reload = false);
+ bool LoadCreaturesAddon();
void SelectLevel();
void LoadEquipment(int8 id = 1, bool force = false);
diff --git a/src/server/game/Entities/Creature/CreatureGroups.cpp b/src/server/game/Entities/Creature/CreatureGroups.cpp
index 5f8c3a36692..c26da27051e 100644
--- a/src/server/game/Entities/Creature/CreatureGroups.cpp
+++ b/src/server/game/Entities/Creature/CreatureGroups.cpp
@@ -240,7 +240,8 @@ void CreatureGroup::LeaderMoveTo(float x, float y, float z)
Trinity::NormalizeMapCoord(dx);
Trinity::NormalizeMapCoord(dy);
- member->UpdateGroundPositionZ(dx, dy, dz);
+ if (!member->IsFlying())
+ member->UpdateGroundPositionZ(dx, dy, dz);
if (member->IsWithinDist(m_leader, dist + MAX_DESYNC))
member->SetUnitMovementFlags(m_leader->GetUnitMovementFlags());
diff --git a/src/server/game/Entities/Creature/CreatureGroups.h b/src/server/game/Entities/Creature/CreatureGroups.h
index edbea16640e..ac3b740ac16 100644
--- a/src/server/game/Entities/Creature/CreatureGroups.h
+++ b/src/server/game/Entities/Creature/CreatureGroups.h
@@ -32,8 +32,8 @@ struct FormationInfo
float follow_dist;
float follow_angle;
uint8 groupAI;
- uint16 point_1;
- uint16 point_2;
+ uint32 point_1;
+ uint32 point_2;
};
typedef std::unordered_map<ObjectGuid::LowType/*memberDBGUID*/, FormationInfo*> CreatureGroupInfoType;
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index 6ea703280df..0f80c5385d4 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -30,6 +30,7 @@
#include "Opcodes.h"
#include "WorldSession.h"
#include "ItemPackets.h"
+#include "TradeData.h"
void AddItemsSetItem(Player* player, Item* item)
{
@@ -790,6 +791,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
@@ -1224,6 +1241,10 @@ void Item::SetNotRefundable(Player* owner, bool changestate /*=true*/, SQLTransa
if (!HasFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_REFUNDABLE))
return;
+ WorldPackets::Item::ItemExpirePurchaseRefund itemExpirePurchaseRefund;
+ itemExpirePurchaseRefund.ItemGUID = GetGUID();
+ owner->SendDirectMessage(itemExpirePurchaseRefund.Write());
+
RemoveFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_REFUNDABLE);
// Following is not applicable in the trading procedure
if (changestate)
@@ -1755,7 +1776,7 @@ uint32 Item::GetItemLevel(Player const* owner) const
return MIN_ITEM_LEVEL;
uint32 itemLevel = stats->GetBaseItemLevel();
- if (ScalingStatDistributionEntry const* ssd = sScalingStatDistributionStore.LookupEntry(stats->GetScalingStatDistribution()))
+ if (ScalingStatDistributionEntry const* ssd = sScalingStatDistributionStore.LookupEntry(GetScalingStatDistribution()))
if (uint32 heirloomIlvl = sDB2Manager.GetHeirloomItemLevel(ssd->ItemLevelCurveID, owner->getLevel()))
itemLevel = heirloomIlvl;
@@ -1839,6 +1860,8 @@ void BonusData::Initialize(ItemTemplate const* proto)
SocketColor[i] = proto->GetSocketColor(i);
AppearanceModID = 0;
+ RepairCostMultiplier = 1.0f;
+ ScalingStatDistribution = proto->GetScalingStatDistribution();
}
void BonusData::Initialize(WorldPackets::Item::ItemInstance const& itemInstance)
@@ -1901,5 +1924,11 @@ void BonusData::AddBonus(uint32 type, int32 const (&values)[2])
case ITEM_BONUS_REQUIRED_LEVEL:
RequiredLevel += values[0];
break;
+ case ITEM_BONUS_REPAIR_COST_MULTIPLIER:
+ RepairCostMultiplier *= static_cast<float>(values[0]) * 0.01f;
+ break;
+ case ITEM_BONUS_SCALING_STAT_DISTRIBUTION:
+ ScalingStatDistribution = static_cast<uint32>(values[0]);
+ break;
}
}
diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h
index 37d7e3613f2..77dc93af56c 100644
--- a/src/server/game/Entities/Item/Item.h
+++ b/src/server/game/Entities/Item/Item.h
@@ -248,6 +248,8 @@ struct BonusData
float ItemStatSocketCostMultiplier[MAX_ITEM_PROTO_STATS];
uint32 SocketColor[MAX_ITEM_PROTO_SOCKETS];
uint32 AppearanceModID;
+ float RepairCostMultiplier;
+ uint32 ScalingStatDistribution;
void Initialize(ItemTemplate const* proto);
void Initialize(WorldPackets::Item::ItemInstance const& itemInstance);
@@ -318,7 +320,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;
@@ -393,6 +395,8 @@ class Item : public Object
uint32 GetArmor(Player const* owner) const { return GetTemplate()->GetArmor(GetItemLevel(owner)); }
void GetDamage(Player const* owner, float& minDamage, float& maxDamage) const { GetTemplate()->GetDamage(GetItemLevel(owner), minDamage, maxDamage); }
uint32 GetDisplayId() const;
+ float GetRepairCostMultiplier() const { return _bonusData.RepairCostMultiplier; }
+ uint32 GetScalingStatDistribution() const { return _bonusData.ScalingStatDistribution; }
// Item Refund system
void SetNotRefundable(Player* owner, bool changestate = true, SQLTransaction* trans = NULL);
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 9a01eacbf7f..6318caf00b4 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -2807,26 +2807,25 @@ bool WorldObject::HasInPhaseList(uint32 phase)
void WorldObject::UpdateAreaPhase()
{
bool updateNeeded = false;
- PhaseInfo phases = sObjectMgr->GetAreaPhases();
+ PhaseInfo const& phases = sObjectMgr->GetAreaPhases();
for (PhaseInfo::const_iterator itr = phases.begin(); itr != phases.end(); ++itr)
{
uint32 areaId = itr->first;
- for (uint32 phaseId : itr->second)
+ for (PhaseInfoStruct const& phase : itr->second)
{
if (areaId == GetAreaId())
{
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_PHASE, phaseId);
- if (sConditionMgr->IsObjectMeetToConditions(this, conditions))
+ if (sConditionMgr->IsObjectMeetToConditions(this, phase.Conditions))
{
// add new phase if condition passed, true if it wasnt added before
- bool up = SetInPhase(phaseId, false, true);
+ bool up = SetInPhase(phase.Id, false, true);
if (!updateNeeded && up)
updateNeeded = true;
}
else
{
// condition failed, remove phase, true if there was something removed
- bool up = SetInPhase(phaseId, false, false);
+ bool up = SetInPhase(phase.Id, false, false);
if (!updateNeeded && up)
updateNeeded = true;
}
@@ -2834,7 +2833,7 @@ void WorldObject::UpdateAreaPhase()
else
{
// not in area, remove phase, true if there was something removed
- bool up = SetInPhase(phaseId, false, false);
+ bool up = SetInPhase(phase.Id, false, false);
if (!updateNeeded && up)
updateNeeded = true;
}
@@ -2866,7 +2865,6 @@ void WorldObject::UpdateAreaPhase()
}
// only update visibility and send packets if there was a change in the phase list
-
if (updateNeeded && GetTypeId() == TYPEID_PLAYER && IsInWorld())
ToPlayer()->GetSession()->SendSetPhaseShift(GetPhases(), GetTerrainSwaps(), GetWorldMapAreaSwaps());
@@ -2883,32 +2881,31 @@ bool WorldObject::SetInPhase(uint32 id, bool update, bool apply)
{
if (HasInPhaseList(id)) // do not run the updates if we are already in this phase
return false;
+
_phases.insert(id);
}
else
{
- for (uint32 phaseId : sObjectMgr->GetPhasesForArea(GetAreaId()))
- {
- if (id == phaseId)
- {
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_PHASE, phaseId);
- if (sConditionMgr->IsObjectMeetToConditions(this, conditions))
- {
- // if area phase passes the condition we should not remove it (ie: if remove called from aura remove)
- // this however breaks the .mod phase command, you wont be able to remove any area based phases with it
- return false;
- }
- }
- }
+ // if area phase passes the condition we should not remove it (ie: if remove called from aura remove)
+ // this however breaks the .mod phase command, you wont be able to remove any area based phases with it
+ if (std::vector<PhaseInfoStruct> const* phases = sObjectMgr->GetPhasesForArea(GetAreaId()))
+ for (PhaseInfoStruct const& phase : *phases)
+ if (id == phase.Id)
+ if (sConditionMgr->IsObjectMeetToConditions(this, phase.Conditions))
+ return false;
+
if (!HasInPhaseList(id)) // do not run the updates if we are not in this phase
return false;
+
_phases.erase(id);
}
}
+
RebuildTerrainSwaps();
if (update && IsInWorld())
UpdateObjectVisibility();
+
return true;
}
@@ -3111,37 +3108,30 @@ void WorldObject::RebuildTerrainSwaps()
// Clear all terrain swaps, will be rebuilt below
// Reason for this is, multiple phases can have the same terrain swap, we should not remove the swap if another phase still use it
_terrainSwaps.clear();
- ConditionList conditions;
// Check all applied phases for terrain swap and add it only once
for (uint32 phaseId : _phases)
{
- std::list<uint32>& swaps = sObjectMgr->GetPhaseTerrainSwaps(phaseId);
-
- for (uint32 swap : swaps)
+ if (std::vector<PhaseInfoStruct> const* swaps = sObjectMgr->GetPhaseTerrainSwaps(phaseId))
{
- // only add terrain swaps for current map
- MapEntry const* mapEntry = sMapStore.LookupEntry(swap);
- if (!mapEntry || mapEntry->ParentMapID != int32(GetMapId()))
- continue;
-
- conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_TERRAIN_SWAP, swap);
+ for (PhaseInfoStruct const& swap : *swaps)
+ {
+ // only add terrain swaps for current map
+ MapEntry const* mapEntry = sMapStore.LookupEntry(swap.Id);
+ if (!mapEntry || mapEntry->ParentMapID != int32(GetMapId()))
+ continue;
- if (sConditionMgr->IsObjectMeetToConditions(this, conditions))
- _terrainSwaps.insert(swap);
+ if (sConditionMgr->IsObjectMeetToConditions(this, swap.Conditions))
+ _terrainSwaps.insert(swap.Id);
+ }
}
}
// get default terrain swaps, only for current map always
- std::list<uint32>& mapSwaps = sObjectMgr->GetDefaultTerrainSwaps(GetMapId());
-
- for (uint32 swap : mapSwaps)
- {
- conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_TERRAIN_SWAP, swap);
-
- if (sConditionMgr->IsObjectMeetToConditions(this, conditions))
- _terrainSwaps.insert(swap);
- }
+ if (std::vector<PhaseInfoStruct> const* mapSwaps = sObjectMgr->GetDefaultTerrainSwaps(GetMapId()))
+ for (PhaseInfoStruct const& swap : *mapSwaps)
+ if (sConditionMgr->IsObjectMeetToConditions(this, swap.Conditions))
+ _terrainSwaps.insert(swap.Id);
// online players have a game client with world map display
if (GetTypeId() == TYPEID_PLAYER)
@@ -3155,36 +3145,20 @@ void WorldObject::RebuildWorldMapAreaSwaps()
// get ALL default terrain swaps, if we are using it (condition is true)
// send the worldmaparea for it, to see swapped worldmaparea in client from other maps too, not just from our current
- TerrainPhaseInfo defaults = sObjectMgr->GetDefaultTerrainSwapStore();
+ TerrainPhaseInfo const& defaults = sObjectMgr->GetDefaultTerrainSwapStore();
for (TerrainPhaseInfo::const_iterator itr = defaults.begin(); itr != defaults.end(); ++itr)
- {
- for (uint32 swap : itr->second)
- {
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_TERRAIN_SWAP, swap);
- if (sConditionMgr->IsObjectMeetToConditions(this, conditions))
- {
- for (uint32 map : sObjectMgr->GetTerrainWorldMaps(swap))
- _worldMapAreaSwaps.insert(map);
- }
- }
- }
+ for (PhaseInfoStruct const& swap : itr->second)
+ if (std::vector<uint32> const* uiMapSwaps = sObjectMgr->GetTerrainWorldMaps(swap.Id))
+ if (sConditionMgr->IsObjectMeetToConditions(this, swap.Conditions))
+ for (uint32 worldMapAreaId : *uiMapSwaps)
+ _worldMapAreaSwaps.insert(worldMapAreaId);
// Check all applied phases for world map area swaps
for (uint32 phaseId : _phases)
- {
- std::list<uint32>& swaps = sObjectMgr->GetPhaseTerrainSwaps(phaseId);
-
- for (uint32 swap : swaps)
- {
- // add world map swaps for ANY map
-
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_TERRAIN_SWAP, swap);
-
- if (sConditionMgr->IsObjectMeetToConditions(this, conditions))
- {
- for (uint32 map : sObjectMgr->GetTerrainWorldMaps(swap))
- _worldMapAreaSwaps.insert(map);
- }
- }
- }
+ if (std::vector<PhaseInfoStruct> const* swaps = sObjectMgr->GetPhaseTerrainSwaps(phaseId))
+ for (PhaseInfoStruct const& swap : *swaps)
+ if (std::vector<uint32> const* uiMapSwaps = sObjectMgr->GetTerrainWorldMaps(swap.Id))
+ if (sConditionMgr->IsObjectMeetToConditions(this, swap.Conditions))
+ for (uint32 worldMapAreaId : *uiMapSwaps)
+ _worldMapAreaSwaps.insert(worldMapAreaId);
}
diff --git a/src/server/game/Entities/Object/ObjectGuid.h b/src/server/game/Entities/Object/ObjectGuid.h
index fcfa0b5a810..feb5219b39f 100644
--- a/src/server/game/Entities/Object/ObjectGuid.h
+++ b/src/server/game/Entities/Object/ObjectGuid.h
@@ -21,10 +21,8 @@
#include "Common.h"
#include "ByteBuffer.h"
-#include <boost/functional/hash.hpp>
#include <type_traits>
#include <functional>
-#include <unordered_set>
enum TypeID
{
@@ -204,11 +202,6 @@ class ObjectGuid
static typename std::enable_if<ObjectGuidTraits<type>::MapSpecific, ObjectGuid>::type Create(uint16 mapId, uint32 entry, LowType counter) { return MapSpecific(type, 0, mapId, 0, entry, counter); }
ObjectGuid() : _low(0), _high(0) { }
- ObjectGuid(ObjectGuid const& r) : _low(r._low), _high(r._high) { }
- ObjectGuid(ObjectGuid&& r) : _low(r._low), _high(r._high) { }
-
- ObjectGuid& operator=(ObjectGuid const& r) { _low = r._low; _high = r._high; return *this; }
- ObjectGuid& operator=(ObjectGuid&& r) { _low = r._low; _high = r._high; return *this; }
std::vector<uint8> GetRawValue() const;
void SetRawValue(std::vector<uint8> const& guid);
diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp
index 9929c6362ef..44e7b148b22 100644
--- a/src/server/game/Entities/Player/CollectionMgr.cpp
+++ b/src/server/game/Entities/Player/CollectionMgr.cpp
@@ -53,12 +53,12 @@ void CollectionMgr::LoadAccountToys(PreparedQueryResult result)
void CollectionMgr::SaveAccountToys(SQLTransaction& trans)
{
PreparedStatement* stmt = nullptr;
- for (ToyBoxContainer::const_iterator itr = _toys.begin(); itr != _toys.end(); ++itr)
+ for (auto const& toy : _toys)
{
stmt = LoginDatabase.GetPreparedStatement(LOGIN_REP_ACCOUNT_TOYS);
stmt->setUInt32(0, _owner->GetBattlenetAccountId());
- stmt->setUInt32(1, itr->first);
- stmt->setBool(2, itr->second);
+ stmt->setUInt32(1, toy.first);
+ stmt->setBool(2, toy.second);
trans->Append(stmt);
}
}
diff --git a/src/server/game/Entities/Player/KillRewarder.cpp b/src/server/game/Entities/Player/KillRewarder.cpp
new file mode 100644
index 00000000000..55649a6e366
--- /dev/null
+++ b/src/server/game/Entities/Player/KillRewarder.cpp
@@ -0,0 +1,283 @@
+/*
+ * 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 "KillRewarder.h"
+#include "SpellAuraEffects.h"
+#include "Creature.h"
+#include "Formulas.h"
+#include "Group.h"
+#include "Guild.h"
+#include "GuildMgr.h"
+#include "InstanceScript.h"
+#include "Pet.h"
+#include "Player.h"
+
+ // == KillRewarder ====================================================
+ // KillRewarder encapsulates logic of rewarding player upon kill with:
+ // * XP;
+ // * honor;
+ // * reputation;
+ // * kill credit (for quest objectives).
+ // Rewarding is initiated in two cases: when player kills unit in Unit::Kill()
+ // and on battlegrounds in Battleground::RewardXPAtKill().
+ //
+ // Rewarding algorithm is:
+ // 1. Initialize internal variables to default values.
+ // 2. In case when player is in group, initialize variables necessary for group calculations:
+ // 2.1. _count - number of alive group members within reward distance;
+ // 2.2. _sumLevel - sum of levels of alive group members within reward distance;
+ // 2.3. _maxLevel - maximum level of alive group member within reward distance;
+ // 2.4. _maxNotGrayMember - maximum level of alive group member within reward distance,
+ // for whom victim is not gray;
+ // 2.5. _isFullXP - flag identifying that for all group members victim is not gray,
+ // so 100% XP will be rewarded (50% otherwise).
+ // 3. Reward killer (and group, if necessary).
+ // 3.1. If killer is in group, reward group.
+ // 3.1.1. Initialize initial XP amount based on maximum level of group member,
+ // for whom victim is not gray.
+ // 3.1.2. Alter group rate if group is in raid (not for battlegrounds).
+ // 3.1.3. Reward each group member (even dead) within reward distance (see 4. for more details).
+ // 3.2. Reward single killer (not group case).
+ // 3.2.1. Initialize initial XP amount based on killer's level.
+ // 3.2.2. Reward killer (see 4. for more details).
+ // 4. Reward player.
+ // 4.1. Give honor (player must be alive and not on BG).
+ // 4.2. Give XP.
+ // 4.2.1. If player is in group, adjust XP:
+ // * set to 0 if player's level is more than maximum level of not gray member;
+ // * cut XP in half if _isFullXP is false.
+ // 4.2.2. Apply auras modifying rewarded XP.
+ // 4.2.3. Give XP to player.
+ // 4.2.4. If player has pet, reward pet with XP (100% for single player, 50% for group case).
+ // 4.3. Give reputation (player must not be on BG).
+ // 4.4. Give kill credit (player must not be in group, or he must be alive or without corpse).
+ // 5. Credit instance encounter.
+ // 6. Update guild achievements.
+
+KillRewarder::KillRewarder(Player* killer, Unit* victim, bool isBattleGround) :
+ // 1. Initialize internal variables to default values.
+ _killer(killer), _victim(victim), _group(killer->GetGroup()),
+ _groupRate(1.0f), _maxNotGrayMember(nullptr), _count(0), _sumLevel(0), _xp(0),
+ _isFullXP(false), _maxLevel(0), _isBattleGround(isBattleGround), _isPvP(false)
+{
+ // mark the credit as pvp if victim is player
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ _isPvP = true;
+ // or if its owned by player and its not a vehicle
+ else if (victim->GetCharmerOrOwnerGUID().IsPlayer())
+ _isPvP = !victim->IsVehicle();
+
+ _InitGroupData();
+}
+
+inline void KillRewarder::_InitGroupData()
+{
+ if (_group)
+ {
+ // 2. In case when player is in group, initialize variables necessary for group calculations:
+ for (GroupReference* itr = _group->GetFirstMember(); itr != nullptr; itr = itr->next())
+ if (Player* member = itr->GetSource())
+ if (member->IsAlive() && member->IsAtGroupRewardDistance(_victim))
+ {
+ const uint8 lvl = member->getLevel();
+ // 2.1. _count - number of alive group members within reward distance;
+ ++_count;
+ // 2.2. _sumLevel - sum of levels of alive group members within reward distance;
+ _sumLevel += lvl;
+ // 2.3. _maxLevel - maximum level of alive group member within reward distance;
+ if (_maxLevel < lvl)
+ _maxLevel = lvl;
+ // 2.4. _maxNotGrayMember - maximum level of alive group member within reward distance,
+ // for whom victim is not gray;
+ uint32 grayLevel = Trinity::XP::GetGrayLevel(lvl);
+ if (_victim->getLevel() > grayLevel && (!_maxNotGrayMember || _maxNotGrayMember->getLevel() < lvl))
+ _maxNotGrayMember = member;
+ }
+ // 2.5. _isFullXP - flag identifying that for all group members victim is not gray,
+ // so 100% XP will be rewarded (50% otherwise).
+ _isFullXP = _maxNotGrayMember && (_maxLevel == _maxNotGrayMember->getLevel());
+ }
+ else
+ _count = 1;
+}
+
+inline void KillRewarder::_InitXP(Player* player)
+{
+ // Get initial value of XP for kill.
+ // XP is given:
+ // * on battlegrounds;
+ // * otherwise, not in PvP;
+ // * not if killer is on vehicle.
+ if (_isBattleGround || (!_isPvP && !_killer->GetVehicle()))
+ _xp = Trinity::XP::Gain(player, _victim, _isBattleGround);
+}
+
+inline void KillRewarder::_RewardHonor(Player* player)
+{
+ // Rewarded player must be alive.
+ if (player->IsAlive())
+ player->RewardHonor(_victim, _count, -1, true);
+}
+
+inline void KillRewarder::_RewardXP(Player* player, float rate)
+{
+ uint32 xp(_xp);
+ if (_group)
+ {
+ // 4.2.1. If player is in group, adjust XP:
+ // * set to 0 if player's level is more than maximum level of not gray member;
+ // * cut XP in half if _isFullXP is false.
+ if (_maxNotGrayMember && player->IsAlive() &&
+ _maxNotGrayMember->getLevel() >= player->getLevel())
+ xp = _isFullXP ?
+ uint32(xp * rate) : // Reward FULL XP if all group members are not gray.
+ uint32(xp * rate / 2) + 1; // Reward only HALF of XP if some of group members are gray.
+ else
+ xp = 0;
+ }
+ if (xp)
+ {
+ // 4.2.2. Apply auras modifying rewarded XP (SPELL_AURA_MOD_XP_PCT).
+ for (auto const& aura : player->GetAuraEffectsByType(SPELL_AURA_MOD_XP_PCT))
+ AddPct(xp, aura->GetAmount());
+
+ // 4.2.3. Give XP to player.
+ player->GiveXP(xp, _victim, _groupRate);
+ if (Pet* pet = player->GetPet())
+ // 4.2.4. If player has pet, reward pet with XP (100% for single player, 50% for group case).
+ pet->GivePetXP(_group ? xp / 2 : xp);
+ }
+}
+
+inline void KillRewarder::_RewardReputation(Player* player, float rate)
+{
+ // 4.3. Give reputation (player must not be on BG).
+ // Even dead players and corpses are rewarded.
+ player->RewardReputation(_victim, rate);
+}
+
+inline void KillRewarder::_RewardKillCredit(Player* player)
+{
+ // 4.4. Give kill credit (player must not be in group, or he must be alive or without corpse).
+ if (!_group || player->IsAlive() || !player->GetCorpse())
+ if (Creature* target = _victim->ToCreature())
+ {
+ player->KilledMonster(target->GetCreatureTemplate(), target->GetGUID());
+ player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE, target->GetCreatureType(), 1, 0, target);
+ }
+}
+
+void KillRewarder::_RewardPlayer(Player* player, bool isDungeon)
+{
+ // 4. Reward player.
+ if (!_isBattleGround)
+ {
+ // 4.1. Give honor (player must be alive and not on BG).
+ _RewardHonor(player);
+ // 4.1.1 Send player killcredit for quests with PlayerSlain
+ if (_victim->GetTypeId() == TYPEID_PLAYER)
+ player->KilledPlayerCredit();
+ }
+ // Give XP only in PvE or in battlegrounds.
+ // Give reputation and kill credit only in PvE.
+ if (!_isPvP || _isBattleGround)
+ {
+ float const rate = _group ?
+ _groupRate * float(player->getLevel()) / _sumLevel : // Group rate depends on summary level.
+ 1.0f; // Personal rate is 100%.
+ if (_xp)
+ // 4.2. Give XP.
+ _RewardXP(player, rate);
+ if (!_isBattleGround)
+ {
+ // If killer is in dungeon then all members receive full reputation at kill.
+ _RewardReputation(player, isDungeon ? 1.0f : rate);
+ _RewardKillCredit(player);
+ }
+ }
+}
+
+void KillRewarder::_RewardGroup()
+{
+ if (_maxLevel)
+ {
+ if (_maxNotGrayMember)
+ // 3.1.1. Initialize initial XP amount based on maximum level of group member,
+ // for whom victim is not gray.
+ _InitXP(_maxNotGrayMember);
+ // To avoid unnecessary calculations and calls,
+ // proceed only if XP is not ZERO or player is not on battleground
+ // (battleground rewards only XP, that's why).
+ if (!_isBattleGround || _xp)
+ {
+ bool const isDungeon = !_isPvP && sMapStore.LookupEntry(_killer->GetMapId())->IsDungeon();
+ if (!_isBattleGround)
+ {
+ // 3.1.2. Alter group rate if group is in raid (not for battlegrounds).
+ bool const isRaid = !_isPvP && sMapStore.LookupEntry(_killer->GetMapId())->IsRaid() && _group->isRaidGroup();
+ _groupRate = Trinity::XP::xp_in_group_rate(_count, isRaid);
+ }
+
+ // 3.1.3. Reward each group member (even dead or corpse) within reward distance.
+ for (GroupReference* itr = _group->GetFirstMember(); itr != nullptr; itr = itr->next())
+ {
+ if (Player* member = itr->GetSource())
+ {
+ if (member->IsAtGroupRewardDistance(_victim))
+ {
+ _RewardPlayer(member, isDungeon);
+ member->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL, 1, 0, 0, _victim);
+ }
+ }
+ }
+ }
+ }
+}
+
+void KillRewarder::Reward()
+{
+ // 3. Reward killer (and group, if necessary).
+ if (_group)
+ // 3.1. If killer is in group, reward group.
+ _RewardGroup();
+ else
+ {
+ // 3.2. Reward single killer (not group case).
+ // 3.2.1. Initialize initial XP amount based on killer's level.
+ _InitXP(_killer);
+ // To avoid unnecessary calculations and calls,
+ // proceed only if XP is not ZERO or player is not on battleground
+ // (battleground rewards only XP, that's why).
+ if (!_isBattleGround || _xp)
+ // 3.2.2. Reward killer.
+ _RewardPlayer(_killer, false);
+ }
+
+ // 5. Credit instance encounter.
+ // 6. Update guild achievements.
+ if (Creature* victim = _victim->ToCreature())
+ {
+ if (victim->IsDungeonBoss())
+ if (InstanceScript* instance = _victim->GetInstanceScript())
+ instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, _victim->GetEntry(), _victim);
+
+ if (ObjectGuid::LowType guildId = victim->GetMap()->GetOwnerGuildId())
+ if (Guild* guild = sGuildMgr->GetGuildById(guildId))
+ guild->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE, victim->GetEntry(), 1, 0, victim, _killer);
+ }
+
+}
diff --git a/src/server/game/Entities/Player/KillRewarder.h b/src/server/game/Entities/Player/KillRewarder.h
new file mode 100644
index 00000000000..577a8ffea20
--- /dev/null
+++ b/src/server/game/Entities/Player/KillRewarder.h
@@ -0,0 +1,59 @@
+/*
+ * 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/>.
+ */
+
+#ifndef KillRewarder_h__
+#define KillRewarder_h__
+
+#include "Define.h"
+
+class Player;
+class Unit;
+class Group;
+
+class KillRewarder
+{
+public:
+ KillRewarder(Player* killer, Unit* victim, bool isBattleGround);
+
+ void Reward();
+
+private:
+ void _InitXP(Player* player);
+ void _InitGroupData();
+
+ void _RewardHonor(Player* player);
+ void _RewardXP(Player* player, float rate);
+ void _RewardReputation(Player* player, float rate);
+ void _RewardKillCredit(Player* player);
+ void _RewardPlayer(Player* player, bool isDungeon);
+ void _RewardGroup();
+
+ Player* _killer;
+ Unit* _victim;
+ Group* _group;
+ float _groupRate;
+ Player* _maxNotGrayMember;
+ uint32 _count;
+ uint32 _sumLevel;
+ uint32 _xp;
+ bool _isFullXP;
+ uint8 _maxLevel;
+ bool _isBattleGround;
+ bool _isPvP;
+};
+
+#endif // KillRewarder_h__
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 9d9ff325dc1..2a6715b7457 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -59,6 +59,7 @@
#include "InstanceSaveMgr.h"
#include "InstanceScript.h"
#include "ItemPackets.h"
+#include "KillRewarder.h"
#include "LFGMgr.h"
#include "Language.h"
#include "Log.h"
@@ -87,9 +88,7 @@
#include "SpellMgr.h"
#include "SpellPackets.h"
#include "TalentPackets.h"
-#include "TaxiPackets.h"
#include "ToyPackets.h"
-#include "TradePackets.h"
#include "Transport.h"
#include "UpdateData.h"
#include "UpdateFieldFlags.h"
@@ -130,389 +129,6 @@ uint32 const MasterySpells[MAX_CLASSES] =
uint64 const MAX_MONEY_AMOUNT = 9999999999ULL;
-//== TradeData =================================================
-
-TradeData* TradeData::GetTraderData() const
-{
- return m_trader->GetTradeData();
-}
-
-Item* TradeData::GetItem(TradeSlots slot) const
-{
- return !m_items[slot].IsEmpty() ? m_player->GetItemByGuid(m_items[slot]) : NULL;
-}
-
-bool TradeData::HasItem(ObjectGuid itemGuid) const
-{
- for (uint8 i = 0; i < TRADE_SLOT_COUNT; ++i)
- if (m_items[i] == itemGuid)
- return true;
-
- return false;
-}
-
-TradeSlots TradeData::GetTradeSlotForItem(ObjectGuid itemGuid) const
-{
- for (uint8 i = 0; i < TRADE_SLOT_COUNT; ++i)
- if (m_items[i] == itemGuid)
- return TradeSlots(i);
-
- return TRADE_SLOT_INVALID;
-}
-
-Item* TradeData::GetSpellCastItem() const
-{
- return !m_spellCastItem.IsEmpty() ? m_player->GetItemByGuid(m_spellCastItem) : NULL;
-}
-
-void TradeData::SetItem(TradeSlots slot, Item* item)
-{
- ObjectGuid itemGuid;
- if (item)
- itemGuid = item->GetGUID();
-
- if (m_items[slot] == itemGuid)
- return;
-
- m_items[slot] = itemGuid;
-
- SetAccepted(false);
- GetTraderData()->SetAccepted(false);
-
- UpdateServerStateIndex();
-
- Update();
-
- // need remove possible trader spell applied to changed item
- if (slot == TRADE_SLOT_NONTRADED)
- GetTraderData()->SetSpell(0);
-
- // need remove possible player spell applied (possible move reagent)
- SetSpell(0);
-}
-
-void TradeData::SetSpell(uint32 spell_id, Item* castItem /*= NULL*/)
-{
- ObjectGuid itemGuid = castItem ? castItem->GetGUID() : ObjectGuid::Empty;
-
- if (m_spell == spell_id && m_spellCastItem == itemGuid)
- return;
-
- m_spell = spell_id;
- m_spellCastItem = itemGuid;
-
- SetAccepted(false);
- GetTraderData()->SetAccepted(false);
-
- UpdateServerStateIndex();
-
- Update(true); // send spell info to item owner
- Update(false); // send spell info to caster self
-}
-
-void TradeData::SetMoney(uint64 money)
-{
- if (m_money == money)
- return;
-
- if (!m_player->HasEnoughMoney(money))
- {
- WorldPackets::Trade::TradeStatus info;
- info.Status = TRADE_STATUS_FAILED;
- info.BagResult = EQUIP_ERR_NOT_ENOUGH_MONEY;
- m_player->GetSession()->SendTradeStatus(info);
- return;
- }
-
- m_money = money;
-
- SetAccepted(false);
- GetTraderData()->SetAccepted(false);
-
- UpdateServerStateIndex();
-
- Update(true);
-}
-
-void TradeData::Update(bool forTarget /*= true*/)
-{
- if (forTarget)
- m_trader->GetSession()->SendUpdateTrade(true); // player state for trader
- else
- m_player->GetSession()->SendUpdateTrade(false); // player state for player
-}
-
-void TradeData::SetAccepted(bool state, bool crosssend /*= false*/)
-{
- m_accepted = state;
-
- if (!state)
- {
- WorldPackets::Trade::TradeStatus info;
- info.Status = TRADE_STATUS_UNACCEPTED;
- if (crosssend)
- m_trader->GetSession()->SendTradeStatus(info);
- else
- m_player->GetSession()->SendTradeStatus(info);
- }
-}
-
-// == KillRewarder ====================================================
-// KillRewarder incapsulates logic of rewarding player upon kill with:
-// * XP;
-// * honor;
-// * reputation;
-// * kill credit (for quest objectives).
-// Rewarding is initiated in two cases: when player kills unit in Unit::Kill()
-// and on battlegrounds in Battleground::RewardXPAtKill().
-//
-// Rewarding algorithm is:
-// 1. Initialize internal variables to default values.
-// 2. In case when player is in group, initialize variables necessary for group calculations:
-// 2.1. _count - number of alive group members within reward distance;
-// 2.2. _sumLevel - sum of levels of alive group members within reward distance;
-// 2.3. _maxLevel - maximum level of alive group member within reward distance;
-// 2.4. _maxNotGrayMember - maximum level of alive group member within reward distance,
-// for whom victim is not gray;
-// 2.5. _isFullXP - flag identifying that for all group members victim is not gray,
-// so 100% XP will be rewarded (50% otherwise).
-// 3. Reward killer (and group, if necessary).
-// 3.1. If killer is in group, reward group.
-// 3.1.1. Initialize initial XP amount based on maximum level of group member,
-// for whom victim is not gray.
-// 3.1.2. Alter group rate if group is in raid (not for battlegrounds).
-// 3.1.3. Reward each group member (even dead) within reward distance (see 4. for more details).
-// 3.2. Reward single killer (not group case).
-// 3.2.1. Initialize initial XP amount based on killer's level.
-// 3.2.2. Reward killer (see 4. for more details).
-// 4. Reward player.
-// 4.1. Give honor (player must be alive and not on BG).
-// 4.2. Give XP.
-// 4.2.1. If player is in group, adjust XP:
-// * set to 0 if player's level is more than maximum level of not gray member;
-// * cut XP in half if _isFullXP is false.
-// 4.2.2. Apply auras modifying rewarded XP.
-// 4.2.3. Give XP to player.
-// 4.2.4. If player has pet, reward pet with XP (100% for single player, 50% for group case).
-// 4.3. Give reputation (player must not be on BG).
-// 4.4. Give kill credit (player must not be in group, or he must be alive or without corpse).
-// 5. Credit instance encounter.
-// 6. Update guild achievements.
-KillRewarder::KillRewarder(Player* killer, Unit* victim, bool isBattleGround) :
- // 1. Initialize internal variables to default values.
- _killer(killer), _victim(victim), _group(killer->GetGroup()),
- _groupRate(1.0f), _maxNotGrayMember(NULL), _count(0), _sumLevel(0), _xp(0),
- _isFullXP(false), _maxLevel(0), _isBattleGround(isBattleGround), _isPvP(false)
-{
- // mark the credit as pvp if victim is player
- if (victim->GetTypeId() == TYPEID_PLAYER)
- _isPvP = true;
- // or if its owned by player and its not a vehicle
- else if (victim->GetCharmerOrOwnerGUID().IsPlayer())
- _isPvP = !victim->IsVehicle();
-
- _InitGroupData();
-}
-
-inline void KillRewarder::_InitGroupData()
-{
- if (_group)
- {
- // 2. In case when player is in group, initialize variables necessary for group calculations:
- for (GroupReference* itr = _group->GetFirstMember(); itr != NULL; itr = itr->next())
- if (Player* member = itr->GetSource())
- if (member->IsAlive() && member->IsAtGroupRewardDistance(_victim))
- {
- const uint8 lvl = member->getLevel();
- // 2.1. _count - number of alive group members within reward distance;
- ++_count;
- // 2.2. _sumLevel - sum of levels of alive group members within reward distance;
- _sumLevel += lvl;
- // 2.3. _maxLevel - maximum level of alive group member within reward distance;
- if (_maxLevel < lvl)
- _maxLevel = lvl;
- // 2.4. _maxNotGrayMember - maximum level of alive group member within reward distance,
- // for whom victim is not gray;
- uint32 grayLevel = Trinity::XP::GetGrayLevel(lvl);
- if (_victim->getLevel() > grayLevel && (!_maxNotGrayMember || _maxNotGrayMember->getLevel() < lvl))
- _maxNotGrayMember = member;
- }
- // 2.5. _isFullXP - flag identifying that for all group members victim is not gray,
- // so 100% XP will be rewarded (50% otherwise).
- _isFullXP = _maxNotGrayMember && (_maxLevel == _maxNotGrayMember->getLevel());
- }
- else
- _count = 1;
-}
-
-inline void KillRewarder::_InitXP(Player* player)
-{
- // Get initial value of XP for kill.
- // XP is given:
- // * on battlegrounds;
- // * otherwise, not in PvP;
- // * not if killer is on vehicle.
- if (_isBattleGround || (!_isPvP && !_killer->GetVehicle()))
- _xp = Trinity::XP::Gain(player, _victim, _isBattleGround);
-}
-
-inline void KillRewarder::_RewardHonor(Player* player)
-{
- // Rewarded player must be alive.
- if (player->IsAlive())
- player->RewardHonor(_victim, _count, -1, true);
-}
-
-inline void KillRewarder::_RewardXP(Player* player, float rate)
-{
- uint32 xp(_xp);
- if (_group)
- {
- // 4.2.1. If player is in group, adjust XP:
- // * set to 0 if player's level is more than maximum level of not gray member;
- // * cut XP in half if _isFullXP is false.
- if (_maxNotGrayMember && player->IsAlive() &&
- _maxNotGrayMember->getLevel() >= player->getLevel())
- xp = _isFullXP ?
- uint32(xp * rate) : // Reward FULL XP if all group members are not gray.
- uint32(xp * rate / 2) + 1; // Reward only HALF of XP if some of group members are gray.
- else
- xp = 0;
- }
- if (xp)
- {
- // 4.2.2. Apply auras modifying rewarded XP (SPELL_AURA_MOD_XP_PCT).
- Unit::AuraEffectList const& auras = player->GetAuraEffectsByType(SPELL_AURA_MOD_XP_PCT);
- for (Unit::AuraEffectList::const_iterator i = auras.begin(); i != auras.end(); ++i)
- AddPct(xp, (*i)->GetAmount());
-
- // 4.2.3. Give XP to player.
- player->GiveXP(xp, _victim, _groupRate);
- if (Pet* pet = player->GetPet())
- // 4.2.4. If player has pet, reward pet with XP (100% for single player, 50% for group case).
- pet->GivePetXP(_group ? xp / 2 : xp);
- }
-}
-
-inline void KillRewarder::_RewardReputation(Player* player, float rate)
-{
- // 4.3. Give reputation (player must not be on BG).
- // Even dead players and corpses are rewarded.
- player->RewardReputation(_victim, rate);
-}
-
-inline void KillRewarder::_RewardKillCredit(Player* player)
-{
- // 4.4. Give kill credit (player must not be in group, or he must be alive or without corpse).
- if (!_group || player->IsAlive() || !player->GetCorpse())
- if (Creature* target = _victim->ToCreature())
- {
- player->KilledMonster(target->GetCreatureTemplate(), target->GetGUID());
- player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE, target->GetCreatureType(), 1, 0, target);
- }
-}
-
-void KillRewarder::_RewardPlayer(Player* player, bool isDungeon)
-{
- // 4. Reward player.
- if (!_isBattleGround)
- {
- // 4.1. Give honor (player must be alive and not on BG).
- _RewardHonor(player);
- // 4.1.1 Send player killcredit for quests with PlayerSlain
- if (_victim->GetTypeId() == TYPEID_PLAYER)
- player->KilledPlayerCredit();
- }
- // Give XP only in PvE or in battlegrounds.
- // Give reputation and kill credit only in PvE.
- if (!_isPvP || _isBattleGround)
- {
- const float rate = _group ?
- _groupRate * float(player->getLevel()) / _sumLevel : // Group rate depends on summary level.
- 1.0f; // Personal rate is 100%.
- if (_xp)
- // 4.2. Give XP.
- _RewardXP(player, rate);
- if (!_isBattleGround)
- {
- // If killer is in dungeon then all members receive full reputation at kill.
- _RewardReputation(player, isDungeon ? 1.0f : rate);
- _RewardKillCredit(player);
- }
- }
-}
-
-void KillRewarder::_RewardGroup()
-{
- if (_maxLevel)
- {
- if (_maxNotGrayMember)
- // 3.1.1. Initialize initial XP amount based on maximum level of group member,
- // for whom victim is not gray.
- _InitXP(_maxNotGrayMember);
- // To avoid unnecessary calculations and calls,
- // proceed only if XP is not ZERO or player is not on battleground
- // (battleground rewards only XP, that's why).
- if (!_isBattleGround || _xp)
- {
- const bool isDungeon = !_isPvP && sMapStore.LookupEntry(_killer->GetMapId())->IsDungeon();
- if (!_isBattleGround)
- {
- // 3.1.2. Alter group rate if group is in raid (not for battlegrounds).
- const bool isRaid = !_isPvP && sMapStore.LookupEntry(_killer->GetMapId())->IsRaid() && _group->isRaidGroup();
- _groupRate = Trinity::XP::xp_in_group_rate(_count, isRaid);
- }
-
- // 3.1.3. Reward each group member (even dead or corpse) within reward distance.
- for (GroupReference* itr = _group->GetFirstMember(); itr != NULL; itr = itr->next())
- {
- if (Player* member = itr->GetSource())
- {
- if (member->IsAtGroupRewardDistance(_victim))
- {
- _RewardPlayer(member, isDungeon);
- member->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL, 1, 0, 0, _victim);
- }
- }
- }
- }
- }
-}
-
-void KillRewarder::Reward()
-{
- // 3. Reward killer (and group, if necessary).
- if (_group)
- // 3.1. If killer is in group, reward group.
- _RewardGroup();
- else
- {
- // 3.2. Reward single killer (not group case).
- // 3.2.1. Initialize initial XP amount based on killer's level.
- _InitXP(_killer);
- // To avoid unnecessary calculations and calls,
- // proceed only if XP is not ZERO or player is not on battleground
- // (battleground rewards only XP, that's why).
- if (!_isBattleGround || _xp)
- // 3.2.2. Reward killer.
- _RewardPlayer(_killer, false);
- }
-
- // 5. Credit instance encounter.
- // 6. Update guild achievements.
- if (Creature* victim = _victim->ToCreature())
- {
- if (victim->IsDungeonBoss())
- if (InstanceScript* instance = _victim->GetInstanceScript())
- instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, _victim->GetEntry(), _victim);
-
- if (ObjectGuid::LowType guildId = victim->GetMap()->GetOwnerGuildId())
- if (Guild* guild = sGuildMgr->GetGuildById(guildId))
- guild->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE, victim->GetEntry(), 1, 0, victim, _killer);
- }
-
-}
-
Player::Player(WorldSession* session) : Unit(true)
{
m_speakTime = 0;
@@ -4754,12 +4370,13 @@ Corpse* Player::CreateCorpse()
}
}
+ // register for player, but not show
+ GetMap()->AddCorpse(corpse);
+
// we do not need to save corpses for BG/arenas
if (!GetMap()->IsBattlegroundOrArena())
corpse->SaveToDB();
- // register for player, but not show
- GetMap()->AddCorpse(corpse);
return corpse;
}
@@ -4933,7 +4550,7 @@ uint32 Player::DurabilityRepair(uint16 pos, bool cost, float discountMod, bool g
else if (ditemProto->GetClass() == ITEM_CLASS_ARMOR)
dmultiplier = dcost->ArmorSubClassCost[ditemProto->GetSubClass()];
- uint32 costs = uint32(LostDurability * dmultiplier * double(dQualitymodEntry->QualityMod));
+ uint32 costs = uint32(LostDurability * dmultiplier * double(dQualitymodEntry->QualityMod) * item->GetRepairCostMultiplier());
costs = uint32(costs * discountMod * sWorld->getRate(RATE_REPAIRCOST));
@@ -5317,12 +4934,13 @@ float Player::GetRatingBonusValue(CombatRating cr) const
float Player::GetExpertiseDodgeOrParryReduction(WeaponAttackType attType) const
{
+ float baseExpertise = 7.5f;
switch (attType)
{
case BASE_ATTACK:
- return GetUInt32Value(PLAYER_EXPERTISE) / 4.0f;
+ return baseExpertise + GetUInt32Value(PLAYER_EXPERTISE) / 4.0f;
case OFF_ATTACK:
- return GetUInt32Value(PLAYER_OFFHAND_EXPERTISE) / 4.0f;
+ return baseExpertise + GetUInt32Value(PLAYER_OFFHAND_EXPERTISE) / 4.0f;
default:
break;
}
@@ -6788,7 +6406,7 @@ void Player::SendNewCurrency(uint32 id) const
record.Type = entry->ID;
record.Quantity = itr->second.Quantity;
record.WeeklyQuantity = itr->second.WeeklyQuantity;
- record.MaxWeeklyQuantity = GetCurrencyWeekCap(entry) / ((entry->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1);
+ record.MaxWeeklyQuantity = GetCurrencyWeekCap(entry);
record.TrackedQuantity = itr->second.TrackedQuantity;
record.Flags = itr->second.Flags;
@@ -6814,7 +6432,7 @@ void Player::SendCurrencies() const
record.Type = entry->ID;
record.Quantity = itr->second.Quantity;
record.WeeklyQuantity = itr->second.WeeklyQuantity;
- record.MaxWeeklyQuantity = GetCurrencyWeekCap(entry) / ((entry->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1);
+ record.MaxWeeklyQuantity = GetCurrencyWeekCap(entry);
record.TrackedQuantity = itr->second.TrackedQuantity;
record.Flags = itr->second.Flags;
@@ -6827,38 +6445,32 @@ void Player::SendCurrencies() const
void Player::SendPvpRewards() const
{
WorldPacket packet(SMSG_REQUEST_PVP_REWARDS_RESPONSE, 24);
- packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS, true);
- packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_POINTS, true);
- packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_ARENA, true);
- packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_RBG, true);
- packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_ARENA, true);
- packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS, true);
+ packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS);
+ packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_POINTS);
+ packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_ARENA);
+ packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_RBG);
+ packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_ARENA);
+ packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS);
GetSession()->SendPacket(&packet);
}
-uint32 Player::GetCurrency(uint32 id, bool usePrecision) const
+uint32 Player::GetCurrency(uint32 id) const
{
PlayerCurrenciesMap::const_iterator itr = _currencyStorage.find(id);
if (itr == _currencyStorage.end())
return 0;
- CurrencyTypesEntry const* currency = sCurrencyTypesStore.LookupEntry(id);
- uint32 precision = (usePrecision && currency->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1;
-
- return itr->second.Quantity / precision;
+ return itr->second.Quantity;
}
-uint32 Player::GetCurrencyOnWeek(uint32 id, bool usePrecision) const
+uint32 Player::GetCurrencyOnWeek(uint32 id) const
{
PlayerCurrenciesMap::const_iterator itr = _currencyStorage.find(id);
if (itr == _currencyStorage.end())
return 0;
- CurrencyTypesEntry const* currency = sCurrencyTypesStore.LookupEntry(id);
- uint32 precision = (usePrecision && currency->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1;
-
- return itr->second.WeeklyQuantity / precision;
+ return itr->second.WeeklyQuantity;
}
bool Player::HasCurrency(uint32 id, uint32 count) const
@@ -6984,15 +6596,13 @@ void Player::SetCurrency(uint32 id, uint32 count, bool /*printLog*/ /*= true*/)
}
}
-uint32 Player::GetCurrencyWeekCap(uint32 id, bool usePrecision) const
+uint32 Player::GetCurrencyWeekCap(uint32 id) const
{
CurrencyTypesEntry const* entry = sCurrencyTypesStore.LookupEntry(id);
if (!entry)
return 0;
- uint32 precision = (usePrecision && entry->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1;
-
- return GetCurrencyWeekCap(entry) / precision;
+ return GetCurrencyWeekCap(entry);
}
void Player::ResetCurrencyWeekCap()
@@ -7025,7 +6635,7 @@ uint32 Player::GetCurrencyWeekCap(CurrencyTypesEntry const* currency) const
{
//original conquest not have week cap
case CURRENCY_TYPE_CONQUEST_POINTS:
- return std::max(GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_ARENA, false), GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_RBG, false));
+ return std::max(GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_ARENA), GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_RBG));
case CURRENCY_TYPE_CONQUEST_META_ARENA:
// should add precision mod = 100
return Trinity::Currency::ConquestRatingCalculator(_maxPersonalArenaRate) * CURRENCY_PRECISION;
@@ -7080,11 +6690,8 @@ void Player::UpdateConquestCurrencyCap(uint32 currency)
if (!currencyEntry)
continue;
- uint32 precision = (currencyEntry->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? 100 : 1;
- uint32 cap = GetCurrencyWeekCap(currencyEntry);
-
WorldPacket packet(SMSG_SET_MAX_WEEKLY_QUANTITY, 8);
- packet << uint32(cap / precision);
+ packet << uint32(GetCurrencyWeekCap(currencyEntry));
packet << uint32(currenciesToUpdate[i]);
GetSession()->SendPacket(&packet);
}
@@ -9277,6 +8884,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)
@@ -10873,7 +10491,7 @@ InventoryResult Player::CanEquipItem(uint8 slot, uint16 &dest, Item* pItem, bool
return EQUIP_ERR_CLIENT_LOCKED_OUT;
}
- ScalingStatDistributionEntry const* ssd = pProto->GetScalingStatDistribution() ? sScalingStatDistributionStore.LookupEntry(pProto->GetScalingStatDistribution()) : 0;
+ ScalingStatDistributionEntry const* ssd = pItem->GetScalingStatDistribution() ? sScalingStatDistributionStore.LookupEntry(pItem->GetScalingStatDistribution()) : 0;
// check allowed level (extend range to upper values if MaxLevel more or equal max player level, this let GM set high level with 1...max range items)
if (ssd && ssd->MaxLevel < DEFAULT_MAX_LEVEL && ssd->MaxLevel < getLevel() && !sDB2Manager.GetHeirloomByItemId(pProto->GetId()))
return EQUIP_ERR_NOT_EQUIPPABLE;
@@ -15058,8 +14676,7 @@ bool Player::SatisfyQuestStatus(Quest const* qInfo, bool msg)
bool Player::SatisfyQuestConditions(Quest const* qInfo, bool msg)
{
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_QUEST_ACCEPT, qInfo->GetQuestId());
- if (!sConditionMgr->IsObjectMeetToConditions(this, conditions))
+ if (!sConditionMgr->IsObjectMeetingNotGroupedConditions(CONDITION_SOURCE_TYPE_QUEST_ACCEPT, qInfo->GetQuestId(), this))
{
if (msg)
{
@@ -15310,6 +14927,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();
@@ -15328,8 +14955,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;
}
@@ -15460,8 +15096,7 @@ QuestGiverStatus Player::GetQuestDialogStatus(Object* questgiver)
if (!quest)
continue;
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK, quest->GetQuestId());
- if (!sConditionMgr->IsObjectMeetToConditions(this, conditions))
+ if (!sConditionMgr->IsObjectMeetingNotGroupedConditions(CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK, quest->GetQuestId(), this))
continue;
QuestStatus status = GetQuestStatus(questId);
@@ -15488,8 +15123,7 @@ QuestGiverStatus Player::GetQuestDialogStatus(Object* questgiver)
if (!quest)
continue;
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK, quest->GetQuestId());
- if (!sConditionMgr->IsObjectMeetToConditions(this, conditions))
+ if (!sConditionMgr->IsObjectMeetingNotGroupedConditions(CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK, quest->GetQuestId(), this))
continue;
QuestStatus status = GetQuestStatus(questId);
@@ -18735,7 +18369,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());
@@ -18857,7 +18491,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());
@@ -20384,8 +20018,7 @@ void Player::VehicleSpellInitialize()
continue;
}
- ConditionList conditions = sConditionMgr->GetConditionsForVehicleSpell(vehicle->GetEntry(), spellId);
- if (!sConditionMgr->IsObjectMeetToConditions(this, vehicle, conditions))
+ if (!sConditionMgr->IsObjectMeetingVehicleSpellConditions(vehicle->GetEntry(), spellId, this, vehicle))
{
TC_LOG_DEBUG("condition", "VehicleSpellInitialize: conditions not met for Vehicle entry %u spell %u", vehicle->ToCreature()->GetEntry(), spellId);
data << uint16(0) << uint8(0) << uint8(i+8);
@@ -21113,8 +20746,7 @@ void Player::InitDisplayIds()
SetNativeDisplayId(info->displayId_m);
break;
default:
- TC_LOG_ERROR("entities.player", "Invalid gender %u for player", gender);
- return;
+ TC_LOG_ERROR("entities.player", "Player %s (%s) has invalid gender %u", GetName().c_str(), GetGUID().ToString().c_str(), gender);
}
}
@@ -21376,8 +21008,7 @@ bool Player::BuyItemFromVendorSlot(ObjectGuid vendorguid, uint32 vendorslot, uin
return false;
}
- ConditionList conditions = sConditionMgr->GetConditionsForNpcVendorEvent(creature->GetEntry(), item);
- if (!sConditionMgr->IsObjectMeetToConditions(this, creature, conditions))
+ if (!sConditionMgr->IsObjectMeetingVendorItemConditions(creature->GetEntry(), item, this, creature))
{
TC_LOG_DEBUG("condition", "BuyItemFromVendor: conditions not met for creature entry %u item %u", creature->GetEntry(), item);
SendBuyError(BUY_ERR_CANT_FIND_ITEM, creature, item, 0);
@@ -23316,16 +22947,18 @@ void Player::UpdateForQuestWorldObjects()
{
//! This code doesn't look right, but it was logically converted to condition system to do the exact
//! same thing it did before. It definitely needs to be overlooked for intended functionality.
- ConditionList conds = sConditionMgr->GetConditionsForSpellClickEvent(obj->GetEntry(), _itr->second.spellId);
- bool buildUpdateBlock = false;
- for (ConditionList::const_iterator jtr = conds.begin(); jtr != conds.end() && !buildUpdateBlock; ++jtr)
- if ((*jtr)->ConditionType == CONDITION_QUESTREWARDED || (*jtr)->ConditionType == CONDITION_QUESTTAKEN)
- buildUpdateBlock = true;
-
- if (buildUpdateBlock)
+ if (ConditionContainer const* conds = sConditionMgr->GetConditionsForSpellClickEvent(obj->GetEntry(), _itr->second.spellId))
{
- obj->BuildValuesUpdateBlockForPlayer(&udata, this);
- break;
+ bool buildUpdateBlock = false;
+ for (ConditionContainer::const_iterator jtr = conds->begin(); jtr != conds->end() && !buildUpdateBlock; ++jtr)
+ if ((*jtr)->ConditionType == CONDITION_QUESTREWARDED || (*jtr)->ConditionType == CONDITION_QUESTTAKEN)
+ buildUpdateBlock = true;
+
+ if (buildUpdateBlock)
+ {
+ obj->BuildValuesUpdateBlockForPlayer(&udata, this);
+ break;
+ }
}
}
}
@@ -25086,9 +24719,7 @@ bool Player::CanSeeSpellClickOn(Creature const* c) const
if (!itr->second.IsFitToRequirements(this, c))
return false;
- ConditionList conds = sConditionMgr->GetConditionsForSpellClickEvent(c->GetEntry(), itr->second.spellId);
- ConditionSourceInfo info = ConditionSourceInfo(const_cast<Player*>(this), const_cast<Creature*>(c));
- if (sConditionMgr->IsObjectMeetToConditions(info, conds))
+ if (sConditionMgr->IsObjectMeetingSpellClickConditions(c->GetEntry(), itr->second.spellId, const_cast<Player*>(this), const_cast<Creature*>(c)))
return true;
}
@@ -25660,52 +25291,27 @@ void Player::SendRefundInfo(Item* item)
return;
}
- ObjectGuid guid = item->GetGUID();
- WorldPacket data(SMSG_SET_ITEM_PURCHASE_DATA, 8 + 4 + 4 + 4 + 4 * 4 + 4 * 4 + 4 + 4);
- data.WriteBit(guid[3]);
- data.WriteBit(guid[5]);
- data.WriteBit(guid[7]);
- data.WriteBit(guid[6]);
- data.WriteBit(guid[2]);
- data.WriteBit(guid[4]);
- data.WriteBit(guid[0]);
- data.WriteBit(guid[1]);
- data.FlushBits();
-
- data.WriteByteSeq(guid[7]);
- data << uint32(GetTotalPlayedTime() - item->GetPlayedTime());
+ WorldPackets::Item::SetItemPurchaseData setItemPurchaseData;
+ setItemPurchaseData.ItemGUID = item->GetGUID();
+ setItemPurchaseData.PurchaseTime = GetTotalPlayedTime() - item->GetPlayedTime();
+ setItemPurchaseData.Contents.Money = item->GetPaidMoney();
+
for (uint8 i = 0; i < MAX_ITEM_EXT_COST_ITEMS; ++i) // item cost data
{
- data << uint32(iece->RequiredItemCount[i]);
- data << uint32(iece->RequiredItem[i]);
+ setItemPurchaseData.Contents.Items[i].ItemCount = iece->RequiredItemCount[i];
+ setItemPurchaseData.Contents.Items[i].ItemID = iece->RequiredItem[i];
}
- data.WriteByteSeq(guid[6]);
- data.WriteByteSeq(guid[4]);
- data.WriteByteSeq(guid[3]);
- data.WriteByteSeq(guid[2]);
- for (uint8 i = 0; i < MAX_ITEM_EXT_COST_CURRENCIES; ++i) // currency cost data
+ for (uint8 i = 0; i < MAX_ITEM_EXT_COST_CURRENCIES; ++i) // currency cost data
{
if (iece->RequirementFlags & (ITEM_EXT_COST_CURRENCY_REQ_IS_SEASON_EARNED_1 << i))
- {
- data << uint32(0);
- data << uint32(0);
continue;
- }
- CurrencyTypesEntry const* currencyType = sCurrencyTypesStore.LookupEntry(iece->RequiredCurrency[i]);
- uint32 precision = (currencyType && currencyType->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1;
-
- data << uint32(iece->RequiredCurrencyCount[i] / precision);
- data << uint32(iece->RequiredCurrency[i]);
+ setItemPurchaseData.Contents.Currencies[i].CurrencyCount = iece->RequiredCurrencyCount[i];
+ setItemPurchaseData.Contents.Currencies[i].CurrencyID = iece->RequiredCurrency[i];
}
- data.WriteByteSeq(guid[1]);
- data.WriteByteSeq(guid[5]);
- data << uint32(0);
- data.WriteByteSeq(guid[0]);
- data << uint32(item->GetPaidMoney()); // money cost
- GetSession()->SendPacket(&data);
+ GetSession()->SendPacket(setItemPurchaseData.Write());
}
bool Player::AddItem(uint32 itemId, uint32 count)
@@ -25733,57 +25339,30 @@ bool Player::AddItem(uint32 itemId, uint32 count)
void Player::SendItemRefundResult(Item* item, ItemExtendedCostEntry const* iece, uint8 error)
{
- ObjectGuid guid = item->GetGUID();
- WorldPacket data(SMSG_ITEM_PURCHASE_REFUND_RESULT, 1 + 1 + 8 + 4*8 + 4 + 4*8 + 1);
- data.WriteBit(guid[4]);
- data.WriteBit(guid[5]);
- data.WriteBit(guid[1]);
- data.WriteBit(guid[6]);
- data.WriteBit(guid[7]);
- data.WriteBit(guid[0]);
- data.WriteBit(guid[3]);
- data.WriteBit(guid[2]);
- data.WriteBit(!error);
- data.WriteBit(item->GetPaidMoney() > 0);
- data.FlushBits();
+ WorldPackets::Item::ItemPurchaseRefundResult itemPurchaseRefundResult;
+ itemPurchaseRefundResult.ItemGUID = item->GetGUID();
+ itemPurchaseRefundResult.Result = error;
if (!error)
{
- for (uint8 i = 0; i < MAX_ITEM_EXT_COST_CURRENCIES; ++i)
+ itemPurchaseRefundResult.Contents = boost::in_place();
+ itemPurchaseRefundResult.Contents->Money = item->GetPaidMoney();
+ for (uint8 i = 0; i < MAX_ITEM_EXT_COST_ITEMS; ++i) // item cost data
{
- if (iece->RequirementFlags & (ITEM_EXT_COST_CURRENCY_REQ_IS_SEASON_EARNED_1 << i))
- {
- data << uint32(0);
- data << uint32(0);
- continue;
- }
-
- CurrencyTypesEntry const* currencyType = sCurrencyTypesStore.LookupEntry(iece->RequiredCurrency[i]);
- uint32 precision = (currencyType && currencyType->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1;
-
- data << uint32(iece->RequiredCurrencyCount[i] / precision);
- data << uint32(iece->RequiredCurrency[i]);
+ itemPurchaseRefundResult.Contents->Items[i].ItemCount = iece->RequiredItemCount[i];
+ itemPurchaseRefundResult.Contents->Items[i].ItemID = iece->RequiredItem[i];
}
- data << uint32(item->GetPaidMoney()); // money cost
-
- for (uint8 i = 0; i < MAX_ITEM_EXT_COST_ITEMS; ++i) // item cost data
+ for (uint8 i = 0; i < MAX_ITEM_EXT_COST_CURRENCIES; ++i) // currency cost data
{
- data << uint32(iece->RequiredItemCount[i]);
- data << uint32(iece->RequiredItem[i]);
+ if (iece->RequirementFlags & (ITEM_EXT_COST_CURRENCY_REQ_IS_SEASON_EARNED_1 << i))
+ continue;
+
+ itemPurchaseRefundResult.Contents->Currencies[i].CurrencyCount = iece->RequiredCurrencyCount[i];
+ itemPurchaseRefundResult.Contents->Currencies[i].CurrencyID = iece->RequiredCurrency[i];
}
}
- data.WriteByteSeq(guid[0]);
- data.WriteByteSeq(guid[3]);
- data.WriteByteSeq(guid[1]);
- data.WriteByteSeq(guid[6]);
- data.WriteByteSeq(guid[4]);
- data.WriteByteSeq(guid[2]);
- data.WriteByteSeq(guid[7]);
- data.WriteByteSeq(guid[5]);
-
- data << uint8(error); // error code
- GetSession()->SendPacket(&data);
+ GetSession()->SendPacket(itemPurchaseRefundResult.Write());
}
void Player::RefundItem(Item* item)
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 60447757035..be6f8e619ab 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -28,10 +28,12 @@
#include "PetDefines.h"
#include "QuestDef.h"
#include "SpellMgr.h"
+#include "SpellHistory.h"
#include "Unit.h"
#include "Opcodes.h"
#include "WorldSession.h"
#include "PlayerTaxi.h"
+#include "TradeData.h"
struct CreatureTemplate;
struct Mail;
@@ -833,14 +835,6 @@ struct ItemPosCount
};
typedef std::vector<ItemPosCount> ItemPosCountVec;
-enum TradeSlots
-{
- TRADE_SLOT_COUNT = 7,
- TRADE_SLOT_TRADED_COUNT = 6,
- TRADE_SLOT_NONTRADED = 6,
- TRADE_SLOT_INVALID = -1
-};
-
enum TransferAbortReason
{
TRANSFER_ABORT_NONE = 0,
@@ -1132,65 +1126,6 @@ struct VoidStorageItem
std::vector<int32> BonusListIDs;
};
-class TradeData
-{
- public: // constructors
- TradeData(Player* player, Player* trader) :
- m_player(player), m_trader(trader), m_accepted(false), m_acceptProccess(false),
- m_money(0), m_spell(0), m_spellCastItem(), m_clientStateIndex(1), m_serverStateIndex(1) { }
-
- Player* GetTrader() const { return m_trader; }
- TradeData* GetTraderData() const;
-
- Item* GetItem(TradeSlots slot) const;
- bool HasItem(ObjectGuid itemGuid) const;
- TradeSlots GetTradeSlotForItem(ObjectGuid itemGuid) const;
- void SetItem(TradeSlots slot, Item* item);
-
- uint32 GetSpell() const { return m_spell; }
- void SetSpell(uint32 spell_id, Item* castItem = NULL);
-
- Item* GetSpellCastItem() const;
- bool HasSpellCastItem() const { return !m_spellCastItem.IsEmpty(); }
-
- uint64 GetMoney() const { return m_money; }
- void SetMoney(uint64 money);
-
- bool IsAccepted() const { return m_accepted; }
- void SetAccepted(bool state, bool crosssend = false);
-
- bool IsInAcceptProcess() const { return m_acceptProccess; }
- void SetInAcceptProcess(bool state) { m_acceptProccess = state; }
-
- uint32 GetClientStateIndex() const { return m_clientStateIndex; }
- void UpdateClientStateIndex() { ++m_clientStateIndex; }
-
- uint32 GetServerStateIndex() const { return m_serverStateIndex; }
- void UpdateServerStateIndex() { m_serverStateIndex = rand32(); }
-
- private: // internal functions
-
- void Update(bool for_trader = true);
-
- private: // fields
-
- Player* m_player; // Player who own of this TradeData
- Player* m_trader; // Player who trade with m_player
-
- bool m_accepted; // m_player press accept for trade list
- bool m_acceptProccess; // one from player/trader press accept and this processed
-
- uint64 m_money; // m_player place money to trade
-
- uint32 m_spell; // m_player apply spell to non-traded slot item
- ObjectGuid m_spellCastItem; // applied spell cast by item use
-
- ObjectGuid m_items[TRADE_SLOT_COUNT]; // traded items from m_player side including non-traded slot
-
- uint32 m_clientStateIndex;
- uint32 m_serverStateIndex;
-};
-
struct ResurrectionData
{
ObjectGuid GUID;
@@ -1200,38 +1135,6 @@ struct ResurrectionData
uint32 Aura;
};
-class KillRewarder
-{
-public:
- KillRewarder(Player* killer, Unit* victim, bool isBattleGround);
-
- void Reward();
-
-private:
- void _InitXP(Player* player);
- void _InitGroupData();
-
- void _RewardHonor(Player* player);
- void _RewardXP(Player* player, float rate);
- void _RewardReputation(Player* player, float rate);
- void _RewardKillCredit(Player* player);
- void _RewardPlayer(Player* player, bool isDungeon);
- void _RewardGroup();
-
- Player* _killer;
- Unit* _victim;
- Group* _group;
- float _groupRate;
- Player* _maxNotGrayMember;
- uint32 _count;
- uint32 _sumLevel;
- uint32 _xp;
- bool _isFullXP;
- uint8 _maxLevel;
- bool _isBattleGround;
- bool _isPvP;
-};
-
static uint32 const DefaultTalentRowLevels[MAX_TALENT_TIERS] = { 15, 30, 45, 60, 75, 90, 100 };
static uint32 const DKTalentRowLevels[MAX_TALENT_TIERS] = { 57, 58, 59, 60, 75, 90, 100 };
@@ -1445,7 +1348,6 @@ class Player : public Unit, public GridObject<Player>
InventoryResult CanUseItem(Item* pItem, bool not_loading = true) const;
bool HasItemTotemCategory(uint32 TotemCategory) const;
InventoryResult CanUseItem(ItemTemplate const* pItem) const;
- InventoryResult CanUseAmmo(uint32 item) const;
InventoryResult CanRollForItemInLFG(ItemTemplate const* item, WorldObject const* lootedObject) const;
Item* StoreNewItem(ItemPosCountVec const& pos, uint32 itemId, bool update, int32 randomPropertyId = 0, GuidSet const& allowedLooters = GuidSet(), std::vector<int32> const& bonusListIDs = std::vector<int32>());
Item* StoreItem(ItemPosCountVec const& pos, Item* pItem, bool update);
@@ -1470,11 +1372,11 @@ class Player : public Unit, public GridObject<Player>
/// send conquest currency points and their cap week/arena
void SendPvpRewards() const;
/// return count of currency witch has plr
- uint32 GetCurrency(uint32 id, bool usePrecision) const;
+ uint32 GetCurrency(uint32 id) const;
/// return count of currency gaind on current week
- uint32 GetCurrencyOnWeek(uint32 id, bool usePrecision) const;
+ uint32 GetCurrencyOnWeek(uint32 id) const;
/// return week cap by currency id
- uint32 GetCurrencyWeekCap(uint32 id, bool usePrecision) const;
+ uint32 GetCurrencyWeekCap(uint32 id) const;
/// return presence related currency
bool HasCurrency(uint32 id, uint32 count) const;
/// initialize currency count for custom initialization at create character
@@ -1529,7 +1431,7 @@ class Player : public Unit, public GridObject<Player>
float GetReputationPriceDiscount(Creature const* creature) const;
- Player* GetTrader() const { return m_trade ? m_trade->GetTrader() : NULL; }
+ Player* GetTrader() const { return m_trade ? m_trade->GetTrader() : nullptr; }
TradeData* GetTradeData() const { return m_trade; }
void TradeCancel(bool sendback);
@@ -2642,7 +2544,6 @@ class Player : public Unit, public GridObject<Player>
void _LoadGroup(PreparedQueryResult result);
void _LoadSkills(PreparedQueryResult result);
void _LoadSpells(PreparedQueryResult result);
- void _LoadFriendList(PreparedQueryResult result);
bool _LoadHomeBind(PreparedQueryResult result);
void _LoadDeclinedNames(PreparedQueryResult result);
void _LoadArenaTeamInfo(PreparedQueryResult result);
diff --git a/src/server/game/Entities/Player/TradeData.cpp b/src/server/game/Entities/Player/TradeData.cpp
new file mode 100644
index 00000000000..d879c9df61c
--- /dev/null
+++ b/src/server/game/Entities/Player/TradeData.cpp
@@ -0,0 +1,145 @@
+/*
+ * 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 "TradeData.h"
+#include "Player.h"
+#include "TradePackets.h"
+
+TradeData* TradeData::GetTraderData() const
+{
+ return _trader->GetTradeData();
+}
+
+Item* TradeData::GetItem(TradeSlots slot) const
+{
+ return !_items[slot].IsEmpty() ? _player->GetItemByGuid(_items[slot]) : nullptr;
+}
+
+bool TradeData::HasItem(ObjectGuid itemGuid) const
+{
+ for (uint8 i = 0; i < TRADE_SLOT_COUNT; ++i)
+ if (_items[i] == itemGuid)
+ return true;
+
+ return false;
+}
+
+TradeSlots TradeData::GetTradeSlotForItem(ObjectGuid itemGuid) const
+{
+ for (uint8 i = 0; i < TRADE_SLOT_COUNT; ++i)
+ if (_items[i] == itemGuid)
+ return TradeSlots(i);
+
+ return TRADE_SLOT_INVALID;
+}
+
+Item* TradeData::GetSpellCastItem() const
+{
+ return !_spellCastItem.IsEmpty() ? _player->GetItemByGuid(_spellCastItem) : nullptr;
+}
+
+void TradeData::SetItem(TradeSlots slot, Item* item, bool update /*= false*/)
+{
+ ObjectGuid itemGuid;
+ if (item)
+ itemGuid = item->GetGUID();
+
+ if (_items[slot] == itemGuid && !update)
+ return;
+
+ _items[slot] = itemGuid;
+
+ SetAccepted(false);
+ GetTraderData()->SetAccepted(false);
+
+ UpdateServerStateIndex();
+
+ Update();
+
+ // need remove possible trader spell applied to changed item
+ if (slot == TRADE_SLOT_NONTRADED)
+ GetTraderData()->SetSpell(0);
+
+ // need remove possible player spell applied (possible move reagent)
+ SetSpell(0);
+}
+
+void TradeData::SetSpell(uint32 spell_id, Item* castItem /*= nullptr*/)
+{
+ ObjectGuid itemGuid = castItem ? castItem->GetGUID() : ObjectGuid::Empty;
+
+ if (_spell == spell_id && _spellCastItem == itemGuid)
+ return;
+
+ _spell = spell_id;
+ _spellCastItem = itemGuid;
+
+ SetAccepted(false);
+ GetTraderData()->SetAccepted(false);
+
+ UpdateServerStateIndex();
+
+ Update(true); // send spell info to item owner
+ Update(false); // send spell info to caster self
+}
+
+void TradeData::SetMoney(uint64 money)
+{
+ if (_money == money)
+ return;
+
+ if (!_player->HasEnoughMoney(money))
+ {
+ WorldPackets::Trade::TradeStatus info;
+ info.Status = TRADE_STATUS_FAILED;
+ info.BagResult = EQUIP_ERR_NOT_ENOUGH_MONEY;
+ _player->GetSession()->SendTradeStatus(info);
+ return;
+ }
+
+ _money = money;
+
+ SetAccepted(false);
+ GetTraderData()->SetAccepted(false);
+
+ UpdateServerStateIndex();
+
+ Update(true);
+}
+
+void TradeData::Update(bool forTrader /*= true*/) const
+{
+ if (forTrader)
+ _trader->GetSession()->SendUpdateTrade(true); // player state for trader
+ else
+ _player->GetSession()->SendUpdateTrade(false); // player state for player
+}
+
+void TradeData::SetAccepted(bool state, bool forTrader /*= false*/)
+{
+ _accepted = state;
+
+ if (!state)
+ {
+ WorldPackets::Trade::TradeStatus info;
+ info.Status = TRADE_STATUS_UNACCEPTED;
+ if (forTrader)
+ _trader->GetSession()->SendTradeStatus(info);
+ else
+ _player->GetSession()->SendTradeStatus(info);
+ }
+}
diff --git a/src/server/game/Entities/Player/TradeData.h b/src/server/game/Entities/Player/TradeData.h
new file mode 100644
index 00000000000..733d4702b1f
--- /dev/null
+++ b/src/server/game/Entities/Player/TradeData.h
@@ -0,0 +1,90 @@
+/*
+ * 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/>.
+ */
+
+#ifndef TradeData_h__
+#define TradeData_h__
+
+#include "ObjectGuid.h"
+
+enum TradeSlots
+{
+ TRADE_SLOT_COUNT = 7,
+ TRADE_SLOT_TRADED_COUNT = 6,
+ TRADE_SLOT_NONTRADED = 6,
+ TRADE_SLOT_INVALID = -1
+};
+
+class Item;
+class Player;
+
+class TradeData
+{
+public:
+ TradeData(Player* player, Player* trader) :
+ _player(player), _trader(trader), _accepted(false), _acceptProccess(false),
+ _money(0), _spell(0), _spellCastItem(), _clientStateIndex(1), _serverStateIndex(1) { }
+
+ Player* GetTrader() const { return _trader; }
+ TradeData* GetTraderData() const;
+
+ Item* GetItem(TradeSlots slot) const;
+ bool HasItem(ObjectGuid itemGuid) const;
+ TradeSlots GetTradeSlotForItem(ObjectGuid itemGuid) const;
+ void SetItem(TradeSlots slot, Item* item, bool update = false);
+
+ uint32 GetSpell() const { return _spell; }
+ void SetSpell(uint32 spell_id, Item* castItem = nullptr);
+
+ Item* GetSpellCastItem() const;
+ bool HasSpellCastItem() const { return !_spellCastItem.IsEmpty(); }
+
+ uint64 GetMoney() const { return _money; }
+ void SetMoney(uint64 money);
+
+ bool IsAccepted() const { return _accepted; }
+ void SetAccepted(bool state, bool forTrader = false);
+
+ bool IsInAcceptProcess() const { return _acceptProccess; }
+ void SetInAcceptProcess(bool state) { _acceptProccess = state; }
+
+ uint32 GetClientStateIndex() const { return _clientStateIndex; }
+ void UpdateClientStateIndex() { ++_clientStateIndex; }
+
+ uint32 GetServerStateIndex() const { return _serverStateIndex; }
+ void UpdateServerStateIndex() { _serverStateIndex = rand32(); }
+
+private:
+ void Update(bool for_trader = true) const;
+
+ Player* _player; // Player who own of this TradeData
+ Player* _trader; // Player who trade with _player
+
+ bool _accepted; // _player press accept for trade list
+ bool _acceptProccess; // one from player/trader press accept and this processed
+
+ uint64 _money; // _player place money to trade
+
+ uint32 _spell; // _player apply spell to non-traded slot item
+ ObjectGuid _spellCastItem; // applied spell cast by item use
+
+ ObjectGuid _items[TRADE_SLOT_COUNT]; // traded items from _player side including non-traded slot
+
+ uint32 _clientStateIndex;
+ uint32 _serverStateIndex;
+};
+
+#endif // TradeData_h__
diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp
index f85860dfde3..1451b018a39 100644
--- a/src/server/game/Entities/Unit/StatSystem.cpp
+++ b/src/server/game/Entities/Unit/StatSystem.cpp
@@ -681,19 +681,19 @@ void Player::UpdateArmorPenetration(int32 amount)
void Player::UpdateMeleeHitChances()
{
- m_modMeleeHitChance = (float)GetTotalAuraModifier(SPELL_AURA_MOD_HIT_CHANCE);
+ m_modMeleeHitChance = 7.5f + (float)GetTotalAuraModifier(SPELL_AURA_MOD_HIT_CHANCE);
m_modMeleeHitChance += GetRatingBonusValue(CR_HIT_MELEE);
}
void Player::UpdateRangedHitChances()
{
- m_modRangedHitChance = (float)GetTotalAuraModifier(SPELL_AURA_MOD_HIT_CHANCE);
+ m_modRangedHitChance = 7.5f + (float)GetTotalAuraModifier(SPELL_AURA_MOD_HIT_CHANCE);
m_modRangedHitChance += GetRatingBonusValue(CR_HIT_RANGED);
}
void Player::UpdateSpellHitChances()
{
- m_modSpellHitChance = (float)GetTotalAuraModifier(SPELL_AURA_MOD_SPELL_HIT_CHANCE);
+ m_modSpellHitChance = 15.0f + (float)GetTotalAuraModifier(SPELL_AURA_MOD_SPELL_HIT_CHANCE);
m_modSpellHitChance += GetRatingBonusValue(CR_HIT_SPELL);
}
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 9d18fddb2b6..bd928270f14 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -263,9 +263,18 @@ Unit::Unit(bool isWorldObject) :
m_createStats[i] = 0.0f;
m_attacking = NULL;
- m_modMeleeHitChance = 0.0f;
- m_modRangedHitChance = 0.0f;
- m_modSpellHitChance = 0.0f;
+ if (GetTypeId() == TYPEID_PLAYER)
+ {
+ m_modMeleeHitChance = 7.5f;
+ m_modRangedHitChance = 7.5f;
+ m_modSpellHitChance = 15.0f;
+ }
+ else
+ {
+ m_modMeleeHitChance = 0.0f;
+ m_modRangedHitChance = 0.0f;
+ m_modSpellHitChance = 0.0f;
+ }
m_baseSpellCritChance = 5;
m_CombatTimer = 0;
@@ -1055,7 +1064,6 @@ void Unit::CalculateSpellDamageTaken(SpellNonMeleeDamage* damageInfo, int32 dama
{
damageInfo->HitInfo |= SPELL_HIT_TYPE_CRIT;
damage = SpellCriticalDamageBonus(spellInfo, damage, victim);
-
}
ApplyResilience(victim, &damage);
@@ -1912,42 +1920,29 @@ void Unit::HandleProcExtraAttackFor(Unit* victim)
}
}
-MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(const Unit* victim, WeaponAttackType attType) const
+MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(Unit const* victim, WeaponAttackType attType) const
{
- // This is only wrapper
+ if (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsInEvadeMode())
+ return MELEE_HIT_EVADE;
// Miss chance based on melee
//float miss_chance = MeleeMissChanceCalc(victim, attType);
- float miss_chance = MeleeSpellMissChance(victim, attType, 0);
+ int32 miss_chance = int32(MeleeSpellMissChance(victim, attType, 0) * 100);
// Critical hit chance
- float crit_chance = GetUnitCriticalChance(attType, victim);
+ int32 crit_chance = int32(GetUnitCriticalChance(attType, victim) * 100);
// stunned target cannot dodge and this is check in GetUnitDodgeChance() (returned 0 in this case)
- float dodge_chance = victim->GetUnitDodgeChance();
- float block_chance = victim->GetUnitBlockChance();
- float parry_chance = victim->GetUnitParryChance();
-
- // Useful if want to specify crit & miss chances for melee, else it could be removed
- TC_LOG_DEBUG("entities.unit", "MELEE OUTCOME: miss %f crit %f dodge %f parry %f block %f", miss_chance, crit_chance, dodge_chance, parry_chance, block_chance);
+ int32 dodge_chance = int32(victim->GetUnitDodgeChanceAgainst(this) * 100);
+ int32 block_chance = int32(victim->GetUnitBlockChanceAgainst(this) * 100);
+ int32 parry_chance = int32(victim->GetUnitParryChanceAgainst(this) * 100);
- return RollMeleeOutcomeAgainst(victim, attType, int32(crit_chance*100), int32(miss_chance*100), int32(dodge_chance*100), int32(parry_chance*100), int32(block_chance*100));
-}
-
-MeleeHitOutcome Unit::RollMeleeOutcomeAgainst (const Unit* victim, WeaponAttackType attType, int32 crit_chance, int32 miss_chance, int32 dodge_chance, int32 parry_chance, int32 block_chance) const
-{
- if (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsInEvadeMode())
- return MELEE_HIT_EVADE;
-
- int32 attackerMaxSkillValueForLevel = GetMaxSkillValueForLevel(victim);
- int32 victimMaxSkillValueForLevel = victim->GetMaxSkillValueForLevel(this);
-
- // bonus from skills is 0.04%
- int32 skillBonus = 4 * (attackerMaxSkillValueForLevel - victimMaxSkillValueForLevel);
int32 sum = 0, tmp = 0;
int32 roll = urand (0, 10000);
- TC_LOG_DEBUG("entities.unit", "RollMeleeOutcomeAgainst: skill bonus of %d for attacker", skillBonus);
+ int32 attackerLevel = getLevelForTarget(victim);
+ int32 victimLevel = getLevelForTarget(this);
+
TC_LOG_DEBUG("entities.unit", "RollMeleeOutcomeAgainst: rolled %d, miss %d, dodge %d, parry %d, block %d, crit %d",
roll, miss_chance, dodge_chance, parry_chance, block_chance, crit_chance);
@@ -1982,15 +1977,14 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst (const Unit* victim, WeaponAttackT
dodge_chance -= GetTotalAuraModifier(SPELL_AURA_MOD_EXPERTISE) * 25;
// Modify dodge chance by attacker SPELL_AURA_MOD_COMBAT_RESULT_CHANCE
- dodge_chance+= GetTotalAuraModifierByMiscValue(SPELL_AURA_MOD_COMBAT_RESULT_CHANCE, VICTIMSTATE_DODGE) * 100;
- dodge_chance = int32 (float (dodge_chance) * GetTotalAuraMultiplier(SPELL_AURA_MOD_ENEMY_DODGE));
+ dodge_chance += GetTotalAuraModifierByMiscValue(SPELL_AURA_MOD_COMBAT_RESULT_CHANCE, VICTIMSTATE_DODGE) * 100;
+ dodge_chance = int32(float(dodge_chance) * GetTotalAuraMultiplier(SPELL_AURA_MOD_ENEMY_DODGE));
tmp = dodge_chance;
if ((tmp > 0) // check if unit _can_ dodge
- && ((tmp -= skillBonus) > 0)
&& roll < (sum += tmp))
{
- TC_LOG_DEBUG("entities.unit", "RollMeleeOutcomeAgainst: DODGE <%d, %d)", sum-tmp, sum);
+ TC_LOG_DEBUG("entities.unit", "RollMeleeOutcomeAgainst: DODGE <%d, %d)", sum - tmp, sum);
return MELEE_HIT_DODGE;
}
}
@@ -2012,7 +2006,6 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst (const Unit* victim, WeaponAttackT
{
int32 tmp2 = int32(parry_chance);
if (tmp2 > 0 // check if unit _can_ parry
- && (tmp2 -= skillBonus) > 0
&& roll < (sum += tmp2))
{
TC_LOG_DEBUG("entities.unit", "RollMeleeOutcomeAgainst: PARRY <%d, %d)", sum-tmp2, sum);
@@ -2024,7 +2017,6 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst (const Unit* victim, WeaponAttackT
{
tmp = block_chance;
if (tmp > 0 // check if unit _can_ block
- && (tmp -= skillBonus) > 0
&& roll < (sum += tmp))
{
TC_LOG_DEBUG("entities.unit", "RollMeleeOutcomeAgainst: BLOCK <%d, %d)", sum-tmp, sum);
@@ -2049,13 +2041,10 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst (const Unit* victim, WeaponAttackT
if (attType != RANGED_ATTACK &&
(GetTypeId() == TYPEID_PLAYER || IsPet()) &&
victim->GetTypeId() != TYPEID_PLAYER && !victim->IsPet() &&
- getLevel() < victim->getLevelForTarget(this))
+ attackerLevel + 3 < victimLevel)
{
// cap possible value (with bonuses > max skill)
- int32 skill = attackerMaxSkillValueForLevel;
-
- tmp = (10 + (victimMaxSkillValueForLevel - skill)) * 100;
- tmp = tmp > 4000 ? 4000 : tmp;
+ tmp = (10 + 10 * (victimLevel - attackerLevel)) * 100;
if (roll < (sum += tmp))
{
TC_LOG_DEBUG("entities.unit", "RollMeleeOutcomeAgainst: GLANCING <%d, %d)", sum-4000, sum);
@@ -2064,24 +2053,17 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst (const Unit* victim, WeaponAttackT
}
// mobs can score crushing blows if they're 4 or more levels above victim
- if (getLevelForTarget(victim) >= victim->getLevelForTarget(this) + 4 &&
+ if (attackerLevel >= victimLevel + 4 &&
// can be from by creature (if can) or from controlled player that considered as creature
!IsControlledByPlayer() &&
!(GetTypeId() == TYPEID_UNIT && ToCreature()->GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_NO_CRUSH))
{
- // when their weapon skill is 15 or more above victim's defense skill
- tmp = victimMaxSkillValueForLevel;
- // tmp = mob's level * 5 - player's current defense skill
- tmp = attackerMaxSkillValueForLevel - tmp;
- if (tmp >= 15)
+ // add 2% chance per level, min. is 15%
+ tmp = attackerLevel - victimLevel * 1000 - 1500;
+ if (roll < (sum += tmp))
{
- // add 2% chance per lacking skill point, min. is 15%
- tmp = tmp * 200 - 1500;
- if (roll < (sum += tmp))
- {
- TC_LOG_DEBUG("entities.unit", "RollMeleeOutcomeAgainst: CRUSHING <%d, %d)", sum-tmp, sum);
- return MELEE_HIT_CRUSHING;
- }
+ TC_LOG_DEBUG("entities.unit", "RollMeleeOutcomeAgainst: CRUSHING <%d, %d)", sum-tmp, sum);
+ return MELEE_HIT_CRUSHING;
}
}
@@ -2176,7 +2158,7 @@ bool Unit::isSpellBlocked(Unit* victim, SpellInfo const* spellProto, WeaponAttac
victim->ToCreature()->GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_NO_BLOCK)
return false;
- if (roll_chance_f(victim->GetUnitBlockChance()))
+ if (roll_chance_f(victim->GetUnitBlockChanceAgainst(this)))
return true;
}
return false;
@@ -2353,7 +2335,7 @@ SpellMissInfo Unit::MeleeSpellHitResult(Unit* victim, SpellInfo const* spellInfo
if (canDodge)
{
// Roll dodge
- int32 dodgeChance = int32(victim->GetUnitDodgeChance() * 100.0f);
+ int32 dodgeChance = int32(victim->GetUnitDodgeChanceAgainst(this) * 100.0f);
// Reduce enemy dodge chance by SPELL_AURA_MOD_COMBAT_RESULT_CHANCE
dodgeChance += GetTotalAuraModifierByMiscValue(SPELL_AURA_MOD_COMBAT_RESULT_CHANCE, VICTIMSTATE_DODGE) * 100;
dodgeChance = int32(float(dodgeChance) * GetTotalAuraMultiplier(SPELL_AURA_MOD_ENEMY_DODGE));
@@ -2372,7 +2354,7 @@ SpellMissInfo Unit::MeleeSpellHitResult(Unit* victim, SpellInfo const* spellInfo
if (canParry)
{
// Roll parry
- int32 parryChance = int32(victim->GetUnitParryChance() * 100.0f);
+ int32 parryChance = int32(victim->GetUnitParryChanceAgainst(this) * 100.0f);
// Reduce parry chance by attacker expertise rating
if (GetTypeId() == TYPEID_PLAYER)
parryChance -= int32(ToPlayer()->GetExpertiseDodgeOrParryReduction(attType) * 100.0f);
@@ -2388,7 +2370,7 @@ SpellMissInfo Unit::MeleeSpellHitResult(Unit* victim, SpellInfo const* spellInfo
if (canBlock)
{
- int32 blockChance = int32(victim->GetUnitBlockChance() * 100.0f);
+ int32 blockChance = int32(victim->GetUnitBlockChanceAgainst(this) * 100.0f);
if (blockChance < 0)
blockChance = 0;
tmp += blockChance;
@@ -2414,11 +2396,27 @@ SpellMissInfo Unit::MagicSpellHitResult(Unit* victim, SpellInfo const* spellInfo
if (GetTypeId() == TYPEID_UNIT && ToCreature()->IsTrigger())
thisLevel = std::max<int32>(thisLevel, spellInfo->SpellLevel);
int32 leveldif = int32(victim->getLevelForTarget(this)) - thisLevel;
+ int32 levelBasedHitDiff = leveldif;
// Base hit chance from attacker and victim levels
int32 modHitChance = 100;
- if (leveldif > 3)
- modHitChance -= (leveldif - 3) * lchance;
+ if (levelBasedHitDiff >= 0)
+ {
+ if (victim->GetTypeId() != TYPEID_PLAYER)
+ {
+ modHitChance = 94 - 3 * std::min(levelBasedHitDiff, 3);
+ levelBasedHitDiff -= 3;
+ }
+ else
+ {
+ modHitChance = 96 - std::min(levelBasedHitDiff, 2);
+ levelBasedHitDiff -= 2;
+ }
+ if (levelBasedHitDiff > 0)
+ modHitChance -= lchance * std::min(levelBasedHitDiff, 7);
+ }
+ else
+ modHitChance = 97 - levelBasedHitDiff;
// Spellmod from SPELLMOD_RESIST_MISS_CHANCE
if (Player* modOwner = GetSpellModOwner())
@@ -2523,12 +2521,7 @@ SpellMissInfo Unit::SpellHitResult(Unit* victim, SpellInfo const* spellInfo, boo
return SPELL_MISS_NONE;
}
-uint32 Unit::GetUnitMeleeSkill(Unit const* target) const
-{
- return (target ? getLevelForTarget(target) : getLevel()) * 5;
-}
-
-float Unit::GetUnitDodgeChance() const
+float Unit::GetUnitDodgeChanceAgainst(Unit const* attacker) const
{
if (IsNonMeleeSpellCast(false) || HasUnitState(UNIT_STATE_CONTROLLED))
return 0.0f;
@@ -2541,14 +2534,16 @@ float Unit::GetUnitDodgeChance() const
return 0.0f;
else
{
- float dodge = 5.0f;
- dodge += GetTotalAuraModifier(SPELL_AURA_MOD_DODGE_PERCENT);
+ float dodge = 3.0f + GetTotalAuraModifier(SPELL_AURA_MOD_DODGE_PERCENT);
+ int32 levelDiff = getLevelForTarget(attacker) - attacker->getLevelForTarget(this);
+ if (levelDiff > 0)
+ dodge += 1.5f * levelDiff;
return dodge > 0.0f ? dodge : 0.0f;
}
}
}
-float Unit::GetUnitParryChance() const
+float Unit::GetUnitParryChanceAgainst(Unit const* attacker) const
{
if (IsNonMeleeSpellCast(false) || HasUnitState(UNIT_STATE_CONTROLLED))
return 0.0f;
@@ -2569,11 +2564,11 @@ float Unit::GetUnitParryChance() const
}
else if (GetTypeId() == TYPEID_UNIT)
{
- if (GetCreatureType() == CREATURE_TYPE_HUMANOID)
- {
- chance = 5.0f;
- chance += GetTotalAuraModifier(SPELL_AURA_MOD_PARRY_PERCENT);
- }
+ chance = 6.0f;
+ int32 levelDiff = getLevelForTarget(attacker) - attacker->getLevelForTarget(this);
+ if (levelDiff > 0)
+ chance += 1.5f * levelDiff;
+ chance += GetTotalAuraModifier(SPELL_AURA_MOD_PARRY_PERCENT);
}
return chance > 0.0f ? chance : 0.0f;
@@ -2591,7 +2586,7 @@ float Unit::GetUnitMissChance(WeaponAttackType attType) const
return miss_chance;
}
-float Unit::GetUnitBlockChance() const
+float Unit::GetUnitBlockChanceAgainst(Unit const* attacker) const
{
if (IsNonMeleeSpellCast(false) || HasUnitState(UNIT_STATE_CONTROLLED))
return 0.0f;
@@ -2601,7 +2596,7 @@ float Unit::GetUnitBlockChance() const
if (player->CanBlock())
{
Item* tmpitem = player->GetUseableItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
- if (tmpitem && !tmpitem->IsBroken())
+ if (tmpitem && !tmpitem->IsBroken() && tmpitem->GetTemplate()->GetInventoryType() == INVTYPE_SHIELD)
return GetFloatValue(PLAYER_BLOCK_PERCENTAGE);
}
// is player but has no block ability or no not broken shield equipped
@@ -2613,7 +2608,10 @@ float Unit::GetUnitBlockChance() const
return 0.0f;
else
{
- float block = 5.0f;
+ float block = 3.0f;
+ int32 levelDiff = getLevelForTarget(attacker) - attacker->getLevelForTarget(this);
+ if (levelDiff > 0)
+ block += 1.5f * levelDiff;
block += GetTotalAuraModifier(SPELL_AURA_MOD_BLOCK_PERCENT);
return block > 0.0f ? block : 0.0f;
}
@@ -11901,7 +11899,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 +11927,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;
@@ -12303,9 +12301,7 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u
continue;
// do checks using conditions table
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_SPELL_PROC, spellProto->Id);
- ConditionSourceInfo condInfo = ConditionSourceInfo(eventInfo.GetActor(), eventInfo.GetActionTarget());
- if (!sConditionMgr->IsObjectMeetToConditions(condInfo, conditions))
+ if (!sConditionMgr->IsObjectMeetingNotGroupedConditions(CONDITION_SOURCE_TYPE_SPELL_PROC, spellProto->Id, eventInfo.GetActor(), eventInfo.GetActionTarget()))
continue;
// AuraScript Hook
@@ -12780,6 +12776,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()
@@ -14494,32 +14493,14 @@ void Unit::SetAuraStack(uint32 spellId, Unit* target, uint32 stack)
aura->SetStackAmount(stack);
}
-void Unit::SendPlaySpellVisualKit(uint32 id, uint32 unkParam)
-{
- ObjectGuid guid = GetGUID();
-
- WorldPacket data(SMSG_PLAY_SPELL_VISUAL_KIT, 4 + 4+ 4 + 8);
- data << uint32(0);
- data << uint32(id); // SpellVisualKit.dbc index
- data << uint32(unkParam);
- data.WriteBit(guid[4]);
- data.WriteBit(guid[7]);
- data.WriteBit(guid[5]);
- data.WriteBit(guid[3]);
- data.WriteBit(guid[1]);
- data.WriteBit(guid[2]);
- data.WriteBit(guid[0]);
- data.WriteBit(guid[6]);
- data.FlushBits();
- data.WriteByteSeq(guid[0]);
- data.WriteByteSeq(guid[4]);
- data.WriteByteSeq(guid[1]);
- data.WriteByteSeq(guid[6]);
- data.WriteByteSeq(guid[7]);
- data.WriteByteSeq(guid[2]);
- data.WriteByteSeq(guid[3]);
- data.WriteByteSeq(guid[5]);
- SendMessageToSet(&data, true);
+void Unit::SendPlaySpellVisualKit(uint32 id, uint32 type)
+{
+ WorldPackets::Spells::PlaySpellVisualKit playSpellVisualKit;
+ playSpellVisualKit.Unit = GetGUID();
+ playSpellVisualKit.KitRecID = id;
+ playSpellVisualKit.KitType = type;
+ playSpellVisualKit.Duration = 0;
+ SendMessageToSet(playSpellVisualKit.Write(), true);
}
void Unit::ApplyResilience(Unit const* victim, int32* damage) const
@@ -14574,8 +14555,8 @@ float Unit::MeleeSpellMissChance(const Unit* victim, WeaponAttackType attType, u
// Limit miss chance from 0 to 60%
if (missChance < 0.0f)
return 0.0f;
- if (missChance > 60.0f)
- return 60.0f;
+ if (missChance > 77.0f)
+ return 77.0f;
return missChance;
}
@@ -14646,38 +14627,14 @@ void Unit::UpdateObjectVisibility(bool forced)
void Unit::SendMoveKnockBack(Player* player, float speedXY, float speedZ, float vcos, float vsin)
{
- ObjectGuid guid = GetGUID();
- WorldPacket data(SMSG_MOVE_KNOCK_BACK, (1+8+4+4+4+4+4));
- data.WriteBit(guid[0]);
- data.WriteBit(guid[3]);
- data.WriteBit(guid[6]);
- data.WriteBit(guid[7]);
- data.WriteBit(guid[2]);
- data.WriteBit(guid[5]);
- data.WriteBit(guid[1]);
- data.WriteBit(guid[4]);
-
- data.WriteByteSeq(guid[1]);
-
- data << float(vsin);
- data << uint32(0);
-
- data.WriteByteSeq(guid[6]);
- data.WriteByteSeq(guid[7]);
-
- data << float(speedXY);
-
- data.WriteByteSeq(guid[4]);
- data.WriteByteSeq(guid[5]);
- data.WriteByteSeq(guid[3]);
-
- data << float(speedZ);
- data << float(vcos);
-
- data.WriteByteSeq(guid[2]);
- data.WriteByteSeq(guid[0]);
-
- player->GetSession()->SendPacket(&data);
+ WorldPackets::Movement::MoveKnockBack moveKnockBack;
+ moveKnockBack.MoverGUID = GetGUID();
+ moveKnockBack.SequenceIndex = m_movementCounter++;
+ moveKnockBack.HorzSpeed = speedXY;
+ moveKnockBack.VertSpeed = speedZ;
+ moveKnockBack.Direction.x = vcos;
+ moveKnockBack.Direction.y = vsin;
+ player->GetSession()->SendPacket(moveKnockBack.Write());
}
void Unit::KnockbackFrom(float x, float y, float speedXY, float speedZ)
@@ -15210,9 +15167,7 @@ bool Unit::HandleSpellClick(Unit* clicker, int8 seatId)
continue;
//! Check database conditions
- ConditionList conds = sConditionMgr->GetConditionsForSpellClickEvent(spellClickEntry, itr->second.spellId);
- ConditionSourceInfo info = ConditionSourceInfo(clicker, this);
- if (!sConditionMgr->IsObjectMeetToConditions(info, conds))
+ if (!sConditionMgr->IsObjectMeetingSpellClickConditions(spellClickEntry, itr->second.spellId, clicker, this))
continue;
Unit* caster = (itr->second.castFlags & NPC_CLICK_CAST_CASTER_CLICKER) ? clicker : this;
@@ -15460,8 +15415,10 @@ void Unit::SendTeleportPacket(Position& pos)
{
WorldPackets::Movement::MoveTeleport moveTeleport;
moveTeleport.MoverGUID = GetGUID();
- moveTeleport.TransportGUID = GetTransGUID();
moveTeleport.Pos.Relocate(pos);
+ if (TransportBase* transportBase = GetDirectTransport())
+ transportBase->CalculatePassengerOffset(moveTeleport.Pos.m_positionX, moveTeleport.Pos.m_positionY, moveTeleport.Pos.m_positionZ);
+ moveTeleport.TransportGUID = GetTransGUID();
moveTeleport.Facing = GetOrientation();
moveTeleport.SequenceIndex = m_movementCounter++;
ToPlayer()->SendDirectMessage(moveTeleport.Write());
@@ -16096,6 +16053,41 @@ bool Unit::SetHover(bool enable, bool packetOnly /*= false*/)
return true;
}
+bool Unit::SetCollision(bool disable)
+{
+ if (disable == HasUnitMovementFlag(MOVEMENTFLAG_DISABLE_COLLISION))
+ return false;
+
+ if (disable)
+ AddUnitMovementFlag(MOVEMENTFLAG_DISABLE_COLLISION);
+ else
+ RemoveUnitMovementFlag(MOVEMENTFLAG_DISABLE_COLLISION);
+
+ static OpcodeServer const collisionOpcodeTable[2][2] =
+ {
+ { SMSG_MOVE_SPLINE_ENABLE_COLLISION, SMSG_MOVE_ENABLE_COLLISION },
+ { SMSG_MOVE_SPLINE_DISABLE_COLLISION, SMSG_MOVE_DISABLE_COLLISION }
+ };
+
+ bool player = GetTypeId() == TYPEID_PLAYER && ToPlayer()->m_mover->GetTypeId() == TYPEID_PLAYER;
+
+ if (player)
+ {
+ WorldPackets::Movement::MoveSetFlag packet(collisionOpcodeTable[disable][1]);
+ packet.MoverGUID = GetGUID();
+ packet.SequenceIndex = m_movementCounter++;
+ SendMessageToSet(packet.Write(), true);
+ }
+ else
+ {
+ WorldPackets::Movement::MoveSplineSetFlag packet(collisionOpcodeTable[disable][0]);
+ packet.MoverGUID = GetGUID();
+ SendMessageToSet(packet.Write(), true);
+ }
+
+ return true;
+}
+
void Unit::SendSetVehicleRecId(uint32 vehicleId)
{
if (Player* player = ToPlayer())
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index c6a012ac1b7..94eac857b24 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -820,7 +820,7 @@ enum MovementFlags
// to properly calculate all movement
MOVEMENTFLAG_MASK_CREATURE_ALLOWED =
MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_DISABLE_GRAVITY | MOVEMENTFLAG_ROOT | MOVEMENTFLAG_SWIMMING |
- MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_WATERWALKING | MOVEMENTFLAG_FALLING_SLOW | MOVEMENTFLAG_HOVER,
+ MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_WATERWALKING | MOVEMENTFLAG_FALLING_SLOW | MOVEMENTFLAG_HOVER | MOVEMENTFLAG_DISABLE_COLLISION,
/// @todo if needed: add more flags to this masks that are exclusive to players
MOVEMENTFLAG_MASK_PLAYER_ONLY =
@@ -828,7 +828,7 @@ enum MovementFlags
/// Movement flags that have change status opcodes associated for players
MOVEMENTFLAG_MASK_HAS_PLAYER_STATUS_OPCODE = MOVEMENTFLAG_DISABLE_GRAVITY | MOVEMENTFLAG_ROOT |
- MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_WATERWALKING | MOVEMENTFLAG_FALLING_SLOW | MOVEMENTFLAG_HOVER
+ MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_WATERWALKING | MOVEMENTFLAG_FALLING_SLOW | MOVEMENTFLAG_HOVER | MOVEMENTFLAG_DISABLE_COLLISION
};
enum MovementFlags2
@@ -1535,9 +1535,9 @@ class Unit : public WorldObject
SpellMissInfo MagicSpellHitResult(Unit* victim, SpellInfo const* spellInfo);
SpellMissInfo SpellHitResult(Unit* victim, SpellInfo const* spellInfo, bool canReflect = false);
- float GetUnitDodgeChance() const;
- float GetUnitParryChance() const;
- float GetUnitBlockChance() const;
+ float GetUnitDodgeChanceAgainst(Unit const* attacker) const;
+ float GetUnitParryChanceAgainst(Unit const* attacker) const;
+ float GetUnitBlockChanceAgainst(Unit const* attacker) const;
float GetUnitMissChance(WeaponAttackType attType) const;
float GetUnitCriticalChance(WeaponAttackType attackType, const Unit* victim) const;
int32 GetMechanicResistChance(SpellInfo const* spellInfo) const;
@@ -1545,13 +1545,10 @@ class Unit : public WorldObject
virtual uint32 GetBlockPercent() const { return 30; }
- uint32 GetUnitMeleeSkill(Unit const* target = NULL) const;
-
float GetWeaponProcChance() const;
float GetPPMProcChance(uint32 WeaponSpeed, float PPM, const SpellInfo* spellProto) const;
- MeleeHitOutcome RollMeleeOutcomeAgainst (const Unit* victim, WeaponAttackType attType) const;
- MeleeHitOutcome RollMeleeOutcomeAgainst (const Unit* victim, WeaponAttackType attType, int32 crit_chance, int32 miss_chance, int32 dodge_chance, int32 parry_chance, int32 block_chance) const;
+ MeleeHitOutcome RollMeleeOutcomeAgainst(Unit const* victim, WeaponAttackType attType) const;
bool IsVendor() const { return HasFlag64(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_VENDOR); }
bool IsTrainer() const { return HasFlag64(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_TRAINER); }
@@ -1626,7 +1623,7 @@ class Unit : public WorldObject
Aura* AddAura(uint32 spellId, Unit* target);
Aura* AddAura(SpellInfo const* spellInfo, uint32 effMask, Unit* target);
void SetAuraStack(uint32 spellId, Unit* target, uint32 stack);
- void SendPlaySpellVisualKit(uint32 id, uint32 unkParam);
+ void SendPlaySpellVisualKit(uint32 id, uint32 type);
void DeMorph();
@@ -1667,6 +1664,7 @@ class Unit : public WorldObject
bool SetWaterWalking(bool enable, bool packetOnly = false);
bool SetFeatherFall(bool enable, bool packetOnly = false);
bool SetHover(bool enable, bool packetOnly = false);
+ bool SetCollision(bool disable);
void SendSetVehicleRecId(uint32 vehicleId);
void SetInFront(WorldObject const* target);
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 5e5ec3be6eb..2a0a4cbe917 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()
@@ -577,6 +577,12 @@ void ObjectMgr::LoadCreatureTemplateAddons()
if (AdditionalSpellInfo->HasAura(DIFFICULTY_NONE, SPELL_AURA_CONTROL_VEHICLE))
TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has SPELL_AURA_CONTROL_VEHICLE aura %u defined in `auras` field in `creature_template_addon`.", entry, spellId);
+ if (std::find(creatureAddon.auras.begin(), creatureAddon.auras.end(), spellId) != creatureAddon.auras.end())
+ {
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has duplicate aura (spell %u) in `auras` field in `creature_template_addon`.", entry, spellId);
+ continue;
+ }
+
creatureAddon.auras[i++] = spellId;
}
@@ -1028,6 +1034,12 @@ void ObjectMgr::LoadCreatureAddons()
if (AdditionalSpellInfo->HasAura(DIFFICULTY_NONE, SPELL_AURA_CONTROL_VEHICLE))
TC_LOG_ERROR("sql.sql", "Creature (GUID: " UI64FMTD ") has SPELL_AURA_CONTROL_VEHICLE aura %u defined in `auras` field in `creature_addon`.", guid, spellId);
+ if (std::find(creatureAddon.auras.begin(), creatureAddon.auras.end(), spellId) != creatureAddon.auras.end())
+ {
+ TC_LOG_ERROR("sql.sql", "Creature (GUID: " UI64FMTD ") has duplicate aura (spell %u) in `auras` field in `creature_addon`.", guid, spellId);
+ continue;
+ }
+
creatureAddon.auras[i++] = spellId;
}
@@ -2733,7 +2745,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 +4947,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 +4960,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 +4983,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 +5021,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 +5161,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 +5653,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)
@@ -5862,7 +5874,8 @@ WorldSafeLocsEntry const* ObjectMgr::GetClosestGraveYard(float x, float y, float
// not need to check validity of map object; MapId _MUST_ be valid here
if (range.first == range.second && !map->IsBattlegroundOrArena())
{
- TC_LOG_ERROR("sql.sql", "Table `graveyard_zone` incomplete: Zone %u Team %u does not have a linked graveyard.", zoneId, team);
+ if (zoneId != 0) // zone == 0 can't be fixed, used by bliz for bugged zones
+ TC_LOG_ERROR("sql.sql", "Table `game_graveyard_zone` incomplete: Zone %u Team %u does not have a linked graveyard.", zoneId, team);
return GetDefaultGraveYard(team);
}
@@ -6533,7 +6546,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 +8540,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);
@@ -8873,8 +8892,7 @@ void ObjectMgr::LoadTerrainSwapDefaults()
uint32 mapId = fields[0].GetUInt32();
- MapEntry const* map = sMapStore.LookupEntry(mapId);
- if (!map)
+ if (!sMapStore.LookupEntry(mapId))
{
TC_LOG_ERROR("sql.sql", "Map %u defined in `terrain_swap_defaults` does not exist, skipped.", mapId);
continue;
@@ -8882,14 +8900,15 @@ void ObjectMgr::LoadTerrainSwapDefaults()
uint32 terrainSwap = fields[1].GetUInt32();
- map = sMapStore.LookupEntry(terrainSwap);
- if (!map)
+ if (!sMapStore.LookupEntry(terrainSwap))
{
TC_LOG_ERROR("sql.sql", "TerrainSwapMap %u defined in `terrain_swap_defaults` does not exist, skipped.", terrainSwap);
continue;
}
- _terrainMapDefaultStore[mapId].push_back(terrainSwap);
+ PhaseInfoStruct defaultSwap;
+ defaultSwap.Id = terrainSwap;
+ _terrainMapDefaultStore[mapId].push_back(defaultSwap);
++count;
} while (result->NextRow());
@@ -8926,7 +8945,8 @@ void ObjectMgr::LoadTerrainPhaseInfo()
continue;
}
- uint32 terrainSwap = fields[1].GetUInt32();
+ PhaseInfoStruct terrainSwap;
+ terrainSwap.Id = fields[1].GetUInt32();
_terrainPhaseInfoStore[phaseId].push_back(terrainSwap);
@@ -8995,9 +9015,9 @@ void ObjectMgr::LoadAreaPhases()
{
Field* fields = result->Fetch();
+ PhaseInfoStruct phase;
uint32 area = fields[0].GetUInt32();
- uint32 phase = fields[1].GetUInt32();
-
+ phase.Id = fields[1].GetUInt32();
_phases[area].push_back(phase);
++count;
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index 62791734b72..6b3712e0b92 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -516,14 +516,14 @@ struct GossipMenuItems
uint32 BoxMoney;
std::string BoxText;
uint32 BoxBroadcastTextId;
- ConditionList Conditions;
+ ConditionContainer Conditions;
};
struct GossipMenus
{
uint32 entry;
uint32 text_id;
- ConditionList conditions;
+ ConditionContainer conditions;
};
typedef std::multimap<uint32, GossipMenus> GossipMenusContainer;
@@ -681,8 +681,15 @@ struct DungeonEncounter
typedef std::list<DungeonEncounter const*> DungeonEncounterList;
typedef std::unordered_map<uint64, DungeonEncounterList> DungeonEncounterContainer;
-typedef std::unordered_map<uint32, std::list<uint32>> TerrainPhaseInfo;
-typedef std::unordered_map<uint32, std::list<uint32>> PhaseInfo;
+struct PhaseInfoStruct
+{
+ uint32 Id;
+ ConditionContainer Conditions;
+};
+
+typedef std::unordered_map<uint32, std::vector<PhaseInfoStruct>> TerrainPhaseInfo; // terrain swap
+typedef std::unordered_map<uint32, std::vector<uint32>> TerrainUIPhaseInfo; // worldmaparea swap
+typedef std::unordered_map<uint32, std::vector<PhaseInfoStruct>> PhaseInfo; // phase
class PlayerDumpReader;
@@ -1266,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
{
@@ -1293,12 +1300,37 @@ class ObjectMgr
return _gossipMenuItemsStore.equal_range(uiMenuId);
}
- std::list<uint32>& GetPhaseTerrainSwaps(uint32 phaseid) { return _terrainPhaseInfoStore[phaseid]; }
- std::list<uint32>& GetDefaultTerrainSwaps(uint32 mapid) { return _terrainMapDefaultStore[mapid]; }
- std::list<uint32>& GetTerrainWorldMaps(uint32 terrainId) { return _terrainWorldMapStore[terrainId]; }
- TerrainPhaseInfo& GetDefaultTerrainSwapStore() { return _terrainMapDefaultStore; }
- std::list<uint32>& GetPhasesForArea(uint32 area) { return _phases[area]; }
- PhaseInfo& GetAreaPhases() { return _phases; }
+ std::vector<PhaseInfoStruct> const* GetPhaseTerrainSwaps(uint32 phaseid) const
+ {
+ auto itr = _terrainPhaseInfoStore.find(phaseid);
+ return itr != _terrainPhaseInfoStore.end() ? &itr->second : nullptr;
+ }
+ std::vector<PhaseInfoStruct> const* GetDefaultTerrainSwaps(uint32 mapid) const
+ {
+ auto itr = _terrainMapDefaultStore.find(mapid);
+ return itr != _terrainMapDefaultStore.end() ? &itr->second : nullptr;
+ }
+ std::vector<uint32> const* GetTerrainWorldMaps(uint32 terrainId) const
+ {
+ auto itr = _terrainWorldMapStore.find(terrainId);
+ return itr != _terrainWorldMapStore.end() ? &itr->second : nullptr;
+ }
+ std::vector<PhaseInfoStruct> const* GetPhasesForArea(uint32 area) const
+ {
+ auto itr = _phases.find(area);
+ return itr != _phases.end() ? &itr->second : nullptr;
+ }
+ TerrainPhaseInfo const& GetDefaultTerrainSwapStore() const { return _terrainMapDefaultStore; }
+ PhaseInfo const& GetAreaPhases() const { return _phases; }
+ // condition loading helpers
+ std::vector<PhaseInfoStruct>* GetPhasesForAreaForLoading(uint32 area)
+ {
+ auto itr = _phases.find(area);
+ return itr != _phases.end() ? &itr->second : nullptr;
+ }
+ TerrainPhaseInfo& GetPhaseTerrainSwapStoreForLoading() { return _terrainPhaseInfoStore; }
+ TerrainPhaseInfo& GetDefaultTerrainSwapStoreForLoading() { return _terrainMapDefaultStore; }
+ PhaseInfo& GetAreaPhasesForLoading() { return _phases; }
// for wintergrasp only
GraveYardContainer GraveYardStore;
@@ -1440,7 +1472,7 @@ class ObjectMgr
TerrainPhaseInfo _terrainPhaseInfoStore;
TerrainPhaseInfo _terrainMapDefaultStore;
- TerrainPhaseInfo _terrainWorldMapStore;
+ TerrainUIPhaseInfo _terrainWorldMapStore;
PhaseInfo _phases;
private:
diff --git a/src/server/game/Grids/ObjectGridLoader.cpp b/src/server/game/Grids/ObjectGridLoader.cpp
index ac853ada5d2..cd6cec78d56 100644
--- a/src/server/game/Grids/ObjectGridLoader.cpp
+++ b/src/server/game/Grids/ObjectGridLoader.cpp
@@ -153,7 +153,12 @@ void ObjectWorldLoader::Visit(CorpseMapType& /*m*/)
for (Corpse* corpse : *corpses)
{
corpse->AddToWorld();
- i_grid.GetGridType(i_cell.CellX(), i_cell.CellY()).AddWorldObject(corpse);
+ GridType& cell = i_grid.GetGridType(i_cell.CellX(), i_cell.CellY());
+ if (corpse->IsWorldObject())
+ cell.AddWorldObject(corpse);
+ else
+ cell.AddGridObject(corpse);
+
++i_corpses;
}
}
@@ -231,7 +236,7 @@ void ObjectGridCleaner::Visit(GridRefManager<T> &m)
template void ObjectGridUnloader::Visit(CreatureMapType &);
template void ObjectGridUnloader::Visit(GameObjectMapType &);
template void ObjectGridUnloader::Visit(DynamicObjectMapType &);
-template void ObjectGridUnloader::Visit(CorpseMapType &);
+
template void ObjectGridUnloader::Visit(AreaTriggerMapType &);
template void ObjectGridCleaner::Visit(CreatureMapType &);
template void ObjectGridCleaner::Visit<GameObject>(GameObjectMapType &);
diff --git a/src/server/game/Grids/ObjectGridLoader.h b/src/server/game/Grids/ObjectGridLoader.h
index 778bb531e89..eb5d549e1c9 100644
--- a/src/server/game/Grids/ObjectGridLoader.h
+++ b/src/server/game/Grids/ObjectGridLoader.h
@@ -83,6 +83,7 @@ class ObjectGridCleaner
class ObjectGridUnloader
{
public:
+ void Visit(CorpseMapType& /*m*/) { } // corpses are deleted with Map
template<class T> void Visit(GridRefManager<T> &m);
};
#endif
diff --git a/src/server/game/Handlers/BattlefieldHandler.cpp b/src/server/game/Handlers/BattlefieldHandler.cpp
index 542ebee4950..f14f9bb85be 100644
--- a/src/server/game/Handlers/BattlefieldHandler.cpp
+++ b/src/server/game/Handlers/BattlefieldHandler.cpp
@@ -25,290 +25,115 @@
#include "Battlefield.h"
#include "BattlefieldMgr.h"
+#include "BattlefieldPackets.h"
/**
- * @fn void WorldSession::SendBfInvitePlayerToWar(ObjectGuid guid, uint32 zoneId, uint32 acceptTime)
+ * @fn void WorldSession::SendBfInvitePlayerToWar(uint64 queueId, uint32 zoneId, uint32 acceptTime)
*
* @brief This send to player windows for invite player to join the war.
*
- * @param guid The guid of Bf
+ * @param queueId The queue id of Bf
* @param zoneId The zone where the battle is (4197 for wg)
* @param acceptTime Time in second that the player have for accept
*/
-void WorldSession::SendBfInvitePlayerToWar(ObjectGuid guid, uint32 zoneId, uint32 acceptTime)
+void WorldSession::SendBfInvitePlayerToWar(uint64 queueId, uint32 zoneId, uint32 acceptTime)
{
- WorldPacket data(SMSG_BF_MGR_ENTRY_INVITE, 16);
-
- data.WriteBit(guid[5]);
- data.WriteBit(guid[3]);
- data.WriteBit(guid[7]);
- data.WriteBit(guid[2]);
- data.WriteBit(guid[6]);
- data.WriteBit(guid[4]);
- data.WriteBit(guid[1]);
- data.WriteBit(guid[0]);
-
- data.WriteByteSeq(guid[6]);
- data << uint32(zoneId); // Zone Id
- data.WriteByteSeq(guid[1]);
- data.WriteByteSeq(guid[3]);
- data.WriteByteSeq(guid[4]);
- data.WriteByteSeq(guid[2]);
- data.WriteByteSeq(guid[0]);
- data << uint32(time(NULL) + acceptTime); // Invite lasts until
- data.WriteByteSeq(guid[7]);
- data.WriteByteSeq(guid[5]);
- SendPacket(&data);
+ WorldPackets::Battlefield::BFMgrEntryInvite bfMgrEntryInvite;
+ bfMgrEntryInvite.QueueID = queueId;
+ bfMgrEntryInvite.AreaID = zoneId;
+ bfMgrEntryInvite.ExpireTime = time(nullptr) + acceptTime;
+ SendPacket(bfMgrEntryInvite.Write());
}
/**
- * @fn void WorldSession::SendBfInvitePlayerToQueue(ObjectGuid guid)
+ * @fn void WorldSession::SendBfInvitePlayerToQueue(uint64 queueId, int8 battleState)
*
* @brief This send invitation to player to join the queue.
*
- * @param guid The guid of Bf
+ * @param queueId The queue id of Bf
*/
-void WorldSession::SendBfInvitePlayerToQueue(ObjectGuid guid)
+void WorldSession::SendBfInvitePlayerToQueue(uint64 queueId, int8 battleState)
{
- WorldPacket data(SMSG_BF_MGR_QUEUE_INVITE, 5);
-
- data.WriteBit(1); // unk
- data.WriteBit(0); // Has Warmup
- data.WriteBit(1); // unk
- data.WriteBit(guid[0]);
- data.WriteBit(1); // unk
- data.WriteBit(guid[2]);
- data.WriteBit(guid[6]);
- data.WriteBit(guid[3]);
- data.WriteBit(1); // unk
- data.WriteBit(0); // unk
- data.WriteBit(guid[1]);
- data.WriteBit(guid[5]);
- data.WriteBit(guid[4]);
- data.WriteBit(1); // unk
- data.WriteBit(guid[7]);
-
- data.FlushBits();
-
- data.WriteByteSeq(guid[2]);
- data.WriteByteSeq(guid[3]);
- data.WriteByteSeq(guid[6]);
- data << uint8(1); // Warmup
- data.WriteByteSeq(guid[5]);
- data.WriteByteSeq(guid[0]);
- data.WriteByteSeq(guid[4]);
- data.WriteByteSeq(guid[1]);
- data.WriteByteSeq(guid[7]);
- SendPacket(&data);
+ WorldPackets::Battlefield::BFMgrQueueInvite bfMgrQueueInvite;
+ bfMgrQueueInvite.QueueID = queueId;
+ bfMgrQueueInvite.BattleState = battleState;
+ SendPacket(bfMgrQueueInvite.Write());
}
/**
- * @fn void WorldSession::SendBfQueueInviteResponse(ObjectGuid guid, uint32 zoneId, bool canQueue, bool full)
+ * @fn void WorldSession::SendBfQueueInviteResponse(uint64 queueId, uint32 zoneId, int8 battleStatus, bool canQueue, bool loggingIn)
*
* @brief This send packet for inform player that he join queue.
*
- * @param guid The guid of Bf
+ * @param queueId The queue id of Bf
* @param zoneId The zone where the battle is (4197 for wg)
+ * @param battleStatus Battlefield status
* @param canQueue if able to queue
- * @param full on log in is full
+ * @param loggingIn on log in send queue status
*/
-void WorldSession::SendBfQueueInviteResponse(ObjectGuid guid, uint32 zoneId, bool canQueue, bool full)
+void WorldSession::SendBfQueueInviteResponse(uint64 queueId, uint32 zoneId, int8 battleStatus, bool canQueue /*= true*/, bool loggingIn /*= false*/)
{
- const bool hasSecondGuid = false;
- const bool warmup = true;
-
- WorldPacket data(SMSG_BF_MGR_QUEUE_REQUEST_RESPONSE, 16);
-
- data.WriteBit(guid[1]);
- data.WriteBit(guid[6]);
- data.WriteBit(guid[5]);
- data.WriteBit(guid[7]);
- data.WriteBit(full); // Logging In, VERIFYME
- data.WriteBit(guid[0]);
- data.WriteBit(!hasSecondGuid);
- data.WriteBit(guid[4]);
-
- // if (hasSecondGuid) 7 3 0 4 2 6 1 5
-
- data.WriteBit(guid[3]);
- data.WriteBit(guid[2]);
-
- // if (hasSecondGuid) 2 5 3 0 4 6 1 7
-
- data.FlushBits();
-
- data << uint8(canQueue); // Accepted
-
- data.WriteByteSeq(guid[1]);
- data.WriteByteSeq(guid[3]);
- data.WriteByteSeq(guid[6]);
- data.WriteByteSeq(guid[7]);
- data.WriteByteSeq(guid[0]);
-
- data << uint8(warmup);
-
- data.WriteByteSeq(guid[2]);
- data.WriteByteSeq(guid[4]);
- data.WriteByteSeq(guid[5]);
-
- data << uint32(zoneId);
-
- SendPacket(&data);
+ WorldPackets::Battlefield::BFMgrQueueRequestResponse bfMgrQueueRequestResponse;
+ bfMgrQueueRequestResponse.QueueID = queueId;
+ bfMgrQueueRequestResponse.AreaID = zoneId;
+ bfMgrQueueRequestResponse.Result = canQueue ? 1 : 0;
+ bfMgrQueueRequestResponse.BattleState = battleStatus;
+ bfMgrQueueRequestResponse.LoggingIn = loggingIn;
+ SendPacket(bfMgrQueueRequestResponse.Write());
}
/**
- * @fn void WorldSession::SendBfEntered(ObjectGuid guid)
+ * @fn void WorldSession::SendBfEntered(uint64 queueId, bool relocated, bool onOffense)
*
* @brief This is call when player accept to join war.
*
- * @param guid The guid of Bf
+ * @param queueId The queue id of Bf
+ * @param relocated Whether player is added to Bf on the spot or teleported from queue
+ * @param onOffense Whether player belongs to attacking team or not
*/
-void WorldSession::SendBfEntered(ObjectGuid guid)
+void WorldSession::SendBfEntered(uint64 queueId, bool relocated, bool onOffense)
{
- uint8 isAFK = _player->isAFK() ? 1 : 0;
-
- WorldPacket data(SMSG_BF_MGR_ENTERING, 11);
-
- data.WriteBit(0); // unk
- data.WriteBit(isAFK); // Clear AFK
- data.WriteBit(guid[1]);
- data.WriteBit(guid[4]);
- data.WriteBit(guid[5]);
- data.WriteBit(guid[0]);
- data.WriteBit(guid[3]);
- data.WriteBit(0); // unk
- data.WriteBit(guid[6]);
- data.WriteBit(guid[7]);
- data.WriteBit(guid[2]);
-
- data.FlushBits();
-
- data.WriteByteSeq(guid[5]);
- data.WriteByteSeq(guid[3]);
- data.WriteByteSeq(guid[0]);
- data.WriteByteSeq(guid[4]);
- data.WriteByteSeq(guid[1]);
- data.WriteByteSeq(guid[7]);
- data.WriteByteSeq(guid[2]);
- data.WriteByteSeq(guid[6]);
-
- SendPacket(&data);
+ WorldPackets::Battlefield::BFMgrEntering bfMgrEntering;
+ bfMgrEntering.ClearedAFK = _player->isAFK();
+ bfMgrEntering.Relocated = relocated;
+ bfMgrEntering.OnOffense = onOffense;
+ bfMgrEntering.QueueID = queueId;
+ SendPacket(bfMgrEntering.Write());
}
/**
- * @fn void WorldSession::SendBfLeaveMessage(ObjectGuid guid, BFLeaveReason reason)
+ * @fn void WorldSession::SendBfLeaveMessage(uint64 queueId, int8 battleState, bool relocated, BFLeaveReason reason)
*
* @brief This is call when player leave battlefield zone.
*
- * @param guid The guid of Bf
+ * @param queueId The queue id of Bf
+ * @param battleState Battlefield status
+ * @param relocated Whether player is added to Bf on the spot or teleported from queue
* @param reason Reason why player left battlefield
*/
-void WorldSession::SendBfLeaveMessage(ObjectGuid guid, BFLeaveReason reason /*= BF_LEAVE_REASON_EXITED*/)
-{
- WorldPacket data(SMSG_BF_MGR_EJECTED, 11);
-
- data.WriteBit(guid[2]);
- data.WriteBit(guid[5]);
- data.WriteBit(guid[1]);
- data.WriteBit(guid[0]);
- data.WriteBit(guid[3]);
- data.WriteBit(guid[6]);
- data.WriteBit(0); // Relocated
- data.WriteBit(guid[7]);
- data.WriteBit(guid[4]);
-
- data.FlushBits();
-
- data << uint8(2); // BattleStatus
- data.WriteByteSeq(guid[1]);
- data.WriteByteSeq(guid[7]);
- data.WriteByteSeq(guid[4]);
- data.WriteByteSeq(guid[2]);
- data.WriteByteSeq(guid[3]);
- data << uint8(reason); // Reason
- data.WriteByteSeq(guid[6]);
- data.WriteByteSeq(guid[0]);
- data.WriteByteSeq(guid[5]);
-
- SendPacket(&data);
-}
-
-/**
- * @fn void WorldSession::HandleBfQueueInviteResponse(WorldPacket& recvData)
- *
- * @brief Send by client when he click on accept for queue.
- */
-void WorldSession::HandleBfQueueInviteResponse(WorldPacket& recvData)
+void WorldSession::SendBfLeaveMessage(uint64 queueId, int8 battleState, bool relocated, BFLeaveReason reason /*= BF_LEAVE_REASON_EXITED*/)
{
- uint8 accepted;
- ObjectGuid guid;
-
- guid[2] = recvData.ReadBit();
- guid[0] = recvData.ReadBit();
- guid[4] = recvData.ReadBit();
- guid[3] = recvData.ReadBit();
- guid[5] = recvData.ReadBit();
- guid[7] = recvData.ReadBit();
- accepted = recvData.ReadBit();
- guid[1] = recvData.ReadBit();
- guid[6] = recvData.ReadBit();
-
- recvData.ReadByteSeq(guid[1]);
- recvData.ReadByteSeq(guid[3]);
- recvData.ReadByteSeq(guid[2]);
- recvData.ReadByteSeq(guid[4]);
- recvData.ReadByteSeq(guid[6]);
- recvData.ReadByteSeq(guid[7]);
- recvData.ReadByteSeq(guid[0]);
- recvData.ReadByteSeq(guid[5]);
-
- TC_LOG_ERROR("misc", "HandleQueueInviteResponse: %s, accepted: %u", guid.ToString().c_str(), accepted);
-
- Battlefield* bf = sBattlefieldMgr->GetBattlefieldByGUID(guid);
- if (!bf)
- return;
-
- if (accepted)
- bf->PlayerAcceptInviteToQueue(_player);
+ WorldPackets::Battlefield::BFMgrEjected bfMgrEjected;
+ bfMgrEjected.QueueID = queueId;
+ bfMgrEjected.Reason = reason;
+ bfMgrEjected.BattleState = battleState;
+ bfMgrEjected.Relocated = relocated;
+ SendPacket(bfMgrEjected.Write());
}
/**
- * @fn void WorldSession::HandleBfEntryInviteResponse(WorldPacket& recvData)
+ * @fn void WorldSession::HandleBfEntryInviteResponse(WorldPackets::Battlefield::BFMgrEntryInviteResponse& bfMgrEntryInviteResponse)
*
* @brief Send by client on clicking in accept or refuse of invitation windows for join game.
*/
-void WorldSession::HandleBfEntryInviteResponse(WorldPacket& recvData)
+void WorldSession::HandleBfEntryInviteResponse(WorldPackets::Battlefield::BFMgrEntryInviteResponse& bfMgrEntryInviteResponse)
{
- uint8 accepted;
- ObjectGuid guid;
-
- guid[6] = recvData.ReadBit();
- guid[1] = recvData.ReadBit();
- accepted = recvData.ReadBit();
- guid[5] = recvData.ReadBit();
- guid[3] = recvData.ReadBit();
- guid[2] = recvData.ReadBit();
- guid[0] = recvData.ReadBit();
- guid[7] = recvData.ReadBit();
- guid[4] = recvData.ReadBit();
-
- recvData.ReadByteSeq(guid[0]);
- recvData.ReadByteSeq(guid[3]);
- recvData.ReadByteSeq(guid[4]);
- recvData.ReadByteSeq(guid[2]);
- recvData.ReadByteSeq(guid[1]);
- recvData.ReadByteSeq(guid[6]);
- recvData.ReadByteSeq(guid[7]);
- recvData.ReadByteSeq(guid[5]);
-
- TC_LOG_ERROR("misc", "HandleBattlefieldInviteResponse: GUID: %s, accepted: %u", guid.ToString().c_str(), accepted);
-
- Battlefield* bf = sBattlefieldMgr->GetBattlefieldByGUID(guid);
+ Battlefield* bf = sBattlefieldMgr->GetBattlefieldByQueueId(bfMgrEntryInviteResponse.QueueID);
if (!bf)
return;
// If player accept invitation
- if (accepted)
+ if (bfMgrEntryInviteResponse.AcceptedInvite)
{
bf->PlayerAcceptInviteToWar(_player);
}
@@ -320,35 +145,28 @@ void WorldSession::HandleBfEntryInviteResponse(WorldPacket& recvData)
}
/**
- * @fn void WorldSession::HandleBfExitRequest(WorldPacket& recvData)
+ * @fn void WorldSession::HandleBfQueueInviteResponse(WorldPackets::Battlefield::BFMgrQueueInviteResponse& bfMgrQueueInviteResponse)
*
- * @brief Send by client when exited battlefield
+ * @brief Send by client when he click on accept for queue.
*/
-void WorldSession::HandleBfExitRequest(WorldPacket& recvData)
+void WorldSession::HandleBfQueueInviteResponse(WorldPackets::Battlefield::BFMgrQueueInviteResponse& bfMgrQueueInviteResponse)
{
- ObjectGuid guid;
-
- guid[2] = recvData.ReadBit();
- guid[0] = recvData.ReadBit();
- guid[3] = recvData.ReadBit();
- guid[7] = recvData.ReadBit();
- guid[4] = recvData.ReadBit();
- guid[5] = recvData.ReadBit();
- guid[6] = recvData.ReadBit();
- guid[1] = recvData.ReadBit();
-
- recvData.ReadByteSeq(guid[5]);
- recvData.ReadByteSeq(guid[2]);
- recvData.ReadByteSeq(guid[0]);
- recvData.ReadByteSeq(guid[1]);
- recvData.ReadByteSeq(guid[4]);
- recvData.ReadByteSeq(guid[3]);
- recvData.ReadByteSeq(guid[7]);
- recvData.ReadByteSeq(guid[6]);
+ Battlefield* bf = sBattlefieldMgr->GetBattlefieldByQueueId(bfMgrQueueInviteResponse.QueueID);
+ if (!bf)
+ return;
- TC_LOG_ERROR("misc", "HandleBfExitRequest: GUID: %s", guid.ToString().c_str());
+ if (bfMgrQueueInviteResponse.AcceptedInvite)
+ bf->PlayerAcceptInviteToQueue(_player);
+}
- Battlefield* bf = sBattlefieldMgr->GetBattlefieldByGUID(guid);
+/**
+ * @fn void WorldSession::HandleBfExitRequest(WorldPackets::Battlefield::BFMgrQueueExitRequest& bfMgrQueueExitRequest)
+ *
+ * @brief Send by client when exited battlefield
+ */
+void WorldSession::HandleBfQueueExitRequest(WorldPackets::Battlefield::BFMgrQueueExitRequest& bfMgrQueueExitRequest)
+{
+ Battlefield* bf = sBattlefieldMgr->GetBattlefieldByQueueId(bfMgrQueueExitRequest.QueueID);
if (!bf)
return;
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index c200c0851b2..88ad8358484 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -635,31 +635,9 @@ void WorldSession::HandleTextEmoteOpcode(WorldPackets::Chat::CTextEmote& packet)
creature->AI()->ReceiveEmote(_player, packet.SoundIndex);
}
-void WorldSession::HandleChatIgnoredOpcode(WorldPacket& recvData)
+void WorldSession::HandleChatIgnoredOpcode(WorldPackets::Chat::ChatReportIgnored& chatReportIgnored)
{
- ObjectGuid guid;
- uint8 unk;
-
- recvData >> unk; // probably related to spam reporting
- guid[5] = recvData.ReadBit();
- guid[2] = recvData.ReadBit();
- guid[6] = recvData.ReadBit();
- guid[4] = recvData.ReadBit();
- guid[7] = recvData.ReadBit();
- guid[0] = recvData.ReadBit();
- guid[1] = recvData.ReadBit();
- guid[3] = recvData.ReadBit();
-
- recvData.ReadByteSeq(guid[0]);
- recvData.ReadByteSeq(guid[6]);
- recvData.ReadByteSeq(guid[5]);
- recvData.ReadByteSeq(guid[1]);
- recvData.ReadByteSeq(guid[4]);
- recvData.ReadByteSeq(guid[3]);
- recvData.ReadByteSeq(guid[7]);
- recvData.ReadByteSeq(guid[2]);
-
- Player* player = ObjectAccessor::FindConnectedPlayer(guid);
+ Player* player = ObjectAccessor::FindConnectedPlayer(chatReportIgnored.IgnoredGUID);
if (!player || !player->GetSession())
return;
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index ccd3dd77109..92d94e65649 100644
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -598,8 +598,7 @@ void WorldSession::SendListInventory(ObjectGuid vendorGuid)
continue;
}
- ConditionList conditions = sConditionMgr->GetConditionsForNpcVendorEvent(vendor->GetEntry(), vendorItem->item);
- if (!sConditionMgr->IsObjectMeetToConditions(_player, vendor, conditions))
+ if (!sConditionMgr->IsObjectMeetingVendorItemConditions(vendor->GetEntry(), vendorItem->item, _player, vendor))
{
TC_LOG_DEBUG("condition", "SendListInventory: conditions not met for creature entry %u item %u", vendor->GetEntry(), vendorItem->item);
continue;
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/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp
index 678b2b72120..b7191644306 100644
--- a/src/server/game/Handlers/TradeHandler.cpp
+++ b/src/server/game/Handlers/TradeHandler.cpp
@@ -29,6 +29,7 @@
#include "Language.h"
#include "AccountMgr.h"
#include "TradePackets.h"
+#include "TradeData.h"
void WorldSession::SendTradeStatus(WorldPackets::Trade::TradeStatus& info)
{
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/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp
index 9ef0f8c7c57..42f9845f433 100644
--- a/src/server/game/Loot/LootMgr.cpp
+++ b/src/server/game/Loot/LootMgr.cpp
@@ -96,7 +96,7 @@ class LootTemplate::LootGroup // A set of loot def
void CheckLootRefs(LootTemplateMap const& store, LootIdSet* ref_set) const;
LootStoreItemList* GetExplicitlyChancedItemList() { return &ExplicitlyChanced; }
LootStoreItemList* GetEqualChancedItemList() { return &EqualChanced; }
- void CopyConditions(ConditionList conditions);
+ void CopyConditions(ConditionContainer conditions);
private:
LootStoreItemList ExplicitlyChanced; // Entries with chances defined in DB
LootStoreItemList EqualChanced; // Zero chances - every entry takes the same chance
@@ -219,7 +219,7 @@ void LootStore::ResetConditions()
{
for (LootTemplateMap::iterator itr = m_LootTemplates.begin(); itr != m_LootTemplates.end(); ++itr)
{
- ConditionList empty;
+ ConditionContainer empty;
itr->second->CopyConditions(empty);
}
}
@@ -1160,7 +1160,7 @@ bool LootTemplate::LootGroup::HasQuestDropForPlayer(Player const* player) const
return false;
}
-void LootTemplate::LootGroup::CopyConditions(ConditionList /*conditions*/)
+void LootTemplate::LootGroup::CopyConditions(ConditionContainer /*conditions*/)
{
for (LootStoreItemList::iterator i = ExplicitlyChanced.begin(); i != ExplicitlyChanced.end(); ++i)
(*i)->conditions.clear();
@@ -1265,7 +1265,7 @@ void LootTemplate::AddEntry(LootStoreItem* item)
Entries.push_back(item);
}
-void LootTemplate::CopyConditions(const ConditionList& conditions)
+void LootTemplate::CopyConditions(const ConditionContainer& conditions)
{
for (LootStoreItemList::iterator i = Entries.begin(); i != Entries.end(); ++i)
(*i)->conditions.clear();
diff --git a/src/server/game/Loot/LootMgr.h b/src/server/game/Loot/LootMgr.h
index 5610c876f2d..7f997fd59a5 100644
--- a/src/server/game/Loot/LootMgr.h
+++ b/src/server/game/Loot/LootMgr.h
@@ -141,7 +141,7 @@ struct LootStoreItem
uint8 groupid : 7;
uint8 mincount; // mincount for drop items
uint8 maxcount; // max drop count for the item mincount or Ref multiplicator
- ConditionList conditions; // additional loot condition
+ ConditionContainer conditions; // additional loot condition
// Constructor
// displayid is filled in IsValid() which must be called after
@@ -160,7 +160,7 @@ struct LootItem
uint32 randomSuffix;
int32 randomPropertyId;
std::vector<int32> BonusListIDs;
- ConditionList conditions; // additional loot condition
+ ConditionContainer conditions; // additional loot condition
GuidSet allowedGUIDs;
uint8 count : 8;
bool is_looted : 1;
@@ -260,7 +260,7 @@ class LootTemplate
void AddEntry(LootStoreItem* item);
// Rolls for every item in the template and adds the rolled items the the loot
void Process(Loot& loot, bool rate, uint16 lootMode, uint8 groupId = 0) const;
- void CopyConditions(const ConditionList& conditions);
+ void CopyConditions(const ConditionContainer& conditions);
void CopyConditions(LootItem* li) const;
// True if template includes at least 1 quest drop entry
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index 85cc87eaa6e..e625cc9c70b 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -298,6 +298,25 @@ void Map::AddToGrid(DynamicObject* obj, Cell const& cell)
obj->SetCurrentCell(cell);
}
+template<>
+void Map::AddToGrid(Corpse* obj, Cell const& cell)
+{
+ NGridType* grid = getNGrid(cell.GridX(), cell.GridY());
+ // 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);
+ }
+}
+
template<class T>
void Map::SwitchGridContainers(T* /*obj*/, bool /*on*/) { }
@@ -1612,6 +1631,20 @@ void Map::UnloadAll()
RemoveFromMap<Transport>(transport, true);
}
+
+ for (auto& cellCorpsePair : _corpsesByCell)
+ {
+ for (Corpse* corpse : cellCorpsePair.second)
+ {
+ corpse->RemoveFromWorld();
+ corpse->ResetMap();
+ delete corpse;
+ }
+ }
+
+ _corpsesByCell.clear();
+ _corpsesByPlayer.clear();
+ _corpseBones.clear();
}
// *****************************
@@ -3180,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());
}
}
@@ -3659,14 +3692,16 @@ void Map::AddCorpse(Corpse* corpse)
{
corpse->SetMap(this);
- CellCoord cellCoord = Trinity::ComputeCellCoord(corpse->GetPositionX(), corpse->GetPositionY());
- _corpsesByCell[cellCoord.GetId()].insert(corpse);
- _corpsesByPlayer[corpse->GetOwnerGUID()] = corpse;
+ _corpsesByCell[corpse->GetCellCoord().GetId()].insert(corpse);
+ if (corpse->GetType() != CORPSE_BONES)
+ _corpsesByPlayer[corpse->GetOwnerGUID()] = corpse;
+ else
+ _corpseBones.insert(corpse);
}
void Map::RemoveCorpse(Corpse* corpse)
{
- ASSERT(corpse && corpse->GetType() != CORPSE_BONES);
+ ASSERT(corpse);
corpse->DestroyForNearbyPlayers();
if (corpse->IsInGrid())
@@ -3677,9 +3712,11 @@ void Map::RemoveCorpse(Corpse* corpse)
corpse->ResetMap();
}
- CellCoord cellCoord = Trinity::ComputeCellCoord(corpse->GetPositionX(), corpse->GetPositionY());
- _corpsesByCell[cellCoord.GetId()].erase(corpse);
- _corpsesByPlayer.erase(corpse->GetOwnerGUID());
+ _corpsesByCell[corpse->GetCellCoord().GetId()].erase(corpse);
+ if (corpse->GetType() != CORPSE_BONES)
+ _corpsesByPlayer.erase(corpse->GetOwnerGUID());
+ else
+ _corpseBones.erase(corpse);
}
Corpse* Map::ConvertCorpseToBones(ObjectGuid const& ownerGuid, bool insignia /*= false*/)
@@ -3710,12 +3747,12 @@ Corpse* Map::ConvertCorpseToBones(ObjectGuid const& ownerGuid, bool insignia /*=
for (uint8 i = OBJECT_FIELD_GUID + 4; i < CORPSE_END; ++i) // don't overwrite guid
bones->SetUInt32Value(i, corpse->GetUInt32Value(i));
- bones->SetGridCoord(corpse->GetGridCoord());
+ bones->SetCellCoord(corpse->GetCellCoord());
bones->Relocate(corpse->GetPositionX(), corpse->GetPositionY(), corpse->GetPositionZ(), corpse->GetOrientation());
bones->SetUInt32Value(CORPSE_FIELD_FLAGS, CORPSE_FLAG_UNK2 | CORPSE_FLAG_BONES);
bones->SetGuidValue(CORPSE_FIELD_OWNER, ObjectGuid::Empty);
- bones->SetGuidValue(OBJECT_FIELD_DATA, corpse->GetGuidValue(OBJECT_FIELD_DATA));
+ bones->SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid::Empty);
for (uint8 i = 0; i < EQUIPMENT_SLOT_END; ++i)
if (corpse->GetUInt32Value(CORPSE_FIELD_ITEM + i))
@@ -3723,6 +3760,8 @@ Corpse* Map::ConvertCorpseToBones(ObjectGuid const& ownerGuid, bool insignia /*=
bones->CopyPhaseFrom(corpse);
+ AddCorpse(bones);
+
// add bones in grid store if grid loaded where corpse placed
AddToMap(bones);
}
@@ -3746,6 +3785,17 @@ void Map::RemoveOldCorpses()
for (ObjectGuid const& ownerGuid : corpses)
ConvertCorpseToBones(ownerGuid);
+
+ std::vector<Corpse*> expiredBones;
+ for (Corpse* bones : _corpseBones)
+ if (bones->IsExpired(now))
+ expiredBones.push_back(bones);
+
+ for (Corpse* bones : expiredBones)
+ {
+ RemoveCorpse(bones);
+ delete bones;
+ }
}
void Map::SendZoneDynamicInfo(Player* player)
diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h
index 596a753ad34..ec8f789980c 100644
--- a/src/server/game/Maps/Map.h
+++ b/src/server/game/Maps/Map.h
@@ -733,6 +733,7 @@ class Map : public GridRefManager<NGridType>
GameObjectBySpawnIdContainer _gameobjectBySpawnIdStore;
std::unordered_map<uint32/*cellId*/, std::unordered_set<Corpse*>> _corpsesByCell;
std::unordered_map<ObjectGuid, Corpse*> _corpsesByPlayer;
+ std::unordered_set<Corpse*> _corpseBones;
std::unordered_set<Object*> _updateObjects;
};
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index de18a0215c2..71d0c056028 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -389,7 +389,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,
@@ -1211,5 +1212,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/Movement/MovementGenerators/HomeMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
index 4245bffb864..7ab7534199a 100644
--- a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
@@ -33,7 +33,7 @@ void HomeMovementGenerator<Creature>::DoFinalize(Creature* owner)
{
owner->ClearUnitState(UNIT_STATE_EVADE);
owner->SetWalk(true);
- owner->LoadCreaturesAddon(true);
+ owner->LoadCreaturesAddon();
owner->AI()->JustReachedHome();
}
}
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 817859d208e..4ad2e8af23d 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -33,6 +33,7 @@
#include "Player.h"
#include "WorldPacket.h"
#include "WorldSession.h"
+#include "Chat.h"
// namespace
// {
@@ -40,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
@@ -70,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;
};
@@ -975,12 +1035,15 @@ OutdoorPvP* ScriptMgr::CreateOutdoorPvP(OutdoorPvPData const* data)
return tmpscript->GetOutdoorPvP();
}
-std::vector<ChatCommand*> ScriptMgr::GetChatCommands()
+std::vector<ChatCommand> ScriptMgr::GetChatCommands()
{
- std::vector<ChatCommand*> table;
+ std::vector<ChatCommand> table;
FOR_SCRIPTS_RET(CommandScript, itr, end, table)
- table.push_back(itr->second->GetCommands());
+ {
+ std::vector<ChatCommand> cmds = itr->second->GetCommands();
+ table.insert(table.end(), cmds.begin(), cmds.end());
+ }
return table;
}
@@ -1033,7 +1096,7 @@ void ScriptMgr::OnAuctionExpire(AuctionHouseObject* ah, AuctionEntry* entry)
FOREACH_SCRIPT(AuctionHouseScript)->OnAuctionExpire(ah, entry);
}
-bool ScriptMgr::OnConditionCheck(Condition* condition, ConditionSourceInfo& sourceInfo)
+bool ScriptMgr::OnConditionCheck(Condition const* condition, ConditionSourceInfo& sourceInfo)
{
ASSERT(condition);
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 588d909ae94..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;
};
@@ -553,7 +533,7 @@ class CommandScript : public ScriptObject
public:
// Should return a pointer to a valid command table (ChatCommand array) to be used by ChatHandler.
- virtual ChatCommand* GetCommands() const = 0;
+ virtual std::vector<ChatCommand> GetCommands() const = 0;
};
class WeatherScript : public ScriptObject, public UpdatableScript<Weather>
@@ -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,10 +577,8 @@ 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* /*condition*/, ConditionSourceInfo& /*sourceInfo*/) { return true; }
+ virtual bool OnConditionCheck(Condition const* /*condition*/, ConditionSourceInfo& /*sourceInfo*/) { return true; }
};
class VehicleScript : public ScriptObject
@@ -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*/) { }
@@ -1013,7 +981,7 @@ class ScriptMgr
public: /* CommandScript */
- std::vector<ChatCommand*> GetChatCommands();
+ std::vector<ChatCommand> GetChatCommands();
public: /* WeatherScript */
@@ -1029,7 +997,7 @@ class ScriptMgr
public: /* ConditionScript */
- bool OnConditionCheck(Condition* condition, ConditionSourceInfo& sourceInfo);
+ bool OnConditionCheck(Condition const* condition, ConditionSourceInfo& sourceInfo);
public: /* VehicleScript */
diff --git a/src/server/game/Server/Packets/BattlefieldPackets.cpp b/src/server/game/Server/Packets/BattlefieldPackets.cpp
new file mode 100644
index 00000000000..69bfb990dc5
--- /dev/null
+++ b/src/server/game/Server/Packets/BattlefieldPackets.cpp
@@ -0,0 +1,88 @@
+/*
+ * 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 "BattlefieldPackets.h"
+
+WorldPacket const* WorldPackets::Battlefield::BFMgrEntryInvite::Write()
+{
+ _worldPacket << uint64(QueueID);
+ _worldPacket << uint32(AreaID);
+ _worldPacket << uint32(ExpireTime);
+ return &_worldPacket;
+}
+
+void WorldPackets::Battlefield::BFMgrEntryInviteResponse::Read()
+{
+ _worldPacket >> QueueID;
+ AcceptedInvite = _worldPacket.ReadBit();
+}
+
+WorldPacket const* WorldPackets::Battlefield::BFMgrQueueInvite::Write()
+{
+ _worldPacket << uint64(QueueID);
+ _worldPacket << int8(BattleState);
+ _worldPacket << uint32(Timeout);
+ _worldPacket << int32(MinLevel);
+ _worldPacket << int32(MaxLevel);
+ _worldPacket << int32(MapID);
+ _worldPacket << uint32(InstanceID);
+ _worldPacket.WriteBit(Index);
+ _worldPacket.FlushBits();
+ return &_worldPacket;
+}
+
+void WorldPackets::Battlefield::BFMgrQueueInviteResponse::Read()
+{
+ _worldPacket >> QueueID;
+ AcceptedInvite = _worldPacket.ReadBit();
+}
+
+WorldPacket const* WorldPackets::Battlefield::BFMgrQueueRequestResponse::Write()
+{
+ _worldPacket << uint64(QueueID);
+ _worldPacket << int32(AreaID);
+ _worldPacket << int8(Result);
+ _worldPacket << FailedPlayerGUID;
+ _worldPacket << int8(BattleState);
+ _worldPacket.WriteBit(LoggingIn);
+ _worldPacket.FlushBits();
+ return &_worldPacket;
+}
+
+void WorldPackets::Battlefield::BFMgrQueueExitRequest::Read()
+{
+ _worldPacket >> QueueID;
+}
+
+WorldPacket const* WorldPackets::Battlefield::BFMgrEntering::Write()
+{
+ _worldPacket.WriteBit(ClearedAFK);
+ _worldPacket.WriteBit(Relocated);
+ _worldPacket.WriteBit(OnOffense);
+ _worldPacket << uint64(QueueID);
+ return &_worldPacket;
+}
+
+WorldPacket const* WorldPackets::Battlefield::BFMgrEjected::Write()
+{
+ _worldPacket << uint64(QueueID);
+ _worldPacket << int8(Reason);
+ _worldPacket << int8(BattleState);
+ _worldPacket.WriteBit(Relocated);
+ _worldPacket.FlushBits();
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/BattlefieldPackets.h b/src/server/game/Server/Packets/BattlefieldPackets.h
new file mode 100644
index 00000000000..c27a2c67ab0
--- /dev/null
+++ b/src/server/game/Server/Packets/BattlefieldPackets.h
@@ -0,0 +1,132 @@
+/*
+ * 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/>.
+ */
+
+#ifndef BattlefieldPackets_h__
+#define BattlefieldPackets_h__
+
+#include "Packet.h"
+#include "ObjectGuid.h"
+
+namespace WorldPackets
+{
+ namespace Battlefield
+ {
+ class BFMgrEntryInvite final : public ServerPacket
+ {
+ public:
+ BFMgrEntryInvite() : ServerPacket(SMSG_BF_MGR_ENTRY_INVITE, 8 + 4 + 4) { }
+
+ WorldPacket const* Write() override;
+
+ uint64 QueueID = 0;
+ int32 AreaID = 0;
+ time_t ExpireTime = time_t(0);
+ };
+
+ class BFMgrEntryInviteResponse final : public ClientPacket
+ {
+ public:
+ BFMgrEntryInviteResponse(WorldPacket&& packet) : ClientPacket(CMSG_BF_MGR_ENTRY_INVITE_RESPONSE, std::move(packet)) { }
+
+ void Read() override;
+
+ uint64 QueueID = 0;
+ bool AcceptedInvite = false;
+ };
+
+ class BFMgrQueueInvite final : public ServerPacket
+ {
+ public:
+ BFMgrQueueInvite() : ServerPacket(SMSG_BF_MGR_QUEUE_INVITE, 8 + 4 + 4 + 4 + 4 + 4 + 1 + 1) { }
+
+ WorldPacket const* Write() override;
+
+ uint64 QueueID = 0;
+ int8 BattleState = 0;
+ uint32 Timeout = std::numeric_limits<uint32>::max(); // unused in client
+ int32 MinLevel = 0; // unused in client
+ int32 MaxLevel = 0; // unused in client
+ int32 MapID = 0; // unused in client
+ uint32 InstanceID = 0; // unused in client
+ int8 Index = 0; // unused in client
+ };
+
+ class BFMgrQueueInviteResponse final : public ClientPacket
+ {
+ public:
+ BFMgrQueueInviteResponse(WorldPacket&& packet) : ClientPacket(CMSG_BF_MGR_QUEUE_INVITE_RESPONSE, std::move(packet)) { }
+
+ void Read() override;
+
+ uint64 QueueID = 0;
+ bool AcceptedInvite = false;
+ };
+
+ class BFMgrQueueRequestResponse final : public ServerPacket
+ {
+ public:
+ BFMgrQueueRequestResponse() : ServerPacket(SMSG_BF_MGR_QUEUE_REQUEST_RESPONSE, 8 + 4 + 1 + 16 + 1 + 1) { }
+
+ WorldPacket const* Write() override;
+
+ uint64 QueueID = 0;
+ int32 AreaID = 0;
+ int8 Result = 0;
+ ObjectGuid FailedPlayerGUID;
+ int8 BattleState = 0;
+ bool LoggingIn = false;
+ };
+
+ class BFMgrQueueExitRequest final : public ClientPacket
+ {
+ public:
+ BFMgrQueueExitRequest(WorldPacket&& packet) : ClientPacket(CMSG_BF_MGR_QUEUE_EXIT_REQUEST, std::move(packet)) { }
+
+ void Read() override;
+
+ uint64 QueueID = 0;
+ };
+
+ class BFMgrEntering final : public ServerPacket
+ {
+ public:
+ BFMgrEntering() : ServerPacket(SMSG_BF_MGR_ENTERING, 1 + 8) { }
+
+ WorldPacket const* Write() override;
+
+ bool ClearedAFK = false;
+ bool Relocated = false;
+ bool OnOffense = false;
+ uint64 QueueID = 0;
+ };
+
+ class BFMgrEjected final : public ServerPacket
+ {
+ public:
+ BFMgrEjected() : ServerPacket(SMSG_BF_MGR_EJECTED, 8 + 1 + 1 + 1) { }
+
+ WorldPacket const* Write() override;
+
+ uint64 QueueID = 0;
+ int8 Reason = 0;
+ int8 BattleState = 0;
+ bool Relocated = false;
+ };
+ }
+}
+
+#endif // BattlefieldPackets_h__
diff --git a/src/server/game/Server/Packets/ChatPackets.cpp b/src/server/game/Server/Packets/ChatPackets.cpp
index 5d242e430ce..9913ccde14f 100644
--- a/src/server/game/Server/Packets/ChatPackets.cpp
+++ b/src/server/game/Server/Packets/ChatPackets.cpp
@@ -265,3 +265,9 @@ WorldPacket const* WorldPackets::Chat::DefenseMessage::Write()
return &_worldPacket;
}
+
+void WorldPackets::Chat::ChatReportIgnored::Read()
+{
+ _worldPacket >> IgnoredGUID;
+ _worldPacket >> Reason;
+}
diff --git a/src/server/game/Server/Packets/ChatPackets.h b/src/server/game/Server/Packets/ChatPackets.h
index fa4b83ef5ef..66a38192836 100644
--- a/src/server/game/Server/Packets/ChatPackets.h
+++ b/src/server/game/Server/Packets/ChatPackets.h
@@ -289,6 +289,17 @@ namespace WorldPackets
int32 ZoneID = 0;
std::string MessageText;
};
+
+ class ChatReportIgnored final : public ClientPacket
+ {
+ public:
+ ChatReportIgnored(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_REPORT_IGNORED, std::move(packet)) { }
+
+ void Read() override;
+
+ ObjectGuid IgnoredGUID;
+ uint8 Reason = 0;
+ };
}
}
diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp
index b6b69b84eac..81b1c845ac9 100644
--- a/src/server/game/Server/Packets/ItemPackets.cpp
+++ b/src/server/game/Server/Packets/ItemPackets.cpp
@@ -71,6 +71,63 @@ void WorldPackets::Item::GetItemPurchaseData::Read()
_worldPacket >> ItemGUID;
}
+ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemPurchaseRefundItem& refundItem)
+{
+ data << refundItem.ItemID;
+ data << refundItem.ItemCount;
+
+ return data;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemPurchaseRefundCurrency& refundCurrency)
+{
+ data << refundCurrency.CurrencyID;
+ data << refundCurrency.CurrencyCount;
+
+ return data;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemPurchaseContents& purchaseContents)
+{
+ data << purchaseContents.Money;
+ for (uint32 i = 0; i < 5; ++i)
+ data << purchaseContents.Items[i];
+
+ for (uint32 i = 0; i < 5; ++i)
+ data << purchaseContents.Currencies[i];
+
+ return data;
+}
+
+WorldPacket const* WorldPackets::Item::SetItemPurchaseData::Write()
+{
+ _worldPacket << ItemGUID;
+ _worldPacket << Contents;
+ _worldPacket << Flags;
+ _worldPacket << PurchaseTime;
+
+ return &_worldPacket;
+}
+
+WorldPacket const* WorldPackets::Item::ItemPurchaseRefundResult::Write()
+{
+ _worldPacket << ItemGUID;
+ _worldPacket << uint8(Result);
+ _worldPacket.WriteBit(Contents.is_initialized());
+ _worldPacket.FlushBits();
+ if (Contents)
+ _worldPacket << *Contents;
+
+ return &_worldPacket;
+}
+
+WorldPacket const* WorldPackets::Item::ItemExpirePurchaseRefund::Write()
+{
+ _worldPacket << ItemGUID;
+
+ return &_worldPacket;
+}
+
void WorldPackets::Item::RepairItem::Read()
{
_worldPacket >> NpcGUID;
diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h
index db7e9a01c0a..5435559fc74 100644
--- a/src/server/game/Server/Packets/ItemPackets.h
+++ b/src/server/game/Server/Packets/ItemPackets.h
@@ -115,6 +115,60 @@ namespace WorldPackets
ObjectGuid ItemGUID;
};
+ struct ItemPurchaseRefundItem
+ {
+ int32 ItemID = 0;
+ int32 ItemCount = 0;
+ };
+
+ struct ItemPurchaseRefundCurrency
+ {
+ int32 CurrencyID = 0;
+ int32 CurrencyCount = 0;
+ };
+
+ struct ItemPurchaseContents
+ {
+ uint32 Money = 0;
+ ItemPurchaseRefundItem Items[5] = { };
+ ItemPurchaseRefundCurrency Currencies[5] = { };
+ };
+
+ class SetItemPurchaseData final : public ServerPacket
+ {
+ public:
+ SetItemPurchaseData() : ServerPacket(SMSG_SET_ITEM_PURCHASE_DATA, 4 + 4 + 4 + 5 * (4 + 4) + 5 * (4 + 4) + 16) { }
+
+ WorldPacket const* Write() override;
+
+ uint32 PurchaseTime = 0;
+ uint32 Flags = 0;
+ ItemPurchaseContents Contents;
+ ObjectGuid ItemGUID;
+ };
+
+ class ItemPurchaseRefundResult final : public ServerPacket
+ {
+ public:
+ ItemPurchaseRefundResult() : ServerPacket(SMSG_ITEM_PURCHASE_REFUND_RESULT, 1 + 4 + 5 * (4 + 4) + 5 * (4 + 4) + 16) { }
+
+ WorldPacket const* Write() override;
+
+ uint8 Result = 0;
+ ObjectGuid ItemGUID;
+ Optional<ItemPurchaseContents> Contents;
+ };
+
+ class ItemExpirePurchaseRefund final : public ServerPacket
+ {
+ public:
+ ItemExpirePurchaseRefund() : ServerPacket(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, 16) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid ItemGUID;
+ };
+
class RepairItem final : public ClientPacket
{
public:
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 5b6b9803b4a..33f67842bfe 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -630,6 +630,17 @@ WorldPacket const* WorldPackets::Movement::MoveSetActiveMover::Write()
return &_worldPacket;
}
+WorldPacket const* WorldPackets::Movement::MoveKnockBack::Write()
+{
+ _worldPacket << MoverGUID;
+ _worldPacket << uint32(SequenceIndex);
+ _worldPacket << Direction;
+ _worldPacket << float(HorzSpeed);
+ _worldPacket << float(VertSpeed);
+
+ return &_worldPacket;
+}
+
WorldPacket const* WorldPackets::Movement::MoveUpdateKnockBack::Write()
{
_worldPacket << *movementInfo;
diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h
index d94911af15f..0a1c30c9d12 100644
--- a/src/server/game/Server/Packets/MovementPackets.h
+++ b/src/server/game/Server/Packets/MovementPackets.h
@@ -334,6 +334,20 @@ namespace WorldPackets
ObjectGuid MoverGUID;
};
+ class MoveKnockBack final : public ServerPacket
+ {
+ public:
+ MoveKnockBack() : ServerPacket(SMSG_MOVE_KNOCK_BACK, 16 + 8 + 4 + 4 + 4) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid MoverGUID;
+ G3D::Vector2 Direction;
+ float HorzSpeed = 0.0f;
+ uint32 SequenceIndex = 0;
+ float VertSpeed = 0.0f;
+ };
+
class MoveUpdateKnockBack final : public ServerPacket
{
public:
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index 9fc835b00c3..a908864c6a5 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -642,6 +642,16 @@ WorldPacket const* WorldPackets::Spells::CancelSpellVisual::Write()
return &_worldPacket;
}
+WorldPacket const* WorldPackets::Spells::PlaySpellVisualKit::Write()
+{
+ _worldPacket << Unit;
+ _worldPacket << int32(KitRecID);
+ _worldPacket << int32(KitType);
+ _worldPacket << uint32(Duration);
+
+ return &_worldPacket;
+}
+
void WorldPackets::Spells::CancelCast::Read()
{
_worldPacket >> SpellID;
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index 39491b27130..451caf6d577 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -616,6 +616,19 @@ namespace WorldPackets
int32 SpellVisualID = 0;
};
+ class PlaySpellVisualKit final : public ServerPacket
+ {
+ public:
+ PlaySpellVisualKit() : ServerPacket(SMSG_PLAY_SPELL_VISUAL_KIT, 16 + 4 + 4 + 4) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid Unit;
+ int32 KitRecID = 0;
+ int32 KitType = 0;
+ uint32 Duration = 0;
+ };
+
class CancelCast final : public ClientPacket
{
public:
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index c59a4bb3175..6acb1cfb3a3 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -21,6 +21,7 @@
#include "Packets/AchievementPackets.h"
#include "Packets/AuctionHousePackets.h"
#include "Packets/BankPackets.h"
+#include "Packets/BattlefieldPackets.h"
#include "Packets/BattlegroundPackets.h"
#include "Packets/BattlePetPackets.h"
#include "Packets/BlackMarketPackets.h"
@@ -217,9 +218,9 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_BATTLE_PET_SUMMON, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::BattlePet::BattlePetSummon, &WorldSession::HandleBattlePetSummon);
DEFINE_HANDLER(CMSG_BATTLE_PET_UPDATE_NOTIFY, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_BEGIN_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Trade::BeginTrade, &WorldSession::HandleBeginTradeOpcode);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_BF_MGR_ENTRY_INVITE_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBfEntryInviteResponse );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_BF_MGR_QUEUE_EXIT_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBfExitRequest);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_BF_MGR_QUEUE_INVITE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBfQueueInviteResponse );
+ DEFINE_HANDLER(CMSG_BF_MGR_ENTRY_INVITE_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Battlefield::BFMgrEntryInviteResponse, &WorldSession::HandleBfEntryInviteResponse);
+ DEFINE_HANDLER(CMSG_BF_MGR_QUEUE_EXIT_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Battlefield::BFMgrQueueExitRequest, &WorldSession::HandleBfQueueExitRequest);
+ DEFINE_HANDLER(CMSG_BF_MGR_QUEUE_INVITE_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Battlefield::BFMgrQueueInviteResponse, &WorldSession::HandleBfQueueInviteResponse);
DEFINE_HANDLER(CMSG_BF_MGR_QUEUE_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_BINDER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBinderActivateOpcode);
DEFINE_HANDLER(CMSG_BLACK_MARKET_BID_ON_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
@@ -317,7 +318,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_CHAT_MESSAGE_YELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode);
DEFINE_HANDLER(CMSG_CHAT_REGISTER_ADDON_PREFIXES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatRegisterAddonPrefixes, &WorldSession::HandleAddonRegisteredPrefixesOpcode);
DEFINE_HANDLER(CMSG_CHAT_REPORT_FILTERED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_REPORT_IGNORED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChatIgnoredOpcode );
+ DEFINE_HANDLER(CMSG_CHAT_REPORT_IGNORED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatReportIgnored, &WorldSession::HandleChatIgnoredOpcode);
DEFINE_HANDLER(CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatUnregisterAllAddonPrefixes, &WorldSession::HandleUnregisterAllAddonPrefixesOpcode);
DEFINE_HANDLER(CMSG_CHECK_RAF_EMAIL_ENABLED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_CHECK_WOW_TOKEN_VETERAN_ELIGIBILITY, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
@@ -398,7 +399,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_GENERATE_RANDOM_CHARACTER_NAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::GenerateRandomCharacterName, &WorldSession::HandleRandomizeCharNameOpcode);
DEFINE_HANDLER(CMSG_GET_CHALLENGE_MODE_REWARDS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_GET_GARRISON_INFO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Garrison::GetGarrisonInfo, &WorldSession::HandleGetGarrisonInfo);
- DEFINE_HANDLER(CMSG_GET_ITEM_PURCHASE_DATA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::GetItemPurchaseData, &WorldSession::HandleGetItemPurchaseData);
+ DEFINE_HANDLER(CMSG_GET_ITEM_PURCHASE_DATA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::GetItemPurchaseData, &WorldSession::HandleGetItemPurchaseData);
DEFINE_HANDLER(CMSG_GET_MIRROR_IMAGE_DATA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::GetMirrorImageData, &WorldSession::HandleMirrorImageDataRequest);
DEFINE_HANDLER(CMSG_GET_PVP_OPTIONS_ENABLED, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Battleground::GetPVPOptionsEnabled, &WorldSession::HandleGetPVPOptionsEnabled);
DEFINE_HANDLER(CMSG_GET_REMAINING_GAME_TIME, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
@@ -841,9 +842,9 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ABORT_NEW_WORLD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_CRITERIA_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_DATA_TIMES, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_HEIRLOOM_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_MOUNT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_TOYS_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_HEIRLOOM_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_MOUNT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_TOYS_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_DELETED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_EARNED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACTIVATE_TAXI_REPLY, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -856,7 +857,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AE_LOOT_TARGETS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AE_LOOT_TARGET_ACK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AI_REACTION, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_ACCOUNT_CRITERIA, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_ACCOUNT_CRITERIA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_ACHIEVEMENT_DATA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_GUILD_ACHIEVEMENTS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARCHAEOLOGY_SURVERY_CAST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -930,12 +931,12 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_UPDATES, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_DROP_TIMER_CANCELLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_DROP_TIMER_STARTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_EJECTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_EJECTED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_EJECT_PENDING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_ENTERING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_ENTRY_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_QUEUE_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_QUEUE_REQUEST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_ENTERING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_ENTRY_INVITE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_QUEUE_INVITE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_QUEUE_REQUEST_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_QUEUE_STATUS_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_STATE_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BINDER_CONFIRM, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1034,7 +1035,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPLETE_SHIPMENT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPRESSED_PACKET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONNECT_TO, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONQUEST_FORMULA_CONSTANTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONQUEST_FORMULA_CONSTANTS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONSOLE_WRITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTACT_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTROL_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1042,7 +1043,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_CHEAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_EVENT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_LOCATION, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_RECLAIM_DELAY, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_RECLAIM_DELAY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_TRANSPORT_QUERY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CREATE_CHAR, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CREATE_SHIPMENT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1088,7 +1089,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EQUIPMENT_SET_ID, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EXPECTED_SPAM_RECORDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EXPLORATION_EXPERIENCE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_FACTION_BONUS_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_FACTION_BONUS_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FAILED_PLAYER_CONDITION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FEATURE_SYSTEM_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1216,7 +1217,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NAME_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NEWS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NEWS_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PARTY_STATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PARTY_STATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PERMISSIONS_QUERY_RESULTS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_RANKS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_REPUTATION_REACTION_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1232,7 +1233,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INCREASE_CAST_TIME_FOR_SPELL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INITIALIZE_FACTIONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INITIAL_SETUP, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_INIT_WORLD_STATES, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_INIT_WORLD_STATES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_HONOR_STATS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_PVP, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1259,9 +1260,9 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_IS_QUEST_COMPLETE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_ENCHANT_TIME_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PURCHASE_REFUND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_ENCHANT_TIME_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PURCHASE_REFUND_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PUSH_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_TIME_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_KICK_REASON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1277,7 +1278,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_LIST_UPDATE_BLACKLIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_LIST_UPDATE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_OFFER_CONTINUE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_PARTY_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_PARTY_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_PLAYER_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_PLAYER_REWARD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_PROPOSAL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1299,7 +1300,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LIVE_REGION_CHARACTER_COPY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOAD_CUF_PROFILES, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOAD_CUF_PROFILES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOAD_EQUIPMENT_SET, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOAD_SELECTED_TROPHY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGIN_SET_TIME_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1336,13 +1337,13 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOTD, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOUNT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_APPLY_MOVEMENT_FORCE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_COLLISION, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_COLLISION, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_KNOCK_BACK, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_KNOCK_BACK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_REMOVE_MOVEMENT_FORCE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ROOT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_ACTIVE_MOVER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1367,9 +1368,9 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_WALK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_WATER_WALK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SKIP_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_DISABLE_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_DISABLE_COLLISION, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_DISABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ENABLE_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ENABLE_COLLISION, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ENABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ROOT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FEATHER_FALL, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1389,8 +1390,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_WALK_MODE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_WALK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_WATER_WALK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_START_SWIM, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_STOP_SWIM, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_START_SWIM, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_STOP_SWIM, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNROOT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNSET_FLYING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNSET_HOVER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1476,8 +1477,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_STABLE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_TAME_FAILURE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_UNLEARNED_SPELLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_PHASE_SHIFT_CHANGE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYED_TIME, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PHASE_SHIFT_CHANGE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYED_TIME, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_BOUND, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_SAVE_GUILD_EMBLEM, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_SKINNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1490,7 +1491,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_SOUND, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_SPEAKERBOT_SOUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_SPELL_VISUAL_KIT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_TIME_WARNING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PONG, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_POWER_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1511,11 +1512,11 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_NPC_TEXT_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PAGE_TEXT_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PETITION_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PET_NAME_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PET_NAME_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PLAYER_NAME_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_QUEST_INFO_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_QUEST_INFO_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_TIME_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_COMPLETION_NPC_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_COMPLETION_NPC_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_CONFIRM_ACCEPT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_FORCE_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_INVALID_QUEST, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1559,7 +1560,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REMOVE_LOSS_OF_CONTROL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REPLACE_TROPHY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REPORT_PVP_PLAYER_AFK_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_CEMETERY_LIST_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_CEMETERY_LIST_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_PVP_REWARDS_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESEARCH_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESET_COMPRESSION_CONTEXT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1603,20 +1604,20 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_FIRST_ACHIEVEMENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_CURRENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_RESEARCH_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_RESEARCH_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_AI_ANIM_KIT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ALL_TASK_PROGRESS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ALL_TASK_PROGRESS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ANIM_TIER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_CURRENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_DF_FAST_LAUNCH_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_DUNGEON_DIFFICULTY, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_AT_WAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_NOT_VISIBLE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_STANDING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_VISIBLE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_AT_WAR, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_NOT_VISIBLE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_STANDING, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_VISIBLE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FLAT_SPELL_MODIFIER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FORCED_REACTIONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ITEM_PURCHASE_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ITEM_PURCHASE_DATA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_LOOT_METHOD_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_MAX_WEEKLY_QUANTITY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_MELEE_ANIM_KIT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1630,7 +1631,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_TASK_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_TIME_ZONE_INFORMATION, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_VEHICLE_REC_ID, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_BANK, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_BANK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_MAILBOX, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_TAXI_NODES, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1662,8 +1663,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_UPDATE_CHAIN_TARGETS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPIRIT_HEALER_CONFIRM, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_STAND_STATE_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_ELAPSED_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_ELAPSED_TIMERS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_ELAPSED_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_ELAPSED_TIMERS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_LOOT_ROLL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_MIRROR_TIMER, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1722,7 +1723,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_USERLIST_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_USE_EQUIPMENT_SET_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_VENDOR_INVENTORY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_VIGNETTE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_VIGNETTE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_CHAT_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_PARENTAL_CONTROLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_SESSION_LEAVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1736,8 +1737,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WAIT_QUEUE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WARDEN_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEATHER, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEEKLY_SPELL_USAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEATHER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEEKLY_SPELL_USAGE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHO, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHO_IS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_SERVER_INFO, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index dd86bd003dd..016e6d46162 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -724,7 +724,7 @@ enum OpcodeServer : uint32
SMSG_ABORT_NEW_WORLD = 0x01F3,
SMSG_ACCOUNT_CRITERIA_UPDATE = 0x1E2A,
SMSG_ACCOUNT_DATA_TIMES = 0x09FB,
- SMSG_ACCOUNT_HEIRLOOM_UPDATE = 0xBADD, // no client handler
+ SMSG_ACCOUNT_HEIRLOOM_UPDATE = 0x082B, // no client handler
SMSG_ACCOUNT_MOUNT_UPDATE = 0x03B4,
SMSG_ACCOUNT_TOYS_UPDATE = 0x013B,
SMSG_ACHIEVEMENT_DELETED = 0x0064,
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/WorldSession.h b/src/server/game/Server/WorldSession.h
index 2fb51482cbf..3134ad331b1 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -104,6 +104,13 @@ namespace WorldPackets
class BuyBankSlot;
}
+ namespace Battlefield
+ {
+ class BFMgrEntryInviteResponse;
+ class BFMgrQueueInviteResponse;
+ class BFMgrQueueExitRequest;
+ }
+
namespace Battleground
{
class AreaSpiritHealerQuery;
@@ -219,6 +226,7 @@ namespace WorldPackets
class EmoteClient;
class ChatRegisterAddonPrefixes;
class ChatUnregisterAllAddonPrefixes;
+ class ChatReportIgnored;
}
namespace Combat
@@ -718,11 +726,13 @@ enum BarberShopResult
enum BFLeaveReason
{
- BF_LEAVE_REASON_CLOSE = 0x00000001,
- //BF_LEAVE_REASON_UNK1 = 0x00000002, (not used)
- //BF_LEAVE_REASON_UNK2 = 0x00000004, (not used)
- BF_LEAVE_REASON_EXITED = 0x00000008,
- BF_LEAVE_REASON_LOW_LEVEL = 0x00000010
+ BF_LEAVE_REASON_CLOSE = 1,
+ //BF_LEAVE_REASON_UNK1 = 2, (not used)
+ //BF_LEAVE_REASON_UNK2 = 4, (not used)
+ BF_LEAVE_REASON_EXITED = 8,
+ BF_LEAVE_REASON_LOW_LEVEL = 10,
+ BF_LEAVE_REASON_NOT_WHILE_IN_RAID = 15,
+ BF_LEAVE_REASON_DESERTER = 16
};
enum ChatRestrictionType
@@ -903,9 +913,6 @@ class WorldSession
void SendPetitionQueryOpcode(ObjectGuid petitionguid);
- // Spell
- void HandleClientCastFlags(WorldPacket& recvPacket, uint8 castFlags, SpellCastTargets& targets);
-
// Pet
void SendQueryPetNameResponse(ObjectGuid guid);
void SendStablePet(ObjectGuid guid);
@@ -1381,7 +1388,7 @@ class WorldSession
void SendPlayerAmbiguousNotice(std::string const& name);
void SendChatRestrictedNotice(ChatRestrictionType restriction);
void HandleTextEmoteOpcode(WorldPackets::Chat::CTextEmote& packet);
- void HandleChatIgnoredOpcode(WorldPacket& recvPacket);
+ void HandleChatIgnoredOpcode(WorldPackets::Chat::ChatReportIgnored& chatReportIgnored);
void HandleUnregisterAllAddonPrefixesOpcode(WorldPackets::Chat::ChatUnregisterAllAddonPrefixes& packet);
void HandleAddonRegisteredPrefixesOpcode(WorldPackets::Chat::ChatRegisterAddonPrefixes& packet);
@@ -1446,14 +1453,14 @@ class WorldSession
void HandleRequestBattlefieldStatusOpcode(WorldPackets::Battleground::RequestBattlefieldStatus& requestBattlefieldStatus);
// Battlefield
- void SendBfInvitePlayerToWar(ObjectGuid guid, uint32 zoneId, uint32 time);
- void SendBfInvitePlayerToQueue(ObjectGuid guid);
- void SendBfQueueInviteResponse(ObjectGuid guid, uint32 zoneId, bool canQueue = true, bool full = false);
- void SendBfEntered(ObjectGuid guid);
- void SendBfLeaveMessage(ObjectGuid guid, BFLeaveReason reason = BF_LEAVE_REASON_EXITED);
- void HandleBfQueueInviteResponse(WorldPacket& recvData);
- void HandleBfEntryInviteResponse(WorldPacket& recvData);
- void HandleBfExitRequest(WorldPacket& recvData);
+ void SendBfInvitePlayerToWar(uint64 queueId, uint32 zoneId, uint32 acceptTime);
+ void SendBfInvitePlayerToQueue(uint64 queueId, int8 battleState);
+ void SendBfQueueInviteResponse(uint64 queueId, uint32 zoneId, int8 battleStatus, bool canQueue = true, bool loggingIn = false);
+ void SendBfEntered(uint64 queueId, bool relocated, bool onOffense);
+ void SendBfLeaveMessage(uint64 queueId, int8 battleState, bool relocated, BFLeaveReason reason = BF_LEAVE_REASON_EXITED);
+ void HandleBfEntryInviteResponse(WorldPackets::Battlefield::BFMgrEntryInviteResponse& bfMgrEntryInviteResponse);
+ void HandleBfQueueInviteResponse(WorldPackets::Battlefield::BFMgrQueueInviteResponse& bfMgrQueueInviteResponse);
+ void HandleBfQueueExitRequest(WorldPackets::Battlefield::BFMgrQueueExitRequest& bfMgrQueueExitRequest);
void HandleWardenDataOpcode(WorldPacket& recvData);
void HandleWorldTeleportOpcode(WorldPackets::Misc::WorldTeleport& worldTeleport);
diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp
index 7f9b398e50d..030ca1966f8 100644
--- a/src/server/game/Server/WorldSocket.cpp
+++ b/src/server/game/Server/WorldSocket.cpp
@@ -130,6 +130,7 @@ bool WorldSocket::Update()
if (_queryFuture.valid() && _queryFuture.wait_for(std::chrono::seconds(0)) == std::future_status::ready)
{
auto callback = std::move(_queryCallback);
+ _queryCallback = nullptr;
callback(_queryFuture.get());
}
}
@@ -532,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
@@ -555,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
@@ -566,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)
@@ -697,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/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 0d9d010743c..dd5519dc7b1 100644
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -1855,9 +1855,7 @@ bool Aura::IsProcTriggeredOnEvent(AuraApplication* aurApp, ProcEventInfo& eventI
return false;
// do checks using conditions table
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_SPELL_PROC, GetId());
- ConditionSourceInfo condInfo = ConditionSourceInfo(eventInfo.GetActor(), eventInfo.GetActionTarget());
- if (!sConditionMgr->IsObjectMeetToConditions(condInfo, conditions))
+ if (!sConditionMgr->IsObjectMeetingNotGroupedConditions(CONDITION_SOURCE_TYPE_SPELL_PROC, GetId(), eventInfo.GetActor(), eventInfo.GetActionTarget()))
return false;
// AuraScript Hook
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index a441da8fbe9..d5b6baaf056 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -57,6 +57,7 @@
#include "SpellPackets.h"
#include "CombatLogPackets.h"
#include "SpellHistory.h"
+#include "TradeData.h"
extern pEffect SpellEffects[TOTAL_SPELL_EFFECTS];
@@ -1030,7 +1031,7 @@ void Spell::SelectImplicitNearbyTargets(SpellEffIndex effIndex, SpellImplicitTar
break;
}
- ConditionList* condList = effect->ImplicitTargetConditions;
+ ConditionContainer* condList = effect->ImplicitTargetConditions;
// handle emergency case - try to use other provided targets if no conditions provided
if (targetType.GetCheckType() == TARGET_CHECK_ENTRY && (!condList || condList->empty()))
@@ -1119,7 +1120,7 @@ void Spell::SelectImplicitConeTargets(SpellEffIndex effIndex, SpellImplicitTarge
SpellEffectInfo const* effect = GetEffect(effIndex);
if (!effect)
return;
- ConditionList* condList = effect->ImplicitTargetConditions;
+ ConditionContainer* condList = effect->ImplicitTargetConditions;
float coneAngle = float(M_PI) / 2;
float radius = effect->CalcRadius(m_caster) * m_spellValue->RadiusMod;
@@ -1749,7 +1750,7 @@ void Spell::SelectEffectTypeImplicitTargets(uint32 effIndex)
}
}
-uint32 Spell::GetSearcherTypeMask(SpellTargetObjectTypes objType, ConditionList* condList)
+uint32 Spell::GetSearcherTypeMask(SpellTargetObjectTypes objType, ConditionContainer* condList)
{
// this function selects which containers need to be searched for spell target
uint32 retMask = GRID_MAP_TYPE_MASK_ALL;
@@ -1817,7 +1818,7 @@ void Spell::SearchTargets(SEARCHER& searcher, uint32 containerMask, Unit* refere
}
}
-WorldObject* Spell::SearchNearbyTarget(float range, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionList* condList)
+WorldObject* Spell::SearchNearbyTarget(float range, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionContainer* condList)
{
WorldObject* target = NULL;
uint32 containerTypeMask = GetSearcherTypeMask(objectType, condList);
@@ -1829,7 +1830,7 @@ WorldObject* Spell::SearchNearbyTarget(float range, SpellTargetObjectTypes objec
return target;
}
-void Spell::SearchAreaTargets(std::list<WorldObject*>& targets, float range, Position const* position, Unit* referer, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionList* condList)
+void Spell::SearchAreaTargets(std::list<WorldObject*>& targets, float range, Position const* position, Unit* referer, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionContainer* condList)
{
uint32 containerTypeMask = GetSearcherTypeMask(objectType, condList);
if (!containerTypeMask)
@@ -1839,7 +1840,7 @@ void Spell::SearchAreaTargets(std::list<WorldObject*>& targets, float range, Pos
SearchTargets<Trinity::WorldObjectListSearcher<Trinity::WorldObjectSpellAreaTargetCheck> > (searcher, containerTypeMask, m_caster, position, range);
}
-void Spell::SearchChainTargets(std::list<WorldObject*>& targets, uint32 chainTargets, WorldObject* target, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectType, ConditionList* condList, bool isChainHeal)
+void Spell::SearchChainTargets(std::list<WorldObject*>& targets, uint32 chainTargets, WorldObject* target, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectType, ConditionContainer* condList, bool isChainHeal)
{
// max dist for jump target selection
float jumpRadius = 0.0f;
@@ -4821,10 +4822,8 @@ SpellCastResult Spell::CheckCast(bool strict)
// check spell cast conditions from database
{
- ConditionSourceInfo condInfo = ConditionSourceInfo(m_caster);
- condInfo.mConditionTargets[1] = m_targets.GetObjectTarget();
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_SPELL, m_spellInfo->Id);
- if (!conditions.empty() && !sConditionMgr->IsObjectMeetToConditions(condInfo, conditions))
+ ConditionSourceInfo condInfo = ConditionSourceInfo(m_caster, m_targets.GetObjectTarget());
+ if (!sConditionMgr->IsObjectMeetingNotGroupedConditions(CONDITION_SOURCE_TYPE_SPELL, m_spellInfo->Id, condInfo))
{
// mLastFailedCondition can be NULL if there was an error processing the condition in Condition::Meets (i.e. wrong data for ConditionTarget or others)
if (condInfo.mLastFailedCondition && condInfo.mLastFailedCondition->ErrorType)
@@ -7362,7 +7361,7 @@ namespace Trinity
{
WorldObjectSpellTargetCheck::WorldObjectSpellTargetCheck(Unit* caster, Unit* referer, SpellInfo const* spellInfo,
- SpellTargetCheckTypes selectionType, ConditionList* condList) : _caster(caster), _referer(referer), _spellInfo(spellInfo),
+ SpellTargetCheckTypes selectionType, ConditionContainer* condList) : _caster(caster), _referer(referer), _spellInfo(spellInfo),
_targetSelectionType(selectionType), _condList(condList)
{
if (condList)
@@ -7436,7 +7435,7 @@ bool WorldObjectSpellTargetCheck::operator()(WorldObject* target)
}
WorldObjectSpellNearbyTargetCheck::WorldObjectSpellNearbyTargetCheck(float range, Unit* caster, SpellInfo const* spellInfo,
- SpellTargetCheckTypes selectionType, ConditionList* condList)
+ SpellTargetCheckTypes selectionType, ConditionContainer* condList)
: WorldObjectSpellTargetCheck(caster, caster, spellInfo, selectionType, condList), _range(range), _position(caster) { }
bool WorldObjectSpellNearbyTargetCheck::operator()(WorldObject* target)
@@ -7451,7 +7450,7 @@ bool WorldObjectSpellNearbyTargetCheck::operator()(WorldObject* target)
}
WorldObjectSpellAreaTargetCheck::WorldObjectSpellAreaTargetCheck(float range, Position const* position, Unit* caster,
- Unit* referer, SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionList* condList)
+ Unit* referer, SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionContainer* condList)
: WorldObjectSpellTargetCheck(caster, referer, spellInfo, selectionType, condList), _range(range), _position(position) { }
bool WorldObjectSpellAreaTargetCheck::operator()(WorldObject* target)
@@ -7462,7 +7461,7 @@ bool WorldObjectSpellAreaTargetCheck::operator()(WorldObject* target)
}
WorldObjectSpellConeTargetCheck::WorldObjectSpellConeTargetCheck(float coneAngle, float range, Unit* caster,
- SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionList* condList)
+ SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionContainer* condList)
: WorldObjectSpellAreaTargetCheck(range, caster, caster, caster, spellInfo, selectionType, condList), _coneAngle(coneAngle) { }
bool WorldObjectSpellConeTargetCheck::operator()(WorldObject* target)
diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h
index 0728ee46e8c..96136374dd4 100644
--- a/src/server/game/Spells/Spell.h
+++ b/src/server/game/Spells/Spell.h
@@ -464,12 +464,12 @@ class Spell
void SelectEffectTypeImplicitTargets(uint32 effIndex);
- uint32 GetSearcherTypeMask(SpellTargetObjectTypes objType, ConditionList* condList);
+ uint32 GetSearcherTypeMask(SpellTargetObjectTypes objType, ConditionContainer* condList);
template<class SEARCHER> void SearchTargets(SEARCHER& searcher, uint32 containerMask, Unit* referer, Position const* pos, float radius);
- WorldObject* SearchNearbyTarget(float range, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionList* condList = NULL);
- void SearchAreaTargets(std::list<WorldObject*>& targets, float range, Position const* position, Unit* referer, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionList* condList);
- void SearchChainTargets(std::list<WorldObject*>& targets, uint32 chainTargets, WorldObject* target, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectType, ConditionList* condList, bool isChainHeal);
+ WorldObject* SearchNearbyTarget(float range, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionContainer* condList = NULL);
+ void SearchAreaTargets(std::list<WorldObject*>& targets, float range, Position const* position, Unit* referer, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionContainer* condList);
+ void SearchChainTargets(std::list<WorldObject*>& targets, uint32 chainTargets, WorldObject* target, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectType, ConditionContainer* condList, bool isChainHeal);
GameObject* SearchSpellFocus();
@@ -857,10 +857,10 @@ namespace Trinity
SpellInfo const* _spellInfo;
SpellTargetCheckTypes _targetSelectionType;
ConditionSourceInfo* _condSrcInfo;
- ConditionList* _condList;
+ ConditionContainer* _condList;
WorldObjectSpellTargetCheck(Unit* caster, Unit* referer, SpellInfo const* spellInfo,
- SpellTargetCheckTypes selectionType, ConditionList* condList);
+ SpellTargetCheckTypes selectionType, ConditionContainer* condList);
~WorldObjectSpellTargetCheck();
bool operator()(WorldObject* target);
};
@@ -870,7 +870,7 @@ namespace Trinity
float _range;
Position const* _position;
WorldObjectSpellNearbyTargetCheck(float range, Unit* caster, SpellInfo const* spellInfo,
- SpellTargetCheckTypes selectionType, ConditionList* condList);
+ SpellTargetCheckTypes selectionType, ConditionContainer* condList);
bool operator()(WorldObject* target);
};
@@ -879,7 +879,7 @@ namespace Trinity
float _range;
Position const* _position;
WorldObjectSpellAreaTargetCheck(float range, Position const* position, Unit* caster,
- Unit* referer, SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionList* condList);
+ Unit* referer, SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionContainer* condList);
bool operator()(WorldObject* target);
};
@@ -887,7 +887,7 @@ namespace Trinity
{
float _coneAngle;
WorldObjectSpellConeTargetCheck(float coneAngle, float range, Unit* caster,
- SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionList* condList);
+ SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionContainer* condList);
bool operator()(WorldObject* target);
};
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/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 50921c28a61..e91dadca57e 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -2729,7 +2729,8 @@ std::vector<SpellInfo::CostData> SpellInfo::CalcPowerCost(Unit const* caster, Sp
else
collector(sDB2Manager.GetSpellPowers(Id, caster->GetMap()->GetDifficultyID()));
- std::remove_if(costs.begin(), costs.end(), [](CostData const& cost) { return cost.Amount <= 0; });
+ // POWER_RUNES is handled by SpellRuneCost.db2, and cost.Amount is always 0 (see Spell::TakeRunePower)
+ costs.erase(std::remove_if(costs.begin(), costs.end(), [](CostData const& cost) { return cost.Power != POWER_RUNES && cost.Amount <= 0; }), costs.end());
return costs;
}
@@ -3285,7 +3286,7 @@ void SpellInfo::_UnloadImplicitTargetConditionLists()
{
if (SpellEffectInfo const* effect = GetEffect(d, i))
{
- ConditionList* cur = effect->ImplicitTargetConditions;
+ ConditionContainer* cur = effect->ImplicitTargetConditions;
if (!cur)
continue;
for (uint8 j = i; j < _effects.size(); ++j)
diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h
index 86d8addfbdb..6a56b876ccc 100644
--- a/src/server/game/Spells/SpellInfo.h
+++ b/src/server/game/Spells/SpellInfo.h
@@ -263,7 +263,7 @@ public:
uint32 TriggerSpell;
flag128 SpellClassMask;
float BonusCoefficientFromAP;
- std::list<Condition*>* ImplicitTargetConditions;
+ std::vector<Condition*>* ImplicitTargetConditions;
// SpellScalingEntry
struct ScalingInfo
{
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 9d5237fa591..75f419dc99e 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -3120,11 +3120,13 @@ void SpellMgr::LoadSpellInfoCorrections()
case 28796: // Poison Bolt Volly - Faerlina
spellInfo->MaxAffectedTargets = 5;
break;
+ case 54835: // Curse of the Plaguebringer - Noth (H)
+ spellInfo->MaxAffectedTargets = 8;
+ break;
case 40827: // Sinful Beam
case 40859: // Sinister Beam
case 40860: // Vile Beam
case 40861: // Wicked Beam
- case 54835: // Curse of the Plaguebringer - Noth (H)
case 54098: // Poison Bolt Volly - Faerlina (H)
spellInfo->MaxAffectedTargets = 10;
break;
@@ -3226,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_account.cpp b/src/server/scripts/Commands/cs_account.cpp
index 2e08b53bffd..fe10319f986 100644
--- a/src/server/scripts/Commands/cs_account.cpp
+++ b/src/server/scripts/Commands/cs_account.cpp
@@ -33,45 +33,40 @@ class account_commandscript : public CommandScript
public:
account_commandscript() : CommandScript("account_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand accountSetSecTable[] =
+ static std::vector<ChatCommand> accountSetSecTable =
{
- { "regmail", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC_REGMAIL, true, &HandleAccountSetRegEmailCommand, "", NULL },
- { "email", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC_EMAIL, true, &HandleAccountSetEmailCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "regmail", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC_REGMAIL, true, &HandleAccountSetRegEmailCommand, "" },
+ { "email", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC_EMAIL, true, &HandleAccountSetEmailCommand, "" },
};
- static ChatCommand accountSetCommandTable[] =
+ static std::vector<ChatCommand> accountSetCommandTable =
{
- { "addon", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_ADDON, true, &HandleAccountSetAddonCommand, "", NULL },
+ { "addon", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_ADDON, true, &HandleAccountSetAddonCommand, "" },
{ "sec", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC, true, NULL, "", accountSetSecTable },
- { "gmlevel", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_GMLEVEL, true, &HandleAccountSetGmLevelCommand, "", NULL },
- { "password", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_PASSWORD, true, &HandleAccountSetPasswordCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "gmlevel", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_GMLEVEL, true, &HandleAccountSetGmLevelCommand, "" },
+ { "password", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_PASSWORD, true, &HandleAccountSetPasswordCommand, "" },
};
- static ChatCommand accountLockCommandTable[] =
+ static std::vector<ChatCommand> accountLockCommandTable =
{
- { "country", rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK_COUNTRY, false, &HandleAccountLockCountryCommand, "", NULL },
- { "ip", rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK_IP, false, &HandleAccountLockIpCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "country", rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK_COUNTRY, false, &HandleAccountLockCountryCommand, "" },
+ { "ip", rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK_IP, false, &HandleAccountLockIpCommand, "" },
};
- static ChatCommand accountCommandTable[] =
+ static std::vector<ChatCommand> accountCommandTable =
{
- { "addon", rbac::RBAC_PERM_COMMAND_ACCOUNT_ADDON, false, &HandleAccountAddonCommand, "", NULL },
- { "create", rbac::RBAC_PERM_COMMAND_ACCOUNT_CREATE, true, &HandleAccountCreateCommand, "", NULL },
- { "delete", rbac::RBAC_PERM_COMMAND_ACCOUNT_DELETE, true, &HandleAccountDeleteCommand, "", NULL },
- { "email", rbac::RBAC_PERM_COMMAND_ACCOUNT_EMAIL, false, &HandleAccountEmailCommand, "", NULL },
- { "onlinelist", rbac::RBAC_PERM_COMMAND_ACCOUNT_ONLINE_LIST, true, &HandleAccountOnlineListCommand, "", NULL },
+ { "addon", rbac::RBAC_PERM_COMMAND_ACCOUNT_ADDON, false, &HandleAccountAddonCommand, "" },
+ { "create", rbac::RBAC_PERM_COMMAND_ACCOUNT_CREATE, true, &HandleAccountCreateCommand, "" },
+ { "delete", rbac::RBAC_PERM_COMMAND_ACCOUNT_DELETE, true, &HandleAccountDeleteCommand, "" },
+ { "email", rbac::RBAC_PERM_COMMAND_ACCOUNT_EMAIL, false, &HandleAccountEmailCommand, "" },
+ { "onlinelist", rbac::RBAC_PERM_COMMAND_ACCOUNT_ONLINE_LIST, true, &HandleAccountOnlineListCommand, "" },
{ "lock", rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK, false, NULL, "", accountLockCommandTable },
{ "set", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET, true, NULL, "", accountSetCommandTable },
- { "password", rbac::RBAC_PERM_COMMAND_ACCOUNT_PASSWORD, false, &HandleAccountPasswordCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_ACCOUNT, false, &HandleAccountCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "password", rbac::RBAC_PERM_COMMAND_ACCOUNT_PASSWORD, false, &HandleAccountPasswordCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_ACCOUNT, false, &HandleAccountCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "account", rbac::RBAC_PERM_COMMAND_ACCOUNT, true, NULL, "", accountCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_achievement.cpp b/src/server/scripts/Commands/cs_achievement.cpp
index 8a038844ec1..ea77bc1f189 100644
--- a/src/server/scripts/Commands/cs_achievement.cpp
+++ b/src/server/scripts/Commands/cs_achievement.cpp
@@ -33,17 +33,15 @@ class achievement_commandscript : public CommandScript
public:
achievement_commandscript() : CommandScript("achievement_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand achievementCommandTable[] =
+ static std::vector<ChatCommand> achievementCommandTable =
{
- { "add", rbac::RBAC_PERM_COMMAND_ACHIEVEMENT_ADD, false, &HandleAchievementAddCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "add", rbac::RBAC_PERM_COMMAND_ACHIEVEMENT_ADD, false, &HandleAchievementAddCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "achievement", rbac::RBAC_PERM_COMMAND_ACHIEVEMENT, false, NULL, "", achievementCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_ahbot.cpp b/src/server/scripts/Commands/cs_ahbot.cpp
index 559a775da31..44889fccd37 100644
--- a/src/server/scripts/Commands/cs_ahbot.cpp
+++ b/src/server/scripts/Commands/cs_ahbot.cpp
@@ -33,44 +33,40 @@ class ahbot_commandscript : public CommandScript
public:
ahbot_commandscript(): CommandScript("ahbot_commandscript") {}
- ChatCommand* GetCommands() const
+ std::vector<ChatCommand> GetCommands() const
{
- static ChatCommand ahbotItemsAmountCommandTable[] =
+ static std::vector<ChatCommand> ahbotItemsAmountCommandTable =
{
- { "gray", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_GRAY, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_GRAY>, "", NULL },
- { "white", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_WHITE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_WHITE>, "", NULL },
- { "green", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_GREEN, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_GREEN>, "", NULL },
- { "blue", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_BLUE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_BLUE>, "", NULL },
- { "purple", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_PURPLE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_PURPLE>, "", NULL },
- { "orange", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_ORANGE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_ORANGE>, "", NULL },
- { "yellow", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_YELLOW, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_YELLOW>, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS, true, &HandleAHBotItemsAmountCommand, "", NULL },
- { NULL, 0, true, NULL, "", NULL }
+ { "gray", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_GRAY, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_GRAY>, "" },
+ { "white", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_WHITE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_WHITE>, "" },
+ { "green", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_GREEN, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_GREEN>, "" },
+ { "blue", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_BLUE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_BLUE>, "" },
+ { "purple", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_PURPLE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_PURPLE>, "" },
+ { "orange", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_ORANGE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_ORANGE>, "" },
+ { "yellow", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_YELLOW, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_YELLOW>, "" },
+ { "", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS, true, &HandleAHBotItemsAmountCommand, "" },
};
- static ChatCommand ahbotItemsRatioCommandTable[] =
+ static std::vector<ChatCommand> ahbotItemsRatioCommandTable =
{
- { "alliance", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_ALLIANCE, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_ALLIANCE>, "", NULL },
- { "horde", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_HORDE, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_HORDE>, "", NULL },
- { "neutral", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_NEUTRAL, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_NEUTRAL>, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO, true, &HandleAHBotItemsRatioCommand, "", NULL },
- { NULL, 0, true, NULL, "", NULL }
+ { "alliance", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_ALLIANCE, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_ALLIANCE>, "" },
+ { "horde", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_HORDE, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_HORDE>, "" },
+ { "neutral", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_NEUTRAL, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_NEUTRAL>, "" },
+ { "", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO, true, &HandleAHBotItemsRatioCommand, "" },
};
- static ChatCommand ahbotCommandTable[] =
+ static std::vector<ChatCommand> ahbotCommandTable =
{
{ "items", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS, true, NULL, "", ahbotItemsAmountCommandTable },
{ "ratio", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO, true, NULL, "", ahbotItemsRatioCommandTable },
- { "rebuild", rbac::RBAC_PERM_COMMAND_AHBOT_REBUILD, true, &HandleAHBotRebuildCommand, "", NULL },
- { "reload", rbac::RBAC_PERM_COMMAND_AHBOT_RELOAD, true, &HandleAHBotReloadCommand, "", NULL },
- { "status", rbac::RBAC_PERM_COMMAND_AHBOT_STATUS, true, &HandleAHBotStatusCommand, "", NULL },
- { NULL, 0, true, NULL, "", NULL }
+ { "rebuild", rbac::RBAC_PERM_COMMAND_AHBOT_REBUILD, true, &HandleAHBotRebuildCommand, "" },
+ { "reload", rbac::RBAC_PERM_COMMAND_AHBOT_RELOAD, true, &HandleAHBotReloadCommand, "" },
+ { "status", rbac::RBAC_PERM_COMMAND_AHBOT_STATUS, true, &HandleAHBotStatusCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "ahbot", rbac::RBAC_PERM_COMMAND_AHBOT, false, NULL, "", ahbotCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
diff --git a/src/server/scripts/Commands/cs_arena.cpp b/src/server/scripts/Commands/cs_arena.cpp
index 596aeca95df..4598b3e178b 100644
--- a/src/server/scripts/Commands/cs_arena.cpp
+++ b/src/server/scripts/Commands/cs_arena.cpp
@@ -34,22 +34,20 @@ class arena_commandscript : public CommandScript
public:
arena_commandscript() : CommandScript("arena_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand arenaCommandTable[] =
+ static std::vector<ChatCommand> arenaCommandTable =
{
- { "create", rbac::RBAC_PERM_COMMAND_ARENA_CREATE, true, &HandleArenaCreateCommand, "", NULL },
- { "disband", rbac::RBAC_PERM_COMMAND_ARENA_DISBAND, true, &HandleArenaDisbandCommand, "", NULL },
- { "rename", rbac::RBAC_PERM_COMMAND_ARENA_RENAME, true, &HandleArenaRenameCommand, "", NULL },
- { "captain", rbac::RBAC_PERM_COMMAND_ARENA_CAPTAIN, false, &HandleArenaCaptainCommand, "", NULL },
- { "info", rbac::RBAC_PERM_COMMAND_ARENA_INFO, true, &HandleArenaInfoCommand, "", NULL },
- { "lookup", rbac::RBAC_PERM_COMMAND_ARENA_LOOKUP, false, &HandleArenaLookupCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "create", rbac::RBAC_PERM_COMMAND_ARENA_CREATE, true, &HandleArenaCreateCommand, "" },
+ { "disband", rbac::RBAC_PERM_COMMAND_ARENA_DISBAND, true, &HandleArenaDisbandCommand, "" },
+ { "rename", rbac::RBAC_PERM_COMMAND_ARENA_RENAME, true, &HandleArenaRenameCommand, "" },
+ { "captain", rbac::RBAC_PERM_COMMAND_ARENA_CAPTAIN, false, &HandleArenaCaptainCommand, "" },
+ { "info", rbac::RBAC_PERM_COMMAND_ARENA_INFO, true, &HandleArenaInfoCommand, "" },
+ { "lookup", rbac::RBAC_PERM_COMMAND_ARENA_LOOKUP, false, &HandleArenaLookupCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "arena", rbac::RBAC_PERM_COMMAND_ARENA, false, NULL, "", arenaCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_ban.cpp b/src/server/scripts/Commands/cs_ban.cpp
index 1b0f8fec4a3..1b34e9bfb8d 100644
--- a/src/server/scripts/Commands/cs_ban.cpp
+++ b/src/server/scripts/Commands/cs_ban.cpp
@@ -35,45 +35,40 @@ class ban_commandscript : public CommandScript
public:
ban_commandscript() : CommandScript("ban_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand unbanCommandTable[] =
+ static std::vector<ChatCommand> unbanCommandTable =
{
- { "account", rbac::RBAC_PERM_COMMAND_UNBAN_ACCOUNT, true, &HandleUnBanAccountCommand, "", NULL },
- { "character", rbac::RBAC_PERM_COMMAND_UNBAN_CHARACTER, true, &HandleUnBanCharacterCommand, "", NULL },
- { "playeraccount", rbac::RBAC_PERM_COMMAND_UNBAN_PLAYERACCOUNT, true, &HandleUnBanAccountByCharCommand, "", NULL },
- { "ip", rbac::RBAC_PERM_COMMAND_UNBAN_IP, true, &HandleUnBanIPCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "account", rbac::RBAC_PERM_COMMAND_UNBAN_ACCOUNT, true, &HandleUnBanAccountCommand, "" },
+ { "character", rbac::RBAC_PERM_COMMAND_UNBAN_CHARACTER, true, &HandleUnBanCharacterCommand, "" },
+ { "playeraccount", rbac::RBAC_PERM_COMMAND_UNBAN_PLAYERACCOUNT, true, &HandleUnBanAccountByCharCommand, "" },
+ { "ip", rbac::RBAC_PERM_COMMAND_UNBAN_IP, true, &HandleUnBanIPCommand, "" },
};
- static ChatCommand banlistCommandTable[] =
+ static std::vector<ChatCommand> banlistCommandTable =
{
- { "account", rbac::RBAC_PERM_COMMAND_BANLIST_ACCOUNT, true, &HandleBanListAccountCommand, "", NULL },
- { "character", rbac::RBAC_PERM_COMMAND_BANLIST_CHARACTER, true, &HandleBanListCharacterCommand, "", NULL },
- { "ip", rbac::RBAC_PERM_COMMAND_BANLIST_IP, true, &HandleBanListIPCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "account", rbac::RBAC_PERM_COMMAND_BANLIST_ACCOUNT, true, &HandleBanListAccountCommand, "" },
+ { "character", rbac::RBAC_PERM_COMMAND_BANLIST_CHARACTER, true, &HandleBanListCharacterCommand, "" },
+ { "ip", rbac::RBAC_PERM_COMMAND_BANLIST_IP, true, &HandleBanListIPCommand, "" },
};
- static ChatCommand baninfoCommandTable[] =
+ static std::vector<ChatCommand> baninfoCommandTable =
{
- { "account", rbac::RBAC_PERM_COMMAND_BANINFO_ACCOUNT, true, &HandleBanInfoAccountCommand, "", NULL },
- { "character", rbac::RBAC_PERM_COMMAND_BANINFO_CHARACTER, true, &HandleBanInfoCharacterCommand, "", NULL },
- { "ip", rbac::RBAC_PERM_COMMAND_BANINFO_IP, true, &HandleBanInfoIPCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "account", rbac::RBAC_PERM_COMMAND_BANINFO_ACCOUNT, true, &HandleBanInfoAccountCommand, "" },
+ { "character", rbac::RBAC_PERM_COMMAND_BANINFO_CHARACTER, true, &HandleBanInfoCharacterCommand, "" },
+ { "ip", rbac::RBAC_PERM_COMMAND_BANINFO_IP, true, &HandleBanInfoIPCommand, "" },
};
- static ChatCommand banCommandTable[] =
+ static std::vector<ChatCommand> banCommandTable =
{
- { "account", rbac::RBAC_PERM_COMMAND_BAN_ACCOUNT, true, &HandleBanAccountCommand, "", NULL },
- { "character", rbac::RBAC_PERM_COMMAND_BAN_CHARACTER, true, &HandleBanCharacterCommand, "", NULL },
- { "playeraccount", rbac::RBAC_PERM_COMMAND_BAN_PLAYERACCOUNT, true, &HandleBanAccountByCharCommand, "", NULL },
- { "ip", rbac::RBAC_PERM_COMMAND_BAN_IP, true, &HandleBanIPCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "account", rbac::RBAC_PERM_COMMAND_BAN_ACCOUNT, true, &HandleBanAccountCommand, "" },
+ { "character", rbac::RBAC_PERM_COMMAND_BAN_CHARACTER, true, &HandleBanCharacterCommand, "" },
+ { "playeraccount", rbac::RBAC_PERM_COMMAND_BAN_PLAYERACCOUNT, true, &HandleBanAccountByCharCommand, "" },
+ { "ip", rbac::RBAC_PERM_COMMAND_BAN_IP, true, &HandleBanIPCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "ban", rbac::RBAC_PERM_COMMAND_BAN, true, NULL, "", banCommandTable },
{ "baninfo", rbac::RBAC_PERM_COMMAND_BANINFO, true, NULL, "", baninfoCommandTable },
{ "banlist", rbac::RBAC_PERM_COMMAND_BANLIST, true, NULL, "", banlistCommandTable },
{ "unban", rbac::RBAC_PERM_COMMAND_UNBAN, true, NULL, "", unbanCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_battlenet_account.cpp b/src/server/scripts/Commands/cs_battlenet_account.cpp
index 9c6098f70d9..2498ca7bd5d 100644
--- a/src/server/scripts/Commands/cs_battlenet_account.cpp
+++ b/src/server/scripts/Commands/cs_battlenet_account.cpp
@@ -28,37 +28,33 @@ class battlenet_account_commandscript : public CommandScript
public:
battlenet_account_commandscript() : CommandScript("battlenet_account_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand accountSetCommandTable[] =
+ static std::vector<ChatCommand> accountSetCommandTable =
{
- { "password", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_SET_PASSWORD, true, &HandleAccountSetPasswordCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "password", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_SET_PASSWORD, true, &HandleAccountSetPasswordCommand, "" },
};
- static ChatCommand accountLockCommandTable[] =
+ static std::vector<ChatCommand> accountLockCommandTable =
{
- { "country", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_LOCK_COUNTRY, true, &HandleAccountLockCountryCommand, "", NULL },
- { "ip", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_LOCK_IP, true, &HandleAccountLockIpCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "country", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_LOCK_COUNTRY, true, &HandleAccountLockCountryCommand, "" },
+ { "ip", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_LOCK_IP, true, &HandleAccountLockIpCommand, "" },
};
- static ChatCommand accountCommandTable[] =
+ static std::vector<ChatCommand> accountCommandTable =
{
- { "create", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_CREATE, true, &HandleAccountCreateCommand, "", NULL },
- { "gameaccountcreate", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_CREATE_GAME, true, &HandleGameAccountCreateCommand, "", NULL },
+ { "create", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_CREATE, true, &HandleAccountCreateCommand, "" },
+ { "gameaccountcreate", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_CREATE_GAME, true, &HandleGameAccountCreateCommand, "" },
{ "lock", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT, false, NULL, "", accountLockCommandTable },
{ "set", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_SET, true, NULL, "", accountSetCommandTable },
- { "password", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_PASSWORD, false, &HandleAccountPasswordCommand, "", NULL },
- { "link", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_LINK, true, &HandleAccountLinkCommand, "", NULL },
- { "unlink", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_UNLINK, true, &HandleAccountUnlinkCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "password", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_PASSWORD, false, &HandleAccountPasswordCommand, "" },
+ { "link", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_LINK, true, &HandleAccountLinkCommand, "" },
+ { "unlink", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT_UNLINK, true, &HandleAccountUnlinkCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "bnetaccount", rbac::RBAC_PERM_COMMAND_BNET_ACCOUNT, true, NULL, "", accountCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
diff --git a/src/server/scripts/Commands/cs_bf.cpp b/src/server/scripts/Commands/cs_bf.cpp
index 830e801bcef..7101b89b5fa 100644
--- a/src/server/scripts/Commands/cs_bf.cpp
+++ b/src/server/scripts/Commands/cs_bf.cpp
@@ -31,21 +31,19 @@ class bf_commandscript : public CommandScript
public:
bf_commandscript() : CommandScript("bf_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand battlefieldcommandTable[] =
+ static std::vector<ChatCommand> battlefieldcommandTable =
{
- { "start", rbac::RBAC_PERM_COMMAND_BF_START, false, &HandleBattlefieldStart, "", NULL },
- { "stop", rbac::RBAC_PERM_COMMAND_BF_STOP, false, &HandleBattlefieldEnd, "", NULL },
- { "switch", rbac::RBAC_PERM_COMMAND_BF_SWITCH, false, &HandleBattlefieldSwitch, "", NULL },
- { "timer", rbac::RBAC_PERM_COMMAND_BF_TIMER, false, &HandleBattlefieldTimer, "", NULL },
- { "enable", rbac::RBAC_PERM_COMMAND_BF_ENABLE, false, &HandleBattlefieldEnable, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "start", rbac::RBAC_PERM_COMMAND_BF_START, false, &HandleBattlefieldStart, "" },
+ { "stop", rbac::RBAC_PERM_COMMAND_BF_STOP, false, &HandleBattlefieldEnd, "" },
+ { "switch", rbac::RBAC_PERM_COMMAND_BF_SWITCH, false, &HandleBattlefieldSwitch, "" },
+ { "timer", rbac::RBAC_PERM_COMMAND_BF_TIMER, false, &HandleBattlefieldTimer, "" },
+ { "enable", rbac::RBAC_PERM_COMMAND_BF_ENABLE, false, &HandleBattlefieldEnable, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "bf", rbac::RBAC_PERM_COMMAND_BF, false, NULL, "", battlefieldcommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_cast.cpp b/src/server/scripts/Commands/cs_cast.cpp
index d5c7470a0ec..5252d5e368a 100644
--- a/src/server/scripts/Commands/cs_cast.cpp
+++ b/src/server/scripts/Commands/cs_cast.cpp
@@ -33,22 +33,20 @@ class cast_commandscript : public CommandScript
public:
cast_commandscript() : CommandScript("cast_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand castCommandTable[] =
+ static std::vector<ChatCommand> castCommandTable =
{
- { "back", rbac::RBAC_PERM_COMMAND_CAST_BACK, false, &HandleCastBackCommand, "", NULL },
- { "dist", rbac::RBAC_PERM_COMMAND_CAST_DIST, false, &HandleCastDistCommand, "", NULL },
- { "self", rbac::RBAC_PERM_COMMAND_CAST_SELF, false, &HandleCastSelfCommand, "", NULL },
- { "target", rbac::RBAC_PERM_COMMAND_CAST_TARGET, false, &HandleCastTargetCommad, "", NULL },
- { "dest", rbac::RBAC_PERM_COMMAND_CAST_DEST, false, &HandleCastDestCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_CAST, false, &HandleCastCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "back", rbac::RBAC_PERM_COMMAND_CAST_BACK, false, &HandleCastBackCommand, "" },
+ { "dist", rbac::RBAC_PERM_COMMAND_CAST_DIST, false, &HandleCastDistCommand, "" },
+ { "self", rbac::RBAC_PERM_COMMAND_CAST_SELF, false, &HandleCastSelfCommand, "" },
+ { "target", rbac::RBAC_PERM_COMMAND_CAST_TARGET, false, &HandleCastTargetCommad, "" },
+ { "dest", rbac::RBAC_PERM_COMMAND_CAST_DEST, false, &HandleCastDestCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_CAST, false, &HandleCastCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "cast", rbac::RBAC_PERM_COMMAND_CAST, false, NULL, "", castCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
@@ -122,7 +120,7 @@ public:
uint32 spellId = handler->extractSpellIdFromLink((char*)args);
if (!spellId)
return false;
-
+
if (!CheckSpellExistsAndIsValid(handler, spellId))
return false;
@@ -220,7 +218,7 @@ public:
uint32 spellId = handler->extractSpellIdFromLink((char*)args);
if (!spellId)
return false;
-
+
if (!CheckSpellExistsAndIsValid(handler, spellId))
return false;
@@ -253,7 +251,7 @@ public:
uint32 spellId = handler->extractSpellIdFromLink((char*)args);
if (!spellId)
return false;
-
+
if (!CheckSpellExistsAndIsValid(handler, spellId))
return false;
diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp
index ef39e2feb98..3ab06b0fc11 100644
--- a/src/server/scripts/Commands/cs_character.cpp
+++ b/src/server/scripts/Commands/cs_character.cpp
@@ -35,43 +35,39 @@ class character_commandscript : public CommandScript
public:
character_commandscript() : CommandScript("character_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand pdumpCommandTable[] =
+ static std::vector<ChatCommand> pdumpCommandTable =
{
- { "load", rbac::RBAC_PERM_COMMAND_PDUMP_LOAD, true, &HandlePDumpLoadCommand, "", NULL },
- { "write", rbac::RBAC_PERM_COMMAND_PDUMP_WRITE, true, &HandlePDumpWriteCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "load", rbac::RBAC_PERM_COMMAND_PDUMP_LOAD, true, &HandlePDumpLoadCommand, "" },
+ { "write", rbac::RBAC_PERM_COMMAND_PDUMP_WRITE, true, &HandlePDumpWriteCommand, "" },
};
- static ChatCommand characterDeletedCommandTable[] =
+ static std::vector<ChatCommand> characterDeletedCommandTable =
{
- { "delete", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_DELETE, true, &HandleCharacterDeletedDeleteCommand, "", NULL },
- { "list", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_LIST, true, &HandleCharacterDeletedListCommand, "", NULL },
- { "restore", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_RESTORE, true, &HandleCharacterDeletedRestoreCommand, "", NULL },
- { "old", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_OLD, true, &HandleCharacterDeletedOldCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "delete", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_DELETE, true, &HandleCharacterDeletedDeleteCommand, "" },
+ { "list", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_LIST, true, &HandleCharacterDeletedListCommand, "" },
+ { "restore", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_RESTORE, true, &HandleCharacterDeletedRestoreCommand, "" },
+ { "old", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_OLD, true, &HandleCharacterDeletedOldCommand, "" },
};
- static ChatCommand characterCommandTable[] =
+ static std::vector<ChatCommand> characterCommandTable =
{
- { "customize", rbac::RBAC_PERM_COMMAND_CHARACTER_CUSTOMIZE, true, &HandleCharacterCustomizeCommand, "", NULL },
- { "changefaction", rbac::RBAC_PERM_COMMAND_CHARACTER_CHANGEFACTION, true, &HandleCharacterChangeFactionCommand, "", NULL },
- { "changerace", rbac::RBAC_PERM_COMMAND_CHARACTER_CHANGERACE, true, &HandleCharacterChangeRaceCommand, "", NULL },
+ { "customize", rbac::RBAC_PERM_COMMAND_CHARACTER_CUSTOMIZE, true, &HandleCharacterCustomizeCommand, "", },
+ { "changefaction", rbac::RBAC_PERM_COMMAND_CHARACTER_CHANGEFACTION, true, &HandleCharacterChangeFactionCommand, "", },
+ { "changerace", rbac::RBAC_PERM_COMMAND_CHARACTER_CHANGERACE, true, &HandleCharacterChangeRaceCommand, "", },
{ "deleted", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED, true, NULL, "", characterDeletedCommandTable },
- { "erase", rbac::RBAC_PERM_COMMAND_CHARACTER_ERASE, true, &HandleCharacterEraseCommand, "", NULL },
- { "level", rbac::RBAC_PERM_COMMAND_CHARACTER_LEVEL, true, &HandleCharacterLevelCommand, "", NULL },
- { "rename", rbac::RBAC_PERM_COMMAND_CHARACTER_RENAME, true, &HandleCharacterRenameCommand, "", NULL },
- { "reputation", rbac::RBAC_PERM_COMMAND_CHARACTER_REPUTATION, true, &HandleCharacterReputationCommand, "", NULL },
- { "titles", rbac::RBAC_PERM_COMMAND_CHARACTER_TITLES, true, &HandleCharacterTitlesCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "erase", rbac::RBAC_PERM_COMMAND_CHARACTER_ERASE, true, &HandleCharacterEraseCommand, "", },
+ { "level", rbac::RBAC_PERM_COMMAND_CHARACTER_LEVEL, true, &HandleCharacterLevelCommand, "", },
+ { "rename", rbac::RBAC_PERM_COMMAND_CHARACTER_RENAME, true, &HandleCharacterRenameCommand, "", },
+ { "reputation", rbac::RBAC_PERM_COMMAND_CHARACTER_REPUTATION, true, &HandleCharacterReputationCommand, "", },
+ { "titles", rbac::RBAC_PERM_COMMAND_CHARACTER_TITLES, true, &HandleCharacterTitlesCommand, "", },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "character", rbac::RBAC_PERM_COMMAND_CHARACTER, true, NULL, "", characterCommandTable },
- { "levelup", rbac::RBAC_PERM_COMMAND_LEVELUP, false, &HandleLevelUpCommand, "", NULL },
+ { "levelup", rbac::RBAC_PERM_COMMAND_LEVELUP, false, &HandleLevelUpCommand, "" },
{ "pdump", rbac::RBAC_PERM_COMMAND_PDUMP, true, NULL, "", pdumpCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_cheat.cpp b/src/server/scripts/Commands/cs_cheat.cpp
index 07fae339996..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"
@@ -33,27 +32,24 @@ class cheat_commandscript : public CommandScript
public:
cheat_commandscript() : CommandScript("cheat_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
-
- static ChatCommand cheatCommandTable[] =
+ static std::vector<ChatCommand> cheatCommandTable =
{
- { "god", rbac::RBAC_PERM_COMMAND_CHEAT_GOD, false, &HandleGodModeCheatCommand, "", NULL },
- { "casttime", rbac::RBAC_PERM_COMMAND_CHEAT_CASTTIME, false, &HandleCasttimeCheatCommand, "", NULL },
- { "cooldown", rbac::RBAC_PERM_COMMAND_CHEAT_COOLDOWN, false, &HandleCoolDownCheatCommand, "", NULL },
- { "power", rbac::RBAC_PERM_COMMAND_CHEAT_POWER, false, &HandlePowerCheatCommand, "", NULL },
- { "waterwalk", rbac::RBAC_PERM_COMMAND_CHEAT_WATERWALK, false, &HandleWaterWalkCheatCommand, "", NULL },
- { "status", rbac::RBAC_PERM_COMMAND_CHEAT_STATUS, false, &HandleCheatStatusCommand, "", NULL },
- { "taxi", rbac::RBAC_PERM_COMMAND_CHEAT_TAXI, false, &HandleTaxiCheatCommand, "", NULL },
- { "explore", rbac::RBAC_PERM_COMMAND_CHEAT_EXPLORE, false, &HandleExploreCheatCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "god", rbac::RBAC_PERM_COMMAND_CHEAT_GOD, false, &HandleGodModeCheatCommand, "" },
+ { "casttime", rbac::RBAC_PERM_COMMAND_CHEAT_CASTTIME, false, &HandleCasttimeCheatCommand, "" },
+ { "cooldown", rbac::RBAC_PERM_COMMAND_CHEAT_COOLDOWN, false, &HandleCoolDownCheatCommand, "" },
+ { "power", rbac::RBAC_PERM_COMMAND_CHEAT_POWER, false, &HandlePowerCheatCommand, "" },
+ { "waterwalk", rbac::RBAC_PERM_COMMAND_CHEAT_WATERWALK, false, &HandleWaterWalkCheatCommand, "" },
+ { "status", rbac::RBAC_PERM_COMMAND_CHEAT_STATUS, false, &HandleCheatStatusCommand, "" },
+ { "taxi", rbac::RBAC_PERM_COMMAND_CHEAT_TAXI, false, &HandleTaxiCheatCommand, "" },
+ { "explore", rbac::RBAC_PERM_COMMAND_CHEAT_EXPLORE, false, &HandleExploreCheatCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "cheat", rbac::RBAC_PERM_COMMAND_CHEAT, false, NULL, "", cheatCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
@@ -166,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);
@@ -175,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;
}
@@ -187,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")
{
@@ -215,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)
@@ -231,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);
@@ -260,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 bade0600b9b..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"
@@ -44,67 +45,64 @@ class debug_commandscript : public CommandScript
public:
debug_commandscript() : CommandScript("debug_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand debugPlayCommandTable[] =
+ static std::vector<ChatCommand> debugPlayCommandTable =
{
- { "cinematic", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_CINEMATIC, false, &HandleDebugPlayCinematicCommand, "", NULL },
- { "movie", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_MOVIE, false, &HandleDebugPlayMovieCommand, "", NULL },
- { "sound", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_SOUND, false, &HandleDebugPlaySoundCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "cinematic", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_CINEMATIC, false, &HandleDebugPlayCinematicCommand, "" },
+ { "movie", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_MOVIE, false, &HandleDebugPlayMovieCommand, "" },
+ { "sound", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_SOUND, false, &HandleDebugPlaySoundCommand, "" },
};
- static ChatCommand debugSendCommandTable[] =
+ static std::vector<ChatCommand> debugSendCommandTable =
{
- { "buyerror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_BUYERROR, false, &HandleDebugSendBuyErrorCommand, "", NULL },
- { "channelnotify", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_CHANNELNOTIFY, false, &HandleDebugSendChannelNotifyCommand, "", NULL },
- { "chatmessage", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_CHATMESSAGE, false, &HandleDebugSendChatMsgCommand, "", NULL },
- { "equiperror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_EQUIPERROR, false, &HandleDebugSendEquipErrorCommand, "", NULL },
- { "largepacket", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_LARGEPACKET, false, &HandleDebugSendLargePacketCommand, "", NULL },
- { "opcode", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_OPCODE, false, &HandleDebugSendOpcodeCommand, "", NULL },
- { "qpartymsg", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_QPARTYMSG, false, &HandleDebugSendQuestPartyMsgCommand, "", NULL },
- { "qinvalidmsg", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_QINVALIDMSG, false, &HandleDebugSendQuestInvalidMsgCommand, "", NULL },
- { "sellerror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SELLERROR, false, &HandleDebugSendSellErrorCommand, "", NULL },
- { "setphaseshift", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SETPHASESHIFT, false, &HandleDebugSendSetPhaseShiftCommand, "", NULL },
- { "spellfail", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SPELLFAIL, false, &HandleDebugSendSpellFailCommand, "", NULL },
- { "playscene", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_PLAYSCENE, false, &HandleDebugSendPlaySceneCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "buyerror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_BUYERROR, false, &HandleDebugSendBuyErrorCommand, "" },
+ { "channelnotify", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_CHANNELNOTIFY, false, &HandleDebugSendChannelNotifyCommand, "" },
+ { "chatmessage", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_CHATMESSAGE, false, &HandleDebugSendChatMsgCommand, "" },
+ { "equiperror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_EQUIPERROR, false, &HandleDebugSendEquipErrorCommand, "" },
+ { "largepacket", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_LARGEPACKET, false, &HandleDebugSendLargePacketCommand, "" },
+ { "opcode", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_OPCODE, false, &HandleDebugSendOpcodeCommand, "" },
+ { "qpartymsg", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_QPARTYMSG, false, &HandleDebugSendQuestPartyMsgCommand, "" },
+ { "qinvalidmsg", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_QINVALIDMSG, false, &HandleDebugSendQuestInvalidMsgCommand, "" },
+ { "sellerror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SELLERROR, false, &HandleDebugSendSellErrorCommand, "" },
+ { "setphaseshift", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SETPHASESHIFT, false, &HandleDebugSendSetPhaseShiftCommand, "" },
+ { "spellfail", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SPELLFAIL, false, &HandleDebugSendSpellFailCommand, "" },
+ { "playscene", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_PLAYSCENE, false, &HandleDebugSendPlaySceneCommand, "" },
};
- static ChatCommand debugCommandTable[] =
+ static std::vector<ChatCommand> debugCommandTable =
{
- { "setbit", rbac::RBAC_PERM_COMMAND_DEBUG_SETBIT, false, &HandleDebugSet32BitCommand, "", NULL },
- { "threat", rbac::RBAC_PERM_COMMAND_DEBUG_THREAT, false, &HandleDebugThreatListCommand, "", NULL },
- { "hostil", rbac::RBAC_PERM_COMMAND_DEBUG_HOSTIL, false, &HandleDebugHostileRefListCommand, "", NULL },
- { "anim", rbac::RBAC_PERM_COMMAND_DEBUG_ANIM, false, &HandleDebugAnimCommand, "", NULL },
- { "arena", rbac::RBAC_PERM_COMMAND_DEBUG_ARENA, false, &HandleDebugArenaCommand, "", NULL },
- { "bg", rbac::RBAC_PERM_COMMAND_DEBUG_BG, false, &HandleDebugBattlegroundCommand, "", NULL },
- { "getitemstate", rbac::RBAC_PERM_COMMAND_DEBUG_GETITEMSTATE, false, &HandleDebugGetItemStateCommand, "", NULL },
- { "lootrecipient", rbac::RBAC_PERM_COMMAND_DEBUG_LOOTRECIPIENT, false, &HandleDebugGetLootRecipientCommand, "", NULL },
- { "getvalue", rbac::RBAC_PERM_COMMAND_DEBUG_GETVALUE, false, &HandleDebugGetValueCommand, "", NULL },
- { "getitemvalue", rbac::RBAC_PERM_COMMAND_DEBUG_GETITEMVALUE, false, &HandleDebugGetItemValueCommand, "", NULL },
- { "Mod32Value", rbac::RBAC_PERM_COMMAND_DEBUG_MOD32VALUE, false, &HandleDebugMod32ValueCommand, "", NULL },
+ { "setbit", rbac::RBAC_PERM_COMMAND_DEBUG_SETBIT, false, &HandleDebugSet32BitCommand, "" },
+ { "threat", rbac::RBAC_PERM_COMMAND_DEBUG_THREAT, false, &HandleDebugThreatListCommand, "" },
+ { "hostil", rbac::RBAC_PERM_COMMAND_DEBUG_HOSTIL, false, &HandleDebugHostileRefListCommand, "" },
+ { "anim", rbac::RBAC_PERM_COMMAND_DEBUG_ANIM, false, &HandleDebugAnimCommand, "" },
+ { "arena", rbac::RBAC_PERM_COMMAND_DEBUG_ARENA, false, &HandleDebugArenaCommand, "" },
+ { "bg", rbac::RBAC_PERM_COMMAND_DEBUG_BG, false, &HandleDebugBattlegroundCommand, "" },
+ { "getitemstate", rbac::RBAC_PERM_COMMAND_DEBUG_GETITEMSTATE, false, &HandleDebugGetItemStateCommand, "" },
+ { "lootrecipient", rbac::RBAC_PERM_COMMAND_DEBUG_LOOTRECIPIENT, false, &HandleDebugGetLootRecipientCommand, "" },
+ { "getvalue", rbac::RBAC_PERM_COMMAND_DEBUG_GETVALUE, false, &HandleDebugGetValueCommand, "" },
+ { "getitemvalue", rbac::RBAC_PERM_COMMAND_DEBUG_GETITEMVALUE, false, &HandleDebugGetItemValueCommand, "" },
+ { "Mod32Value", rbac::RBAC_PERM_COMMAND_DEBUG_MOD32VALUE, false, &HandleDebugMod32ValueCommand, "" },
{ "play", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY, false, NULL, "", debugPlayCommandTable },
{ "send", rbac::RBAC_PERM_COMMAND_DEBUG_SEND, false, NULL, "", debugSendCommandTable },
- { "setaurastate", rbac::RBAC_PERM_COMMAND_DEBUG_SETAURASTATE, false, &HandleDebugSetAuraStateCommand, "", NULL },
- { "setitemvalue", rbac::RBAC_PERM_COMMAND_DEBUG_SETITEMVALUE, false, &HandleDebugSetItemValueCommand, "", NULL },
- { "setvalue", rbac::RBAC_PERM_COMMAND_DEBUG_SETVALUE, false, &HandleDebugSetValueCommand, "", NULL },
- { "spawnvehicle", rbac::RBAC_PERM_COMMAND_DEBUG_SPAWNVEHICLE, false, &HandleDebugSpawnVehicleCommand, "", NULL },
- { "setvid", rbac::RBAC_PERM_COMMAND_DEBUG_SETVID, false, &HandleDebugSetVehicleIdCommand, "", NULL },
- { "entervehicle", rbac::RBAC_PERM_COMMAND_DEBUG_ENTERVEHICLE, false, &HandleDebugEnterVehicleCommand, "", NULL },
- { "uws", rbac::RBAC_PERM_COMMAND_DEBUG_UWS, false, &HandleDebugUpdateWorldStateCommand, "", NULL },
- { "update", rbac::RBAC_PERM_COMMAND_DEBUG_UPDATE, false, &HandleDebugUpdateCommand, "", NULL },
- { "itemexpire", rbac::RBAC_PERM_COMMAND_DEBUG_ITEMEXPIRE, false, &HandleDebugItemExpireCommand, "", NULL },
- { "areatriggers", rbac::RBAC_PERM_COMMAND_DEBUG_AREATRIGGERS, false, &HandleDebugAreaTriggersCommand, "", NULL },
- { "los", rbac::RBAC_PERM_COMMAND_DEBUG_LOS, false, &HandleDebugLoSCommand, "", NULL },
- { "moveflags", rbac::RBAC_PERM_COMMAND_DEBUG_MOVEFLAGS, false, &HandleDebugMoveflagsCommand, "", NULL },
- { "transport", rbac::RBAC_PERM_COMMAND_DEBUG_TRANSPORT, false, &HandleDebugTransportCommand, "", NULL },
- { "phase", rbac::RBAC_PERM_COMMAND_DEBUG_PHASE, false, &HandleDebugPhaseCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "setaurastate", rbac::RBAC_PERM_COMMAND_DEBUG_SETAURASTATE, false, &HandleDebugSetAuraStateCommand, "" },
+ { "setitemvalue", rbac::RBAC_PERM_COMMAND_DEBUG_SETITEMVALUE, false, &HandleDebugSetItemValueCommand, "" },
+ { "setvalue", rbac::RBAC_PERM_COMMAND_DEBUG_SETVALUE, false, &HandleDebugSetValueCommand, "" },
+ { "spawnvehicle", rbac::RBAC_PERM_COMMAND_DEBUG_SPAWNVEHICLE, false, &HandleDebugSpawnVehicleCommand, "" },
+ { "setvid", rbac::RBAC_PERM_COMMAND_DEBUG_SETVID, false, &HandleDebugSetVehicleIdCommand, "" },
+ { "entervehicle", rbac::RBAC_PERM_COMMAND_DEBUG_ENTERVEHICLE, false, &HandleDebugEnterVehicleCommand, "" },
+ { "uws", rbac::RBAC_PERM_COMMAND_DEBUG_UWS, false, &HandleDebugUpdateWorldStateCommand, "" },
+ { "update", rbac::RBAC_PERM_COMMAND_DEBUG_UPDATE, false, &HandleDebugUpdateCommand, "" },
+ { "itemexpire", rbac::RBAC_PERM_COMMAND_DEBUG_ITEMEXPIRE, false, &HandleDebugItemExpireCommand, "" },
+ { "areatriggers", rbac::RBAC_PERM_COMMAND_DEBUG_AREATRIGGERS, false, &HandleDebugAreaTriggersCommand, "" },
+ { "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 ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "debug", rbac::RBAC_PERM_COMMAND_DEBUG, true, NULL, "", debugCommandTable },
- { "wpgps", rbac::RBAC_PERM_COMMAND_WPGPS, false, &HandleWPGPSCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "wpgps", rbac::RBAC_PERM_COMMAND_WPGPS, false, &HandleWPGPSCommand, "" },
};
return commandTable;
}
@@ -1397,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_deserter.cpp b/src/server/scripts/Commands/cs_deserter.cpp
index 2887ac8c134..9f461207707 100644
--- a/src/server/scripts/Commands/cs_deserter.cpp
+++ b/src/server/scripts/Commands/cs_deserter.cpp
@@ -43,31 +43,27 @@ public:
* @brief Returns the command structure for the system.
*/
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand deserterInstanceCommandTable[] =
+ static std::vector<ChatCommand> deserterInstanceCommandTable =
{
- { "add", rbac::RBAC_PERM_COMMAND_DESERTER_INSTANCE_ADD, false, &HandleDeserterInstanceAdd, "", NULL },
- { "remove", rbac::RBAC_PERM_COMMAND_DESERTER_INSTANCE_REMOVE, false, &HandleDeserterInstanceRemove, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "add", rbac::RBAC_PERM_COMMAND_DESERTER_INSTANCE_ADD, false, &HandleDeserterInstanceAdd, "" },
+ { "remove", rbac::RBAC_PERM_COMMAND_DESERTER_INSTANCE_REMOVE, false, &HandleDeserterInstanceRemove, "" },
};
- static ChatCommand deserterBGCommandTable[] =
+ static std::vector<ChatCommand> deserterBGCommandTable =
{
- { "add", rbac::RBAC_PERM_COMMAND_DESERTER_BG_ADD, false, &HandleDeserterBGAdd, "", NULL },
- { "remove", rbac::RBAC_PERM_COMMAND_DESERTER_BG_REMOVE, false, &HandleDeserterBGRemove, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "add", rbac::RBAC_PERM_COMMAND_DESERTER_BG_ADD, false, &HandleDeserterBGAdd, "" },
+ { "remove", rbac::RBAC_PERM_COMMAND_DESERTER_BG_REMOVE, false, &HandleDeserterBGRemove, "" },
};
- static ChatCommand deserterCommandTable[] =
+ static std::vector<ChatCommand> deserterCommandTable =
{
{ "instance", rbac::RBAC_PERM_COMMAND_DESERTER_INSTANCE, false, NULL, "", deserterInstanceCommandTable },
{ "bg", rbac::RBAC_PERM_COMMAND_DESERTER_BG, false, NULL, "", deserterBGCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "deserter", rbac::RBAC_PERM_COMMAND_DESERTER, false, NULL, "", deserterCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_disable.cpp b/src/server/scripts/Commands/cs_disable.cpp
index 14f76945a80..8c73f3f41de 100644
--- a/src/server/scripts/Commands/cs_disable.cpp
+++ b/src/server/scripts/Commands/cs_disable.cpp
@@ -37,42 +37,38 @@ class disable_commandscript : public CommandScript
public:
disable_commandscript() : CommandScript("disable_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand removeDisableCommandTable[] =
+ static std::vector<ChatCommand> removeDisableCommandTable =
{
- { "spell", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_SPELL, true, &HandleRemoveDisableSpellCommand, "", NULL },
- { "quest", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_QUEST, true, &HandleRemoveDisableQuestCommand, "", NULL },
- { "map", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_MAP, true, &HandleRemoveDisableMapCommand, "", NULL },
- { "battleground", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_BATTLEGROUND, true, &HandleRemoveDisableBattlegroundCommand, "", NULL },
- { "achievement_criteria", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_ACHIEVEMENT_CRITERIA, true, &HandleRemoveDisableAchievementCriteriaCommand, "", NULL },
- { "outdoorpvp", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_OUTDOORPVP, true, &HandleRemoveDisableOutdoorPvPCommand, "", NULL },
- { "vmap", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_VMAP, true, &HandleRemoveDisableVmapCommand, "", NULL },
- { "mmap", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_MMAP, true, &HandleRemoveDisableMMapCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "spell", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_SPELL, true, &HandleRemoveDisableSpellCommand, "" },
+ { "quest", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_QUEST, true, &HandleRemoveDisableQuestCommand, "" },
+ { "map", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_MAP, true, &HandleRemoveDisableMapCommand, "" },
+ { "battleground", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_BATTLEGROUND, true, &HandleRemoveDisableBattlegroundCommand, "" },
+ { "achievement_criteria", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_ACHIEVEMENT_CRITERIA, true, &HandleRemoveDisableAchievementCriteriaCommand, "" },
+ { "outdoorpvp", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_OUTDOORPVP, true, &HandleRemoveDisableOutdoorPvPCommand, "" },
+ { "vmap", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_VMAP, true, &HandleRemoveDisableVmapCommand, "" },
+ { "mmap", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_MMAP, true, &HandleRemoveDisableMMapCommand, "" },
};
- static ChatCommand addDisableCommandTable[] =
+ static std::vector<ChatCommand> addDisableCommandTable =
{
- { "spell", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_SPELL, true, &HandleAddDisableSpellCommand, "", NULL },
- { "quest", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_QUEST, true, &HandleAddDisableQuestCommand, "", NULL },
- { "map", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_MAP, true, &HandleAddDisableMapCommand, "", NULL },
- { "battleground", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_BATTLEGROUND, true, &HandleAddDisableBattlegroundCommand, "", NULL },
- { "achievement_criteria", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_ACHIEVEMENT_CRITERIA, true, &HandleAddDisableAchievementCriteriaCommand, "", NULL },
- { "outdoorpvp", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_OUTDOORPVP, true, &HandleAddDisableOutdoorPvPCommand, "", NULL },
- { "vmap", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_VMAP, true, &HandleAddDisableVmapCommand, "", NULL },
- { "mmap", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_MMAP, true, &HandleAddDisableMMapCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "spell", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_SPELL, true, &HandleAddDisableSpellCommand, "" },
+ { "quest", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_QUEST, true, &HandleAddDisableQuestCommand, "" },
+ { "map", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_MAP, true, &HandleAddDisableMapCommand, "" },
+ { "battleground", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_BATTLEGROUND, true, &HandleAddDisableBattlegroundCommand, "" },
+ { "achievement_criteria", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_ACHIEVEMENT_CRITERIA, true, &HandleAddDisableAchievementCriteriaCommand, "" },
+ { "outdoorpvp", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_OUTDOORPVP, true, &HandleAddDisableOutdoorPvPCommand, "" },
+ { "vmap", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_VMAP, true, &HandleAddDisableVmapCommand, "" },
+ { "mmap", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_MMAP, true, &HandleAddDisableMMapCommand, "" },
};
- static ChatCommand disableCommandTable[] =
+ static std::vector<ChatCommand> disableCommandTable =
{
{ "add", rbac::RBAC_PERM_COMMAND_DISABLE_ADD, true, NULL, "", addDisableCommandTable },
{ "remove", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE, true, NULL, "", removeDisableCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "disable", rbac::RBAC_PERM_COMMAND_DISABLE, false, NULL, "", disableCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_event.cpp b/src/server/scripts/Commands/cs_event.cpp
index 37495289149..352bce4e7f0 100644
--- a/src/server/scripts/Commands/cs_event.cpp
+++ b/src/server/scripts/Commands/cs_event.cpp
@@ -33,20 +33,18 @@ class event_commandscript : public CommandScript
public:
event_commandscript() : CommandScript("event_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand eventCommandTable[] =
+ static std::vector<ChatCommand> eventCommandTable =
{
- { "activelist", rbac::RBAC_PERM_COMMAND_EVENT_ACTIVELIST, true, &HandleEventActiveListCommand, "", NULL },
- { "start", rbac::RBAC_PERM_COMMAND_EVENT_START, true, &HandleEventStartCommand, "", NULL },
- { "stop", rbac::RBAC_PERM_COMMAND_EVENT_STOP, true, &HandleEventStopCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_EVENT, true, &HandleEventInfoCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "activelist", rbac::RBAC_PERM_COMMAND_EVENT_ACTIVELIST, true, &HandleEventActiveListCommand, "" },
+ { "start", rbac::RBAC_PERM_COMMAND_EVENT_START, true, &HandleEventStartCommand, "" },
+ { "stop", rbac::RBAC_PERM_COMMAND_EVENT_STOP, true, &HandleEventStopCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_EVENT, true, &HandleEventInfoCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "event", rbac::RBAC_PERM_COMMAND_EVENT, false, NULL, "", eventCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp
index 14be108f878..8b3c8c92e81 100644
--- a/src/server/scripts/Commands/cs_gm.cpp
+++ b/src/server/scripts/Commands/cs_gm.cpp
@@ -36,22 +36,20 @@ class gm_commandscript : public CommandScript
public:
gm_commandscript() : CommandScript("gm_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand gmCommandTable[] =
+ static std::vector<ChatCommand> gmCommandTable =
{
- { "chat", rbac::RBAC_PERM_COMMAND_GM_CHAT, false, &HandleGMChatCommand, "", NULL },
- { "fly", rbac::RBAC_PERM_COMMAND_GM_FLY, false, &HandleGMFlyCommand, "", NULL },
- { "ingame", rbac::RBAC_PERM_COMMAND_GM_INGAME, true, &HandleGMListIngameCommand, "", NULL },
- { "list", rbac::RBAC_PERM_COMMAND_GM_LIST, true, &HandleGMListFullCommand, "", NULL },
- { "visible", rbac::RBAC_PERM_COMMAND_GM_VISIBLE, false, &HandleGMVisibleCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_GM, false, &HandleGMCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "chat", rbac::RBAC_PERM_COMMAND_GM_CHAT, false, &HandleGMChatCommand, "" },
+ { "fly", rbac::RBAC_PERM_COMMAND_GM_FLY, false, &HandleGMFlyCommand, "" },
+ { "ingame", rbac::RBAC_PERM_COMMAND_GM_INGAME, true, &HandleGMListIngameCommand, "" },
+ { "list", rbac::RBAC_PERM_COMMAND_GM_LIST, true, &HandleGMListFullCommand, "" },
+ { "visible", rbac::RBAC_PERM_COMMAND_GM_VISIBLE, false, &HandleGMVisibleCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_GM, false, &HandleGMCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "gm", rbac::RBAC_PERM_COMMAND_GM, false, NULL, "", gmCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp
index 19b714f6e61..ea93185ddce 100644
--- a/src/server/scripts/Commands/cs_go.cpp
+++ b/src/server/scripts/Commands/cs_go.cpp
@@ -36,30 +36,28 @@ class go_commandscript : public CommandScript
public:
go_commandscript() : CommandScript("go_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand goCommandTable[] =
- {
- { "creature", rbac::RBAC_PERM_COMMAND_GO_CREATURE, false, &HandleGoCreatureCommand, "", NULL },
- { "graveyard", rbac::RBAC_PERM_COMMAND_GO_GRAVEYARD, false, &HandleGoGraveyardCommand, "", NULL },
- { "grid", rbac::RBAC_PERM_COMMAND_GO_GRID, false, &HandleGoGridCommand, "", NULL },
- { "object", rbac::RBAC_PERM_COMMAND_GO_OBJECT, false, &HandleGoObjectCommand, "", NULL },
- { "quest", rbac::RBAC_PERM_COMMAND_GO_QUEST, false, &HandleGoQuestCommand, "", NULL },
- { "taxinode", rbac::RBAC_PERM_COMMAND_GO_TAXINODE, false, &HandleGoTaxinodeCommand, "", NULL },
- { "trigger", rbac::RBAC_PERM_COMMAND_GO_TRIGGER, false, &HandleGoTriggerCommand, "", NULL },
- { "zonexy", rbac::RBAC_PERM_COMMAND_GO_ZONEXY, false, &HandleGoZoneXYCommand, "", NULL },
- { "xyz", rbac::RBAC_PERM_COMMAND_GO_XYZ, false, &HandleGoXYZCommand, "", NULL },
- { "bugticket", rbac::RBAC_PERM_COMMAND_GO_BUG_TICKET, false, &HandleGoTicketCommand<BugTicket>, "", NULL },
- { "complaintticket", rbac::RBAC_PERM_COMMAND_GO_COMPLAINT_TICKET, false, &HandleGoTicketCommand<ComplaintTicket>, "", NULL },
- { "suggestionticket", rbac::RBAC_PERM_COMMAND_GO_SUGGESTION_TICKET, false, &HandleGoTicketCommand<SuggestionTicket>, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoXYZCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ static std::vector<ChatCommand> goCommandTable =
+ {
+ { "creature", rbac::RBAC_PERM_COMMAND_GO_CREATURE, false, &HandleGoCreatureCommand, "" },
+ { "graveyard", rbac::RBAC_PERM_COMMAND_GO_GRAVEYARD, false, &HandleGoGraveyardCommand, "" },
+ { "grid", rbac::RBAC_PERM_COMMAND_GO_GRID, false, &HandleGoGridCommand, "" },
+ { "object", rbac::RBAC_PERM_COMMAND_GO_OBJECT, false, &HandleGoObjectCommand, "" },
+ { "quest", rbac::RBAC_PERM_COMMAND_GO_QUEST, false, &HandleGoQuestCommand, "" },
+ { "taxinode", rbac::RBAC_PERM_COMMAND_GO_TAXINODE, false, &HandleGoTaxinodeCommand, "" },
+ { "trigger", rbac::RBAC_PERM_COMMAND_GO_TRIGGER, false, &HandleGoTriggerCommand, "" },
+ { "zonexy", rbac::RBAC_PERM_COMMAND_GO_ZONEXY, false, &HandleGoZoneXYCommand, "" },
+ { "xyz", rbac::RBAC_PERM_COMMAND_GO_XYZ, false, &HandleGoXYZCommand, "" },
+ { "bugticket", rbac::RBAC_PERM_COMMAND_GO_BUG_TICKET, false, &HandleGoTicketCommand<BugTicket>, "" },
+ { "complaintticket", rbac::RBAC_PERM_COMMAND_GO_COMPLAINT_TICKET, false, &HandleGoTicketCommand<ComplaintTicket>, "" },
+ { "suggestionticket", rbac::RBAC_PERM_COMMAND_GO_SUGGESTION_TICKET, false, &HandleGoTicketCommand<SuggestionTicket>, "" },
+ { "", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoXYZCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "go", rbac::RBAC_PERM_COMMAND_GO, false, NULL, "", goCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp
index ad877bdefb4..62f81a40104 100644
--- a/src/server/scripts/Commands/cs_gobject.cpp
+++ b/src/server/scripts/Commands/cs_gobject.cpp
@@ -37,37 +37,33 @@ class gobject_commandscript : public CommandScript
public:
gobject_commandscript() : CommandScript("gobject_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand gobjectAddCommandTable[] =
+ static std::vector<ChatCommand> gobjectAddCommandTable =
{
- { "temp", rbac::RBAC_PERM_COMMAND_GOBJECT_ADD_TEMP, false, &HandleGameObjectAddTempCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_GOBJECT_ADD, false, &HandleGameObjectAddCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "temp", rbac::RBAC_PERM_COMMAND_GOBJECT_ADD_TEMP, false, &HandleGameObjectAddTempCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_GOBJECT_ADD, false, &HandleGameObjectAddCommand, "" },
};
- static ChatCommand gobjectSetCommandTable[] =
+ static std::vector<ChatCommand> gobjectSetCommandTable =
{
- { "phase", rbac::RBAC_PERM_COMMAND_GOBJECT_SET_PHASE, false, &HandleGameObjectSetPhaseCommand, "", NULL },
- { "state", rbac::RBAC_PERM_COMMAND_GOBJECT_SET_STATE, false, &HandleGameObjectSetStateCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "phase", rbac::RBAC_PERM_COMMAND_GOBJECT_SET_PHASE, false, &HandleGameObjectSetPhaseCommand, "" },
+ { "state", rbac::RBAC_PERM_COMMAND_GOBJECT_SET_STATE, false, &HandleGameObjectSetStateCommand, "" },
};
- static ChatCommand gobjectCommandTable[] =
+ static std::vector<ChatCommand> gobjectCommandTable =
{
- { "activate", rbac::RBAC_PERM_COMMAND_GOBJECT_ACTIVATE, false, &HandleGameObjectActivateCommand, "", NULL },
- { "delete", rbac::RBAC_PERM_COMMAND_GOBJECT_DELETE, false, &HandleGameObjectDeleteCommand, "", NULL },
- { "info", rbac::RBAC_PERM_COMMAND_GOBJECT_INFO, false, &HandleGameObjectInfoCommand, "", NULL },
- { "move", rbac::RBAC_PERM_COMMAND_GOBJECT_MOVE, false, &HandleGameObjectMoveCommand, "", NULL },
- { "near", rbac::RBAC_PERM_COMMAND_GOBJECT_NEAR, false, &HandleGameObjectNearCommand, "", NULL },
- { "target", rbac::RBAC_PERM_COMMAND_GOBJECT_TARGET, false, &HandleGameObjectTargetCommand, "", NULL },
- { "turn", rbac::RBAC_PERM_COMMAND_GOBJECT_TURN, false, &HandleGameObjectTurnCommand, "", NULL },
+ { "activate", rbac::RBAC_PERM_COMMAND_GOBJECT_ACTIVATE, false, &HandleGameObjectActivateCommand, "" },
+ { "delete", rbac::RBAC_PERM_COMMAND_GOBJECT_DELETE, false, &HandleGameObjectDeleteCommand, "" },
+ { "info", rbac::RBAC_PERM_COMMAND_GOBJECT_INFO, false, &HandleGameObjectInfoCommand, "" },
+ { "move", rbac::RBAC_PERM_COMMAND_GOBJECT_MOVE, false, &HandleGameObjectMoveCommand, "" },
+ { "near", rbac::RBAC_PERM_COMMAND_GOBJECT_NEAR, false, &HandleGameObjectNearCommand, "" },
+ { "target", rbac::RBAC_PERM_COMMAND_GOBJECT_TARGET, false, &HandleGameObjectTargetCommand, "" },
+ { "turn", rbac::RBAC_PERM_COMMAND_GOBJECT_TURN, false, &HandleGameObjectTurnCommand, "" },
{ "add", rbac::RBAC_PERM_COMMAND_GOBJECT_ADD, false, NULL, "", gobjectAddCommandTable },
{ "set", rbac::RBAC_PERM_COMMAND_GOBJECT_SET, false, NULL, "", gobjectSetCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "gobject", rbac::RBAC_PERM_COMMAND_GOBJECT, false, NULL, "", gobjectCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_group.cpp b/src/server/scripts/Commands/cs_group.cpp
index 5e5694ba23a..0dbb196bf38 100644
--- a/src/server/scripts/Commands/cs_group.cpp
+++ b/src/server/scripts/Commands/cs_group.cpp
@@ -28,23 +28,21 @@ class group_commandscript : public CommandScript
public:
group_commandscript() : CommandScript("group_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand groupCommandTable[] =
+ static std::vector<ChatCommand> groupCommandTable =
{
- { "leader", rbac::RBAC_PERM_COMMAND_GROUP_LEADER, false, &HandleGroupLeaderCommand, "", NULL },
- { "disband", rbac::RBAC_PERM_COMMAND_GROUP_DISBAND, false, &HandleGroupDisbandCommand, "", NULL },
- { "remove", rbac::RBAC_PERM_COMMAND_GROUP_REMOVE, false, &HandleGroupRemoveCommand, "", NULL },
- { "join", rbac::RBAC_PERM_COMMAND_GROUP_JOIN, false, &HandleGroupJoinCommand, "", NULL },
- { "list", rbac::RBAC_PERM_COMMAND_GROUP_LIST, false, &HandleGroupListCommand, "", NULL },
- { "summon", rbac::RBAC_PERM_COMMAND_GROUP_SUMMON, false, &HandleGroupSummonCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "leader", rbac::RBAC_PERM_COMMAND_GROUP_LEADER, false, &HandleGroupLeaderCommand, "" },
+ { "disband", rbac::RBAC_PERM_COMMAND_GROUP_DISBAND, false, &HandleGroupDisbandCommand, "" },
+ { "remove", rbac::RBAC_PERM_COMMAND_GROUP_REMOVE, false, &HandleGroupRemoveCommand, "" },
+ { "join", rbac::RBAC_PERM_COMMAND_GROUP_JOIN, false, &HandleGroupJoinCommand, "" },
+ { "list", rbac::RBAC_PERM_COMMAND_GROUP_LIST, false, &HandleGroupListCommand, "" },
+ { "summon", rbac::RBAC_PERM_COMMAND_GROUP_SUMMON, false, &HandleGroupSummonCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "group", rbac::RBAC_PERM_COMMAND_GROUP, false, NULL, "", groupCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_guild.cpp b/src/server/scripts/Commands/cs_guild.cpp
index 88ded7a376c..7375dd48f49 100644
--- a/src/server/scripts/Commands/cs_guild.cpp
+++ b/src/server/scripts/Commands/cs_guild.cpp
@@ -36,23 +36,21 @@ class guild_commandscript : public CommandScript
public:
guild_commandscript() : CommandScript("guild_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand guildCommandTable[] =
+ static std::vector<ChatCommand> guildCommandTable =
{
- { "create", rbac::RBAC_PERM_COMMAND_GUILD_CREATE, true, &HandleGuildCreateCommand, "", NULL },
- { "delete", rbac::RBAC_PERM_COMMAND_GUILD_DELETE, true, &HandleGuildDeleteCommand, "", NULL },
- { "invite", rbac::RBAC_PERM_COMMAND_GUILD_INVITE, true, &HandleGuildInviteCommand, "", NULL },
- { "uninvite", rbac::RBAC_PERM_COMMAND_GUILD_UNINVITE, true, &HandleGuildUninviteCommand, "", NULL },
- { "rank", rbac::RBAC_PERM_COMMAND_GUILD_RANK, true, &HandleGuildRankCommand, "", NULL },
- { "rename", rbac::RBAC_PERM_COMMAND_GUILD_RENAME, true, &HandleGuildRenameCommand, "", NULL },
- { "info", rbac::RBAC_PERM_COMMAND_GUILD_INFO, true, &HandleGuildInfoCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "create", rbac::RBAC_PERM_COMMAND_GUILD_CREATE, true, &HandleGuildCreateCommand, "" },
+ { "delete", rbac::RBAC_PERM_COMMAND_GUILD_DELETE, true, &HandleGuildDeleteCommand, "" },
+ { "invite", rbac::RBAC_PERM_COMMAND_GUILD_INVITE, true, &HandleGuildInviteCommand, "" },
+ { "uninvite", rbac::RBAC_PERM_COMMAND_GUILD_UNINVITE, true, &HandleGuildUninviteCommand, "" },
+ { "rank", rbac::RBAC_PERM_COMMAND_GUILD_RANK, true, &HandleGuildRankCommand, "" },
+ { "rename", rbac::RBAC_PERM_COMMAND_GUILD_RENAME, true, &HandleGuildRenameCommand, "" },
+ { "info", rbac::RBAC_PERM_COMMAND_GUILD_INFO, true, &HandleGuildInfoCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "guild", rbac::RBAC_PERM_COMMAND_GUILD, true, NULL, "", guildCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_honor.cpp b/src/server/scripts/Commands/cs_honor.cpp
index ad2c53415bb..e8b41309d47 100644
--- a/src/server/scripts/Commands/cs_honor.cpp
+++ b/src/server/scripts/Commands/cs_honor.cpp
@@ -33,26 +33,23 @@ class honor_commandscript : public CommandScript
public:
honor_commandscript() : CommandScript("honor_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand honorAddCommandTable[] =
+ static std::vector<ChatCommand> honorAddCommandTable =
{
- { "kill", rbac::RBAC_PERM_COMMAND_HONOR_ADD_KILL, false, &HandleHonorAddKillCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_HONOR_ADD, false, &HandleHonorAddCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "kill", rbac::RBAC_PERM_COMMAND_HONOR_ADD_KILL, false, &HandleHonorAddKillCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_HONOR_ADD, false, &HandleHonorAddCommand, "" },
};
- static ChatCommand honorCommandTable[] =
+ static std::vector<ChatCommand> honorCommandTable =
{
{ "add", rbac::RBAC_PERM_COMMAND_HONOR_ADD, false, NULL, "", honorAddCommandTable },
- { "update", rbac::RBAC_PERM_COMMAND_HONOR_UPDATE, false, &HandleHonorUpdateCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "update", rbac::RBAC_PERM_COMMAND_HONOR_UPDATE, false, &HandleHonorUpdateCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "honor", rbac::RBAC_PERM_COMMAND_HONOR, false, NULL, "", honorCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_instance.cpp b/src/server/scripts/Commands/cs_instance.cpp
index e722ec95945..4ebc257b58b 100644
--- a/src/server/scripts/Commands/cs_instance.cpp
+++ b/src/server/scripts/Commands/cs_instance.cpp
@@ -36,23 +36,21 @@ class instance_commandscript : public CommandScript
public:
instance_commandscript() : CommandScript("instance_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand instanceCommandTable[] =
+ static std::vector<ChatCommand> instanceCommandTable =
{
- { "listbinds", rbac::RBAC_PERM_COMMAND_INSTANCE_LISTBINDS, false, &HandleInstanceListBindsCommand, "", NULL },
- { "unbind", rbac::RBAC_PERM_COMMAND_INSTANCE_UNBIND, false, &HandleInstanceUnbindCommand, "", NULL },
- { "stats", rbac::RBAC_PERM_COMMAND_INSTANCE_STATS, true, &HandleInstanceStatsCommand, "", NULL },
- { "savedata", rbac::RBAC_PERM_COMMAND_INSTANCE_SAVEDATA, false, &HandleInstanceSaveDataCommand, "", NULL },
- { "setbossstate", rbac::RBAC_PERM_COMMAND_INSTANCE_SET_BOSS_STATE, true, &HandleInstanceSetBossStateCommand, "", NULL },
- { "getbossstate", rbac::RBAC_PERM_COMMAND_INSTANCE_GET_BOSS_STATE, true, &HandleInstanceGetBossStateCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "listbinds", rbac::RBAC_PERM_COMMAND_INSTANCE_LISTBINDS, false, &HandleInstanceListBindsCommand, "" },
+ { "unbind", rbac::RBAC_PERM_COMMAND_INSTANCE_UNBIND, false, &HandleInstanceUnbindCommand, "" },
+ { "stats", rbac::RBAC_PERM_COMMAND_INSTANCE_STATS, true, &HandleInstanceStatsCommand, "" },
+ { "savedata", rbac::RBAC_PERM_COMMAND_INSTANCE_SAVEDATA, false, &HandleInstanceSaveDataCommand, "" },
+ { "setbossstate", rbac::RBAC_PERM_COMMAND_INSTANCE_SET_BOSS_STATE, true, &HandleInstanceSetBossStateCommand, "" },
+ { "getbossstate", rbac::RBAC_PERM_COMMAND_INSTANCE_GET_BOSS_STATE, true, &HandleInstanceGetBossStateCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "instance", rbac::RBAC_PERM_COMMAND_INSTANCE, true, NULL, "", instanceCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
@@ -254,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;
}
@@ -318,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_learn.cpp b/src/server/scripts/Commands/cs_learn.cpp
index d41c9c5d2c2..ef26e9fc8d2 100644
--- a/src/server/scripts/Commands/cs_learn.cpp
+++ b/src/server/scripts/Commands/cs_learn.cpp
@@ -36,40 +36,36 @@ class learn_commandscript : public CommandScript
public:
learn_commandscript() : CommandScript("learn_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand learnAllMyCommandTable[] =
+ static std::vector<ChatCommand> learnAllMyCommandTable =
{
- { "class", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_CLASS, false, &HandleLearnAllMyClassCommand, "", NULL },
- { "pettalents", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_PETTALENTS, false, &HandleLearnAllMyPetTalentsCommand, "", NULL },
- { "spells", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_SPELLS, false, &HandleLearnAllMySpellsCommand, "", NULL },
- { "talents", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_TALENTS, false, &HandleLearnAllMyTalentsCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "class", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_CLASS, false, &HandleLearnAllMyClassCommand, "" },
+ { "pettalents", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_PETTALENTS, false, &HandleLearnAllMyPetTalentsCommand, "" },
+ { "spells", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_SPELLS, false, &HandleLearnAllMySpellsCommand, "" },
+ { "talents", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_TALENTS, false, &HandleLearnAllMyTalentsCommand, "" },
};
- static ChatCommand learnAllCommandTable[] =
+ static std::vector<ChatCommand> learnAllCommandTable =
{
{ "my", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY, false, NULL, "", learnAllMyCommandTable },
- { "gm", rbac::RBAC_PERM_COMMAND_LEARN_ALL_GM, false, &HandleLearnAllGMCommand, "", NULL },
- { "crafts", rbac::RBAC_PERM_COMMAND_LEARN_ALL_CRAFTS, false, &HandleLearnAllCraftsCommand, "", NULL },
- { "default", rbac::RBAC_PERM_COMMAND_LEARN_ALL_DEFAULT, false, &HandleLearnAllDefaultCommand, "", NULL },
- { "lang", rbac::RBAC_PERM_COMMAND_LEARN_ALL_LANG, false, &HandleLearnAllLangCommand, "", NULL },
- { "recipes", rbac::RBAC_PERM_COMMAND_LEARN_ALL_RECIPES, false, &HandleLearnAllRecipesCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "gm", rbac::RBAC_PERM_COMMAND_LEARN_ALL_GM, false, &HandleLearnAllGMCommand, "" },
+ { "crafts", rbac::RBAC_PERM_COMMAND_LEARN_ALL_CRAFTS, false, &HandleLearnAllCraftsCommand, "" },
+ { "default", rbac::RBAC_PERM_COMMAND_LEARN_ALL_DEFAULT, false, &HandleLearnAllDefaultCommand, "" },
+ { "lang", rbac::RBAC_PERM_COMMAND_LEARN_ALL_LANG, false, &HandleLearnAllLangCommand, "" },
+ { "recipes", rbac::RBAC_PERM_COMMAND_LEARN_ALL_RECIPES, false, &HandleLearnAllRecipesCommand, "" },
};
- static ChatCommand learnCommandTable[] =
+ static std::vector<ChatCommand> learnCommandTable =
{
{ "all", rbac::RBAC_PERM_COMMAND_LEARN_ALL, false, NULL, "", learnAllCommandTable },
- { "", rbac::RBAC_PERM_COMMAND_LEARN, false, &HandleLearnCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "", rbac::RBAC_PERM_COMMAND_LEARN, false, &HandleLearnCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "learn", rbac::RBAC_PERM_COMMAND_LEARN, false, NULL, "", learnCommandTable },
- { "unlearn", rbac::RBAC_PERM_COMMAND_UNLEARN, false, &HandleUnLearnCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "unlearn", rbac::RBAC_PERM_COMMAND_UNLEARN, false, &HandleUnLearnCommand, "" },
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_lfg.cpp b/src/server/scripts/Commands/cs_lfg.cpp
index b81a98459b7..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)
@@ -41,22 +43,20 @@ class lfg_commandscript : public CommandScript
public:
lfg_commandscript() : CommandScript("lfg_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand lfgCommandTable[] =
+ static std::vector<ChatCommand> lfgCommandTable =
{
- { "player", rbac::RBAC_PERM_COMMAND_LFG_PLAYER, false, &HandleLfgPlayerInfoCommand, "", NULL },
- { "group", rbac::RBAC_PERM_COMMAND_LFG_GROUP, false, &HandleLfgGroupInfoCommand, "", NULL },
- { "queue", rbac::RBAC_PERM_COMMAND_LFG_QUEUE, true, &HandleLfgQueueInfoCommand, "", NULL },
- { "clean", rbac::RBAC_PERM_COMMAND_LFG_CLEAN, true, &HandleLfgCleanCommand, "", NULL },
- { "options", rbac::RBAC_PERM_COMMAND_LFG_OPTIONS, true, &HandleLfgOptionsCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "player", rbac::RBAC_PERM_COMMAND_LFG_PLAYER, false, &HandleLfgPlayerInfoCommand, "" },
+ { "group", rbac::RBAC_PERM_COMMAND_LFG_GROUP, false, &HandleLfgGroupInfoCommand, "" },
+ { "queue", rbac::RBAC_PERM_COMMAND_LFG_QUEUE, true, &HandleLfgQueueInfoCommand, "" },
+ { "clean", rbac::RBAC_PERM_COMMAND_LFG_CLEAN, true, &HandleLfgCleanCommand, "" },
+ { "options", rbac::RBAC_PERM_COMMAND_LFG_OPTIONS, true, &HandleLfgOptionsCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "lfg", rbac::RBAC_PERM_COMMAND_LFG, true, NULL, "", lfgCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
@@ -74,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_list.cpp b/src/server/scripts/Commands/cs_list.cpp
index 9951688dcf7..91add2c2391 100644
--- a/src/server/scripts/Commands/cs_list.cpp
+++ b/src/server/scripts/Commands/cs_list.cpp
@@ -36,21 +36,19 @@ class list_commandscript : public CommandScript
public:
list_commandscript() : CommandScript("list_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand listCommandTable[] =
+ static std::vector<ChatCommand> listCommandTable =
{
- { "creature", rbac::RBAC_PERM_COMMAND_LIST_CREATURE, true, &HandleListCreatureCommand, "", NULL },
- { "item", rbac::RBAC_PERM_COMMAND_LIST_ITEM, true, &HandleListItemCommand, "", NULL },
- { "object", rbac::RBAC_PERM_COMMAND_LIST_OBJECT, true, &HandleListObjectCommand, "", NULL },
- { "auras", rbac::RBAC_PERM_COMMAND_LIST_AURAS, false, &HandleListAurasCommand, "", NULL },
- { "mail", rbac::RBAC_PERM_COMMAND_LIST_MAIL, true, &HandleListMailCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "creature", rbac::RBAC_PERM_COMMAND_LIST_CREATURE, true, &HandleListCreatureCommand, "" },
+ { "item", rbac::RBAC_PERM_COMMAND_LIST_ITEM, true, &HandleListItemCommand, "" },
+ { "object", rbac::RBAC_PERM_COMMAND_LIST_OBJECT, true, &HandleListObjectCommand, "" },
+ { "auras", rbac::RBAC_PERM_COMMAND_LIST_AURAS, false, &HandleListAurasCommand, "" },
+ { "mail", rbac::RBAC_PERM_COMMAND_LIST_MAIL, true, &HandleListMailCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "list", rbac::RBAC_PERM_COMMAND_LIST,true, NULL, "", listCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_lookup.cpp b/src/server/scripts/Commands/cs_lookup.cpp
index 8fa5bd079e6..a05c88a43d2 100644
--- a/src/server/scripts/Commands/cs_lookup.cpp
+++ b/src/server/scripts/Commands/cs_lookup.cpp
@@ -37,47 +37,43 @@ class lookup_commandscript : public CommandScript
public:
lookup_commandscript() : CommandScript("lookup_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand lookupPlayerCommandTable[] =
+ static std::vector<ChatCommand> lookupPlayerCommandTable =
{
- { "ip", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_IP, true, &HandleLookupPlayerIpCommand, "", NULL },
- { "account", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_ACCOUNT, true, &HandleLookupPlayerAccountCommand, "", NULL },
- { "email", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_EMAIL, true, &HandleLookupPlayerEmailCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "ip", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_IP, true, &HandleLookupPlayerIpCommand, "" },
+ { "account", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_ACCOUNT, true, &HandleLookupPlayerAccountCommand, "" },
+ { "email", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_EMAIL, true, &HandleLookupPlayerEmailCommand, "" },
};
- static ChatCommand lookupSpellCommandTable[] =
+ static std::vector<ChatCommand> lookupSpellCommandTable =
{
- { "id", rbac::RBAC_PERM_COMMAND_LOOKUP_SPELL_ID, true, &HandleLookupSpellIdCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_LOOKUP_SPELL, true, &HandleLookupSpellCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "id", rbac::RBAC_PERM_COMMAND_LOOKUP_SPELL_ID, true, &HandleLookupSpellIdCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_LOOKUP_SPELL, true, &HandleLookupSpellCommand, "" },
};
- static ChatCommand lookupCommandTable[] =
+ static std::vector<ChatCommand> lookupCommandTable =
{
- { "area", rbac::RBAC_PERM_COMMAND_LOOKUP_AREA, true, &HandleLookupAreaCommand, "", NULL },
- { "creature", rbac::RBAC_PERM_COMMAND_LOOKUP_CREATURE, true, &HandleLookupCreatureCommand, "", NULL },
- { "event", rbac::RBAC_PERM_COMMAND_LOOKUP_EVENT, true, &HandleLookupEventCommand, "", NULL },
- { "faction", rbac::RBAC_PERM_COMMAND_LOOKUP_FACTION, true, &HandleLookupFactionCommand, "", NULL },
- { "item", rbac::RBAC_PERM_COMMAND_LOOKUP_ITEM, true, &HandleLookupItemCommand, "", NULL },
- { "itemset", rbac::RBAC_PERM_COMMAND_LOOKUP_ITEMSET, true, &HandleLookupItemSetCommand, "", NULL },
- { "object", rbac::RBAC_PERM_COMMAND_LOOKUP_OBJECT, true, &HandleLookupObjectCommand, "", NULL },
- { "quest", rbac::RBAC_PERM_COMMAND_LOOKUP_QUEST, true, &HandleLookupQuestCommand, "", NULL },
+ { "area", rbac::RBAC_PERM_COMMAND_LOOKUP_AREA, true, &HandleLookupAreaCommand, "" },
+ { "creature", rbac::RBAC_PERM_COMMAND_LOOKUP_CREATURE, true, &HandleLookupCreatureCommand, "" },
+ { "event", rbac::RBAC_PERM_COMMAND_LOOKUP_EVENT, true, &HandleLookupEventCommand, "" },
+ { "faction", rbac::RBAC_PERM_COMMAND_LOOKUP_FACTION, true, &HandleLookupFactionCommand, "" },
+ { "item", rbac::RBAC_PERM_COMMAND_LOOKUP_ITEM, true, &HandleLookupItemCommand, "" },
+ { "itemset", rbac::RBAC_PERM_COMMAND_LOOKUP_ITEMSET, true, &HandleLookupItemSetCommand, "" },
+ { "object", rbac::RBAC_PERM_COMMAND_LOOKUP_OBJECT, true, &HandleLookupObjectCommand, "" },
+ { "quest", rbac::RBAC_PERM_COMMAND_LOOKUP_QUEST, true, &HandleLookupQuestCommand, "" },
{ "player", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER, true, NULL, "", lookupPlayerCommandTable },
- { "skill", rbac::RBAC_PERM_COMMAND_LOOKUP_SKILL, true, &HandleLookupSkillCommand, "", NULL },
+ { "skill", rbac::RBAC_PERM_COMMAND_LOOKUP_SKILL, true, &HandleLookupSkillCommand, "" },
{ "spell", rbac::RBAC_PERM_COMMAND_LOOKUP_SPELL, true, NULL, "", lookupSpellCommandTable },
- { "taxinode", rbac::RBAC_PERM_COMMAND_LOOKUP_TAXINODE, true, &HandleLookupTaxiNodeCommand, "", NULL },
- { "tele", rbac::RBAC_PERM_COMMAND_LOOKUP_TELE, true, &HandleLookupTeleCommand, "", NULL },
- { "title", rbac::RBAC_PERM_COMMAND_LOOKUP_TITLE, true, &HandleLookupTitleCommand, "", NULL },
- { "map", rbac::RBAC_PERM_COMMAND_LOOKUP_MAP, true, &HandleLookupMapCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "taxinode", rbac::RBAC_PERM_COMMAND_LOOKUP_TAXINODE, true, &HandleLookupTaxiNodeCommand, "" },
+ { "tele", rbac::RBAC_PERM_COMMAND_LOOKUP_TELE, true, &HandleLookupTeleCommand, "" },
+ { "title", rbac::RBAC_PERM_COMMAND_LOOKUP_TITLE, true, &HandleLookupTitleCommand, "" },
+ { "map", rbac::RBAC_PERM_COMMAND_LOOKUP_MAP, true, &HandleLookupMapCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "lookup", rbac::RBAC_PERM_COMMAND_LOOKUP, true, NULL, "", lookupCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_message.cpp b/src/server/scripts/Commands/cs_message.cpp
index be3a027277c..b6cc364e352 100644
--- a/src/server/scripts/Commands/cs_message.cpp
+++ b/src/server/scripts/Commands/cs_message.cpp
@@ -34,29 +34,26 @@ class message_commandscript : public CommandScript
public:
message_commandscript() : CommandScript("message_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand channelSetCommandTable[] =
+ static std::vector<ChatCommand> channelSetCommandTable =
{
- { "ownership", rbac::RBAC_PERM_COMMAND_CHANNEL_SET_OWNERSHIP, false, &HandleChannelSetOwnership, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "ownership", rbac::RBAC_PERM_COMMAND_CHANNEL_SET_OWNERSHIP, false, &HandleChannelSetOwnership, "" },
};
- static ChatCommand channelCommandTable[] =
+ static std::vector<ChatCommand> channelCommandTable =
{
{ "set", rbac::RBAC_PERM_COMMAND_CHANNEL_SET, true, NULL, "", channelSetCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "channel", rbac::RBAC_PERM_COMMAND_CHANNEL, true, NULL, "", channelCommandTable },
- { "nameannounce", rbac::RBAC_PERM_COMMAND_NAMEANNOUNCE, true, &HandleNameAnnounceCommand, "", NULL },
- { "gmnameannounce", rbac::RBAC_PERM_COMMAND_GMNAMEANNOUNCE, true, &HandleGMNameAnnounceCommand, "", NULL },
- { "announce", rbac::RBAC_PERM_COMMAND_ANNOUNCE, true, &HandleAnnounceCommand, "", NULL },
- { "gmannounce", rbac::RBAC_PERM_COMMAND_GMANNOUNCE, true, &HandleGMAnnounceCommand, "", NULL },
- { "notify", rbac::RBAC_PERM_COMMAND_NOTIFY, true, &HandleNotifyCommand, "", NULL },
- { "gmnotify", rbac::RBAC_PERM_COMMAND_GMNOTIFY, true, &HandleGMNotifyCommand, "", NULL },
- { "whispers", rbac::RBAC_PERM_COMMAND_WHISPERS, false, &HandleWhispersCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "nameannounce", rbac::RBAC_PERM_COMMAND_NAMEANNOUNCE, true, &HandleNameAnnounceCommand, "" },
+ { "gmnameannounce", rbac::RBAC_PERM_COMMAND_GMNAMEANNOUNCE, true, &HandleGMNameAnnounceCommand, "" },
+ { "announce", rbac::RBAC_PERM_COMMAND_ANNOUNCE, true, &HandleAnnounceCommand, "" },
+ { "gmannounce", rbac::RBAC_PERM_COMMAND_GMANNOUNCE, true, &HandleGMAnnounceCommand, "" },
+ { "notify", rbac::RBAC_PERM_COMMAND_NOTIFY, true, &HandleNotifyCommand, "" },
+ { "gmnotify", rbac::RBAC_PERM_COMMAND_GMNOTIFY, true, &HandleGMNotifyCommand, "" },
+ { "whispers", rbac::RBAC_PERM_COMMAND_WHISPERS, false, &HandleWhispersCommand, "" },
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index f69d8d537fd..c7d8106a372 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -45,62 +45,61 @@ class misc_commandscript : public CommandScript
public:
misc_commandscript() : CommandScript("misc_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand commandTable[] =
- {
- { "additem", rbac::RBAC_PERM_COMMAND_ADDITEM, false, &HandleAddItemCommand, "", NULL },
- { "additemset", rbac::RBAC_PERM_COMMAND_ADDITEMSET, false, &HandleAddItemSetCommand, "", NULL },
- { "appear", rbac::RBAC_PERM_COMMAND_APPEAR, false, &HandleAppearCommand, "", NULL },
- { "aura", rbac::RBAC_PERM_COMMAND_AURA, false, &HandleAuraCommand, "", NULL },
- { "bank", rbac::RBAC_PERM_COMMAND_BANK, false, &HandleBankCommand, "", NULL },
- { "bindsight", rbac::RBAC_PERM_COMMAND_BINDSIGHT, false, &HandleBindSightCommand, "", NULL },
- { "combatstop", rbac::RBAC_PERM_COMMAND_COMBATSTOP, true, &HandleCombatStopCommand, "", NULL },
- { "cometome", rbac::RBAC_PERM_COMMAND_COMETOME, false, &HandleComeToMeCommand, "", NULL },
- { "commands", rbac::RBAC_PERM_COMMAND_COMMANDS, true, &HandleCommandsCommand, "", NULL },
- { "cooldown", rbac::RBAC_PERM_COMMAND_COOLDOWN, false, &HandleCooldownCommand, "", NULL },
- { "damage", rbac::RBAC_PERM_COMMAND_DAMAGE, false, &HandleDamageCommand, "", NULL },
- { "dev", rbac::RBAC_PERM_COMMAND_DEV, false, &HandleDevCommand, "", NULL },
- { "die", rbac::RBAC_PERM_COMMAND_DIE, false, &HandleDieCommand, "", NULL },
- { "dismount", rbac::RBAC_PERM_COMMAND_DISMOUNT, false, &HandleDismountCommand, "", NULL },
- { "distance", rbac::RBAC_PERM_COMMAND_DISTANCE, false, &HandleGetDistanceCommand, "", NULL },
- { "freeze", rbac::RBAC_PERM_COMMAND_FREEZE, false, &HandleFreezeCommand, "", NULL },
- { "gps", rbac::RBAC_PERM_COMMAND_GPS, false, &HandleGPSCommand, "", NULL },
- { "guid", rbac::RBAC_PERM_COMMAND_GUID, false, &HandleGUIDCommand, "", NULL },
- { "help", rbac::RBAC_PERM_COMMAND_HELP, true, &HandleHelpCommand, "", NULL },
- { "hidearea", rbac::RBAC_PERM_COMMAND_HIDEAREA, false, &HandleHideAreaCommand, "", NULL },
- { "itemmove", rbac::RBAC_PERM_COMMAND_ITEMMOVE, false, &HandleItemMoveCommand, "", NULL },
- { "kick", rbac::RBAC_PERM_COMMAND_KICK, true, &HandleKickPlayerCommand, "", NULL },
- { "linkgrave", rbac::RBAC_PERM_COMMAND_LINKGRAVE, false, &HandleLinkGraveCommand, "", NULL },
- { "listfreeze", rbac::RBAC_PERM_COMMAND_LISTFREEZE, false, &HandleListFreezeCommand, "", NULL },
- { "maxskill", rbac::RBAC_PERM_COMMAND_MAXSKILL, false, &HandleMaxSkillCommand, "", NULL },
- { "movegens", rbac::RBAC_PERM_COMMAND_MOVEGENS, false, &HandleMovegensCommand, "", NULL },
- { "mute", rbac::RBAC_PERM_COMMAND_MUTE, true, &HandleMuteCommand, "", NULL },
- { "mutehistory", rbac::RBAC_PERM_COMMAND_MUTEHISTORY, true, &HandleMuteInfoCommand, "", NULL },
- { "neargrave", rbac::RBAC_PERM_COMMAND_NEARGRAVE, false, &HandleNearGraveCommand, "", NULL },
- { "pinfo", rbac::RBAC_PERM_COMMAND_PINFO, true, &HandlePInfoCommand, "", NULL },
- { "playall", rbac::RBAC_PERM_COMMAND_PLAYALL, false, &HandlePlayAllCommand, "", NULL },
- { "possess", rbac::RBAC_PERM_COMMAND_POSSESS, false, &HandlePossessCommand, "", NULL },
- { "pvpstats", rbac::RBAC_PERM_COMMAND_PVPSTATS, true, &HandlePvPstatsCommand, "", NULL },
- { "recall", rbac::RBAC_PERM_COMMAND_RECALL, false, &HandleRecallCommand, "", NULL },
- { "repairitems", rbac::RBAC_PERM_COMMAND_REPAIRITEMS, true, &HandleRepairitemsCommand, "", NULL },
- { "respawn", rbac::RBAC_PERM_COMMAND_RESPAWN, false, &HandleRespawnCommand, "", NULL },
- { "revive", rbac::RBAC_PERM_COMMAND_REVIVE, true, &HandleReviveCommand, "", NULL },
- { "saveall", rbac::RBAC_PERM_COMMAND_SAVEALL, true, &HandleSaveAllCommand, "", NULL },
- { "save", rbac::RBAC_PERM_COMMAND_SAVE, false, &HandleSaveCommand, "", NULL },
- { "setskill", rbac::RBAC_PERM_COMMAND_SETSKILL, false, &HandleSetSkillCommand, "", NULL },
- { "showarea", rbac::RBAC_PERM_COMMAND_SHOWAREA, false, &HandleShowAreaCommand, "", NULL },
- { "summon", rbac::RBAC_PERM_COMMAND_SUMMON, false, &HandleSummonCommand, "", NULL },
- { "unaura", rbac::RBAC_PERM_COMMAND_UNAURA, false, &HandleUnAuraCommand, "", NULL },
- { "unbindsight", rbac::RBAC_PERM_COMMAND_UNBINDSIGHT, false, HandleUnbindSightCommand, "", NULL },
- { "unfreeze", rbac::RBAC_PERM_COMMAND_UNFREEZE, false, &HandleUnFreezeCommand, "", NULL },
- { "unmute", rbac::RBAC_PERM_COMMAND_UNMUTE, true, &HandleUnmuteCommand, "", NULL },
- { "unpossess", rbac::RBAC_PERM_COMMAND_UNPOSSESS, false, &HandleUnPossessCommand, "", NULL },
- { "unstuck", rbac::RBAC_PERM_COMMAND_UNSTUCK, true, &HandleUnstuckCommand, "", NULL },
- { "wchange", rbac::RBAC_PERM_COMMAND_WCHANGE, false, &HandleChangeWeather, "", NULL },
- { "mailbox", rbac::RBAC_PERM_COMMAND_MAILBOX, false, &HandleMailBoxCommand, "", NULL },
- { "auras ", rbac::RBAC_PERM_COMMAND_LIST_AURAS, false, &HandleAurasCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ static std::vector<ChatCommand> commandTable =
+ {
+ { "additem", rbac::RBAC_PERM_COMMAND_ADDITEM, false, &HandleAddItemCommand, "" },
+ { "additemset", rbac::RBAC_PERM_COMMAND_ADDITEMSET, false, &HandleAddItemSetCommand, "" },
+ { "appear", rbac::RBAC_PERM_COMMAND_APPEAR, false, &HandleAppearCommand, "" },
+ { "aura", rbac::RBAC_PERM_COMMAND_AURA, false, &HandleAuraCommand, "" },
+ { "bank", rbac::RBAC_PERM_COMMAND_BANK, false, &HandleBankCommand, "" },
+ { "bindsight", rbac::RBAC_PERM_COMMAND_BINDSIGHT, false, &HandleBindSightCommand, "" },
+ { "combatstop", rbac::RBAC_PERM_COMMAND_COMBATSTOP, true, &HandleCombatStopCommand, "" },
+ { "cometome", rbac::RBAC_PERM_COMMAND_COMETOME, false, &HandleComeToMeCommand, "" },
+ { "commands", rbac::RBAC_PERM_COMMAND_COMMANDS, true, &HandleCommandsCommand, "" },
+ { "cooldown", rbac::RBAC_PERM_COMMAND_COOLDOWN, false, &HandleCooldownCommand, "" },
+ { "damage", rbac::RBAC_PERM_COMMAND_DAMAGE, false, &HandleDamageCommand, "" },
+ { "dev", rbac::RBAC_PERM_COMMAND_DEV, false, &HandleDevCommand, "" },
+ { "die", rbac::RBAC_PERM_COMMAND_DIE, false, &HandleDieCommand, "" },
+ { "dismount", rbac::RBAC_PERM_COMMAND_DISMOUNT, false, &HandleDismountCommand, "" },
+ { "distance", rbac::RBAC_PERM_COMMAND_DISTANCE, false, &HandleGetDistanceCommand, "" },
+ { "freeze", rbac::RBAC_PERM_COMMAND_FREEZE, false, &HandleFreezeCommand, "" },
+ { "gps", rbac::RBAC_PERM_COMMAND_GPS, false, &HandleGPSCommand, "" },
+ { "guid", rbac::RBAC_PERM_COMMAND_GUID, false, &HandleGUIDCommand, "" },
+ { "help", rbac::RBAC_PERM_COMMAND_HELP, true, &HandleHelpCommand, "" },
+ { "hidearea", rbac::RBAC_PERM_COMMAND_HIDEAREA, false, &HandleHideAreaCommand, "" },
+ { "itemmove", rbac::RBAC_PERM_COMMAND_ITEMMOVE, false, &HandleItemMoveCommand, "" },
+ { "kick", rbac::RBAC_PERM_COMMAND_KICK, true, &HandleKickPlayerCommand, "" },
+ { "linkgrave", rbac::RBAC_PERM_COMMAND_LINKGRAVE, false, &HandleLinkGraveCommand, "" },
+ { "listfreeze", rbac::RBAC_PERM_COMMAND_LISTFREEZE, false, &HandleListFreezeCommand, "" },
+ { "maxskill", rbac::RBAC_PERM_COMMAND_MAXSKILL, false, &HandleMaxSkillCommand, "" },
+ { "movegens", rbac::RBAC_PERM_COMMAND_MOVEGENS, false, &HandleMovegensCommand, "" },
+ { "mute", rbac::RBAC_PERM_COMMAND_MUTE, true, &HandleMuteCommand, "" },
+ { "mutehistory", rbac::RBAC_PERM_COMMAND_MUTEHISTORY, true, &HandleMuteInfoCommand, "" },
+ { "neargrave", rbac::RBAC_PERM_COMMAND_NEARGRAVE, false, &HandleNearGraveCommand, "" },
+ { "pinfo", rbac::RBAC_PERM_COMMAND_PINFO, true, &HandlePInfoCommand, "" },
+ { "playall", rbac::RBAC_PERM_COMMAND_PLAYALL, false, &HandlePlayAllCommand, "" },
+ { "possess", rbac::RBAC_PERM_COMMAND_POSSESS, false, &HandlePossessCommand, "" },
+ { "pvpstats", rbac::RBAC_PERM_COMMAND_PVPSTATS, true, &HandlePvPstatsCommand, "" },
+ { "recall", rbac::RBAC_PERM_COMMAND_RECALL, false, &HandleRecallCommand, "" },
+ { "repairitems", rbac::RBAC_PERM_COMMAND_REPAIRITEMS, true, &HandleRepairitemsCommand, "" },
+ { "respawn", rbac::RBAC_PERM_COMMAND_RESPAWN, false, &HandleRespawnCommand, "" },
+ { "revive", rbac::RBAC_PERM_COMMAND_REVIVE, true, &HandleReviveCommand, "" },
+ { "saveall", rbac::RBAC_PERM_COMMAND_SAVEALL, true, &HandleSaveAllCommand, "" },
+ { "save", rbac::RBAC_PERM_COMMAND_SAVE, false, &HandleSaveCommand, "" },
+ { "setskill", rbac::RBAC_PERM_COMMAND_SETSKILL, false, &HandleSetSkillCommand, "" },
+ { "showarea", rbac::RBAC_PERM_COMMAND_SHOWAREA, false, &HandleShowAreaCommand, "" },
+ { "summon", rbac::RBAC_PERM_COMMAND_SUMMON, false, &HandleSummonCommand, "" },
+ { "unaura", rbac::RBAC_PERM_COMMAND_UNAURA, false, &HandleUnAuraCommand, "" },
+ { "unbindsight", rbac::RBAC_PERM_COMMAND_UNBINDSIGHT, false, HandleUnbindSightCommand, "" },
+ { "unfreeze", rbac::RBAC_PERM_COMMAND_UNFREEZE, false, &HandleUnFreezeCommand, "" },
+ { "unmute", rbac::RBAC_PERM_COMMAND_UNMUTE, true, &HandleUnmuteCommand, "" },
+ { "unpossess", rbac::RBAC_PERM_COMMAND_UNPOSSESS, false, &HandleUnPossessCommand, "" },
+ { "unstuck", rbac::RBAC_PERM_COMMAND_UNSTUCK, true, &HandleUnstuckCommand, "" },
+ { "wchange", rbac::RBAC_PERM_COMMAND_WCHANGE, false, &HandleChangeWeather, "" },
+ { "mailbox", rbac::RBAC_PERM_COMMAND_MAILBOX, false, &HandleMailBoxCommand, "" },
+ { "auras ", rbac::RBAC_PERM_COMMAND_LIST_AURAS, false, &HandleAurasCommand, "" },
};
return commandTable;
}
@@ -1181,6 +1180,17 @@ public:
if (count == 0)
count = 1;
+ std::vector<int32> bonusListIDs;
+ char const* bonuses = strtok(NULL, " ");
+
+ // semicolon separated bonuslist ids (parse them after all arguments are extracted by strtok!)
+ if (bonuses)
+ {
+ Tokenizer tokens(bonuses, ';');
+ for (char const* token : tokens)
+ bonusListIDs.push_back(atoul(token));
+ }
+
Player* player = handler->GetSession()->GetPlayer();
Player* playerTarget = handler->getSelectedPlayer();
if (!playerTarget)
@@ -1220,7 +1230,7 @@ public:
return false;
}
- Item* item = playerTarget->StoreNewItem(dest, itemId, true, Item::GenerateItemRandomPropertyId(itemId));
+ Item* item = playerTarget->StoreNewItem(dest, itemId, true, Item::GenerateItemRandomPropertyId(itemId), GuidSet(), bonusListIDs);
// remove binding (let GM give it to another player later)
if (player == playerTarget)
@@ -1260,6 +1270,17 @@ public:
return false;
}
+ std::vector<int32> bonusListIDs;
+ char const* bonuses = strtok(NULL, " ");
+
+ // semicolon separated bonuslist ids (parse them after all arguments are extracted by strtok!)
+ if (bonuses)
+ {
+ Tokenizer tokens(bonuses, ';');
+ for (char const* token : tokens)
+ bonusListIDs.push_back(atoul(token));
+ }
+
Player* player = handler->GetSession()->GetPlayer();
Player* playerTarget = handler->getSelectedPlayer();
if (!playerTarget)
@@ -1278,7 +1299,7 @@ public:
InventoryResult msg = playerTarget->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itr->second.GetId(), 1);
if (msg == EQUIP_ERR_OK)
{
- Item* item = playerTarget->StoreNewItem(dest, itr->second.GetId(), true);
+ Item* item = playerTarget->StoreNewItem(dest, itr->second.GetId(), true, 0, GuidSet(), bonusListIDs);
// remove binding (let GM give it to another player later)
if (player == playerTarget)
diff --git a/src/server/scripts/Commands/cs_mmaps.cpp b/src/server/scripts/Commands/cs_mmaps.cpp
index a21fe324de3..a1e2e591ffa 100644
--- a/src/server/scripts/Commands/cs_mmaps.cpp
+++ b/src/server/scripts/Commands/cs_mmaps.cpp
@@ -42,22 +42,20 @@ class mmaps_commandscript : public CommandScript
public:
mmaps_commandscript() : CommandScript("mmaps_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand mmapCommandTable[] =
+ static std::vector<ChatCommand> mmapCommandTable =
{
- { "loadedtiles", rbac::RBAC_PERM_COMMAND_MMAP_LOADEDTILES, false, &HandleMmapLoadedTilesCommand, "", NULL },
- { "loc", rbac::RBAC_PERM_COMMAND_MMAP_LOC, false, &HandleMmapLocCommand, "", NULL },
- { "path", rbac::RBAC_PERM_COMMAND_MMAP_PATH, false, &HandleMmapPathCommand, "", NULL },
- { "stats", rbac::RBAC_PERM_COMMAND_MMAP_STATS, false, &HandleMmapStatsCommand, "", NULL },
- { "testarea", rbac::RBAC_PERM_COMMAND_MMAP_TESTAREA, false, &HandleMmapTestArea, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "loadedtiles", rbac::RBAC_PERM_COMMAND_MMAP_LOADEDTILES, false, &HandleMmapLoadedTilesCommand, "" },
+ { "loc", rbac::RBAC_PERM_COMMAND_MMAP_LOC, false, &HandleMmapLocCommand, "" },
+ { "path", rbac::RBAC_PERM_COMMAND_MMAP_PATH, false, &HandleMmapPathCommand, "" },
+ { "stats", rbac::RBAC_PERM_COMMAND_MMAP_STATS, false, &HandleMmapStatsCommand, "" },
+ { "testarea", rbac::RBAC_PERM_COMMAND_MMAP_TESTAREA, false, &HandleMmapTestArea, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "mmap", rbac::RBAC_PERM_COMMAND_MMAP, true, NULL, "", mmapCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp
index 56f540514d7..674b6dd74ee 100644
--- a/src/server/scripts/Commands/cs_modify.cpp
+++ b/src/server/scripts/Commands/cs_modify.cpp
@@ -36,49 +36,46 @@ class modify_commandscript : public CommandScript
public:
modify_commandscript() : CommandScript("modify_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand modifyspeedCommandTable[] =
+ static std::vector<ChatCommand> modifyspeedCommandTable =
{
- { "all", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_ALL, false, &HandleModifyASpeedCommand, "", NULL },
- { "backwalk", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_BACKWALK, false, &HandleModifyBWalkCommand, "", NULL },
- { "fly", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_FLY, false, &HandleModifyFlyCommand, "", NULL },
- { "walk", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_WALK, false, &HandleModifySpeedCommand, "", NULL },
- { "swim", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_SWIM, false, &HandleModifySwimCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED, false, &HandleModifyASpeedCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "all", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_ALL, false, &HandleModifyASpeedCommand, "" },
+ { "backwalk", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_BACKWALK, false, &HandleModifyBWalkCommand, "" },
+ { "fly", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_FLY, false, &HandleModifyFlyCommand, "" },
+ { "walk", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_WALK, false, &HandleModifySpeedCommand, "" },
+ { "swim", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_SWIM, false, &HandleModifySwimCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED, false, &HandleModifyASpeedCommand, "" },
};
- static ChatCommand modifyCommandTable[] =
+ static std::vector<ChatCommand> modifyCommandTable =
{
- { "bit", rbac::RBAC_PERM_COMMAND_MODIFY_BIT, false, &HandleModifyBitCommand, "", NULL },
- { "currency", rbac::RBAC_PERM_COMMAND_MODIFY_CURRENCY, false, &HandleModifyCurrencyCommand, "", NULL },
- { "drunk", rbac::RBAC_PERM_COMMAND_MODIFY_DRUNK, false, &HandleModifyDrunkCommand, "", NULL },
- { "energy", rbac::RBAC_PERM_COMMAND_MODIFY_ENERGY, false, &HandleModifyEnergyCommand, "", NULL },
- { "faction", rbac::RBAC_PERM_COMMAND_MODIFY_FACTION, false, &HandleModifyFactionCommand, "", NULL },
- { "gender", rbac::RBAC_PERM_COMMAND_MODIFY_GENDER, false, &HandleModifyGenderCommand, "", NULL },
- { "honor", rbac::RBAC_PERM_COMMAND_MODIFY_HONOR, false, &HandleModifyHonorCommand, "", NULL },
- { "hp", rbac::RBAC_PERM_COMMAND_MODIFY_HP, false, &HandleModifyHPCommand, "", NULL },
- { "mana", rbac::RBAC_PERM_COMMAND_MODIFY_MANA, false, &HandleModifyManaCommand, "", NULL },
- { "money", rbac::RBAC_PERM_COMMAND_MODIFY_MONEY, false, &HandleModifyMoneyCommand, "", NULL },
- { "mount", rbac::RBAC_PERM_COMMAND_MODIFY_MOUNT, false, &HandleModifyMountCommand, "", NULL },
- { "phase", rbac::RBAC_PERM_COMMAND_MODIFY_PHASE, false, &HandleModifyPhaseCommand, "", NULL },
- { "rage", rbac::RBAC_PERM_COMMAND_MODIFY_RAGE, false, &HandleModifyRageCommand, "", NULL },
- { "reputation", rbac::RBAC_PERM_COMMAND_MODIFY_REPUTATION, false, &HandleModifyRepCommand, "", NULL },
- { "runicpower", rbac::RBAC_PERM_COMMAND_MODIFY_RUNICPOWER, false, &HandleModifyRunicPowerCommand, "", NULL },
- { "scale", rbac::RBAC_PERM_COMMAND_MODIFY_SCALE, false, &HandleModifyScaleCommand, "", NULL },
+ { "bit", rbac::RBAC_PERM_COMMAND_MODIFY_BIT, false, &HandleModifyBitCommand, "" },
+ { "currency", rbac::RBAC_PERM_COMMAND_MODIFY_CURRENCY, false, &HandleModifyCurrencyCommand, "" },
+ { "drunk", rbac::RBAC_PERM_COMMAND_MODIFY_DRUNK, false, &HandleModifyDrunkCommand, "" },
+ { "energy", rbac::RBAC_PERM_COMMAND_MODIFY_ENERGY, false, &HandleModifyEnergyCommand, "" },
+ { "faction", rbac::RBAC_PERM_COMMAND_MODIFY_FACTION, false, &HandleModifyFactionCommand, "" },
+ { "gender", rbac::RBAC_PERM_COMMAND_MODIFY_GENDER, false, &HandleModifyGenderCommand, "" },
+ { "honor", rbac::RBAC_PERM_COMMAND_MODIFY_HONOR, false, &HandleModifyHonorCommand, "" },
+ { "hp", rbac::RBAC_PERM_COMMAND_MODIFY_HP, false, &HandleModifyHPCommand, "" },
+ { "mana", rbac::RBAC_PERM_COMMAND_MODIFY_MANA, false, &HandleModifyManaCommand, "" },
+ { "money", rbac::RBAC_PERM_COMMAND_MODIFY_MONEY, false, &HandleModifyMoneyCommand, "" },
+ { "mount", rbac::RBAC_PERM_COMMAND_MODIFY_MOUNT, false, &HandleModifyMountCommand, "" },
+ { "phase", rbac::RBAC_PERM_COMMAND_MODIFY_PHASE, false, &HandleModifyPhaseCommand, "" },
+ { "rage", rbac::RBAC_PERM_COMMAND_MODIFY_RAGE, false, &HandleModifyRageCommand, "" },
+ { "reputation", rbac::RBAC_PERM_COMMAND_MODIFY_REPUTATION, false, &HandleModifyRepCommand, "" },
+ { "runicpower", rbac::RBAC_PERM_COMMAND_MODIFY_RUNICPOWER, false, &HandleModifyRunicPowerCommand, "" },
+ { "scale", rbac::RBAC_PERM_COMMAND_MODIFY_SCALE, false, &HandleModifyScaleCommand, "" },
{ "speed", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED, false, NULL, "", modifyspeedCommandTable },
- { "spell", rbac::RBAC_PERM_COMMAND_MODIFY_SPELL, false, &HandleModifySpellCommand, "", NULL },
- { "standstate", rbac::RBAC_PERM_COMMAND_MODIFY_STANDSTATE, false, &HandleModifyStandStateCommand, "", NULL },
- { "talentpoints", rbac::RBAC_PERM_COMMAND_MODIFY_TALENTPOINTS, false, &HandleModifyTalentCommand, "", NULL },
- { "xp", rbac::RBAC_PERM_COMMAND_MODIFY_XP, false, &HandleModifyXPCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "spell", rbac::RBAC_PERM_COMMAND_MODIFY_SPELL, false, &HandleModifySpellCommand, "" },
+ { "standstate", rbac::RBAC_PERM_COMMAND_MODIFY_STANDSTATE, false, &HandleModifyStandStateCommand, "" },
+ { "talentpoints", rbac::RBAC_PERM_COMMAND_MODIFY_TALENTPOINTS, false, &HandleModifyTalentCommand, "" },
+ { "xp", rbac::RBAC_PERM_COMMAND_MODIFY_XP, false, &HandleModifyXPCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
- { "morph", rbac::RBAC_PERM_COMMAND_MORPH, false, &HandleModifyMorphCommand, "", NULL },
- { "demorph", rbac::RBAC_PERM_COMMAND_DEMORPH, false, &HandleDeMorphCommand, "", NULL },
+ { "morph", rbac::RBAC_PERM_COMMAND_MORPH, false, &HandleModifyMorphCommand, "" },
+ { "demorph", rbac::RBAC_PERM_COMMAND_DEMORPH, false, &HandleDeMorphCommand, "" },
{ "modify", rbac::RBAC_PERM_COMMAND_MODIFY, false, NULL, "", modifyCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
@@ -136,7 +133,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -164,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;
@@ -185,7 +171,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -215,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;
@@ -236,7 +211,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -274,7 +249,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -390,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);
@@ -949,7 +924,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -990,7 +965,7 @@ public:
if (!*args)
return false;
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -1115,7 +1090,7 @@ public:
if (!*args)
return false;
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_PLAYER_NOT_FOUND);
@@ -1131,7 +1106,7 @@ public:
target->ModifyCurrency(CURRENCY_TYPE_HONOR_POINTS, amount, true, true);
- handler->PSendSysMessage(LANG_COMMAND_MODIFY_HONOR, handler->GetNameLink(target).c_str(), target->GetCurrency(CURRENCY_TYPE_HONOR_POINTS, false));
+ handler->PSendSysMessage(LANG_COMMAND_MODIFY_HONOR, handler->GetNameLink(target).c_str(), target->GetCurrency(CURRENCY_TYPE_HONOR_POINTS));
return true;
}
@@ -1145,7 +1120,7 @@ public:
if (drunklevel > 100)
drunklevel = 100;
- if (Player* target = handler->getSelectedPlayer())
+ if (Player* target = handler->getSelectedPlayerOrSelf())
target->SetDrunkValue(drunklevel);
return true;
@@ -1156,7 +1131,7 @@ public:
if (!*args)
return false;
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_PLAYER_NOT_FOUND);
@@ -1309,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_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index 2c91a9e6e3e..e30bf1f162b 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -171,70 +171,62 @@ class npc_commandscript : public CommandScript
public:
npc_commandscript() : CommandScript("npc_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand npcAddCommandTable[] =
- {
- { "formation", rbac::RBAC_PERM_COMMAND_NPC_ADD_FORMATION, false, &HandleNpcAddFormationCommand, "", NULL },
- { "item", rbac::RBAC_PERM_COMMAND_NPC_ADD_ITEM, false, &HandleNpcAddVendorItemCommand, "", NULL },
- { "move", rbac::RBAC_PERM_COMMAND_NPC_ADD_MOVE, false, &HandleNpcAddMoveCommand, "", NULL },
- { "temp", rbac::RBAC_PERM_COMMAND_NPC_ADD_TEMP, false, &HandleNpcAddTempSpawnCommand, "", NULL },
- //{ "weapon", rbac::RBAC_PERM_COMMAND_NPC_ADD_WEAPON, false, &HandleNpcAddWeaponCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_NPC_ADD, false, &HandleNpcAddCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ static std::vector<ChatCommand> npcAddCommandTable =
+ {
+ { "formation", rbac::RBAC_PERM_COMMAND_NPC_ADD_FORMATION, false, &HandleNpcAddFormationCommand, "" },
+ { "item", rbac::RBAC_PERM_COMMAND_NPC_ADD_ITEM, false, &HandleNpcAddVendorItemCommand, "" },
+ { "move", rbac::RBAC_PERM_COMMAND_NPC_ADD_MOVE, false, &HandleNpcAddMoveCommand, "" },
+ { "temp", rbac::RBAC_PERM_COMMAND_NPC_ADD_TEMP, false, &HandleNpcAddTempSpawnCommand, "" },
+ //{ "weapon", rbac::RBAC_PERM_COMMAND_NPC_ADD_WEAPON, false, &HandleNpcAddWeaponCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_NPC_ADD, false, &HandleNpcAddCommand, "" },
};
- static ChatCommand npcDeleteCommandTable[] =
+ static std::vector<ChatCommand> npcDeleteCommandTable =
{
- { "item", rbac::RBAC_PERM_COMMAND_NPC_DELETE_ITEM, false, &HandleNpcDeleteVendorItemCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_NPC_DELETE, false, &HandleNpcDeleteCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "item", rbac::RBAC_PERM_COMMAND_NPC_DELETE_ITEM, false, &HandleNpcDeleteVendorItemCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_NPC_DELETE, false, &HandleNpcDeleteCommand, "" },
};
- static ChatCommand npcFollowCommandTable[] =
+ static std::vector<ChatCommand> npcFollowCommandTable =
{
- { "stop", rbac::RBAC_PERM_COMMAND_NPC_FOLLOW_STOP, false, &HandleNpcUnFollowCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_NPC_FOLLOW, false, &HandleNpcFollowCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "stop", rbac::RBAC_PERM_COMMAND_NPC_FOLLOW_STOP, false, &HandleNpcUnFollowCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_NPC_FOLLOW, false, &HandleNpcFollowCommand, "" },
};
- static ChatCommand npcSetCommandTable[] =
- {
- { "allowmove", rbac::RBAC_PERM_COMMAND_NPC_SET_ALLOWMOVE, false, &HandleNpcSetAllowMovementCommand, "", NULL },
- { "entry", rbac::RBAC_PERM_COMMAND_NPC_SET_ENTRY, false, &HandleNpcSetEntryCommand, "", NULL },
- { "factionid", rbac::RBAC_PERM_COMMAND_NPC_SET_FACTIONID, false, &HandleNpcSetFactionIdCommand, "", NULL },
- { "flag", rbac::RBAC_PERM_COMMAND_NPC_SET_FLAG, false, &HandleNpcSetFlagCommand, "", NULL },
- { "level", rbac::RBAC_PERM_COMMAND_NPC_SET_LEVEL, false, &HandleNpcSetLevelCommand, "", NULL },
- { "link", rbac::RBAC_PERM_COMMAND_NPC_SET_LINK, false, &HandleNpcSetLinkCommand, "", NULL },
- { "model", rbac::RBAC_PERM_COMMAND_NPC_SET_MODEL, false, &HandleNpcSetModelCommand, "", NULL },
- { "movetype", rbac::RBAC_PERM_COMMAND_NPC_SET_MOVETYPE, false, &HandleNpcSetMoveTypeCommand, "", NULL },
- { "phase", rbac::RBAC_PERM_COMMAND_NPC_SET_PHASE, false, &HandleNpcSetPhaseCommand, "", NULL },
- { "phasegroup", rbac::RBAC_PERM_COMMAND_NPC_SET_PHASE, false, &HandleNpcSetPhaseGroup, "", NULL },
- { "spawndist", rbac::RBAC_PERM_COMMAND_NPC_SET_SPAWNDIST, false, &HandleNpcSetSpawnDistCommand, "", NULL },
- { "spawntime", rbac::RBAC_PERM_COMMAND_NPC_SET_SPAWNTIME, false, &HandleNpcSetSpawnTimeCommand, "", NULL },
- { "data", rbac::RBAC_PERM_COMMAND_NPC_SET_DATA, false, &HandleNpcSetDataCommand, "", NULL },
- //{ "name", rbac::RBAC_PERM_COMMAND_NPC_SET_NAME, false, &HandleNpcSetNameCommand, "", NULL },
- //{ "subname", rbac::RBAC_PERM_COMMAND_NPC_SET_SUBNAME, false, &HandleNpcSetSubNameCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ static std::vector<ChatCommand> npcSetCommandTable =
+ {
+ { "allowmove", rbac::RBAC_PERM_COMMAND_NPC_SET_ALLOWMOVE, false, &HandleNpcSetAllowMovementCommand, "" },
+ { "entry", rbac::RBAC_PERM_COMMAND_NPC_SET_ENTRY, false, &HandleNpcSetEntryCommand, "" },
+ { "factionid", rbac::RBAC_PERM_COMMAND_NPC_SET_FACTIONID, false, &HandleNpcSetFactionIdCommand, "" },
+ { "flag", rbac::RBAC_PERM_COMMAND_NPC_SET_FLAG, false, &HandleNpcSetFlagCommand, "" },
+ { "level", rbac::RBAC_PERM_COMMAND_NPC_SET_LEVEL, false, &HandleNpcSetLevelCommand, "" },
+ { "link", rbac::RBAC_PERM_COMMAND_NPC_SET_LINK, false, &HandleNpcSetLinkCommand, "" },
+ { "model", rbac::RBAC_PERM_COMMAND_NPC_SET_MODEL, false, &HandleNpcSetModelCommand, "" },
+ { "movetype", rbac::RBAC_PERM_COMMAND_NPC_SET_MOVETYPE, false, &HandleNpcSetMoveTypeCommand, "" },
+ { "phase", rbac::RBAC_PERM_COMMAND_NPC_SET_PHASE, false, &HandleNpcSetPhaseCommand, "" },
+ { "phasegroup", rbac::RBAC_PERM_COMMAND_NPC_SET_PHASE, false, &HandleNpcSetPhaseGroup, "" },
+ { "spawndist", rbac::RBAC_PERM_COMMAND_NPC_SET_SPAWNDIST, false, &HandleNpcSetSpawnDistCommand, "" },
+ { "spawntime", rbac::RBAC_PERM_COMMAND_NPC_SET_SPAWNTIME, false, &HandleNpcSetSpawnTimeCommand, "" },
+ { "data", rbac::RBAC_PERM_COMMAND_NPC_SET_DATA, false, &HandleNpcSetDataCommand, "" },
};
- static ChatCommand npcCommandTable[] =
- {
- { "info", rbac::RBAC_PERM_COMMAND_NPC_INFO, false, &HandleNpcInfoCommand, "", NULL },
- { "near", rbac::RBAC_PERM_COMMAND_NPC_NEAR, false, &HandleNpcNearCommand, "", NULL },
- { "move", rbac::RBAC_PERM_COMMAND_NPC_MOVE, false, &HandleNpcMoveCommand, "", NULL },
- { "playemote", rbac::RBAC_PERM_COMMAND_NPC_PLAYEMOTE, false, &HandleNpcPlayEmoteCommand, "", NULL },
- { "say", rbac::RBAC_PERM_COMMAND_NPC_SAY, false, &HandleNpcSayCommand, "", NULL },
- { "textemote", rbac::RBAC_PERM_COMMAND_NPC_TEXTEMOTE, false, &HandleNpcTextEmoteCommand, "", NULL },
- { "whisper", rbac::RBAC_PERM_COMMAND_NPC_WHISPER, false, &HandleNpcWhisperCommand, "", NULL },
- { "yell", rbac::RBAC_PERM_COMMAND_NPC_YELL, false, &HandleNpcYellCommand, "", NULL },
- { "tame", rbac::RBAC_PERM_COMMAND_NPC_TAME, false, &HandleNpcTameCommand, "", NULL },
+ static std::vector<ChatCommand> npcCommandTable =
+ {
+ { "info", rbac::RBAC_PERM_COMMAND_NPC_INFO, false, &HandleNpcInfoCommand, "" },
+ { "near", rbac::RBAC_PERM_COMMAND_NPC_NEAR, false, &HandleNpcNearCommand, "" },
+ { "move", rbac::RBAC_PERM_COMMAND_NPC_MOVE, false, &HandleNpcMoveCommand, "" },
+ { "playemote", rbac::RBAC_PERM_COMMAND_NPC_PLAYEMOTE, false, &HandleNpcPlayEmoteCommand, "" },
+ { "say", rbac::RBAC_PERM_COMMAND_NPC_SAY, false, &HandleNpcSayCommand, "" },
+ { "textemote", rbac::RBAC_PERM_COMMAND_NPC_TEXTEMOTE, false, &HandleNpcTextEmoteCommand, "" },
+ { "whisper", rbac::RBAC_PERM_COMMAND_NPC_WHISPER, false, &HandleNpcWhisperCommand, "" },
+ { "yell", rbac::RBAC_PERM_COMMAND_NPC_YELL, false, &HandleNpcYellCommand, "" },
+ { "tame", rbac::RBAC_PERM_COMMAND_NPC_TAME, false, &HandleNpcTameCommand, "" },
{ "add", rbac::RBAC_PERM_COMMAND_NPC_ADD, false, NULL, "", npcAddCommandTable },
{ "delete", rbac::RBAC_PERM_COMMAND_NPC_DELETE, false, NULL, "", npcDeleteCommandTable },
{ "follow", rbac::RBAC_PERM_COMMAND_NPC_FOLLOW, false, NULL, "", npcFollowCommandTable },
{ "set", rbac::RBAC_PERM_COMMAND_NPC_SET, false, NULL, "", npcSetCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "npc", rbac::RBAC_PERM_COMMAND_NPC, false, NULL, "", npcCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
@@ -1594,98 +1586,6 @@ public:
*/
return true;
}
-
- static bool HandleNpcSetNameCommand(ChatHandler* /*handler*/, char const* /*args*/)
- {
- /* Temp. disabled
- if (!*args)
- return false;
-
- if (strlen((char*)args)>75)
- {
- handler->PSendSysMessage(LANG_TOO_LONG_NAME, strlen((char*)args)-75);
- return true;
- }
-
- for (uint8 i = 0; i < strlen(args); ++i)
- {
- if (!isalpha(args[i]) && args[i] != ' ')
- {
- handler->SendSysMessage(LANG_CHARS_ONLY);
- return false;
- }
- }
-
- uint64 guid;
- guid = handler->GetSession()->GetPlayer()->GetSelection();
- if (guid == 0)
- {
- handler->SendSysMessage(LANG_NO_SELECTION);
- return true;
- }
-
- Creature* creature = ObjectAccessor::GetCreature(*handler->GetSession()->GetPlayer(), guid);
-
- if (!creature)
- {
- handler->SendSysMessage(LANG_SELECT_CREATURE);
- return true;
- }
-
- creature->SetName(args);
- uint32 idname = sObjectMgr->AddCreatureTemplate(creature->GetName());
- creature->SetUInt32Value(OBJECT_FIELD_ENTRY, idname);
-
- creature->SaveToDB();
- */
-
- return true;
- }
-
- static bool HandleNpcSetSubNameCommand(ChatHandler* /*handler*/, char const* /*args*/)
- {
- /* Temp. disabled
-
- if (!*args)
- args = "";
-
- if (strlen((char*)args)>75)
- {
- handler->PSendSysMessage(LANG_TOO_LONG_SUBNAME, strlen((char*)args)-75);
- return true;
- }
-
- for (uint8 i = 0; i < strlen(args); i++)
- {
- if (!isalpha(args[i]) && args[i] != ' ')
- {
- handler->SendSysMessage(LANG_CHARS_ONLY);
- return false;
- }
- }
- uint64 guid;
- guid = handler->GetSession()->GetPlayer()->GetSelection();
- if (guid == 0)
- {
- handler->SendSysMessage(LANG_NO_SELECTION);
- return true;
- }
-
- Creature* creature = ObjectAccessor::GetCreature(*handler->GetSession()->GetPlayer(), guid);
-
- if (!creature)
- {
- handler->SendSysMessage(LANG_SELECT_CREATURE);
- return true;
- }
-
- uint32 idname = sObjectMgr->AddCreatureSubName(creature->GetName(), args, creature->GetUInt32Value(UNIT_FIELD_DISPLAYID));
- creature->SetUInt32Value(OBJECT_FIELD_ENTRY, idname);
-
- creature->SaveToDB();
- */
- return true;
- }
};
void AddSC_npc_commandscript()
diff --git a/src/server/scripts/Commands/cs_pet.cpp b/src/server/scripts/Commands/cs_pet.cpp
index 943b779e7e7..61e3c10550a 100644
--- a/src/server/scripts/Commands/cs_pet.cpp
+++ b/src/server/scripts/Commands/cs_pet.cpp
@@ -27,20 +27,18 @@ class pet_commandscript : public CommandScript
public:
pet_commandscript() : CommandScript("pet_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand petCommandTable[] =
+ static std::vector<ChatCommand> petCommandTable =
{
- { "create", rbac::RBAC_PERM_COMMAND_PET_CREATE, false, &HandlePetCreateCommand, "", NULL },
- { "learn", rbac::RBAC_PERM_COMMAND_PET_LEARN, false, &HandlePetLearnCommand, "", NULL },
- { "unlearn", rbac::RBAC_PERM_COMMAND_PET_UNLEARN, false, &HandlePetUnlearnCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "create", rbac::RBAC_PERM_COMMAND_PET_CREATE, false, &HandlePetCreateCommand, "" },
+ { "learn", rbac::RBAC_PERM_COMMAND_PET_LEARN, false, &HandlePetLearnCommand, "" },
+ { "unlearn", rbac::RBAC_PERM_COMMAND_PET_UNLEARN, false, &HandlePetUnlearnCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "pet", rbac::RBAC_PERM_COMMAND_PET, false, NULL, "", petCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp
index 297c5600929..3b5a9f2adde 100644
--- a/src/server/scripts/Commands/cs_quest.cpp
+++ b/src/server/scripts/Commands/cs_quest.cpp
@@ -33,20 +33,18 @@ class quest_commandscript : public CommandScript
public:
quest_commandscript() : CommandScript("quest_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand questCommandTable[] =
+ static std::vector<ChatCommand> questCommandTable =
{
- { "add", rbac::RBAC_PERM_COMMAND_QUEST_ADD, false, &HandleQuestAdd, "", NULL },
- { "complete", rbac::RBAC_PERM_COMMAND_QUEST_COMPLETE, false, &HandleQuestComplete, "", NULL },
- { "remove", rbac::RBAC_PERM_COMMAND_QUEST_REMOVE, false, &HandleQuestRemove, "", NULL },
- { "reward", rbac::RBAC_PERM_COMMAND_QUEST_REWARD, false, &HandleQuestReward, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "add", rbac::RBAC_PERM_COMMAND_QUEST_ADD, false, &HandleQuestAdd, "" },
+ { "complete", rbac::RBAC_PERM_COMMAND_QUEST_COMPLETE, false, &HandleQuestComplete, "" },
+ { "remove", rbac::RBAC_PERM_COMMAND_QUEST_REMOVE, false, &HandleQuestRemove, "" },
+ { "reward", rbac::RBAC_PERM_COMMAND_QUEST_REWARD, false, &HandleQuestReward, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "quest", rbac::RBAC_PERM_COMMAND_QUEST, false, NULL, "", questCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_rbac.cpp b/src/server/scripts/Commands/cs_rbac.cpp
index 9a7848ce171..86d9ba17114 100644
--- a/src/server/scripts/Commands/cs_rbac.cpp
+++ b/src/server/scripts/Commands/cs_rbac.cpp
@@ -49,28 +49,25 @@ class rbac_commandscript : public CommandScript
public:
rbac_commandscript() : CommandScript("rbac_commandscript") { }
- ChatCommand* GetCommands() const
+ std::vector<ChatCommand> GetCommands() const
{
- static ChatCommand rbacAccountCommandTable[] =
+ static std::vector<ChatCommand> rbacAccountCommandTable =
{
- { "list", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_LIST, true, &HandleRBACPermListCommand, "", NULL },
- { "grant", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_GRANT, true, &HandleRBACPermGrantCommand, "", NULL },
- { "deny", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_DENY, true, &HandleRBACPermDenyCommand, "", NULL },
- { "revoke", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_REVOKE, true, &HandleRBACPermRevokeCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "list", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_LIST, true, &HandleRBACPermListCommand, "" },
+ { "grant", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_GRANT, true, &HandleRBACPermGrantCommand, "" },
+ { "deny", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_DENY, true, &HandleRBACPermDenyCommand, "" },
+ { "revoke", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_REVOKE, true, &HandleRBACPermRevokeCommand, "" },
};
- static ChatCommand rbacCommandTable[] =
+ static std::vector<ChatCommand> rbacCommandTable =
{
{ "account", rbac::RBAC_PERM_COMMAND_RBAC_ACC, true, NULL, "", rbacAccountCommandTable },
- { "list", rbac::RBAC_PERM_COMMAND_RBAC_LIST, true, &HandleRBACListPermissionsCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "list", rbac::RBAC_PERM_COMMAND_RBAC_LIST, true, &HandleRBACListPermissionsCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "rbac", rbac::RBAC_PERM_COMMAND_RBAC, true, NULL, "", rbacCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp
index be025ea7180..dfddcaf395e 100644
--- a/src/server/scripts/Commands/cs_reload.cpp
+++ b/src/server/scripts/Commands/cs_reload.cpp
@@ -47,118 +47,115 @@ class reload_commandscript : public CommandScript
public:
reload_commandscript() : CommandScript("reload_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand reloadAllCommandTable[] =
+ static std::vector<ChatCommand> reloadAllCommandTable =
{
- { "achievement", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ACHIEVEMENT, true, &HandleReloadAllAchievementCommand, "", NULL },
- { "area", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_AREA, true, &HandleReloadAllAreaCommand, "", NULL },
- { "gossips", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_GOSSIP, true, &HandleReloadAllGossipsCommand, "", NULL },
- { "item", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ITEM, true, &HandleReloadAllItemCommand, "", NULL },
- { "locales", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOCALES, true, &HandleReloadAllLocalesCommand, "", NULL },
- { "loot", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOOT, true, &HandleReloadAllLootCommand, "", NULL },
- { "npc", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_NPC, true, &HandleReloadAllNpcCommand, "", NULL },
- { "quest", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_QUEST, true, &HandleReloadAllQuestCommand, "", NULL },
- { "scripts", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SCRIPTS, true, &HandleReloadAllScriptsCommand, "", NULL },
- { "spell", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SPELL, true, &HandleReloadAllSpellCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_RELOAD_ALL, true, &HandleReloadAllCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "achievement", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ACHIEVEMENT, true, &HandleReloadAllAchievementCommand, "" },
+ { "area", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_AREA, true, &HandleReloadAllAreaCommand, "" },
+ { "gossips", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_GOSSIP, true, &HandleReloadAllGossipsCommand, "" },
+ { "item", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ITEM, true, &HandleReloadAllItemCommand, "" },
+ { "locales", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOCALES, true, &HandleReloadAllLocalesCommand, "" },
+ { "loot", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOOT, true, &HandleReloadAllLootCommand, "" },
+ { "npc", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_NPC, true, &HandleReloadAllNpcCommand, "" },
+ { "quest", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_QUEST, true, &HandleReloadAllQuestCommand, "" },
+ { "scripts", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SCRIPTS, true, &HandleReloadAllScriptsCommand, "" },
+ { "spell", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SPELL, true, &HandleReloadAllSpellCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_RELOAD_ALL, true, &HandleReloadAllCommand, "" },
};
- static ChatCommand reloadCommandTable[] =
+ static std::vector<ChatCommand> reloadCommandTable =
{
- { "auctions", rbac::RBAC_PERM_COMMAND_RELOAD_AUCTIONS, true, &HandleReloadAuctionsCommand, "", NULL },
- { "access_requirement", rbac::RBAC_PERM_COMMAND_RELOAD_ACCESS_REQUIREMENT, true, &HandleReloadAccessRequirementCommand, "", NULL },
- { "achievement_criteria_data", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_CRITERIA_DATA, true, &HandleReloadAchievementCriteriaDataCommand, "", NULL },
- { "achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_REWARD, true, &HandleReloadAchievementRewardCommand, "", NULL },
+ { "auctions", rbac::RBAC_PERM_COMMAND_RELOAD_AUCTIONS, true, &HandleReloadAuctionsCommand, "" },
+ { "access_requirement", rbac::RBAC_PERM_COMMAND_RELOAD_ACCESS_REQUIREMENT, true, &HandleReloadAccessRequirementCommand, "" },
+ { "achievement_criteria_data", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_CRITERIA_DATA, true, &HandleReloadAchievementCriteriaDataCommand, "" },
+ { "achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_REWARD, true, &HandleReloadAchievementRewardCommand, "" },
{ "all", rbac::RBAC_PERM_COMMAND_RELOAD_ALL, true, NULL, "", reloadAllCommandTable },
- { "areatrigger_involvedrelation", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_INVOLVEDRELATION, true, &HandleReloadQuestAreaTriggersCommand, "", NULL },
- { "areatrigger_tavern", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TAVERN, true, &HandleReloadAreaTriggerTavernCommand, "", NULL },
- { "areatrigger_teleport", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TELEPORT, true, &HandleReloadAreaTriggerTeleportCommand, "", NULL },
- { "autobroadcast", rbac::RBAC_PERM_COMMAND_RELOAD_AUTOBROADCAST, true, &HandleReloadAutobroadcastCommand, "", NULL },
- { "battleground_template", rbac::RBAC_PERM_COMMAND_RELOAD_BATTLEGROUND_TEMPLATE, true, &HandleReloadBattlegroundTemplate, "", NULL },
- { "character_template", rbac::RBAC_PERM_COMMAND_RELOAD_CHARACTER_TEMPLATE, true, &HandleReloadCharacterTemplate, "", NULL },
- { "command", rbac::RBAC_PERM_COMMAND_RELOAD_COMMAND, true, &HandleReloadCommandCommand, "", NULL },
- { "conditions", rbac::RBAC_PERM_COMMAND_RELOAD_CONDITIONS, true, &HandleReloadConditions, "", NULL },
- { "config", rbac::RBAC_PERM_COMMAND_RELOAD_CONFIG, true, &HandleReloadConfigCommand, "", NULL },
- { "creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEXT, true, &HandleReloadCreatureText, "", NULL },
- { "creature_questender", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTENDER, true, &HandleReloadCreatureQuestEnderCommand, "", NULL },
- { "creature_linked_respawn", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LINKED_RESPAWN, true, &HandleReloadLinkedRespawnCommand, "", NULL },
- { "creature_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesCreatureCommand, "", NULL },
- { "creature_onkill_reputation", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_ONKILL_REPUTATION, true, &HandleReloadOnKillReputationCommand, "", NULL },
- { "creature_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTSTARTER, true, &HandleReloadCreatureQuestStarterCommand, "", NULL },
- { "creature_summon_groups", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_SUMMON_GROUPS, true, &HandleReloadCreatureSummonGroupsCommand, "", NULL },
- { "creature_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEMPLATE, true, &HandleReloadCreatureTemplateCommand, "", NULL },
- { "disables", rbac::RBAC_PERM_COMMAND_RELOAD_DISABLES, true, &HandleReloadDisablesCommand, "", NULL },
- { "disenchant_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_DISENCHANT_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesDisenchantCommand, "", NULL },
- { "event_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_EVENT_SCRIPTS, true, &HandleReloadEventScriptsCommand, "", NULL },
- { "fishing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_FISHING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesFishingCommand, "", NULL },
- { "graveyard_zone", rbac::RBAC_PERM_COMMAND_RELOAD_GRAVEYARD_ZONE, true, &HandleReloadGameGraveyardZoneCommand, "", NULL },
- { "game_tele", rbac::RBAC_PERM_COMMAND_RELOAD_GAME_TELE, true, &HandleReloadGameTeleCommand, "", NULL },
- { "gameobject_questender", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTENDER, true, &HandleReloadGOQuestEnderCommand, "", NULL },
- { "gameobject_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUEST_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesGameobjectCommand, "", NULL },
- { "gameobject_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTSTARTER, true, &HandleReloadGOQuestStarterCommand, "", NULL },
- { "gossip_menu", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU, true, &HandleReloadGossipMenuCommand, "", NULL },
- { "gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU_OPTION, true, &HandleReloadGossipMenuOptionCommand, "", NULL },
- { "item_enchantment_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_ENCHANTMENT_TEMPLATE, true, &HandleReloadItemEnchantementsCommand, "", NULL },
- { "item_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesItemCommand, "", NULL },
- { "lfg_dungeon_rewards", rbac::RBAC_PERM_COMMAND_RELOAD_LFG_DUNGEON_REWARDS, true, &HandleReloadLfgRewardsCommand, "", NULL },
- { "locales_achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ACHIEVEMENT_REWARD, true, &HandleReloadLocalesAchievementRewardCommand, "", NULL },
- { "locales_creature", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE, true, &HandleReloadLocalesCreatureCommand, "", NULL },
- { "locales_creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE_TEXT, true, &HandleReloadLocalesCreatureTextCommand, "", NULL },
- { "locales_gameobject", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GAMEOBJECT, true, &HandleReloadLocalesGameobjectCommand, "", NULL },
- { "locales_gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GOSSIP_MENU_OPTION, true, &HandleReloadLocalesGossipMenuOptionCommand, "", NULL },
- { "locales_page_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_PAGE_TEXT, true, &HandleReloadLocalesPageTextCommand, "", NULL },
- { "locales_points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_POINTS_OF_INTEREST, true, &HandleReloadLocalesPointsOfInterestCommand, "", NULL },
- { "mail_level_reward", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LEVEL_REWARD, true, &HandleReloadMailLevelRewardCommand, "", NULL },
- { "mail_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMailCommand, "", NULL },
- { "milling_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MILLING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMillingCommand, "", NULL },
- { "npc_spellclick_spells", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_SPELLCLICK_SPELLS, true, &HandleReloadSpellClickSpellsCommand, "", NULL },
- { "npc_trainer", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_TRAINER, true, &HandleReloadNpcTrainerCommand, "", NULL },
- { "npc_vendor", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_VENDOR, true, &HandleReloadNpcVendorCommand, "", NULL },
- { "page_text", rbac::RBAC_PERM_COMMAND_RELOAD_PAGE_TEXT, true, &HandleReloadPageTextsCommand, "", NULL },
- { "pickpocketing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PICKPOCKETING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesPickpocketingCommand, "", NULL },
- { "points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_POINTS_OF_INTEREST, true, &HandleReloadPointsOfInterestCommand, "", NULL },
- { "prospecting_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PROSPECTING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesProspectingCommand, "", NULL },
- { "quest_greeting", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_GREETING, true, &HandleReloadQuestGreetingCommand, "", NULL },
- { "quest_locale", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_LOCALE, true, &HandleReloadQuestLocaleCommand, "", NULL },
- { "quest_poi", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_POI, true, &HandleReloadQuestPOICommand, "", NULL },
- { "quest_template", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_TEMPLATE, true, &HandleReloadQuestTemplateCommand, "", NULL },
- { "rbac", rbac::RBAC_PERM_COMMAND_RELOAD_RBAC, true, &HandleReloadRBACCommand, "", NULL },
- { "reference_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_REFERENCE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesReferenceCommand, "", NULL },
- { "reserved_name", rbac::RBAC_PERM_COMMAND_RELOAD_RESERVED_NAME, true, &HandleReloadReservedNameCommand, "", NULL },
- { "reputation_reward_rate", rbac::RBAC_PERM_COMMAND_RELOAD_REPUTATION_REWARD_RATE, true, &HandleReloadReputationRewardRateCommand, "", NULL },
- { "reputation_spillover_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPILLOVER_TEMPLATE, true, &HandleReloadReputationRewardRateCommand, "", NULL },
- { "skill_discovery_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_DISCOVERY_TEMPLATE, true, &HandleReloadSkillDiscoveryTemplateCommand, "", NULL },
- { "skill_extra_item_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_EXTRA_ITEM_TEMPLATE, true, &HandleReloadSkillExtraItemTemplateCommand, "", NULL },
- { "skill_fishing_base_level", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_FISHING_BASE_LEVEL, true, &HandleReloadSkillFishingBaseLevelCommand, "", NULL },
- { "skinning_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKINNING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSkinningCommand, "", NULL },
- { "smart_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SMART_SCRIPTS, true, &HandleReloadSmartScripts, "", NULL },
- { "spell_required", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_REQUIRED, true, &HandleReloadSpellRequiredCommand, "", NULL },
- { "spell_area", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_AREA, true, &HandleReloadSpellAreaCommand, "", NULL },
- { "spell_group", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP, true, &HandleReloadSpellGroupsCommand, "", NULL },
- { "spell_learn_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LEARN_SPELL, true, &HandleReloadSpellLearnSpellCommand, "", NULL },
- { "spell_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSpellCommand, "", NULL },
- { "spell_linked_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LINKED_SPELL, true, &HandleReloadSpellLinkedSpellCommand, "", NULL },
- { "spell_pet_auras", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PET_AURAS, true, &HandleReloadSpellPetAurasCommand, "", NULL },
- { "spell_proc_event", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC_EVENT, true, &HandleReloadSpellProcEventCommand, "", NULL },
- { "spell_proc", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC, true, &HandleReloadSpellProcsCommand, "", NULL },
- { "spell_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_SCRIPTS, true, &HandleReloadSpellScriptsCommand, "", NULL },
- { "spell_target_position", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_TARGET_POSITION, true, &HandleReloadSpellTargetPositionCommand, "", NULL },
- { "spell_threats", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_THREATS, true, &HandleReloadSpellThreatsCommand, "", NULL },
- { "spell_group_stack_rules", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP_STACK_RULES, true, &HandleReloadSpellGroupStackRulesCommand, "", NULL },
- { "support", rbac::RBAC_PERM_COMMAND_RELOAD_SUPPORT_SYSTEM, true, &HandleReloadSupportSystemCommand, "", NULL },
- { "trinity_string", rbac::RBAC_PERM_COMMAND_RELOAD_TRINITY_STRING, true, &HandleReloadTrinityStringCommand, "", NULL },
- { "warden_action", rbac::RBAC_PERM_COMMAND_RELOAD_WARDEN_ACTION, true, &HandleReloadWardenactionCommand, "", NULL },
- { "waypoint_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_SCRIPTS, true, &HandleReloadWpScriptsCommand, "", NULL },
- { "waypoint_data", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_DATA, true, &HandleReloadWpCommand, "", NULL },
- { "vehicle_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_ACCESORY, true, &HandleReloadVehicleAccessoryCommand, "", NULL },
- { "vehicle_template_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_TEMPLATE_ACCESSORY, true, &HandleReloadVehicleTemplateAccessoryCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "areatrigger_involvedrelation", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_INVOLVEDRELATION, true, &HandleReloadQuestAreaTriggersCommand, "" },
+ { "areatrigger_tavern", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TAVERN, true, &HandleReloadAreaTriggerTavernCommand, "" },
+ { "areatrigger_teleport", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TELEPORT, true, &HandleReloadAreaTriggerTeleportCommand, "" },
+ { "autobroadcast", rbac::RBAC_PERM_COMMAND_RELOAD_AUTOBROADCAST, true, &HandleReloadAutobroadcastCommand, "" },
+ { "battleground_template", rbac::RBAC_PERM_COMMAND_RELOAD_BATTLEGROUND_TEMPLATE, true, &HandleReloadBattlegroundTemplate, "" },
+ { "character_template", rbac::RBAC_PERM_COMMAND_RELOAD_CHARACTER_TEMPLATE, true, &HandleReloadCharacterTemplate, "" },
+ { "command", rbac::RBAC_PERM_COMMAND_RELOAD_COMMAND, true, &HandleReloadCommandCommand, "" },
+ { "conditions", rbac::RBAC_PERM_COMMAND_RELOAD_CONDITIONS, true, &HandleReloadConditions, "" },
+ { "config", rbac::RBAC_PERM_COMMAND_RELOAD_CONFIG, true, &HandleReloadConfigCommand, "" },
+ { "creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEXT, true, &HandleReloadCreatureText, "" },
+ { "creature_questender", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTENDER, true, &HandleReloadCreatureQuestEnderCommand, "" },
+ { "creature_linked_respawn", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LINKED_RESPAWN, true, &HandleReloadLinkedRespawnCommand, "" },
+ { "creature_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesCreatureCommand, "" },
+ { "creature_onkill_reputation", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_ONKILL_REPUTATION, true, &HandleReloadOnKillReputationCommand, "" },
+ { "creature_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTSTARTER, true, &HandleReloadCreatureQuestStarterCommand, "" },
+ { "creature_summon_groups", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_SUMMON_GROUPS, true, &HandleReloadCreatureSummonGroupsCommand, "" },
+ { "creature_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEMPLATE, true, &HandleReloadCreatureTemplateCommand, "" },
+ { "disables", rbac::RBAC_PERM_COMMAND_RELOAD_DISABLES, true, &HandleReloadDisablesCommand, "" },
+ { "disenchant_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_DISENCHANT_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesDisenchantCommand, "" },
+ { "event_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_EVENT_SCRIPTS, true, &HandleReloadEventScriptsCommand, "" },
+ { "fishing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_FISHING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesFishingCommand, "" },
+ { "graveyard_zone", rbac::RBAC_PERM_COMMAND_RELOAD_GRAVEYARD_ZONE, true, &HandleReloadGameGraveyardZoneCommand, "" },
+ { "game_tele", rbac::RBAC_PERM_COMMAND_RELOAD_GAME_TELE, true, &HandleReloadGameTeleCommand, "" },
+ { "gameobject_questender", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTENDER, true, &HandleReloadGOQuestEnderCommand, "" },
+ { "gameobject_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUEST_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesGameobjectCommand, "" },
+ { "gameobject_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTSTARTER, true, &HandleReloadGOQuestStarterCommand, "" },
+ { "gossip_menu", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU, true, &HandleReloadGossipMenuCommand, "" },
+ { "gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU_OPTION, true, &HandleReloadGossipMenuOptionCommand, "" },
+ { "item_enchantment_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_ENCHANTMENT_TEMPLATE, true, &HandleReloadItemEnchantementsCommand, "" },
+ { "item_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesItemCommand, "" },
+ { "lfg_dungeon_rewards", rbac::RBAC_PERM_COMMAND_RELOAD_LFG_DUNGEON_REWARDS, true, &HandleReloadLfgRewardsCommand, "" },
+ { "locales_achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ACHIEVEMENT_REWARD, true, &HandleReloadLocalesAchievementRewardCommand, "" },
+ { "locales_creature", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE, true, &HandleReloadLocalesCreatureCommand, "" },
+ { "locales_creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE_TEXT, true, &HandleReloadLocalesCreatureTextCommand, "" },
+ { "locales_gameobject", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GAMEOBJECT, true, &HandleReloadLocalesGameobjectCommand, "" },
+ { "locales_gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GOSSIP_MENU_OPTION, true, &HandleReloadLocalesGossipMenuOptionCommand, "" },
+ { "locales_page_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_PAGE_TEXT, true, &HandleReloadLocalesPageTextCommand, "" },
+ { "locales_points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_POINTS_OF_INTEREST, true, &HandleReloadLocalesPointsOfInterestCommand, "" },
+ { "mail_level_reward", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LEVEL_REWARD, true, &HandleReloadMailLevelRewardCommand, "" },
+ { "mail_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMailCommand, "" },
+ { "milling_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MILLING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMillingCommand, "" },
+ { "npc_spellclick_spells", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_SPELLCLICK_SPELLS, true, &HandleReloadSpellClickSpellsCommand, "" },
+ { "npc_trainer", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_TRAINER, true, &HandleReloadNpcTrainerCommand, "" },
+ { "npc_vendor", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_VENDOR, true, &HandleReloadNpcVendorCommand, "" },
+ { "page_text", rbac::RBAC_PERM_COMMAND_RELOAD_PAGE_TEXT, true, &HandleReloadPageTextsCommand, "" },
+ { "pickpocketing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PICKPOCKETING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesPickpocketingCommand, "" },
+ { "points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_POINTS_OF_INTEREST, true, &HandleReloadPointsOfInterestCommand, "" },
+ { "prospecting_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PROSPECTING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesProspectingCommand, "" },
+ { "quest_greeting", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_GREETING, true, &HandleReloadQuestGreetingCommand, "" },
+ { "quest_locale", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_LOCALE, true, &HandleReloadQuestLocaleCommand, "" },
+ { "quest_poi", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_POI, true, &HandleReloadQuestPOICommand, "" },
+ { "quest_template", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_TEMPLATE, true, &HandleReloadQuestTemplateCommand, "" },
+ { "rbac", rbac::RBAC_PERM_COMMAND_RELOAD_RBAC, true, &HandleReloadRBACCommand, "" },
+ { "reference_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_REFERENCE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesReferenceCommand, "" },
+ { "reserved_name", rbac::RBAC_PERM_COMMAND_RELOAD_RESERVED_NAME, true, &HandleReloadReservedNameCommand, "" },
+ { "reputation_reward_rate", rbac::RBAC_PERM_COMMAND_RELOAD_REPUTATION_REWARD_RATE, true, &HandleReloadReputationRewardRateCommand, "" },
+ { "reputation_spillover_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPILLOVER_TEMPLATE, true, &HandleReloadReputationRewardRateCommand, "" },
+ { "skill_discovery_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_DISCOVERY_TEMPLATE, true, &HandleReloadSkillDiscoveryTemplateCommand, "" },
+ { "skill_extra_item_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_EXTRA_ITEM_TEMPLATE, true, &HandleReloadSkillExtraItemTemplateCommand, "" },
+ { "skill_fishing_base_level", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_FISHING_BASE_LEVEL, true, &HandleReloadSkillFishingBaseLevelCommand, "" },
+ { "skinning_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKINNING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSkinningCommand, "" },
+ { "smart_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SMART_SCRIPTS, true, &HandleReloadSmartScripts, "" },
+ { "spell_required", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_REQUIRED, true, &HandleReloadSpellRequiredCommand, "" },
+ { "spell_area", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_AREA, true, &HandleReloadSpellAreaCommand, "" },
+ { "spell_group", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP, true, &HandleReloadSpellGroupsCommand, "" },
+ { "spell_learn_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LEARN_SPELL, true, &HandleReloadSpellLearnSpellCommand, "" },
+ { "spell_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSpellCommand, "" },
+ { "spell_linked_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LINKED_SPELL, true, &HandleReloadSpellLinkedSpellCommand, "" },
+ { "spell_pet_auras", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PET_AURAS, true, &HandleReloadSpellPetAurasCommand, "" },
+ { "spell_proc_event", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC_EVENT, true, &HandleReloadSpellProcEventCommand, "" },
+ { "spell_proc", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC, true, &HandleReloadSpellProcsCommand, "" },
+ { "spell_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_SCRIPTS, true, &HandleReloadSpellScriptsCommand, "" },
+ { "spell_target_position", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_TARGET_POSITION, true, &HandleReloadSpellTargetPositionCommand, "" },
+ { "spell_threats", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_THREATS, true, &HandleReloadSpellThreatsCommand, "" },
+ { "spell_group_stack_rules", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP_STACK_RULES, true, &HandleReloadSpellGroupStackRulesCommand, "" },
+ { "support", rbac::RBAC_PERM_COMMAND_RELOAD_SUPPORT_SYSTEM, true, &HandleReloadSupportSystemCommand, "" },
+ { "trinity_string", rbac::RBAC_PERM_COMMAND_RELOAD_TRINITY_STRING, true, &HandleReloadTrinityStringCommand, "" },
+ { "warden_action", rbac::RBAC_PERM_COMMAND_RELOAD_WARDEN_ACTION, true, &HandleReloadWardenactionCommand, "" },
+ { "waypoint_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_SCRIPTS, true, &HandleReloadWpScriptsCommand, "" },
+ { "waypoint_data", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_DATA, true, &HandleReloadWpCommand, "" },
+ { "vehicle_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_ACCESORY, true, &HandleReloadVehicleAccessoryCommand, "" },
+ { "vehicle_template_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_TEMPLATE_ACCESSORY, true, &HandleReloadVehicleTemplateAccessoryCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "reload", rbac::RBAC_PERM_COMMAND_RELOAD, true, NULL, "", reloadCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
@@ -755,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/Commands/cs_reset.cpp b/src/server/scripts/Commands/cs_reset.cpp
index 9118b5b2c3d..dcae0ee11a0 100644
--- a/src/server/scripts/Commands/cs_reset.cpp
+++ b/src/server/scripts/Commands/cs_reset.cpp
@@ -35,23 +35,21 @@ class reset_commandscript : public CommandScript
public:
reset_commandscript() : CommandScript("reset_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand resetCommandTable[] =
+ static std::vector<ChatCommand> resetCommandTable =
{
- { "achievements", rbac::RBAC_PERM_COMMAND_RESET_ACHIEVEMENTS, true, &HandleResetAchievementsCommand, "", NULL },
- { "honor", rbac::RBAC_PERM_COMMAND_RESET_HONOR, true, &HandleResetHonorCommand, "", NULL },
- { "level", rbac::RBAC_PERM_COMMAND_RESET_LEVEL, true, &HandleResetLevelCommand, "", NULL },
- { "spells", rbac::RBAC_PERM_COMMAND_RESET_SPELLS, true, &HandleResetSpellsCommand, "", NULL },
- { "stats", rbac::RBAC_PERM_COMMAND_RESET_STATS, true, &HandleResetStatsCommand, "", NULL },
- { "talents", rbac::RBAC_PERM_COMMAND_RESET_TALENTS, true, &HandleResetTalentsCommand, "", NULL },
- { "all", rbac::RBAC_PERM_COMMAND_RESET_ALL, true, &HandleResetAllCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "achievements", rbac::RBAC_PERM_COMMAND_RESET_ACHIEVEMENTS, true, &HandleResetAchievementsCommand, "" },
+ { "honor", rbac::RBAC_PERM_COMMAND_RESET_HONOR, true, &HandleResetHonorCommand, "" },
+ { "level", rbac::RBAC_PERM_COMMAND_RESET_LEVEL, true, &HandleResetLevelCommand, "" },
+ { "spells", rbac::RBAC_PERM_COMMAND_RESET_SPELLS, true, &HandleResetSpellsCommand, "" },
+ { "stats", rbac::RBAC_PERM_COMMAND_RESET_STATS, true, &HandleResetStatsCommand, "" },
+ { "talents", rbac::RBAC_PERM_COMMAND_RESET_TALENTS, true, &HandleResetTalentsCommand, "" },
+ { "all", rbac::RBAC_PERM_COMMAND_RESET_ALL, true, &HandleResetAllCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "reset", rbac::RBAC_PERM_COMMAND_RESET, true, NULL, "", resetCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_send.cpp b/src/server/scripts/Commands/cs_send.cpp
index 36c0f953c60..9812a20075d 100644
--- a/src/server/scripts/Commands/cs_send.cpp
+++ b/src/server/scripts/Commands/cs_send.cpp
@@ -27,21 +27,19 @@ class send_commandscript : public CommandScript
public:
send_commandscript() : CommandScript("send_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand sendCommandTable[] =
+ static std::vector<ChatCommand> sendCommandTable =
{
- { "items", rbac::RBAC_PERM_COMMAND_SEND_ITEMS, true, &HandleSendItemsCommand, "", NULL },
- { "mail", rbac::RBAC_PERM_COMMAND_SEND_MAIL, true, &HandleSendMailCommand, "", NULL },
- { "message", rbac::RBAC_PERM_COMMAND_SEND_MESSAGE, true, &HandleSendMessageCommand, "", NULL },
- { "money", rbac::RBAC_PERM_COMMAND_SEND_MONEY, true, &HandleSendMoneyCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "items", rbac::RBAC_PERM_COMMAND_SEND_ITEMS, true, &HandleSendItemsCommand, "" },
+ { "mail", rbac::RBAC_PERM_COMMAND_SEND_MAIL, true, &HandleSendMailCommand, "" },
+ { "message", rbac::RBAC_PERM_COMMAND_SEND_MESSAGE, true, &HandleSendMessageCommand, "" },
+ { "money", rbac::RBAC_PERM_COMMAND_SEND_MONEY, true, &HandleSendMoneyCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "send", rbac::RBAC_PERM_COMMAND_SEND, false, NULL, "", sendCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp
index 15078e4cc78..e50577fb877 100644
--- a/src/server/scripts/Commands/cs_server.cpp
+++ b/src/server/scripts/Commands/cs_server.cpp
@@ -35,64 +35,57 @@ class server_commandscript : public CommandScript
public:
server_commandscript() : CommandScript("server_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand serverIdleRestartCommandTable[] =
+ static std::vector<ChatCommand> serverIdleRestartCommandTable =
{
- { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_IDLERESTART_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL },
- { "" , rbac::RBAC_PERM_COMMAND_SERVER_IDLERESTART, true, &HandleServerIdleRestartCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_IDLERESTART_CANCEL, true, &HandleServerShutDownCancelCommand, "" },
+ { "" , rbac::RBAC_PERM_COMMAND_SERVER_IDLERESTART, true, &HandleServerIdleRestartCommand, "" },
};
- static ChatCommand serverIdleShutdownCommandTable[] =
+ static std::vector<ChatCommand> serverIdleShutdownCommandTable =
{
- { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL },
- { "" , rbac::RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN, true, &HandleServerIdleShutDownCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN_CANCEL, true, &HandleServerShutDownCancelCommand, "" },
+ { "" , rbac::RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN, true, &HandleServerIdleShutDownCommand, "" },
};
- static ChatCommand serverRestartCommandTable[] =
+ static std::vector<ChatCommand> serverRestartCommandTable =
{
- { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_RESTART_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL },
- { "" , rbac::RBAC_PERM_COMMAND_SERVER_RESTART, true, &HandleServerRestartCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_RESTART_CANCEL, true, &HandleServerShutDownCancelCommand, "" },
+ { "" , rbac::RBAC_PERM_COMMAND_SERVER_RESTART, true, &HandleServerRestartCommand, "" },
};
- static ChatCommand serverShutdownCommandTable[] =
+ static std::vector<ChatCommand> serverShutdownCommandTable =
{
- { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_SHUTDOWN_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL },
- { "" , rbac::RBAC_PERM_COMMAND_SERVER_SHUTDOWN, true, &HandleServerShutDownCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_SHUTDOWN_CANCEL, true, &HandleServerShutDownCancelCommand, "" },
+ { "" , rbac::RBAC_PERM_COMMAND_SERVER_SHUTDOWN, true, &HandleServerShutDownCommand, "" },
};
- static ChatCommand serverSetCommandTable[] =
+ static std::vector<ChatCommand> serverSetCommandTable =
{
- { "difftime", rbac::RBAC_PERM_COMMAND_SERVER_SET_DIFFTIME, true, &HandleServerSetDiffTimeCommand, "", NULL },
- { "loglevel", rbac::RBAC_PERM_COMMAND_SERVER_SET_LOGLEVEL, true, &HandleServerSetLogLevelCommand, "", NULL },
- { "motd", rbac::RBAC_PERM_COMMAND_SERVER_SET_MOTD, true, &HandleServerSetMotdCommand, "", NULL },
- { "closed", rbac::RBAC_PERM_COMMAND_SERVER_SET_CLOSED, true, &HandleServerSetClosedCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "difftime", rbac::RBAC_PERM_COMMAND_SERVER_SET_DIFFTIME, true, &HandleServerSetDiffTimeCommand, "" },
+ { "loglevel", rbac::RBAC_PERM_COMMAND_SERVER_SET_LOGLEVEL, true, &HandleServerSetLogLevelCommand, "" },
+ { "motd", rbac::RBAC_PERM_COMMAND_SERVER_SET_MOTD, true, &HandleServerSetMotdCommand, "" },
+ { "closed", rbac::RBAC_PERM_COMMAND_SERVER_SET_CLOSED, true, &HandleServerSetClosedCommand, "" },
};
- static ChatCommand serverCommandTable[] =
+ static std::vector<ChatCommand> serverCommandTable =
{
- { "corpses", rbac::RBAC_PERM_COMMAND_SERVER_CORPSES, true, &HandleServerCorpsesCommand, "", NULL },
- { "exit", rbac::RBAC_PERM_COMMAND_SERVER_EXIT, true, &HandleServerExitCommand, "", NULL },
+ { "corpses", rbac::RBAC_PERM_COMMAND_SERVER_CORPSES, true, &HandleServerCorpsesCommand, "" },
+ { "exit", rbac::RBAC_PERM_COMMAND_SERVER_EXIT, true, &HandleServerExitCommand, "" },
{ "idlerestart", rbac::RBAC_PERM_COMMAND_SERVER_IDLERESTART, true, NULL, "", serverIdleRestartCommandTable },
{ "idleshutdown", rbac::RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN, true, NULL, "", serverIdleShutdownCommandTable },
- { "info", rbac::RBAC_PERM_COMMAND_SERVER_INFO, true, &HandleServerInfoCommand, "", NULL },
- { "motd", rbac::RBAC_PERM_COMMAND_SERVER_MOTD, true, &HandleServerMotdCommand, "", NULL },
- { "plimit", rbac::RBAC_PERM_COMMAND_SERVER_PLIMIT, true, &HandleServerPLimitCommand, "", NULL },
+ { "info", rbac::RBAC_PERM_COMMAND_SERVER_INFO, true, &HandleServerInfoCommand, "" },
+ { "motd", rbac::RBAC_PERM_COMMAND_SERVER_MOTD, true, &HandleServerMotdCommand, "" },
+ { "plimit", rbac::RBAC_PERM_COMMAND_SERVER_PLIMIT, true, &HandleServerPLimitCommand, "" },
{ "restart", rbac::RBAC_PERM_COMMAND_SERVER_RESTART, true, NULL, "", serverRestartCommandTable },
{ "shutdown", rbac::RBAC_PERM_COMMAND_SERVER_SHUTDOWN, true, NULL, "", serverShutdownCommandTable },
{ "set", rbac::RBAC_PERM_COMMAND_SERVER_SET, true, NULL, "", serverSetCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "server", rbac::RBAC_PERM_COMMAND_SERVER, true, NULL, "", serverCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_tele.cpp b/src/server/scripts/Commands/cs_tele.cpp
index 09930770f63..b2bedf8d99c 100644
--- a/src/server/scripts/Commands/cs_tele.cpp
+++ b/src/server/scripts/Commands/cs_tele.cpp
@@ -35,21 +35,19 @@ class tele_commandscript : public CommandScript
public:
tele_commandscript() : CommandScript("tele_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand teleCommandTable[] =
+ static std::vector<ChatCommand> teleCommandTable =
{
- { "add", rbac::RBAC_PERM_COMMAND_TELE_ADD, false, &HandleTeleAddCommand, "", NULL },
- { "del", rbac::RBAC_PERM_COMMAND_TELE_DEL, true, &HandleTeleDelCommand, "", NULL },
- { "name", rbac::RBAC_PERM_COMMAND_TELE_NAME, true, &HandleTeleNameCommand, "", NULL },
- { "group", rbac::RBAC_PERM_COMMAND_TELE_GROUP, false, &HandleTeleGroupCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_TELE, false, &HandleTeleCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "add", rbac::RBAC_PERM_COMMAND_TELE_ADD, false, &HandleTeleAddCommand, "" },
+ { "del", rbac::RBAC_PERM_COMMAND_TELE_DEL, true, &HandleTeleDelCommand, "" },
+ { "name", rbac::RBAC_PERM_COMMAND_TELE_NAME, true, &HandleTeleNameCommand, "" },
+ { "group", rbac::RBAC_PERM_COMMAND_TELE_GROUP, false, &HandleTeleGroupCommand, "" },
+ { "", rbac::RBAC_PERM_COMMAND_TELE, false, &HandleTeleCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "tele", rbac::RBAC_PERM_COMMAND_TELE, false, NULL, "", teleCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp
index db24295bb21..254ee1f2878 100644
--- a/src/server/scripts/Commands/cs_ticket.cpp
+++ b/src/server/scripts/Commands/cs_ticket.cpp
@@ -95,7 +95,7 @@ public:
return true;
}
- ChatCommand* GetCommands() const override;
+ std::vector<ChatCommand> GetCommands() const override;
};
template<typename T>
@@ -364,65 +364,59 @@ bool ticket_commandscript::HandleTicketGetByIdCommand(ChatHandler* handler, char
return true;
}
-ChatCommand* ticket_commandscript::GetCommands() const
+std::vector<ChatCommand> ticket_commandscript::GetCommands() const
{
- static ChatCommand ticketBugCommandTable[] =
+ static std::vector<ChatCommand> ticketBugCommandTable =
{
- { "assign", rbac::RBAC_PERM_COMMAND_TICKET_BUG_ASSIGN, true, &HandleTicketAssignToCommand<BugTicket>, "", NULL },
- { "close", rbac::RBAC_PERM_COMMAND_TICKET_BUG_CLOSE, true, &HandleTicketCloseByIdCommand<BugTicket>, "", NULL },
- { "closedlist", rbac::RBAC_PERM_COMMAND_TICKET_BUG_CLOSEDLIST, true, &HandleTicketListClosedCommand<BugTicket>, "", NULL },
- { "comment", rbac::RBAC_PERM_COMMAND_TICKET_BUG_COMMENT, true, &HandleTicketCommentCommand<BugTicket>, "", NULL },
- { "delete", rbac::RBAC_PERM_COMMAND_TICKET_BUG_DELETE, true, &HandleTicketDeleteByIdCommand<BugTicket>, "", NULL },
- { "list", rbac::RBAC_PERM_COMMAND_TICKET_BUG_LIST, true, &HandleTicketListCommand<BugTicket>, "", NULL },
- { "unassign", rbac::RBAC_PERM_COMMAND_TICKET_BUG_UNASSIGN, true, &HandleTicketUnAssignCommand<BugTicket>, "", NULL },
- { "view", rbac::RBAC_PERM_COMMAND_TICKET_BUG_VIEW, true, &HandleTicketGetByIdCommand<BugTicket>, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "assign", rbac::RBAC_PERM_COMMAND_TICKET_BUG_ASSIGN, true, &HandleTicketAssignToCommand<BugTicket>, "" },
+ { "close", rbac::RBAC_PERM_COMMAND_TICKET_BUG_CLOSE, true, &HandleTicketCloseByIdCommand<BugTicket>, "" },
+ { "closedlist", rbac::RBAC_PERM_COMMAND_TICKET_BUG_CLOSEDLIST, true, &HandleTicketListClosedCommand<BugTicket>, "" },
+ { "comment", rbac::RBAC_PERM_COMMAND_TICKET_BUG_COMMENT, true, &HandleTicketCommentCommand<BugTicket>, "" },
+ { "delete", rbac::RBAC_PERM_COMMAND_TICKET_BUG_DELETE, true, &HandleTicketDeleteByIdCommand<BugTicket>, "" },
+ { "list", rbac::RBAC_PERM_COMMAND_TICKET_BUG_LIST, true, &HandleTicketListCommand<BugTicket>, "" },
+ { "unassign", rbac::RBAC_PERM_COMMAND_TICKET_BUG_UNASSIGN, true, &HandleTicketUnAssignCommand<BugTicket>, "" },
+ { "view", rbac::RBAC_PERM_COMMAND_TICKET_BUG_VIEW, true, &HandleTicketGetByIdCommand<BugTicket>, "" },
};
- static ChatCommand ticketComplaintCommandTable[] =
+ static std::vector<ChatCommand> ticketComplaintCommandTable =
{
- { "assign", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_ASSIGN, true, &HandleTicketAssignToCommand<ComplaintTicket>, "", NULL },
- { "close", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_CLOSE, true, &HandleTicketCloseByIdCommand<ComplaintTicket>, "", NULL },
- { "closedlist", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_CLOSEDLIST, true, &HandleTicketListClosedCommand<ComplaintTicket>, "", NULL },
- { "comment", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_COMMENT, true, &HandleTicketCommentCommand<ComplaintTicket>, "", NULL },
- { "delete", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_DELETE, true, &HandleTicketDeleteByIdCommand<ComplaintTicket>, "", NULL },
- { "list", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_LIST, true, &HandleTicketListCommand<ComplaintTicket>, "", NULL },
- { "unassign", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_UNASSIGN, true, &HandleTicketUnAssignCommand<ComplaintTicket>, "", NULL },
- { "view", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_VIEW, true, &HandleTicketGetByIdCommand<ComplaintTicket>, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "assign", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_ASSIGN, true, &HandleTicketAssignToCommand<ComplaintTicket>, "" },
+ { "close", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_CLOSE, true, &HandleTicketCloseByIdCommand<ComplaintTicket>, "" },
+ { "closedlist", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_CLOSEDLIST, true, &HandleTicketListClosedCommand<ComplaintTicket>, "" },
+ { "comment", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_COMMENT, true, &HandleTicketCommentCommand<ComplaintTicket>, "" },
+ { "delete", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_DELETE, true, &HandleTicketDeleteByIdCommand<ComplaintTicket>, "" },
+ { "list", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_LIST, true, &HandleTicketListCommand<ComplaintTicket>, "" },
+ { "unassign", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_UNASSIGN, true, &HandleTicketUnAssignCommand<ComplaintTicket>, "" },
+ { "view", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT_VIEW, true, &HandleTicketGetByIdCommand<ComplaintTicket>, "" },
};
- static ChatCommand ticketSuggestionCommandTable[] =
+ static std::vector<ChatCommand> ticketSuggestionCommandTable =
{
- { "assign", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_ASSIGN, true, &HandleTicketAssignToCommand<SuggestionTicket>, "", NULL },
- { "close", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_CLOSE, true, &HandleTicketCloseByIdCommand<SuggestionTicket>, "", NULL },
- { "closedlist", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_CLOSEDLIST, true, &HandleTicketListClosedCommand<SuggestionTicket>, "", NULL },
- { "comment", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_COMMENT, true, &HandleTicketCommentCommand<SuggestionTicket>, "", NULL },
- { "delete", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_DELETE, true, &HandleTicketDeleteByIdCommand<SuggestionTicket>, "", NULL },
- { "list", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_LIST, true, &HandleTicketListCommand<SuggestionTicket>, "", NULL },
- { "unassign", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_UNASSIGN, true, &HandleTicketUnAssignCommand<SuggestionTicket>, "", NULL },
- { "view", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_VIEW, true, &HandleTicketGetByIdCommand<SuggestionTicket>, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "assign", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_ASSIGN, true, &HandleTicketAssignToCommand<SuggestionTicket>, "" },
+ { "close", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_CLOSE, true, &HandleTicketCloseByIdCommand<SuggestionTicket>, "" },
+ { "closedlist", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_CLOSEDLIST, true, &HandleTicketListClosedCommand<SuggestionTicket>, "" },
+ { "comment", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_COMMENT, true, &HandleTicketCommentCommand<SuggestionTicket>, "" },
+ { "delete", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_DELETE, true, &HandleTicketDeleteByIdCommand<SuggestionTicket>, "" },
+ { "list", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_LIST, true, &HandleTicketListCommand<SuggestionTicket>, "" },
+ { "unassign", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_UNASSIGN, true, &HandleTicketUnAssignCommand<SuggestionTicket>, "" },
+ { "view", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION_VIEW, true, &HandleTicketGetByIdCommand<SuggestionTicket>, "" },
};
- static ChatCommand ticketResetCommandTable[] =
+ static std::vector<ChatCommand> ticketResetCommandTable =
{
- { "all", rbac::RBAC_PERM_COMMAND_TICKET_RESET_ALL, true, &HandleTicketResetAllCommand, "", NULL },
- { "bug", rbac::RBAC_PERM_COMMAND_TICKET_RESET_BUG, true, &HandleTicketResetCommand<BugTicket>, "", NULL },
- { "complaint", rbac::RBAC_PERM_COMMAND_TICKET_RESET_COMPLAINT, true, &HandleTicketResetCommand<ComplaintTicket>, "", NULL },
- { "suggestion", rbac::RBAC_PERM_COMMAND_TICKET_RESET_SUGGESTION, true, &HandleTicketResetCommand<SuggestionTicket>, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "all", rbac::RBAC_PERM_COMMAND_TICKET_RESET_ALL, true, &HandleTicketResetAllCommand, "" },
+ { "bug", rbac::RBAC_PERM_COMMAND_TICKET_RESET_BUG, true, &HandleTicketResetCommand<BugTicket>, "" },
+ { "complaint", rbac::RBAC_PERM_COMMAND_TICKET_RESET_COMPLAINT, true, &HandleTicketResetCommand<ComplaintTicket>, "" },
+ { "suggestion", rbac::RBAC_PERM_COMMAND_TICKET_RESET_SUGGESTION, true, &HandleTicketResetCommand<SuggestionTicket>, "" },
};
- static ChatCommand ticketCommandTable[] =
+ static std::vector<ChatCommand> ticketCommandTable =
{
{ "bug", rbac::RBAC_PERM_COMMAND_TICKET_BUG, true, NULL, "", ticketBugCommandTable },
{ "complaint", rbac::RBAC_PERM_COMMAND_TICKET_COMPLAINT, true, NULL, "", ticketComplaintCommandTable },
{ "reset", rbac::RBAC_PERM_COMMAND_TICKET_RESET, true, NULL, "", ticketResetCommandTable },
{ "suggestion", rbac::RBAC_PERM_COMMAND_TICKET_SUGGESTION, true, NULL, "", ticketSuggestionCommandTable },
- { "togglesystem", rbac::RBAC_PERM_COMMAND_TICKET_TOGGLESYSTEM, true, &HandleToggleGMTicketSystem, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "togglesystem", rbac::RBAC_PERM_COMMAND_TICKET_TOGGLESYSTEM, true, &HandleToggleGMTicketSystem, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "ticket", rbac::RBAC_PERM_COMMAND_TICKET, false, NULL, "", ticketCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_titles.cpp b/src/server/scripts/Commands/cs_titles.cpp
index 74df7266e57..f2303311b03 100644
--- a/src/server/scripts/Commands/cs_titles.cpp
+++ b/src/server/scripts/Commands/cs_titles.cpp
@@ -33,25 +33,22 @@ class titles_commandscript : public CommandScript
public:
titles_commandscript() : CommandScript("titles_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand titlesSetCommandTable[] =
+ static std::vector<ChatCommand> titlesSetCommandTable =
{
- { "mask", rbac::RBAC_PERM_COMMAND_TITLES_SET_MASK, false, &HandleTitlesSetMaskCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "mask", rbac::RBAC_PERM_COMMAND_TITLES_SET_MASK, false, &HandleTitlesSetMaskCommand, "" },
};
- static ChatCommand titlesCommandTable[] =
+ static std::vector<ChatCommand> titlesCommandTable =
{
- { "add", rbac::RBAC_PERM_COMMAND_TITLES_ADD, false, &HandleTitlesAddCommand, "", NULL },
- { "current", rbac::RBAC_PERM_COMMAND_TITLES_CURRENT, false, &HandleTitlesCurrentCommand, "", NULL },
- { "remove", rbac::RBAC_PERM_COMMAND_TITLES_REMOVE, false, &HandleTitlesRemoveCommand, "", NULL },
+ { "add", rbac::RBAC_PERM_COMMAND_TITLES_ADD, false, &HandleTitlesAddCommand, "" },
+ { "current", rbac::RBAC_PERM_COMMAND_TITLES_CURRENT, false, &HandleTitlesCurrentCommand, "" },
+ { "remove", rbac::RBAC_PERM_COMMAND_TITLES_REMOVE, false, &HandleTitlesRemoveCommand, "" },
{ "set", rbac::RBAC_PERM_COMMAND_TITLES_SET, false, NULL, "", titlesSetCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "titles", rbac::RBAC_PERM_COMMAND_TITLES, false, NULL, "", titlesCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
diff --git a/src/server/scripts/Commands/cs_wp.cpp b/src/server/scripts/Commands/cs_wp.cpp
index 358b6fff085..5c4776fe7ec 100644
--- a/src/server/scripts/Commands/cs_wp.cpp
+++ b/src/server/scripts/Commands/cs_wp.cpp
@@ -34,23 +34,21 @@ class wp_commandscript : public CommandScript
public:
wp_commandscript() : CommandScript("wp_commandscript") { }
- ChatCommand* GetCommands() const override
+ std::vector<ChatCommand> GetCommands() const override
{
- static ChatCommand wpCommandTable[] =
+ static std::vector<ChatCommand> wpCommandTable =
{
- { "add", rbac::RBAC_PERM_COMMAND_WP_ADD, false, &HandleWpAddCommand, "", NULL },
- { "event", rbac::RBAC_PERM_COMMAND_WP_EVENT, false, &HandleWpEventCommand, "", NULL },
- { "load", rbac::RBAC_PERM_COMMAND_WP_LOAD, false, &HandleWpLoadCommand, "", NULL },
- { "modify", rbac::RBAC_PERM_COMMAND_WP_MODIFY, false, &HandleWpModifyCommand, "", NULL },
- { "unload", rbac::RBAC_PERM_COMMAND_WP_UNLOAD, false, &HandleWpUnLoadCommand, "", NULL },
- { "reload", rbac::RBAC_PERM_COMMAND_WP_RELOAD, false, &HandleWpReloadCommand, "", NULL },
- { "show", rbac::RBAC_PERM_COMMAND_WP_SHOW, false, &HandleWpShowCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "add", rbac::RBAC_PERM_COMMAND_WP_ADD, false, &HandleWpAddCommand, "" },
+ { "event", rbac::RBAC_PERM_COMMAND_WP_EVENT, false, &HandleWpEventCommand, "" },
+ { "load", rbac::RBAC_PERM_COMMAND_WP_LOAD, false, &HandleWpLoadCommand, "" },
+ { "modify", rbac::RBAC_PERM_COMMAND_WP_MODIFY, false, &HandleWpModifyCommand, "" },
+ { "unload", rbac::RBAC_PERM_COMMAND_WP_UNLOAD, false, &HandleWpUnLoadCommand, "" },
+ { "reload", rbac::RBAC_PERM_COMMAND_WP_RELOAD, false, &HandleWpReloadCommand, "" },
+ { "show", rbac::RBAC_PERM_COMMAND_WP_SHOW, false, &HandleWpShowCommand, "" },
};
- static ChatCommand commandTable[] =
+ static std::vector<ChatCommand> commandTable =
{
{ "wp", rbac::RBAC_PERM_COMMAND_WP, false, NULL, "", wpCommandTable },
- { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
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 9b290852dc2..44d48e3f0bb 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -93,11 +93,6 @@ class npc_unworthy_initiate : public CreatureScript
public:
npc_unworthy_initiate() : CreatureScript("npc_unworthy_initiate") { }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_unworthy_initiateAI(creature);
- }
-
struct npc_unworthy_initiateAI : public ScriptedAI
{
npc_unworthy_initiateAI(Creature* creature) : ScriptedAI(creature)
@@ -156,7 +151,7 @@ public:
me->CastSpell(me, SPELL_DK_INITIATE_VISUAL, true);
if (Player* starter = ObjectAccessor::GetPlayer(*me, playerGUID))
- sCreatureTextMgr->SendChat(me, SAY_EVENT_ATTACK, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, starter);
+ Talk(SAY_EVENT_ATTACK, starter);
phase = PHASE_TO_ATTACK;
}
@@ -286,6 +281,11 @@ public:
}
}
};
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_unworthy_initiateAI(creature);
+ }
};
class npc_unworthy_initiate_anchor : public CreatureScript
@@ -460,6 +460,7 @@ enum Spells_DKI
//SPELL_DUEL_TRIGGERED = 52990,
SPELL_DUEL_VICTORY = 52994,
SPELL_DUEL_FLAG = 52991,
+ SPELL_GROVEL = 7267,
};
enum Says_VBM
@@ -497,8 +498,6 @@ public:
creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15);
- sCreatureTextMgr->SendChat(creature, SAY_DUEL, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player);
-
player->CastSpell(creature, SPELL_DUEL, false);
player->CastSpell(player, SPELL_DUEL_FLAG, true);
}
@@ -521,11 +520,6 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_death_knight_initiateAI(creature);
- }
-
struct npc_death_knight_initiateAI : public CombatAI
{
npc_death_knight_initiateAI(Creature* creature) : CombatAI(creature)
@@ -560,6 +554,7 @@ public:
if (!m_bIsDuelInProgress && pSpell->Id == SPELL_DUEL)
{
m_uiDuelerGUID = pCaster->GetGUID();
+ Talk(SAY_DUEL, pCaster);
m_bIsDuelInProgress = true;
}
}
@@ -580,7 +575,7 @@ public:
pDoneBy->AttackStop();
me->CastSpell(pDoneBy, SPELL_DUEL_VICTORY, true);
lose = true;
- me->CastSpell(me, 7267, true);
+ me->CastSpell(me, SPELL_GROVEL, true);
me->RestoreFaction();
}
}
@@ -610,13 +605,13 @@ public:
{
if (lose)
{
- if (!me->HasAura(7267))
+ if (!me->HasAura(SPELL_GROVEL))
EnterEvadeMode();
return;
}
else if (me->GetVictim() && me->EnsureVictim()->GetTypeId() == TYPEID_PLAYER && me->EnsureVictim()->HealthBelowPct(10))
{
- me->EnsureVictim()->CastSpell(me->GetVictim(), 7267, true); // beg
+ me->EnsureVictim()->CastSpell(me->GetVictim(), SPELL_GROVEL, true); // beg
me->EnsureVictim()->RemoveGameObject(SPELL_DUEL_FLAG, true);
EnterEvadeMode();
return;
@@ -629,6 +624,10 @@ public:
}
};
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_death_knight_initiateAI(creature);
+ }
};
/*######
@@ -732,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
@@ -746,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)
@@ -769,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);
}
}
@@ -787,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())
{
@@ -799,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..ee198356359 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 */
@@ -26,11 +26,14 @@ EndScriptData */
#include "ScriptMgr.h"
#include "InstanceScript.h"
#include "uldaman.h"
+#include "CreatureAI.h"
enum Spells
{
SPELL_ARCHAEDAS_AWAKEN = 10347,
SPELL_AWAKEN_VAULT_WALKER = 10258,
+ SPELL_FREEZE_ANIM = 16245,
+ SPELL_MINION_FREEZE_ANIM = 10255
};
enum Events
@@ -38,6 +41,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 +146,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 +181,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 +202,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 +255,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 +270,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..97ad45542d0 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -309,7 +309,7 @@ class boss_valithria_dreamwalker : public CreatureScript
{
me->SetHealth(_spawnHealth);
me->SetReactState(REACT_PASSIVE);
- me->LoadCreaturesAddon(true);
+ me->LoadCreaturesAddon();
// immune to percent heals
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_OBS_MOD_HEALTH, true);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_HEAL_PCT, true);
@@ -1072,7 +1072,7 @@ class npc_dream_cloud : public CreatureScript
_events.Reset();
_events.ScheduleEvent(EVENT_CHECK_PLAYER, 1000);
me->SetCorpseDelay(0); // remove corpse immediately
- me->LoadCreaturesAddon(true);
+ me->LoadCreaturesAddon();
}
void UpdateAI(uint32 diff) override
@@ -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_heigan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
index 3d7c128c8dd..5248c48029c 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
@@ -21,36 +21,42 @@
#include "naxxramas.h"
#include "Player.h"
-enum Heigan
+enum Spells
{
- SPELL_DECREPIT_FEVER = 29998, // 25-man: 55011
- SPELL_SPELL_DISRUPTION = 29310,
- SPELL_PLAGUE_CLOUD = 29350,
-
- SAY_AGGRO = 0,
- SAY_SLAY = 1,
- SAY_TAUNT = 2,
- SAY_DEATH = 3
+ SPELL_DECREPIT_FEVER = 29998, // 25-man: 55011
+ SPELL_SPELL_DISRUPTION = 29310,
+ SPELL_PLAGUE_CLOUD = 29350,
+ SPELL_TELEPORT_SELF = 30211,
+};
+
+enum Yells
+{
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_TAUNT = 2,
+ SAY_DEATH = 3,
+
+ EMOTE_DANCE = 4,
+ EMOTE_DANCE_END = 5,
};
enum Events
{
- EVENT_NONE,
- EVENT_DISRUPT,
+ EVENT_DISRUPT = 1,
EVENT_FEVER,
EVENT_ERUPT,
- EVENT_PHASE,
+ EVENT_DANCE,
+ EVENT_DANCE_END
};
enum Phases
{
PHASE_FIGHT = 1,
- PHASE_DANCE,
+ PHASE_DANCE
};
enum Misc
{
- ACTION_SAFETY_DANCE_FAIL = 1,
DATA_SAFETY_DANCE = 19962139
};
@@ -66,39 +72,25 @@ public:
struct boss_heiganAI : public BossAI
{
- boss_heiganAI(Creature* creature) : BossAI(creature, BOSS_HEIGAN)
+ boss_heiganAI(Creature* creature) : BossAI(creature, BOSS_HEIGAN), eruptSection(0), eruptDirection(false), safetyDance(false) { }
+
+ void Reset() override
{
- eruptSection = 0;
- eruptDirection = false;
- safetyDance = false;
- phase = PHASE_FIGHT;
+ me->SetReactState(REACT_AGGRESSIVE);
+ _Reset();
}
- uint32 eruptSection;
- bool eruptDirection;
- bool safetyDance;
- Phases phase;
-
void KilledUnit(Unit* who) override
{
- if (!(rand32() % 5))
- Talk(SAY_SLAY);
+ Talk(SAY_SLAY);
+
if (who->GetTypeId() == TYPEID_PLAYER)
safetyDance = false;
}
- void SetData(uint32 id, uint32 data) override
- {
- if (id == DATA_SAFETY_DANCE)
- safetyDance = data ? true : false;
- }
-
uint32 GetData(uint32 type) const override
{
- if (type == DATA_SAFETY_DANCE)
- return safetyDance ? 1 : 0;
-
- return 0;
+ return (type == DATA_SAFETY_DANCE && safetyDance) ? 1u : 0u;
}
void JustDied(Unit* /*killer*/) override
@@ -111,35 +103,14 @@ public:
{
_EnterCombat();
Talk(SAY_AGGRO);
- EnterPhase(PHASE_FIGHT);
- safetyDance = true;
- }
-
- void EnterPhase(Phases newPhase)
- {
- phase = newPhase;
- events.Reset();
+
eruptSection = 3;
- if (phase == PHASE_FIGHT)
- {
- events.ScheduleEvent(EVENT_DISRUPT, urand(10000, 25000));
- events.ScheduleEvent(EVENT_FEVER, urand(15000, 20000));
- events.ScheduleEvent(EVENT_PHASE, 90000);
- events.ScheduleEvent(EVENT_ERUPT, 15000);
- me->GetMotionMaster()->MoveChase(me->GetVictim());
- }
- else
- {
- float x, y, z, o;
- me->GetHomePosition(x, y, z, o);
- me->NearTeleportTo(x, y, z, o - (float(M_PI) / 2));
- me->GetMotionMaster()->Clear();
- me->GetMotionMaster()->MoveIdle();
- me->SetTarget(ObjectGuid::Empty);
- DoCastAOE(SPELL_PLAGUE_CLOUD);
- events.ScheduleEvent(EVENT_PHASE, 45000);
- events.ScheduleEvent(EVENT_ERUPT, 8000);
- }
+ events.ScheduleEvent(EVENT_DISRUPT, urand(15 * IN_MILLISECONDS, 20 * IN_MILLISECONDS), 0, PHASE_FIGHT);
+ events.ScheduleEvent(EVENT_FEVER, urand(10 * IN_MILLISECONDS, 20 * IN_MILLISECONDS), 0, PHASE_FIGHT);
+ events.ScheduleEvent(EVENT_DANCE, 90 * IN_MILLISECONDS, 0, PHASE_FIGHT);
+ events.ScheduleEvent(EVENT_ERUPT, 15 * IN_MILLISECONDS, 0, PHASE_FIGHT);
+
+ safetyDance = true;
}
void UpdateAI(uint32 diff) override
@@ -155,15 +126,36 @@ public:
{
case EVENT_DISRUPT:
DoCastAOE(SPELL_SPELL_DISRUPTION);
- events.ScheduleEvent(EVENT_DISRUPT, urand(5000, 10000));
+ events.ScheduleEvent(EVENT_DISRUPT, 11 * IN_MILLISECONDS);
break;
case EVENT_FEVER:
DoCastAOE(SPELL_DECREPIT_FEVER);
- events.ScheduleEvent(EVENT_FEVER, urand(20000, 25000));
+ events.ScheduleEvent(EVENT_FEVER, urand(20 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
+ break;
+ case EVENT_DANCE:
+ events.SetPhase(PHASE_DANCE);
+ Talk(SAY_TAUNT);
+ Talk(EMOTE_DANCE);
+ eruptSection = 3;
+ me->SetReactState(REACT_PASSIVE);
+ me->AttackStop();
+ me->StopMoving();
+ DoCast(SPELL_TELEPORT_SELF);
+ DoCastAOE(SPELL_PLAGUE_CLOUD);
+ events.ScheduleEvent(EVENT_DANCE_END, 45 * IN_MILLISECONDS, 0, PHASE_DANCE);
+ events.ScheduleEvent(EVENT_ERUPT, 10 * IN_MILLISECONDS);
break;
- case EVENT_PHASE:
- /// @todo Add missing texts for both phase switches
- EnterPhase(phase == PHASE_FIGHT ? PHASE_DANCE : PHASE_FIGHT);
+ case EVENT_DANCE_END:
+ events.SetPhase(PHASE_FIGHT);
+ Talk(EMOTE_DANCE_END);
+ eruptSection = 3;
+ events.ScheduleEvent(EVENT_DISRUPT, urand(10, 25) * IN_MILLISECONDS, 0, PHASE_FIGHT);
+ events.ScheduleEvent(EVENT_FEVER, urand(15, 20) * IN_MILLISECONDS, 0, PHASE_FIGHT);
+ events.ScheduleEvent(EVENT_DANCE, 90 * IN_MILLISECONDS, 0, PHASE_FIGHT);
+ events.ScheduleEvent(EVENT_ERUPT, 15 * IN_MILLISECONDS, 0, PHASE_FIGHT);
+ me->CastStop();
+ me->SetReactState(REACT_AGGRESSIVE);
+ DoZoneInCombat();
break;
case EVENT_ERUPT:
instance->SetData(DATA_HEIGAN_ERUPT, eruptSection);
@@ -176,13 +168,22 @@ public:
eruptDirection ? ++eruptSection : --eruptSection;
- events.ScheduleEvent(EVENT_ERUPT, phase == PHASE_FIGHT ? 10000 : 3000);
+ if (events.IsInPhase(PHASE_DANCE))
+ events.ScheduleEvent(EVENT_ERUPT, 3 * IN_MILLISECONDS, 0, PHASE_DANCE);
+ else
+ events.ScheduleEvent(EVENT_ERUPT, 10 * IN_MILLISECONDS, 0, PHASE_FIGHT);
break;
}
}
DoMeleeAttackIfReady();
}
+
+ private:
+ uint32 eruptSection;
+ bool eruptDirection;
+
+ bool safetyDance; // is achievement still possible? (= no player deaths yet)
};
};
@@ -205,7 +206,7 @@ class spell_heigan_eruption : public SpellScriptLoader
if (GetHitDamage() >= int32(GetHitPlayer()->GetHealth()))
if (InstanceScript* instance = caster->GetInstanceScript())
if (Creature* Heigan = ObjectAccessor::GetCreature(*caster, instance->GetGuidData(DATA_HEIGAN)))
- Heigan->AI()->SetData(DATA_SAFETY_DANCE, 0);
+ Heigan->AI()->KilledUnit(GetHitPlayer());
}
void Register() override
@@ -223,9 +224,7 @@ class spell_heigan_eruption : public SpellScriptLoader
class achievement_safety_dance : public AchievementCriteriaScript
{
public:
- achievement_safety_dance() : AchievementCriteriaScript("achievement_safety_dance")
- {
- }
+ achievement_safety_dance() : AchievementCriteriaScript("achievement_safety_dance") { }
bool OnCheck(Player* /*player*/, Unit* target) override
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
index 33fb43b6bbc..494c173f5fc 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
@@ -27,7 +27,10 @@ enum Spells
SPELL_WARN_NECROTIC_AURA = 59481,
SPELL_SUMMON_SPORE = 29234,
SPELL_DEATHBLOOM = 29865,
- SPELL_INEVITABLE_DOOM = 29204
+ SPELL_INEVITABLE_DOOM = 29204,
+ SPELL_FUNGAL_CREEP = 29232,
+
+ SPELL_DEATHBLOOM_FINAL_DAMAGE = 55594,
};
enum Texts
@@ -72,29 +75,35 @@ class boss_loatheb : public CreatureScript
void Reset() override
{
_Reset();
+ instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_FUNGAL_CREEP);
Initialize();
}
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
- events.ScheduleEvent(EVENT_NECROTIC_AURA, 17000);
- events.ScheduleEvent(EVENT_DEATHBLOOM, 5000);
- events.ScheduleEvent(EVENT_SPORE, IsHeroic() ? 18000 : 36000);
- events.ScheduleEvent(EVENT_INEVITABLE_DOOM, 120000);
+ events.ScheduleEvent(EVENT_NECROTIC_AURA, 17 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_DEATHBLOOM, 5 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_SPORE, RAID_MODE(36,18) * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_INEVITABLE_DOOM, 2 * MINUTE * IN_MILLISECONDS);
}
- void SummonedCreatureDies(Creature* /*summon*/, Unit* /*killer*/) override
+ void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) override
{
_sporeLoserData = false;
+ summon->CastSpell(summon,SPELL_FUNGAL_CREEP,true);
}
- uint32 GetData(uint32 id) const override
+ void SummonedCreatureDespawn(Creature* summon) override
{
- if (id != DATA_ACHIEVEMENT_SPORE_LOSER)
- return 0;
+ summons.Despawn(summon);
+ if (summon->IsAlive())
+ summon->CastSpell(summon,SPELL_FUNGAL_CREEP,true);
+ }
- return uint32(_sporeLoserData);
+ uint32 GetData(uint32 id) const override
+ {
+ return (_sporeLoserData && id == DATA_ACHIEVEMENT_SPORE_LOSER) ? 1u : 0u;
}
void UpdateAI(uint32 diff) override
@@ -111,21 +120,29 @@ class boss_loatheb : public CreatureScript
case EVENT_NECROTIC_AURA:
DoCastAOE(SPELL_NECROTIC_AURA);
DoCast(me, SPELL_WARN_NECROTIC_AURA);
- events.ScheduleEvent(EVENT_NECROTIC_AURA, 20000);
- events.ScheduleEvent(EVENT_NECROTIC_AURA_FADING, 14000);
+ events.ScheduleEvent(EVENT_NECROTIC_AURA, 20 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_NECROTIC_AURA_FADING, 14 * IN_MILLISECONDS);
break;
case EVENT_DEATHBLOOM:
DoCastAOE(SPELL_DEATHBLOOM);
- events.ScheduleEvent(EVENT_DEATHBLOOM, 30000);
+ events.ScheduleEvent(EVENT_DEATHBLOOM, 30 * IN_MILLISECONDS);
break;
case EVENT_INEVITABLE_DOOM:
_doomCounter++;
DoCastAOE(SPELL_INEVITABLE_DOOM);
- events.ScheduleEvent(EVENT_INEVITABLE_DOOM, std::max(120000 - _doomCounter * 15000, 15000)); // needs to be confirmed
+ if (_doomCounter > 6)
+ {
+ if (_doomCounter & 1) // odd
+ events.ScheduleEvent(EVENT_INEVITABLE_DOOM, 14 * IN_MILLISECONDS);
+ else
+ events.ScheduleEvent(EVENT_INEVITABLE_DOOM, 17 * IN_MILLISECONDS);
+ }
+ else
+ events.ScheduleEvent(EVENT_INEVITABLE_DOOM, 30 * IN_MILLISECONDS);
break;
case EVENT_SPORE:
DoCast(me, SPELL_SUMMON_SPORE, false);
- events.ScheduleEvent(EVENT_SPORE, IsHeroic() ? 18000 : 36000);
+ events.ScheduleEvent(EVENT_SPORE, RAID_MODE(36,18) * IN_MILLISECONDS);
break;
case EVENT_NECROTIC_AURA_FADING:
Talk(SAY_NECROTIC_AURA_FADING);
@@ -203,9 +220,46 @@ class spell_loatheb_necrotic_aura_warning : public SpellScriptLoader
}
};
+class spell_loatheb_deathbloom : public SpellScriptLoader
+{
+ public:
+ spell_loatheb_deathbloom() : SpellScriptLoader("spell_loatheb_deathbloom") { }
+
+ class spell_loatheb_deathbloom_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_loatheb_deathbloom_AuraScript);
+
+ bool Validate(SpellInfo const* /*spell*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_DEATHBLOOM_FINAL_DAMAGE))
+ return false;
+ return true;
+ }
+
+ void AfterRemove(AuraEffect const* eff, AuraEffectHandleModes /*mode*/)
+ {
+ if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE)
+ return;
+
+ GetTarget()->CastSpell(nullptr, SPELL_DEATHBLOOM_FINAL_DAMAGE, true, nullptr, eff, GetCasterGUID());
+ }
+
+ void Register() override
+ {
+ AfterEffectRemove += AuraEffectRemoveFn(spell_loatheb_deathbloom_AuraScript::AfterRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_loatheb_deathbloom_AuraScript();
+ }
+};
+
void AddSC_boss_loatheb()
{
new boss_loatheb();
new achievement_spore_loser();
new spell_loatheb_necrotic_aura_warning();
+ new spell_loatheb_deathbloom();
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
index 57ea9eaf8c8..5f9ca92aaf4 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
@@ -19,51 +19,58 @@
#include "ScriptedCreature.h"
#include "naxxramas.h"
-enum Noth
+enum Phases
{
- SAY_AGGRO = 0,
- SAY_SUMMON = 1,
- SAY_SLAY = 2,
- SAY_DEATH = 3,
-
- SOUND_DEATH = 8848,
-
- SPELL_CURSE_PLAGUEBRINGER = 29213, // 25-man: 54835
- SPELL_CRIPPLE = 29212, // 25-man: 54814
- SPELL_TELEPORT = 29216,
-
- NPC_WARRIOR = 16984,
- NPC_CHAMPION = 16983,
- NPC_GUARDIAN = 16981
+ PHASE_NONE,
+ PHASE_GROUND,
+ PHASE_BALCONY
};
-#define SPELL_BLINK RAND(29208, 29209, 29210, 29211)
+enum Events
+{
+ EVENT_CURSE = 1, // curse of the plaguebringer
+ EVENT_BLINK, // blink (25m only)
+ EVENT_WARRIOR, // summon warriors during ground phase
+ EVENT_BALCONY, // become untargetable and begin balcony phase
+ EVENT_BALCONY_TELEPORT, // actually teleport to balcony, this is slightly delayed
+ EVENT_WAVE, // spawn wave during balcony phase
+ EVENT_GROUND, // end balcony phase and teleport to ground
+ EVENT_GROUND_ATTACKABLE // become attackable and aggressive again at start of ground phase, once again slightly delayed to prevent motionmaster weirdness
+};
-// Teleport position of Noth on his balcony
-Position const Teleport = { 2631.370f, -3529.680f, 274.040f, 6.277f };
+enum Talk
+{
+ SAY_AGGRO = 0,
+ SAY_SUMMON = 1,
+ SAY_SLAY = 2,
+ SAY_DEATH = 3,
-#define MAX_SUMMON_POS 5
+ EMOTE_SUMMON = 4, // ground phase
+ EMOTE_SUMMON_WAVE = 5, // balcony phase
+ EMOTE_TELEPORT_1 = 6, // ground to balcony
+ EMOTE_TELEPORT_2 = 7 // balcony to ground
+};
-Position const SummonPos[MAX_SUMMON_POS] =
+enum Spells
{
- { 2728.12f, -3544.43f, 261.91f, 6.04f },
- { 2729.05f, -3544.47f, 261.91f, 5.58f },
- { 2728.24f, -3465.08f, 264.20f, 3.56f },
- { 2704.11f, -3456.81f, 265.53f, 4.51f },
- { 2663.56f, -3464.43f, 262.66f, 5.20f }
+ SPELL_CURSE = 29213, // 25-man: 54835
+ SPELL_CRIPPLE = 29212, // 25-man: 54814
+
+ SPELL_TELEPORT = 29216, // ground to balcony
+ SPELL_TELEPORT_BACK = 29231 // balcony to ground
};
-enum Events
+enum Adds
{
- EVENT_NONE,
- EVENT_BERSERK,
- EVENT_CURSE,
- EVENT_BLINK,
- EVENT_WARRIOR,
- EVENT_BALCONY,
- EVENT_WAVE,
- EVENT_GROUND
+ N_WARRIOR_SPELLS = 3,
+ N_CHAMPION_SPELLS = 6,
+ N_GUARDIAN_SPELLS = 3
};
+const uint32 SummonWarriorSpells[N_WARRIOR_SPELLS] = { 29247, 29248, 29249 };
+const uint32 SummonChampionSpells[N_CHAMPION_SPELLS] = { 29238, 29255, 29257, 29258, 29262, 29267 };
+const uint32 SummonGuardianSpells[N_GUARDIAN_SPELLS] = { 29239, 29256, 29268 };
+
+#define SPELL_BLINK RAND(29208, 29209, 29210, 29211)
class boss_noth : public CreatureScript
{
@@ -72,16 +79,38 @@ public:
struct boss_nothAI : public BossAI
{
- boss_nothAI(Creature* creature) : BossAI(creature, BOSS_NOTH)
+ boss_nothAI(Creature* creature) : BossAI(creature, BOSS_NOTH), balconyCount(0), justBlinked(false)
{
- balconyCount = 0;
- waveCount = 0;
+ std::copy(SummonWarriorSpells, SummonWarriorSpells + N_WARRIOR_SPELLS, _SummonWarriorSpells);
+ std::copy(SummonChampionSpells, SummonChampionSpells + N_CHAMPION_SPELLS, _SummonChampionSpells);
+ std::copy(SummonGuardianSpells, SummonGuardianSpells + N_GUARDIAN_SPELLS, _SummonGuardianSpells);
+
+ events.SetPhase(PHASE_NONE);
+ }
+
+ void EnterEvadeMode() override
+ {
+ Reset(); // teleport back first
+ _EnterEvadeMode();
}
void Reset() override
{
- me->SetReactState(REACT_AGGRESSIVE);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ if (!me->IsAlive())
+ return;
+
+ // in case we reset during balcony phase
+ if (events.IsInPhase(PHASE_BALCONY))
+ {
+ DoCastAOE(SPELL_TELEPORT_BACK);
+ me->SetReactState(REACT_AGGRESSIVE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
+ }
+
+ balconyCount = 0;
+ events.SetPhase(PHASE_NONE);
+ justBlinked = false;
+
_Reset();
}
@@ -89,31 +118,44 @@ public:
{
_EnterCombat();
Talk(SAY_AGGRO);
- balconyCount = 0;
EnterPhaseGround();
}
void EnterPhaseGround()
{
- me->SetReactState(REACT_AGGRESSIVE);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ events.SetPhase(PHASE_GROUND);
+
DoZoneInCombat();
if (me->getThreatManager().isThreatListEmpty())
- EnterEvadeMode();
+ Reset();
else
{
- events.ScheduleEvent(EVENT_BALCONY, 110000);
- events.ScheduleEvent(EVENT_CURSE, 10000 + rand32() % 15000);
- events.ScheduleEvent(EVENT_WARRIOR, 30000);
+ uint8 secondsGround;
+ switch (balconyCount)
+ {
+ case 0:
+ secondsGround = 90;
+ break;
+ case 1:
+ secondsGround = 110;
+ break;
+ case 2:
+ default:
+ secondsGround = 180;
+ }
+ events.ScheduleEvent(EVENT_GROUND_ATTACKABLE, 2 * IN_MILLISECONDS, 0, PHASE_GROUND);
+ events.ScheduleEvent(EVENT_BALCONY, secondsGround * IN_MILLISECONDS, 0, PHASE_GROUND);
+ events.ScheduleEvent(EVENT_CURSE, urand(10,25) * IN_MILLISECONDS, 0, PHASE_GROUND);
+ events.ScheduleEvent(EVENT_WARRIOR, urand(20,30) * IN_MILLISECONDS, 0, PHASE_GROUND);
if (GetDifficulty() == DIFFICULTY_25_N)
- events.ScheduleEvent(EVENT_BLINK, urand(20000, 40000));
+ events.ScheduleEvent(EVENT_BLINK, urand(20,30) * IN_MILLISECONDS, 0, PHASE_GROUND);
}
}
- void KilledUnit(Unit* /*victim*/) override
+ void KilledUnit(Unit* victim) override
{
- if (!(rand32() % 5))
+ if(victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
@@ -121,7 +163,7 @@ public:
{
summons.Summon(summon);
summon->setActive(true);
- summon->AI()->DoZoneInCombat();
+ summon->AI()->DoZoneInCombat(nullptr, 250.0f); // specify range to cover entire room - default 50yd is not enough
}
void JustDied(Unit* /*killer*/) override
@@ -130,10 +172,35 @@ public:
Talk(SAY_DEATH);
}
- void SummonUndead(uint32 entry, uint32 num)
+ void DamageTaken(Unit* /*who*/, uint32& damage) override // prevent noth from somehow dying in the balcony phase
{
- for (uint32 i = 0; i < num; ++i)
- me->SummonCreature(entry, SummonPos[rand32() % MAX_SUMMON_POS], TEMPSUMMON_CORPSE_DESPAWN, 60000);
+ if (!events.IsInPhase(PHASE_BALCONY))
+ return;
+ if (damage < me->GetHealth())
+ return;
+
+ me->SetHealth(1u);
+ damage = 0u;
+ }
+
+ void HandleSummon(uint32* spellsList, const uint8 nSpells, uint8 num)
+ { // this ensures we do not spawn two mobs using the same spell (<=> in the same position) if we can help it
+ while (num)
+ for (uint8 it = 0; it < nSpells && num; ++it)
+ {
+ num--;
+ uint8 selected = urand(it, nSpells - 1);
+ DoCastAOE(spellsList[selected]);
+ if (selected != it) // shuffle the selected into the part of the array that is no longer being searched
+ std::swap(spellsList[selected], spellsList[it]);
+ }
+ }
+
+ void CastSummon(uint8 nWarrior, uint8 nChampion, uint8 nGuardian)
+ {
+ HandleSummon(_SummonWarriorSpells, N_WARRIOR_SPELLS, nWarrior);
+ HandleSummon(_SummonChampionSpells, N_CHAMPION_SPELLS, nChampion);
+ HandleSummon(_SummonGuardianSpells, N_GUARDIAN_SPELLS, nGuardian);
}
void UpdateAI(uint32 diff) override
@@ -151,72 +218,115 @@ public:
switch (eventId)
{
case EVENT_CURSE:
- DoCastAOE(SPELL_CURSE_PLAGUEBRINGER);
- events.ScheduleEvent(EVENT_CURSE, urand(50000, 60000));
- return;
+ {
+ DoCastAOE(SPELL_CURSE);
+ events.ScheduleEvent(EVENT_CURSE, urand(50, 70) * IN_MILLISECONDS, 0, PHASE_GROUND);
+ break;
+ }
case EVENT_WARRIOR:
Talk(SAY_SUMMON);
- SummonUndead(NPC_WARRIOR, RAID_MODE(2, 3));
- events.ScheduleEvent(EVENT_WARRIOR, 30000);
- return;
+ Talk(EMOTE_SUMMON);
+
+ CastSummon(RAID_MODE(2, 3), 0, 0);
+
+ events.ScheduleEvent(EVENT_WARRIOR, 40 * IN_MILLISECONDS, 0, PHASE_GROUND);
+ break;
case EVENT_BLINK:
DoCastAOE(SPELL_CRIPPLE, true);
DoCastAOE(SPELL_BLINK);
DoResetThreat();
- events.ScheduleEvent(EVENT_BLINK, 40000);
- return;
+ justBlinked = true;
+
+ events.ScheduleEvent(EVENT_BLINK, 40000, 0, PHASE_GROUND);
+ break;
case EVENT_BALCONY:
+ events.SetPhase(PHASE_BALCONY);
me->SetReactState(REACT_PASSIVE);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
me->AttackStop();
+ me->StopMoving();
me->RemoveAllAuras();
- me->NearTeleportTo(Teleport.GetPositionX(), Teleport.GetPositionY(), Teleport.GetPositionZ(), Teleport.GetOrientation());
- events.Reset();
- events.ScheduleEvent(EVENT_WAVE, urand(2000, 5000));
- waveCount = 0;
- return;
+
+ events.ScheduleEvent(EVENT_BALCONY_TELEPORT, 3 * IN_MILLISECONDS, 0, PHASE_BALCONY);
+ events.ScheduleEvent(EVENT_WAVE, urand(5 * IN_MILLISECONDS, 8 * IN_MILLISECONDS), 0, PHASE_BALCONY);
+
+ uint8 secondsBalcony;
+ switch (balconyCount)
+ {
+ case 0:
+ secondsBalcony = 70;
+ break;
+ case 1:
+ secondsBalcony = 97;
+ break;
+ case 2:
+ default:
+ secondsBalcony = 120;
+ break;
+ }
+ events.ScheduleEvent(EVENT_GROUND, secondsBalcony * IN_MILLISECONDS, 0, PHASE_BALCONY);
+ break;
+ case EVENT_BALCONY_TELEPORT:
+ Talk(EMOTE_TELEPORT_1);
+ DoCastAOE(SPELL_TELEPORT);
+ break;
case EVENT_WAVE:
- Talk(SAY_SUMMON);
+ Talk(EMOTE_SUMMON_WAVE);
switch (balconyCount)
{
case 0:
- SummonUndead(NPC_CHAMPION, RAID_MODE(2, 4));
+ CastSummon(0, RAID_MODE(2, 4), 0);
break;
case 1:
- SummonUndead(NPC_CHAMPION, RAID_MODE(1, 2));
- SummonUndead(NPC_GUARDIAN, RAID_MODE(1, 2));
+ CastSummon(0, RAID_MODE(1, 2), RAID_MODE(1, 2));
break;
case 2:
- SummonUndead(NPC_GUARDIAN, RAID_MODE(2, 4));
+ CastSummon(0, 0, RAID_MODE(2, 4));
break;
default:
- SummonUndead(NPC_CHAMPION, RAID_MODE(5, 10));
- SummonUndead(NPC_GUARDIAN, RAID_MODE(5, 10));
+ CastSummon(0, RAID_MODE(5, 10), RAID_MODE(5, 10));
break;
}
- ++waveCount;
- events.ScheduleEvent(waveCount < 2 ? EVENT_WAVE : EVENT_GROUND, urand(30000, 45000));
- return;
+ events.ScheduleEvent(EVENT_WAVE, urand(30, 45) * IN_MILLISECONDS, 0, PHASE_BALCONY);
+ break;
case EVENT_GROUND:
- {
++balconyCount;
- float x, y, z, o;
- me->GetHomePosition(x, y, z, o);
- me->NearTeleportTo(x, y, z, o);
- events.ScheduleEvent(EVENT_BALCONY, 110000);
+
+ DoCastAOE(SPELL_TELEPORT_BACK);
+ Talk(EMOTE_TELEPORT_2);
+
EnterPhaseGround();
- return;
- }
+ break;
+ case EVENT_GROUND_ATTACKABLE:
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
+ me->SetReactState(REACT_AGGRESSIVE);
+ break;
}
}
- if (me->HasReactState(REACT_AGGRESSIVE))
- DoMeleeAttackIfReady();
+ if (events.IsInPhase(PHASE_GROUND))
+ {
+ /* workaround for movechase breaking after blinking
+ without this noth would just stand there unless his current target moves */
+ if (justBlinked && me->GetVictim() && !me->IsWithinMeleeRange(me->EnsureVictim()))
+ {
+ me->GetMotionMaster()->Clear();
+ me->GetMotionMaster()->MoveChase(me->EnsureVictim());
+ justBlinked = false;
+ }
+ else
+ DoMeleeAttackIfReady();
+ }
}
private:
- uint32 waveCount;
uint32 balconyCount;
+
+ bool justBlinked;
+
+ uint32 _SummonWarriorSpells[N_WARRIOR_SPELLS];
+ uint32 _SummonChampionSpells[N_CHAMPION_SPELLS];
+ uint32 _SummonGuardianSpells[N_GUARDIAN_SPELLS];
};
CreatureAI* GetAI(Creature* creature) const override
diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
index 493fb7cfe9d..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 },
@@ -78,12 +77,13 @@ ObjectData const objectData[] =
{ 0, 0, }
};
-float const HeiganPos[2] = { 2796.0f, -3707.0f };
+// from P2 teleport spell stored target
+float const HeiganPos[2] = { 2793.86f, -3707.38f };
float const HeiganEruptionSlope[3] =
{
- (-3685.0f - HeiganPos[1]) / (2724.0f - HeiganPos[0]),
- (-3647.0f - HeiganPos[1]) / (2749.0f - HeiganPos[0]),
- (-3637.0f - HeiganPos[1]) / (2771.0f - HeiganPos[0])
+ (-3703.303223f - HeiganPos[1]) / (2777.494141f - HeiganPos[0]), // between right center and far right
+ (-3696.948242f - HeiganPos[1]) / (2785.624268f - HeiganPos[0]), // between left and right halves
+ (-3691.880615f - HeiganPos[1]) / (2790.280029f - HeiganPos[0]) // between far left and left center
};
// 0 H x
@@ -125,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;
@@ -134,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;
@@ -246,7 +251,6 @@ class instance_naxxramas : public InstanceMapScript
if (go->GetGOInfo()->displayId == 6785 || go->GetGOInfo()->displayId == 1287)
{
uint32 section = GetEruptionSection(go->GetPositionX(), go->GetPositionY());
-
HeiganEruptionGUID[section].erase(go->GetGUID());
return;
}
@@ -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:
@@ -552,7 +570,7 @@ class instance_naxxramas : public InstanceMapScript
// This Function is called in CheckAchievementCriteriaMeet and CheckAchievementCriteriaMeet is called before SetBossState(bossId, DONE),
// so to check if all bosses are done the checker must exclude 1 boss, the last done, if there is at most 1 encouter in progress when is
// called this function then all bosses are done. The one boss that check is the boss that calls this function, so it is dead.
- bool AreAllEncoutersDone()
+ bool AreAllEncountersDone()
{
uint32 numBossAlive = 0;
for (uint32 i = 0; i < EncounterCount; ++i)
@@ -589,7 +607,7 @@ class instance_naxxramas : public InstanceMapScript
case 13239: // Loatheb
case 13240: // Thaddius
case 7617: // Kel'Thuzad
- if (AreAllEncoutersDone() && !playerDied)
+ if (AreAllEncountersDone() && !playerDied)
return true;
return false;
}
@@ -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/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
index 566c311955c..21066528fef 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -97,9 +97,6 @@ enum Creatures
NPC_MIMIRON_TARGET_BEACON = 33369,
NPC_HODIR_TARGET_BEACON = 33108,
NPC_FREYA_TARGET_BEACON = 33366,
- NPC_LOREKEEPER = 33686, // Hard mode starter
- NPC_BRANZ_BRONZBEARD = 33579,
- NPC_DELORAH = 33701,
NPC_ULDUAR_GAUNTLET_GENERATOR = 33571, // Trigger tied to towers
};
@@ -1167,9 +1164,49 @@ class npc_freya_ward_summon : public CreatureScript
}
};
-//npc lore keeper
-#define GOSSIP_ITEM_1 "Activate secondary defensive systems"
-#define GOSSIP_ITEM_2 "Confirmed"
+enum BrannBronzebeardGossips
+{
+ GOSSIP_MENU_BRANN_BRONZEBEARD = 10355,
+ GOSSIP_OPTION_BRANN_BRONZEBEARD = 0
+};
+
+class npc_brann_bronzebeard_ulduar_intro : public CreatureScript
+{
+ public:
+ npc_brann_bronzebeard_ulduar_intro() : CreatureScript("npc_brann_bronzebeard_ulduar_intro") { }
+
+ struct npc_brann_bronzebeard_ulduar_introAI : public ScriptedAI
+ {
+ npc_brann_bronzebeard_ulduar_introAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _instance = creature->GetInstanceScript();
+ }
+
+ void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) override
+ {
+ if (menuId == GOSSIP_MENU_BRANN_BRONZEBEARD && gossipListId == GOSSIP_OPTION_BRANN_BRONZEBEARD)
+ {
+ player->PlayerTalkClass->SendCloseGossip();
+ if (Creature* loreKeeper = _instance->GetCreature(DATA_LORE_KEEPER_OF_NORGANNON))
+ loreKeeper->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ }
+ }
+
+ private:
+ InstanceScript* _instance;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetUlduarAI<npc_brann_bronzebeard_ulduar_introAI>(creature);
+ }
+};
+
+enum LoreKeeperGossips
+{
+ GOSSIP_MENU_LORE_KEEPER = 10477,
+ GOSSIP_OPTION_LORE_KEEPER = 0
+};
class npc_lorekeeper : public CreatureScript
{
@@ -1180,6 +1217,7 @@ class npc_lorekeeper : public CreatureScript
{
npc_lorekeeperAI(Creature* creature) : ScriptedAI(creature)
{
+ _instance = creature->GetInstanceScript();
}
void DoAction(int32 action) override
@@ -1187,66 +1225,42 @@ class npc_lorekeeper : public CreatureScript
// Start encounter
if (action == ACTION_SPAWN_VEHICLES)
{
- for (int32 i = 0; i < RAID_MODE(2, 5); ++i)
+ for (uint8 i = 0; i < RAID_MODE(2, 5); ++i)
DoSummon(VEHICLE_SIEGE, PosSiege[i], 3000, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
- for (int32 i = 0; i < RAID_MODE(2, 5); ++i)
+ for (uint8 i = 0; i < RAID_MODE(2, 5); ++i)
DoSummon(VEHICLE_CHOPPER, PosChopper[i], 3000, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
- for (int32 i = 0; i < RAID_MODE(2, 5); ++i)
+ for (uint8 i = 0; i < RAID_MODE(2, 5); ++i)
DoSummon(VEHICLE_DEMOLISHER, PosDemolisher[i], 3000, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
- return;
}
}
- };
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
- {
- player->CLOSE_GOSSIP_MENU();
- InstanceScript* instance = creature->GetInstanceScript();
- if (!instance)
- return true;
- switch (action)
+ void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) override
{
- case GOSSIP_ACTION_INFO_DEF+1:
- player->PrepareGossipMenu(creature);
- instance->instance->LoadGrid(364, -16); //make sure leviathan is loaded
+ if (menuId == GOSSIP_MENU_LORE_KEEPER && gossipListId == GOSSIP_OPTION_LORE_KEEPER)
+ {
+ player->PlayerTalkClass->SendCloseGossip();
+ _instance->instance->LoadGrid(364, -16); // make sure leviathan is loaded
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+2:
- if (Creature* leviathan = instance->instance->GetCreature(instance->GetGuidData(BOSS_LEVIATHAN)))
+ if (Creature* leviathan = _instance->instance->GetCreature(_instance->GetGuidData(BOSS_LEVIATHAN)))
{
leviathan->AI()->DoAction(ACTION_START_HARD_MODE);
- creature->SetVisible(false);
- creature->AI()->DoAction(ACTION_SPAWN_VEHICLES); // spawn the vehicles
- if (Creature* Delorah = creature->FindNearestCreature(NPC_DELORAH, 1000, true))
+ me->SetVisible(false);
+ DoAction(ACTION_SPAWN_VEHICLES); // spawn the vehicles
+ if (Creature* delorah = _instance->GetCreature(DATA_DELLORAH))
{
- if (Creature* Branz = creature->FindNearestCreature(NPC_BRANZ_BRONZBEARD, 1000, true))
+ if (Creature* brann = _instance->GetCreature(DATA_BRANN_BRONZEBEARD_INTRO))
{
- Delorah->GetMotionMaster()->MovePoint(0, Branz->GetPositionX()-4, Branz->GetPositionY(), Branz->GetPositionZ());
- /// @todo Delorah->AI()->Talk(xxxx, Branz); when reached at branz
+ delorah->GetMotionMaster()->MovePoint(0, brann->GetPositionX() - 4, brann->GetPositionY(), brann->GetPositionZ());
+ /// @todo delorah->AI()->Talk(xxxx, brann->GetGUID()); when reached at branz
}
}
}
- break;
+ }
}
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) override
- {
- InstanceScript* instance = creature->GetInstanceScript();
- if (instance && instance->GetData(BOSS_LEVIATHAN) != DONE && player)
- {
- player->PrepareGossipMenu(creature);
-
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- }
- return true;
- }
+ private:
+ InstanceScript* _instance;
+ };
CreatureAI* GetAI(Creature* creature) const override
{
@@ -1254,56 +1268,6 @@ class npc_lorekeeper : public CreatureScript
}
};
-//enable hardmode
-////npc_brann_bronzebeard this requires more work involving area triggers. if reached this guy speaks through his radio..
-//#define GOSSIP_ITEM_1 "xxxxx"
-//#define GOSSIP_ITEM_2 "xxxxx"
-//
-/*
-class npc_brann_bronzebeard : public CreatureScript
-{
-public:
- npc_brann_bronzebeard() : CreatureScript("npc_brann_bronzebeard") { }
-
- //bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override
- //{
- // player->PlayerTalkClass->ClearMenus();
- // switch (action)
- // {
- // case GOSSIP_ACTION_INFO_DEF+1:
- // if (player)
- // {
- // player->PrepareGossipMenu(creature);
- //
- // player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
- // player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- // }
- // break;
- // case GOSSIP_ACTION_INFO_DEF+2:
- // if (player)
- // player->CLOSE_GOSSIP_MENU();
- // if (Creature* Lorekeeper = creature->FindNearestCreature(NPC_LOREKEEPER, 1000, true)) //lore keeper of lorgannon
- // Lorekeeper->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
- // break;
- // }
- // return true;
- //}
- //bool OnGossipHello(Player* player, Creature* creature) override
- //{
- // InstanceScript* instance = creature->GetInstanceScript();
- // if (instance && instance->GetData(BOSS_LEVIATHAN) !=DONE)
- // {
- // player->PrepareGossipMenu(creature);
- //
- // player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
- // player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- // }
- // return true;
- //}
- //
-}
-*/
-
class go_ulduar_tower : public GameObjectScript
{
public:
@@ -1836,8 +1800,8 @@ void AddSC_boss_flame_leviathan()
new npc_hodirs_fury();
new npc_freyas_ward();
new npc_freya_ward_summon();
+ new npc_brann_bronzebeard_ulduar_intro();
new npc_lorekeeper();
- // new npc_brann_bronzebeard();
new go_ulduar_tower();
new achievement_three_car_garage_demolisher();
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index 282e3ac8d2d..ebd53edc673 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -54,6 +54,15 @@ MinionData const minionData[] =
{ 0, 0, }
};
+ObjectData const creatureData[] =
+{
+ { NPC_BRANN_BRONZEBEARD_INTRO, DATA_BRANN_BRONZEBEARD_INTRO },
+ { NPC_LORE_KEEPER_OF_NORGANNON, DATA_LORE_KEEPER_OF_NORGANNON },
+ { NPC_HIGH_EXPLORER_DELLORAH, DATA_DELLORAH },
+ { NPC_BRONZEBEARD_RADIO, DATA_BRONZEBEARD_RADIO },
+ { 0, 0, }
+};
+
class instance_ulduar : public InstanceMapScript
{
public:
@@ -68,6 +77,7 @@ class instance_ulduar : public InstanceMapScript
LoadDoorData(doorData);
LoadMinionData(minionData);
+ LoadObjectData(creatureData, nullptr);
_algalonTimer = 61;
_maxArmorItemLevel = 0;
@@ -420,6 +430,8 @@ class instance_ulduar : public InstanceMapScript
algalon->AI()->JustSummoned(creature);
break;
}
+
+ InstanceScript::OnCreatureCreate(creature);
}
void OnCreatureRemove(Creature* creature) override
@@ -446,6 +458,8 @@ class instance_ulduar : public InstanceMapScript
default:
break;
}
+
+ InstanceScript::OnCreatureRemove(creature);
}
void OnGameObjectCreate(GameObject* gameObject) override
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
index 9f640c410ef..834ab32864f 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
@@ -80,6 +80,23 @@ enum UlduarNPCs
NPC_YOGG_SARON = 33288,
NPC_ALGALON = 32871,
+ // Flame Leviathan
+ NPC_ULDUAR_COLOSSUS = 33237,
+ NPC_BRANN_BRONZEBEARD_INTRO = 33579,
+ NPC_BRANN_BRONZEBEARD_FLYING_MACHINE = 34119,
+ NPC_BRANN_S_FLYING_MACHINE = 34120,
+ NPC_ARCHMAGE_PENTARUS = 33624,
+ NPC_ARCHMAGE_RHYDIAN = 33696,
+ NPC_LORE_KEEPER_OF_NORGANNON = 33686,
+ NPC_HIGH_EXPLORER_DELLORAH = 33701,
+ NPC_BRONZEBEARD_RADIO = 34054,
+ NPC_FLAME_LEVIATHAN = 33113,
+ NPC_FLAME_LEVIATHAN_SEAT = 33114,
+ NPC_FLAME_LEVIATHAN_TURRET = 33139,
+ NPC_LEVIATHAN_DEFENSE_TURRET = 33142,
+ NPC_OVERLOAD_CONTROL_DEVICE = 33143,
+ NPC_ORBITAL_SUPPORT = 34286,
+
// Mimiron
NPC_LEVIATHAN_MKII = 33432,
NPC_VX_001 = 33651,
@@ -382,6 +399,12 @@ enum UlduarData
DATA_UNIVERSE_GLOBE,
DATA_ALGALON_TRAPDOOR,
DATA_BRANN_BRONZEBEARD_ALG,
+
+ // Misc
+ DATA_BRANN_BRONZEBEARD_INTRO,
+ DATA_LORE_KEEPER_OF_NORGANNON,
+ DATA_DELLORAH,
+ DATA_BRONZEBEARD_RADIO
};
enum UlduarWorldStates
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 74614ae7c13..511ddcff5fa 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -593,12 +593,13 @@ public:
switch (IntroPhase)
{
case 1:
- Talk(SAY_START_1);
+ if (Player* player = GetPlayerForEscort())
+ Talk(SAY_START_1, player);
IntroPhase = 2;
IntroTimer = 7500;
break;
case 2:
- Talk(SAY_END_1);
+ Talk(SAY_START_2);
IntroPhase = 3;
IntroTimer = 7500;
break;
@@ -608,12 +609,13 @@ public:
IntroTimer = 0;
break;
case 4:
- Talk(SAY_START_2);
+ Talk(SAY_END_1);
IntroPhase = 5;
IntroTimer = 8000;
break;
case 5:
- Talk(SAY_END_2);
+ if (Player* player = GetPlayerForEscort())
+ Talk(SAY_END_2, player);
IntroPhase = 6;
IntroTimer = 2500;
break;
@@ -1816,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/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 0bb61ab15bd..8a435b1d5a7 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -676,6 +676,47 @@ class spell_gen_burn_brutallus : public SpellScriptLoader
}
};
+// 48750 - Burning Depths Necrolyte Image
+class spell_gen_burning_depths_necrolyte_image : public SpellScriptLoader
+{
+ public:
+ spell_gen_burning_depths_necrolyte_image() : SpellScriptLoader("spell_gen_burning_depths_necrolyte_image") { }
+
+ class spell_gen_burning_depths_necrolyte_image_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_gen_burning_depths_necrolyte_image_AuraScript);
+
+ bool Validate(SpellInfo const* spellInfo) override
+ {
+ if (!sSpellMgr->GetSpellInfo(uint32(spellInfo->GetEffect(EFFECT_2)->CalcValue())))
+ return false;
+ return true;
+ }
+
+ void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (Unit* caster = GetCaster())
+ caster->CastSpell(GetTarget(), uint32(GetSpellInfo()->GetEffect(EFFECT_2)->CalcValue()));
+ }
+
+ void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ GetTarget()->RemoveAurasDueToSpell(uint32(GetSpellInfo()->GetEffect(EFFECT_2)->CalcValue()), GetCasterGUID());
+ }
+
+ void Register() override
+ {
+ AfterEffectApply += AuraEffectApplyFn(spell_gen_burning_depths_necrolyte_image_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
+ AfterEffectRemove += AuraEffectRemoveFn(spell_gen_burning_depths_necrolyte_image_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_gen_burning_depths_necrolyte_image_AuraScript();
+ }
+};
+
enum CannibalizeSpells
{
SPELL_CANNIBALIZE_TRIGGERED = 20578
@@ -4088,6 +4129,7 @@ void AddSC_generic_spell_scripts()
new spell_gen_break_shield("spell_gen_break_shield");
new spell_gen_break_shield("spell_gen_tournament_counterattack");
new spell_gen_burn_brutallus();
+ new spell_gen_burning_depths_necrolyte_image();
new spell_gen_cannibalize();
new spell_gen_chaos_blast();
new spell_gen_clone();
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/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index e72e094ea06..964e69874c3 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -1422,6 +1422,7 @@ public:
void Reset() override
{
+ // TODO: solve this in a different way! setting them as stunned prevents dummies from parrying
me->SetControlled(true, UNIT_STATE_STUNNED);//disable rotate
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);//imune to knock aways like blast wave
diff --git a/src/server/shared/DataStores/DB2StorageLoader.cpp b/src/server/shared/DataStores/DB2StorageLoader.cpp
index 347d3dfab5b..c50140adc34 100644
--- a/src/server/shared/DataStores/DB2StorageLoader.cpp
+++ b/src/server/shared/DataStores/DB2StorageLoader.cpp
@@ -169,9 +169,11 @@ bool DB2FileLoader::Load(const char *filename, const char *fmt)
for (uint32 i = 1; i < fieldCount; i++)
{
fieldsOffset[i] = fieldsOffset[i - 1];
- if (fmt[i - 1] == 'b')
+ if (fmt[i - 1] == FT_BYTE) // byte fields
fieldsOffset[i] += 1;
- else
+ else if (fmt[i - 1] == FT_LONG)
+ fieldsOffset[i] += 8;
+ else // 4 byte fields (int32/float/strings)
fieldsOffset[i] += 4;
}
diff --git a/src/server/worldserver/CommandLine/CliRunnable.cpp b/src/server/worldserver/CommandLine/CliRunnable.cpp
index 6e961922b0e..ff55a181f71 100644
--- a/src/server/worldserver/CommandLine/CliRunnable.cpp
+++ b/src/server/worldserver/CommandLine/CliRunnable.cpp
@@ -41,9 +41,9 @@
char* command_finder(const char* text, int state)
{
- static int idx, len;
+ static size_t idx, len;
const char* ret;
- ChatCommand* cmd = ChatHandler::getCommandTable();
+ std::vector<ChatCommand> const& cmd = ChatHandler::getCommandTable();
if (!state)
{
@@ -51,20 +51,19 @@ char* command_finder(const char* text, int state)
len = strlen(text);
}
- while ((ret = cmd[idx].Name))
+ while (idx < cmd.size())
{
+ ret = cmd[idx].Name;
if (!cmd[idx].AllowConsole)
{
- idx++;
+ ++idx;
continue;
}
- idx++;
+ ++idx;
//printf("Checking %s \n", cmd[idx].Name);
if (strncmp(ret, text, len) == 0)
return strdup(ret);
- if (cmd[idx].Name == NULL)
- break;
}
return ((char*)NULL);
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 65daf1480ca..23e7c20a966 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -1143,11 +1143,11 @@ FeatureSystem.CharacterUndelete.Cooldown = 2592000
# DATABASE_WORLD = 4, // World database
# DATABASE_HOTFIX = 8, // Hotfixes database
#
-# Default: 0 - (All Disabled)
+# Default: 15 - (All enabled)
# 4 - (Enable world only)
-# 15 - (All enabled)
+# 0 - (All Disabled)
-Updates.EnableDatabases = 0
+Updates.EnableDatabases = 15
#
# Updates.SourcePath
@@ -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.
diff --git a/src/tools/connection_patcher/Patches/Mac.hpp b/src/tools/connection_patcher/Patches/Mac.hpp
index 89ef83459b1..17d61df9930 100644
--- a/src/tools/connection_patcher/Patches/Mac.hpp
+++ b/src/tools/connection_patcher/Patches/Mac.hpp
@@ -31,7 +31,7 @@ namespace Connection_Patcher
{
static const std::vector<unsigned char> BNet () { return { 0xB8, 0xD5, 0xF8, 0x7F, 0x82, 0x89, 0x47, 0x0C, 0x5D, 0xC3, 0x90, 0x90, 0x90 }; }
static const std::vector<unsigned char> Password () { return { 0x0F, 0x85 }; }
- static const std::vector<unsigned char> Signature() { return { 0x41, 0xB6, 0x01, 0x41, 0xBF, 0x02, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 }; }
+ static const std::vector<unsigned char> Signature() { return { 0x41, 0xBC, 0x02, 0x00, 0x00, 0x00, 0x41, 0xB6, 0x01, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 }; }
};
};
}
diff --git a/src/tools/connection_patcher/Patterns/Mac.hpp b/src/tools/connection_patcher/Patterns/Mac.hpp
index b8ffc883dd4..feeaebd2f5a 100644
--- a/src/tools/connection_patcher/Patterns/Mac.hpp
+++ b/src/tools/connection_patcher/Patterns/Mac.hpp
@@ -31,7 +31,7 @@ namespace Connection_Patcher
{
static const std::vector<unsigned char> BNet () { return { 0x8B, 0x06, 0x89, 0x47, 0x0C, 0x5D, 0xC3 }; }
static const std::vector<unsigned char> Password () { return { 0x0F, 0x84, 0x00, 0xFF, 0xFF, 0xFF, 0x49, 0x8B, 0x45, 0x00, 0xB9, 0x40 }; }
- static const std::vector<unsigned char> Signature() { return { 0x45, 0x31, 0xF6, 0x31, 0xF6, 0x31, 0xD2, 0x4C, 0x89, 0xE7, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x41, 0xBF, 0x04, 0x00, 0x00, 0x00 }; }
+ static const std::vector<unsigned char> Signature() { return { 0x45, 0x31, 0xF6, 0x31, 0xF6, 0x31, 0xD2, 0x48, 0x89, 0xDF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x41, 0xBC, 0x04, 0x00, 0x00, 0x00 }; }
};
};
}
diff --git a/src/tools/mmaps_generator/VMapExtensions.cpp b/src/tools/mmaps_generator/VMapExtensions.cpp
deleted file mode 100644
index 63c8e524542..00000000000
--- a/src/tools/mmaps_generator/VMapExtensions.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/>
- * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
- *
- * 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 <vector>
-#include "MapTree.h"
-#include "VMapManager2.h"
-#include "WorldModel.h"
-#include "ModelInstance.h"
-
-namespace VMAP
-{
- // Need direct access to encapsulated VMAP data, so we add functions for MMAP generator
- // maybe add MapBuilder as friend to all of the below classes would be better?
-
- // declared in src/shared/vmap/MapTree.h
- void StaticMapTree::getModelInstances(ModelInstance* &models, uint32 &count)
- {
- models = iTreeValues;
- count = iNTreeValues;
- }
-
- // declared in src/shared/vmap/VMapManager2.h
- void VMapManager2::getInstanceMapTree(InstanceTreeMap &instanceMapTree)
- {
- instanceMapTree = iInstanceMapTrees;
- }
-
- // declared in src/shared/vmap/WorldModel.h
- void WorldModel::getGroupModels(std::vector<GroupModel> &groupModels)
- {
- groupModels = this->groupModels;
- }
-
- // declared in src/shared/vmap/WorldModel.h
- void GroupModel::getMeshData(std::vector<G3D::Vector3> &vertices, std::vector<MeshTriangle> &triangles, WmoLiquid* &liquid)
- {
- vertices = this->vertices;
- triangles = this->triangles;
- liquid = iLiquid;
- }
-
- // declared in src/shared/vmap/ModelInstance.h
- WorldModel* ModelInstance::getWorldModel()
- {
- return iModel;
- }
-
- // declared in src/shared/vmap/WorldModel.h
- void WmoLiquid::getPosInfo(uint32 &tilesX, uint32 &tilesY, G3D::Vector3 &corner) const
- {
- tilesX = iTilesX;
- tilesY = iTilesY;
- corner = iCorner;
- }
-}