diff --git a/.dockerignore b/.dockerignore index ea6c901b7..e0f14b384 100644 --- a/.dockerignore +++ b/.dockerignore @@ -9,8 +9,11 @@ /env/docker/* !/env/docker/bin/.gitkeep !/env/docker/data/.gitkeep +!/env/docker/etc/ +/env/docker/etc/* !/env/docker/etc/authserver.conf.dockerdist !/env/docker/etc/worldserver.conf.dockerdist +!/env/docker/etc/dbimport.conf.dockerdist !/env/docker/logs/.gitkeep /.env* .idea diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml index 7ccbf23f9..0914d5021 100644 --- a/.github/workflows/docker_build.yml +++ b/.github/workflows/docker_build.yml @@ -68,7 +68,7 @@ jobs: run: | export DOCKER_USER_ID=$(id -u) export DOCKER_GROUP_ID=$(id -u) - docker-compose --profile dev --profile local build --parallel + ./acore.sh docker build - name: Deploy Dev #env: @@ -97,7 +97,7 @@ jobs: run: | export DOCKER_USER_ID=$(id -u) export DOCKER_GROUP_ID=$(id -u) - docker-compose --profile build --profile prod build --parallel + ./acore.sh docker prod:build docker-compose run --no-deps --name build ac-build echo "image created" docker cp build:/azerothcore/var/ccache var/docker/ echo "ccache exported" diff --git a/.gitignore b/.gitignore index 42316d04f..541403eaf 100644 --- a/.gitignore +++ b/.gitignore @@ -20,8 +20,11 @@ /env/docker/* !/env/docker/bin/.gitkeep !/env/docker/data/.gitkeep +!/env/docker/etc/ +/env/docker/etc/* !/env/docker/etc/authserver.conf.dockerdist !/env/docker/etc/worldserver.conf.dockerdist +!/env/docker/etc/dbimport.conf.dockerdist !/env/docker/logs/.gitkeep /.env* /apps/joiner diff --git a/apps/bash_shared/deno.sh b/apps/bash_shared/deno.sh index 68086acf5..1caaf6f80 100644 --- a/apps/bash_shared/deno.sh +++ b/apps/bash_shared/deno.sh @@ -1,4 +1,4 @@ -DENO_MIN_VERSION="1.9.1" +DENO_MIN_VERSION="1.26.0" function denoInstall() { diff --git a/apps/ci/ci-import-db.sh b/apps/ci/ci-import-db.sh deleted file mode 100755 index a7ee847d8..000000000 --- a/apps/ci/ci-import-db.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -set -e - -sudo systemctl start mysql -./acore.sh "db-assembler" "import-all" - -if [ -s modules/mod-premium/sql/example_item_9017.sql ] -then - echo "Import custom module item..." - # if the premium module is available insert the example item or else the worldserver dry run will fail - mysql -uroot -proot acore_world < modules/mod-premium/sql/example_item_9017.sql - echo "Done!" -fi diff --git a/apps/compiler/includes/functions.sh b/apps/compiler/includes/functions.sh index ced1f488d..04467cbf0 100644 --- a/apps/compiler/includes/functions.sh +++ b/apps/compiler/includes/functions.sh @@ -111,6 +111,7 @@ function comp_compile() { echo "Generating confs..." cp -n "env/dist/etc/worldserver.conf.dockerdist" "env/dist/etc/worldserver.conf" cp -n "env/dist/etc/authserver.conf.dockerdist" "env/dist/etc/authserver.conf" + cp -n "env/dist/etc/dbimport.conf.dockerdist" "env/dist/etc/dbimport.conf" fi runHooks "ON_AFTER_BUILD" diff --git a/apps/db_assembler/README.md b/apps/db_assembler/README.md index 865efc454..46ee0075e 100644 --- a/apps/db_assembler/README.md +++ b/apps/db_assembler/README.md @@ -1,5 +1,7 @@ ## Description +**ATTENTION:** this tool is not supported anymore. It has been replaced by the **dbimport** tools integrated in AC server sources + This script allows you to assemble all sql files into one so you can easily import it to your databases (or use the main script to import directly). By default, it creates the merged files in `/env/dist`. ## How to use: @@ -15,7 +17,7 @@ Just run it to display the options. Note: You can even use actions directly by command lines specifying the option. Ex: - ./db_assembler.sh 1 + ./db_assembler.sh 1 It will merge all sql files without an interactive menu. diff --git a/apps/db_assembler/conf.dist.sh b/apps/db_assembler/conf.dist.sh new file mode 100644 index 000000000..c16710b7d --- /dev/null +++ b/apps/db_assembler/conf.dist.sh @@ -0,0 +1,121 @@ +############################################## +# +# DB ASSEMBLER / EXPORTER CONFIGURATIONS +# +############################################## + +# +# Comma separated list of databases +# +# You can add another element here if you need +# to support multiple databases +# + +DBLIST=${DBLIST:-"AUTH,CHARACTERS,WORLD"} +# convert from comma separated list to an array. +# This is needed to support environment variables +readarray -td, DATABASES <<<"$DBLIST"; + +OUTPUT_FOLDER=${OUTPUT_FOLDER:-"$AC_PATH_ROOT/env/dist/sql/"} + +DBASM_WAIT_TIMEOUT=${DBASM_WAIT_TIMEOUT:-5} +DBASM_WAIT_RETRIES=${DBASM_WAIT_RETRIES:-3} + +####### BACKUP +# Set to true if you want to backup your azerothcore databases before importing the SQL with the db_assembler +# Do not forget to stop your database software (mysql) before doing so + +BACKUP_ENABLE=false + +BACKUP_FOLDER="$AC_PATH_ROOT/env/dist/sql/backup/" + +####### + +# FULL DB +DB_AUTH_PATHS=( + "$SRCPATH/data/sql/base/db_auth/" +) + +DB_CHARACTERS_PATHS=( + "$SRCPATH/data/sql/base/db_characters" +) + +DB_WORLD_PATHS=( + "$SRCPATH/data/sql/base/db_world/" +) + +# UPDATES +DB_AUTH_UPDATES_PATHS=( + "$SRCPATH/data/sql/updates/db_auth/" + "$SRCPATH/data/sql/updates/pending_db_auth/" +) + +DB_CHARACTERS_UPDATES_PATHS=( + "$SRCPATH/data/sql/updates/db_characters/" + "$SRCPATH/data/sql/updates/pending_db_characters/" +) + +DB_WORLD_UPDATES_PATHS=( + "$SRCPATH/data/sql/updates/db_world/" + "$SRCPATH/data/sql/updates/pending_db_world/" +) + +# CUSTOM +DB_AUTH_CUSTOM_PATHS=( + "$SRCPATH/data/sql/custom/db_auth/" +) + +DB_CHARACTERS_CUSTOM_PATHS=( + "$SRCPATH/data/sql/custom/db_characters/" +) + +DB_WORLD_CUSTOM_PATHS=( + "$SRCPATH/data/sql/custom/db_world/" +) + +############################################## +# +# DB EXPORTER/IMPORTER CONFIGURATIONS +# +############################################## + +# +# Skip import of base sql files to avoid +# table dropping +# +DB_SKIP_BASE_IMPORT_IF_EXISTS=true + +# +# Example: +# "C:/Program Files/MySQL/MySQL Server 8.0/bin/mysql.exe" +# "/usr/bin/mysql" +# "mysql" +# + +DB_MYSQL_EXEC="mysql" +DB_MYSQL_DUMP_EXEC="mysqldump" + + +DB_AUTH_CONF=${DB_AUTH_CONF:-"MYSQL_USER='acore'; \ + MYSQL_PASS='acore'; \ + MYSQL_HOST='localhost';\ + MYSQL_PORT='3306';\ + "} + +DB_CHARACTERS_CONF=${DB_CHARACTERS_CONF:-"MYSQL_USER='acore'; \ + MYSQL_PASS='acore'; \ + MYSQL_HOST='localhost';\ + MYSQL_PORT='3306';\ + "} + +DB_WORLD_CONF=${DB_WORLD_CONF:-"MYSQL_USER='acore'; \ + MYSQL_PASS='acore'; \ + MYSQL_HOST='localhost';\ + MYSQL_PORT='3306';\ + "} + +DB_AUTH_NAME="acore_auth" + +DB_CHARACTERS_NAME="acore_characters" + +DB_WORLD_NAME="acore_world" diff --git a/apps/docker/Dockerfile b/apps/docker/Dockerfile index 1a53b7a80..c89e01fb2 100644 --- a/apps/docker/Dockerfile +++ b/apps/docker/Dockerfile @@ -179,6 +179,7 @@ RUN mkdir -p /azerothcore/env/etc/ COPY --chown=$DOCKER_USER:$DOCKER_USER var/docker/ccache /azerothcore/var/ccache COPY --chown=$DOCKER_USER:$DOCKER_USER env/docker/etc/authserver.conf.dockerdist /azerothcore/env/dist/etc/authserver.conf.dockerdist COPY --chown=$DOCKER_USER:$DOCKER_USER env/docker/etc/worldserver.conf.dockerdist /azerothcore/env/dist/etc/worldserver.conf.dockerdist +COPY --chown=$DOCKER_USER:$DOCKER_USER env/docker/etc/dbimport.conf.dockerdist /azerothcore/env/dist/etc/dbimport.conf.dockerdist # install eluna RUN git clone --depth=1 --branch=master https://github.com/azerothcore/mod-eluna.git /azerothcore/modules/mod-eluna @@ -189,8 +190,8 @@ ENV AC_CCACHE=true ENV CCACHE_CPP2=true ENV CSCRIPTPCH=OFF ENV CCOREPCH=OFF -# ENV CTOOLS_BUILD=all -ENV CTOOLS_BUILD=maps-only +ENV CTOOLS_BUILD=all +# ENV CTOOLS_BUILD=maps-only ENV CSCRIPTS=static RUN bash apps/docker/docker-build-prod.sh @@ -225,6 +226,7 @@ RUN mkdir -p /azerothcore/env/dist/bin/lua_scripts COPY --chown=$DOCKER_USER:$DOCKER_USER --from=build /azerothcore/env/dist/etc /azerothcore/env/dist/etc COPY --chown=$DOCKER_USER:$DOCKER_USER --from=build /azerothcore/env/dist/bin/worldserver /azerothcore/env/dist/bin/worldserver COPY --chown=$DOCKER_USER:$DOCKER_USER --from=build /azerothcore/env/dist/bin/lua_scripts /azerothcore/env/dist/bin/lua_scripts +COPY --chown=$DOCKER_USER:$DOCKER_USER --from=build /azerothcore/env/dist/bin/dbimport /azerothcore/env/dist/bin/dbimport #================================================================ # diff --git a/apps/docker/docker-cmd.ts b/apps/docker/docker-cmd.ts index 20e22f0f5..c140cb165 100644 --- a/apps/docker/docker-cmd.ts +++ b/apps/docker/docker-cmd.ts @@ -3,7 +3,7 @@ import * as ink from "https://deno.land/x/ink/mod.ts"; import { Input, Select, -} from "https://deno.land/x/cliffy@v0.18.2/prompt/mod.ts"; +} from "https://deno.land/x/cliffy@v0.25.2/prompt/mod.ts"; const program = new Command(); diff --git a/apps/installer/includes/includes.sh b/apps/installer/includes/includes.sh index 5b99c45cc..c0d6bb8bd 100644 --- a/apps/installer/includes/includes.sh +++ b/apps/installer/includes/includes.sh @@ -16,7 +16,6 @@ if [ -f "$AC_PATH_INSTALLER/config.sh" ]; then fi source "$AC_PATH_APPS/compiler/includes/includes.sh" -source "$AC_PATH_APPS/db_assembler/includes/includes.sh" source "$AC_PATH_DEPS/semver_bash/semver.sh" diff --git a/apps/installer/main.sh b/apps/installer/main.sh index b985b225b..7475c8f2f 100644 --- a/apps/installer/main.sh +++ b/apps/installer/main.sh @@ -11,16 +11,15 @@ options=( "pull (u): Update Repository" # 3 "reset (r): Reset & Clean Repository" # 4 "compiler (c): Run compiler tool" # 5 - "db-assembler (a): Run db assembler tool" # 6 - "module-search (ms): Module Search by keyword" # 7 - "module-install (mi): Module Install by name" # 8 - "module-update (mu): Module Update by name" # 9 - "module-remove: (mr): Module Remove by name" # 10 - "client-data: (gd): download client data from github repository (beta)" # 11 - "run-worldserver (rw): execute a simple restarter for worldserver" # 12 - "run-authserver (ra): execute a simple restarter for authserver" # 13 - "docker (dr): Run docker tools" # 14 - "quit: Exit from this menu" # 15 + "module-search (ms): Module Search by keyword" # 6 + "module-install (mi): Module Install by name" # 7 + "module-update (mu): Module Update by name" # 8 + "module-remove: (mr): Module Remove by name" # 9 + "client-data: (gd): download client data from github repository (beta)" # 10 + "run-worldserver (rw): execute a simple restarter for worldserver" # 11 + "run-authserver (ra): execute a simple restarter for authserver" # 12 + "docker (dr): Run docker tools" # 13 + "quit: Exit from this menu" # 14 ) function _switch() { @@ -43,35 +42,32 @@ function _switch() { ""|"c"|"compiler"|"5") bash "$AC_PATH_APPS/compiler/compiler.sh" $_opt ;; - ""|"a"|"db-assembler"|"6") - bash "$AC_PATH_APPS/db_assembler/db_assembler.sh" $_opt - ;; - ""|"ms"|"module-search"|"7") + ""|"ms"|"module-search"|"6") inst_module_search "$_opt" ;; - ""|"mi"|"module-install"|"8") + ""|"mi"|"module-install"|"7") inst_module_install "$_opt" ;; - ""|"mu"|"module-update"|"9") + ""|"mu"|"module-update"|"8") inst_module_update "$_opt" ;; - ""|"mr"|"module-remove"|"10") + ""|"mr"|"module-remove"|"9") inst_module_remove "$_opt" ;; - ""|"gd"|"client-data"|"11") + ""|"gd"|"client-data"|"10") inst_download_client_data ;; - ""|"rw"|"run-worldserver"|"12") + ""|"rw"|"run-worldserver"|"11") inst_simple_restarter worldserver ;; - ""|"ra"|"run-authserver"|"13") + ""|"ra"|"run-authserver"|"12") inst_simple_restarter authserver ;; - ""|"dr"|"docker"|"14") + ""|"dr"|"docker"|"13") DOCKER=1 denoRunFile "$AC_PATH_APPS/docker/docker-cmd.ts" "${@:2}" exit ;; - ""|"quit"|"15") + ""|"quit"|"14") echo "Goodbye!" exit ;; diff --git a/conf/dist/config.sh b/conf/dist/config.sh index d04f474c9..3c85c0c18 100644 --- a/conf/dist/config.sh +++ b/conf/dist/config.sh @@ -145,124 +145,3 @@ export CPUPROFILESIGNAL=${CPUPROFILESIGNAL:-12} #export HEAPCHECK=${HEAPCHECK:-normal} -############################################## -# -# DB ASSEMBLER / EXPORTER CONFIGURATIONS -# -############################################## - -# -# Comma separated list of databases -# -# You can add another element here if you need -# to support multiple databases -# - -DBLIST=${DBLIST:-"AUTH,CHARACTERS,WORLD"} -# convert from comma separated list to an array. -# This is needed to support environment variables -readarray -td, DATABASES <<<"$DBLIST"; - -OUTPUT_FOLDER=${OUTPUT_FOLDER:-"$AC_PATH_ROOT/env/dist/sql/"} - -DBASM_WAIT_TIMEOUT=${DBASM_WAIT_TIMEOUT:-5} -DBASM_WAIT_RETRIES=${DBASM_WAIT_RETRIES:-3} - -####### BACKUP -# Set to true if you want to backup your azerothcore databases before importing the SQL with the db_assembler -# Do not forget to stop your database software (mysql) before doing so - -BACKUP_ENABLE=false - -BACKUP_FOLDER="$AC_PATH_ROOT/env/dist/sql/backup/" - -####### - -# FULL DB -DB_AUTH_PATHS=( - "$SRCPATH/data/sql/base/db_auth/" -) - -DB_CHARACTERS_PATHS=( - "$SRCPATH/data/sql/base/db_characters" -) - -DB_WORLD_PATHS=( - "$SRCPATH/data/sql/base/db_world/" -) - -# UPDATES -DB_AUTH_UPDATES_PATHS=( - "$SRCPATH/data/sql/updates/db_auth/" - "$SRCPATH/data/sql/updates/pending_db_auth/" -) - -DB_CHARACTERS_UPDATES_PATHS=( - "$SRCPATH/data/sql/updates/db_characters/" - "$SRCPATH/data/sql/updates/pending_db_characters/" -) - -DB_WORLD_UPDATES_PATHS=( - "$SRCPATH/data/sql/updates/db_world/" - "$SRCPATH/data/sql/updates/pending_db_world/" -) - -# CUSTOM -DB_AUTH_CUSTOM_PATHS=( - "$SRCPATH/data/sql/custom/db_auth/" -) - -DB_CHARACTERS_CUSTOM_PATHS=( - "$SRCPATH/data/sql/custom/db_characters/" -) - -DB_WORLD_CUSTOM_PATHS=( - "$SRCPATH/data/sql/custom/db_world/" -) - -############################################## -# -# DB EXPORTER/IMPORTER CONFIGURATIONS -# -############################################## - -# -# Skip import of base sql files to avoid -# table dropping -# -DB_SKIP_BASE_IMPORT_IF_EXISTS=true - -# -# Example: -# "C:/Program Files/MySQL/MySQL Server 8.0/bin/mysql.exe" -# "/usr/bin/mysql" -# "mysql" -# - -DB_MYSQL_EXEC="mysql" -DB_MYSQL_DUMP_EXEC="mysqldump" - - -DB_AUTH_CONF=${DB_AUTH_CONF:-"MYSQL_USER='acore'; \ - MYSQL_PASS='acore'; \ - MYSQL_HOST='localhost';\ - MYSQL_PORT='3306';\ - "} - -DB_CHARACTERS_CONF=${DB_CHARACTERS_CONF:-"MYSQL_USER='acore'; \ - MYSQL_PASS='acore'; \ - MYSQL_HOST='localhost';\ - MYSQL_PORT='3306';\ - "} - -DB_WORLD_CONF=${DB_WORLD_CONF:-"MYSQL_USER='acore'; \ - MYSQL_PASS='acore'; \ - MYSQL_HOST='localhost';\ - MYSQL_PORT='3306';\ - "} - -DB_AUTH_NAME="acore_auth" - -DB_CHARACTERS_NAME="acore_characters" - -DB_WORLD_NAME="acore_world" diff --git a/data/sql/updates/db_world/2022_10_05_00.sql b/data/sql/updates/db_world/2022_10_05_00.sql new file mode 100644 index 000000000..55b9dbf16 --- /dev/null +++ b/data/sql/updates/db_world/2022_10_05_00.sql @@ -0,0 +1,2951 @@ +-- DB update 2022_10_02_00 -> 2022_10_05_00 +-- +-- Restoring spell_proc to how it was before the commit. +DROP TABLE IF EXISTS `spell_proc`; +CREATE TABLE IF NOT EXISTS `spell_proc` ( + `spellId` MEDIUMINT(9) NOT NULL DEFAULT '0', + `schoolMask` TINYINT(4) NOT NULL DEFAULT '0', + `spellFamilyName` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', + `spellFamilyMask0` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `spellFamilyMask1` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `spellFamilyMask2` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `typeMask` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `spellTypeMask` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `spellPhaseMask` INT(11) NOT NULL DEFAULT '0', + `hitMask` INT(11) NOT NULL DEFAULT '0', + `attributesMask` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `ratePerMinute` FLOAT NOT NULL DEFAULT '0', + `chance` FLOAT NOT NULL DEFAULT '0', + `cooldown` FLOAT NOT NULL DEFAULT '0', + `charges` INT(10) UNSIGNED NOT NULL DEFAULT '0', + PRIMARY KEY (`spellId`) +) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4; + +-- Restoring spell_script_names to how it was before the commit +DROP TABLE IF EXISTS `spell_script_names`; +CREATE TABLE IF NOT EXISTS `spell_script_names` ( + `spell_id` INT(11) NOT NULL, + `ScriptName` CHAR(64) NOT NULL, + UNIQUE KEY `spell_id` (`spell_id`,`ScriptName`) +) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4; + +DELETE FROM `spell_script_names`; + +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(-62900, 'spell_dk_death_coil'), +(-61391, 'spell_dru_typhoon'), +(-58872, 'spell_warr_damage_shield'), +(-56342, 'spell_hun_lock_and_load'), +(-55428, 'spell_gen_lifeblood'), +(-55090, 'spell_dk_scourge_strike'), +(-54347, 'spell_warl_improved_demonic_tactics'), +(-53302, 'spell_hun_sniper_training'), +(-52284, 'spell_dk_will_of_the_necropolis'), +(-51940, 'spell_sha_earthliving_weapon'), +(-51685, 'spell_rog_prey_on_the_weak'), +(-51490, 'spell_sha_thunderstorm'), +(-51474, 'spell_sha_astral_shift'), +(-51123, 'spell_gen_no_offhand_proc'), +(-50391, 'spell_dk_improved_unholy_presence'), +(-50384, 'spell_dk_improved_frost_presence'), +(-50365, 'spell_dk_improved_blood_presence'), +(-50294, 'spell_dru_starfall_aoe'), +(-50286, 'spell_dru_starfall_dummy'), +(-49998, 'spell_dk_death_strike'), +(-49821, 'spell_pri_mind_sear'), +(-49219, 'spell_dk_blood_caked_blade'), +(-49217, 'spell_dk_wandering_plague_aura'), +(-49188, 'spell_gen_no_offhand_proc'), +(-49158, 'spell_dk_corpse_explosion'), +(-49145, 'spell_dk_spell_deflection'), +(-49004, 'spell_dk_scent_of_blood_trigger'), +(-49004, 'spell_gen_proc_from_direct_damage'), +(-48721, 'spell_dk_blood_boil'), +(-48496, 'spell_dru_living_seed'), +(-48438, 'spell_dru_wild_growth'), +(-48181, 'spell_warl_haunt'), +(-47897, 'spell_warl_shadowflame'), +(-47541, 'spell_dk_death_coil'), +(-47540, 'spell_pri_penance'), +(-47509, 'spell_pri_divine_aegis'), +(-47230, 'spell_warl_fel_synergy'), +(-44546, 'spell_mage_brain_freeze'), +(-44543, 'spell_mage_fingers_of_frost_proc_aura'), +(-44457, 'spell_mage_living_bomb'), +(-44450, 'spell_mage_burnout_trigger'), +(-44449, 'spell_mage_burnout'), +(-43265, 'spell_dk_death_and_decay'), +(-42243, 'spell_hun_volley_trigger'), +(-35696, 'spell_warl_demonic_knowledge'), +(-35541, 'spell_rog_combat_potency'), +(-34914, 'spell_pri_vampiric_touch'), +(-34861, 'spell_pri_circle_of_healing'), +(-33872, 'spell_dru_nurturing_instinct'), +(-33851, 'spell_dru_primal_tenacity'), +(-33763, 'spell_dru_lifebloom'), +(-32379, 'spell_pri_shadow_word_death'), +(-31850, 'spell_pal_ardent_defender'), +(-31228, 'spell_rog_cheat_death'), +(-31130, 'spell_rog_nerves_of_steel'), +(-30706, 'spell_sha_totem_of_wrath'), +(-30482, 'spell_mage_molten_armor'), +(-30451, 'spell_mage_arcane_blast'), +(-30143, 'spell_warl_demonic_aegis'), +(-30108, 'spell_warl_unstable_affliction'), +(-29074, 'spell_mage_master_of_elements'), +(-27285, 'spell_warl_seed_of_corruption'), +(-24869, 'spell_gen_holiday_buff_food'), +(-20473, 'spell_pal_holy_shock'), +(-19572, 'spell_hun_improved_mend_pet'), +(-19386, 'spell_hun_wyvern_sting'), +(-17002, 'spell_dru_feral_swiftness'), +(-16972, 'spell_dru_predatory_strikes'), +(-16257, 'spell_sha_flurry_proc'), +(-12317, 'spell_gen_proc_from_direct_damage'), +(-12162, 'spell_warr_deep_wounds'), +(-11426, 'spell_mage_ice_barrier'), +(-11119, 'spell_mage_ignite'), +(-11113, 'spell_mage_blast_wave'), +(-9799, 'spell_pal_eye_for_an_eye'), +(-8050, 'spell_sha_flame_shock'), +(-7001, 'spell_pri_lightwell_renew'), +(-6229, 'spell_warl_shadow_ward'), +(-6201, 'spell_warl_create_healthstone'), +(-6143, 'spell_mage_fire_frost_ward'), +(-5570, 'spell_dru_insect_swarm'), +(-5308, 'spell_warr_execute'), +(-5217, 'spell_dru_tiger_s_fury'), +(-2818, 'spell_rog_deadly_poison'), +(-1943, 'spell_rog_rupture'), +(-1850, 'spell_dru_dash'), +(-1535, 'spell_sha_fire_nova'), +(-1464, 'spell_warr_slam'), +(-1463, 'spell_mage_mana_shield'), +(-1454, 'spell_warl_life_tap'), +(-1120, 'spell_warl_drain_soul'), +(-1079, 'spell_dru_rip'), +(-1064, 'spell_sha_chain_heal'), +(-974, 'spell_sha_earth_shield'), +(-772, 'spell_warr_rend'), +(-755, 'spell_hun_check_pet_los'), +(-755, 'spell_warl_health_funnel'), +(-746, 'spell_gen_bandage'), +(-710, 'spell_warl_banish'), +(-633, 'spell_pal_lay_on_hands'), +(-603, 'spell_warl_curse_of_doom'), +(-543, 'spell_mage_fire_frost_ward'), +(-139, 'spell_pri_renew'), +(-136, 'spell_hun_check_pet_los'), +(-100, 'spell_warr_charge'), +(-17, 'spell_pri_power_word_shield'), +(126, 'spell_warl_eye_of_kilrogg'), +(605, 'spell_pri_mind_control'), +(694, 'spell_warr_mocking_blow'), +(698, 'spell_warl_ritual_of_summoning'), +(781, 'spell_hun_disengage'), +(802, 'spell_mutate_explode_bug'), +(804, 'spell_mutate_explode_bug'), +(818, 'spell_gen_basic_campfire'), +(1038, 'spell_pal_hand_of_salvation'), +(1090, 'spell_item_magic_dust'), +(1178, 'spell_dru_bear_form_passive'), +(1515, 'spell_hun_tame_beast'), +(1742, 'spell_hun_cower'), +(2825, 'spell_sha_bloodlust'), +(3411, 'spell_warr_intervene'), +(4073, 'spell_gen_allow_cast_from_item_only'), +(4338, 'spell_q13280_13283_plant_battle_standard'), +(5024, 'spell_item_skull_of_impeding_doom'), +(5229, 'spell_dru_enrage'), +(5246, 'spell_warr_intimidating_shout'), +(5487, 'spell_dru_feral_swiftness'), +(5938, 'spell_rog_shiv'), +(6358, 'spell_warl_seduction'), +(6474, 'spell_sha_earthbind_totem'), +(6495, 'spell_sha_sentry_totem'), +(6870, 'spell_gen_moss_covered_feet'), +(6940, 'spell_pal_hand_of_sacrifice'), +(6962, 'spell_gen_pet_summoned'), +(7054, 'spell_shadowfang_keep_forsaken_skills'), +(7057, 'spell_shadowfang_keep_haunting_spirits'), +(7102, 'spell_contagion_of_rot'), +(7215, 'spell_item_with_mount_speed'), +(7384, 'spell_warr_overpower'), +(7434, 'spell_item_fate_rune_of_unsurpassed_vigor'), +(7887, 'spell_warr_overpower'), +(7932, 'spell_item_anti_venom'), +(7933, 'spell_item_strong_anti_venom'), +(8063, 'spell_item_deviate_fish'), +(8067, 'spell_item_party_time'), +(8129, 'spell_pri_mana_burn'), +(8171, 'spell_sha_cleansing_totem_pulse'), +(8213, 'spell_item_savory_deviate_delight'), +(8342, 'spell_item_goblin_jumper_cables'), +(8344, 'spell_item_gnomish_universal_remote'), +(8593, 'spell_symbol_of_life_dummy'), +(8856, 'spell_q1846_bending_shinbone'), +(8913, 'spell_q55_sacred_cleansing'), +(9204, 'spell_gen_hate_to_zero'), +(9634, 'spell_dru_feral_swiftness'), +(9635, 'spell_dru_bear_form_passive'), +(9712, 'spell_q2203_thaumaturgy_channel'), +(9771, 'spell_gnomeregan_radiation_bolt'), +(10101, 'spell_gen_knock_away'), +(10247, 'spell_zulfarrak_summon_zulfarrak_zombies'), +(10255, 'spell_uldaman_stoned'), +(10340, 'spell_uldaman_boss_agro_archaedas'), +(10738, 'spell_zulfarrak_unlocking'), +(11568, 'spell_uldaman_sub_boss_agro_keepers'), +(11584, 'spell_warr_overpower'), +(11585, 'spell_warr_overpower'), +(11885, 'spell_item_muisek_vessel'), +(11886, 'spell_item_muisek_vessel'), +(11887, 'spell_item_muisek_vessel'), +(11888, 'spell_item_muisek_vessel'), +(11889, 'spell_item_muisek_vessel'), +(11958, 'spell_mage_cold_snap'), +(12021, 'spell_scholomance_fixate'), +(12328, 'spell_warr_sweeping_strikes'), +(12346, 'spell_temple_of_atal_hakkar_awaken_the_soulflayer'), +(12479, 'spell_temple_of_atal_hakkar_hex_of_jammal_an'), +(12749, 'spell_gen_allow_cast_from_item_only'), +(12809, 'spell_warr_concussion_blow'), +(12975, 'spell_warr_last_stand'), +(13006, 'spell_item_gnomish_shrink_ray'), +(13120, 'spell_item_net_o_matic'), +(13161, 'spell_hun_aspect_of_the_beast'), +(13166, 'spell_gen_allow_cast_from_item_only'), +(13180, 'spell_item_mind_amplify_dish'), +(13258, 'spell_gen_allow_cast_from_item_only'), +(13280, 'spell_item_gnomish_death_ray'), +(13567, 'spell_gen_dummy_trigger'), +(13877, 'spell_rog_blade_flurry'), +(14185, 'spell_rog_preparation'), +(14537, 'spell_item_six_demon_bag'), +(15366, 'spell_gen_disabled_above_63'), +(15600, 'spell_gen_proc_reduced_above_60'), +(15712, 'spell_item_linken_boomerang'), +(15748, 'spell_item_freeze_rookery_egg'), +(15958, 'spell_q4735_collect_rookery_egg'), +(15998, 'spell_gen_despawn_self'), +(16028, 'spell_item_freeze_rookery_egg'), +(16349, 'spell_blackrock_spire_call_of_vaelastrasz'), +(16372, 'spell_gyth_chromatic_protection'), +(16414, 'spell_item_wraith_scythe_drain_life'), +(16589, 'spell_item_noggenfogger_elixir'), +(16796, 'spell_q5056_summon_shy_rotam'), +(16864, 'spell_dru_omen_of_clarity'), +(17009, 'spell_voodoo'), +(17179, 'spell_scholomance_boon_of_life'), +(17251, 'spell_gen_spirit_healer_res'), +(17271, 'spell_q5206_test_fetid_skull'), +(17512, 'spell_item_piccolo_of_the_flaming_fire'), +(18173, 'spell_vael_burning_adrenaline'), +(18277, 'spell_onslaught_or_call_bone_gryphon'), +(18541, 'spell_warl_ritual_of_doom_effect'), +(18670, 'spell_vem_knockback'), +(18765, 'spell_warr_sweeping_strikes'), +(18813, 'spell_gen_knock_away'), +(18945, 'spell_gen_knock_away'), +(19395, 'spell_gordunni_trap'), +(19411, 'spell_magmadar_lava_bomb'), +(19512, 'spell_q6124_6129_apply_salve'), +(19515, 'spell_garr_frenzy'), +(19548, 'spell_hun_tame_beast'), +(19574, 'spell_hun_bestial_wrath'), +(19577, 'spell_hun_intimidation'), +(19593, 'spell_egg_explosion'), +(19597, 'spell_hun_taming_the_beast'), +(19633, 'spell_gen_knock_away'), +(19674, 'spell_hun_tame_beast'), +(19676, 'spell_hun_taming_the_beast'), +(19677, 'spell_hun_taming_the_beast'), +(19678, 'spell_hun_taming_the_beast'), +(19679, 'spell_hun_taming_the_beast'), +(19680, 'spell_hun_taming_the_beast'), +(19681, 'spell_hun_taming_the_beast'), +(19682, 'spell_hun_taming_the_beast'), +(19683, 'spell_hun_taming_the_beast'), +(19684, 'spell_hun_taming_the_beast'), +(19685, 'spell_hun_taming_the_beast'), +(19686, 'spell_hun_taming_the_beast'), +(19687, 'spell_hun_tame_beast'), +(19688, 'spell_hun_tame_beast'), +(19689, 'spell_hun_tame_beast'), +(19692, 'spell_hun_tame_beast'), +(19693, 'spell_hun_tame_beast'), +(19694, 'spell_hun_tame_beast'), +(19695, 'spell_geddon_inferno'), +(19696, 'spell_hun_tame_beast'), +(19697, 'spell_hun_tame_beast'), +(19699, 'spell_hun_tame_beast'), +(19700, 'spell_hun_tame_beast'), +(19753, 'spell_pal_divine_intervention'), +(19774, 'spell_summon_ragnaros'), +(19804, 'spell_gen_allow_cast_from_item_only'), +(19822, 'spell_mc_play_dead'), +(19873, 'spell_egg_event'), +(20004, 'spell_gen_reduced_above_60'), +(20005, 'spell_gen_reduced_above_60'), +(20007, 'spell_gen_reduced_above_60'), +(20154, 'spell_pal_seal_of_righteousness'), +(20165, 'spell_pal_seal_of_light'), +(20166, 'spell_pal_seal_of_light'), +(20230, 'spell_warr_retaliation'), +(20271, 'spell_pal_judgement_of_light'), +(20375, 'spell_pal_seal_of_command'), +(20424, 'spell_pal_seal_of_command'), +(20425, 'spell_pal_judgement_of_command'), +(20474, 'spell_magmadar_lava_bomb'), +(20478, 'spell_geddon_armageddon'), +(20538, 'spell_hate_to_zero'), +(20577, 'spell_gen_cannibalize'), +(20589, 'spell_gen_remove_impairing_auras'), +(20625, 'spell_gen_default_count_pct_from_max_hp'), +(20631, 'spell_gen_use_spell_base_level_check'), +(20686, 'spell_gen_knock_away'), +(20911, 'spell_gen_damage_reduction_aura'), +(20911, 'spell_pal_blessing_of_sanctuary'), +(21084, 'spell_pal_seal_of_righteousness'), +(21094, 'spell_majordomo_separation_nexiety'), +(21108, 'spell_ragnaros_summon_sons_of_flame'), +(21147, 'spell_arcane_vacuum'), +(21149, 'spell_item_eggnog'), +(21708, 'spell_gen_visual_dummy_stun'), +(21737, 'spell_gen_periodic_knock_away'), +(21809, 'spell_gen_random_target32'), +(21848, 'spell_item_snowman'), +(21908, 'spell_ragnaros_lava_burst_randomizer'), +(22247, 'spell_suppression_aura'), +(22276, 'spell_gen_elemental_shield'), +(22282, 'spell_gen_brood_power'), +(22539, 'spell_bwl_shadowflame'), +(22563, 'spell_item_recall'), +(22564, 'spell_item_recall'), +(22659, 'spell_spawn_drakonid'), +(22664, 'spell_shadowblink'), +(22803, 'spell_gen_random_target32'), +(22812, 'spell_dru_barkskin'), +(22821, 'spell_gen_random_target32'), +(22888, 'spell_gen_disabled_above_63'), +(22888, 'spell_gen_rallying_cry_of_the_dragonslayer'), +(22999, 'spell_item_goblin_jumper_cables_xl'), +(23019, 'spell_item_crystal_prison_dummy_dnd'), +(23074, 'spell_item_arcanite_dragonling'), +(23075, 'spell_item_mithril_mechanical_dragonling'), +(23076, 'spell_item_mechanical_dragonling'), +(23133, 'spell_item_gnomish_battle_chicken'), +(23134, 'spell_item_goblin_bomb'), +(23138, 'spell_shazzrah_gate_dummy'), +(23183, 'spell_mark_of_frost_freeze'), +(23397, 'spell_class_call_handler'), +(23398, 'spell_class_call_handler'), +(23401, 'spell_class_call_handler'), +(23410, 'aura_class_call_wild_magic'), +(23410, 'spell_class_call_handler'), +(23414, 'spell_class_call_handler'), +(23418, 'aura_class_call_siphon_blessing'), +(23418, 'spell_class_call_handler'), +(23424, 'spell_corrupted_totems'), +(23425, 'spell_class_call_handler'), +(23427, 'spell_class_call_handler'), +(23436, 'spell_class_call_handler'), +(23448, 'spell_gen_gadgetzan_transporter_backfire'), +(23453, 'spell_gen_gnomish_transporter'), +(23487, 'spell_garr_separation_nexiety'), +(23551, 'spell_sha_item_lightning_shield'), +(23552, 'spell_sha_item_lightning_shield_trigger'), +(23567, 'spell_gen_bandage'), +(23568, 'spell_gen_bandage'), +(23569, 'spell_gen_bandage'), +(23572, 'spell_sha_item_mana_surge'), +(23603, 'spell_class_call_polymorph'), +(23696, 'spell_gen_bandage'), +(23780, 'spell_item_aegis_of_preservation'), +(23786, 'spell_item_powerful_anti_venom'), +(23878, 'spell_random_aggro'), +(23880, 'spell_warr_bloodthirst_heal'), +(23881, 'spell_warr_bloodthirst'), +(23970, 'spell_batrider_bomb'), +(23989, 'spell_hun_readiness'), +(24083, 'spell_hatch_eggs'), +(24084, 'spell_marli_transform'), +(24110, 'spell_enveloping_webs'), +(24306, 'spell_delusions_of_jindo'), +(24314, 'spell_threatening_gaze'), +(24315, 'spell_threatening_gaze_charge'), +(24324, 'spell_blood_siphon'), +(24325, 'spell_pagles_point_cast'), +(24326, 'spell_gahzranka_slam'), +(24401, 'spell_gen_model_visible'), +(24408, 'spell_mandokir_charge'), +(24412, 'spell_gen_bandage'), +(24413, 'spell_gen_bandage'), +(24414, 'spell_gen_bandage'), +(24531, 'spell_item_refocus'), +(24590, 'spell_item_brittle_armor'), +(24684, 'spell_chain_burn'), +(24693, 'spell_hakkar_power_down'), +(24717, 'spell_hallows_end_pirate_costume'), +(24718, 'spell_hallows_end_ninja_costume'), +(24719, 'spell_hallows_end_leper_costume'), +(24720, 'spell_hallows_end_trick'), +(24737, 'spell_hallows_end_ghost_costume'), +(24750, 'spell_hallows_end_trick'), +(24751, 'spell_hallows_end_trick_or_treat'), +(24778, 'spell_dream_fog_sleep'), +(24834, 'spell_shadow_bolt_whirl'), +(24905, 'spell_dru_moonkin_form_passive_proc'), +(24930, 'spell_hallows_end_candy'), +(24983, 'spell_gen_baby_murloc_passive'), +(24984, 'spell_gen_baby_murloc'), +(25042, 'spell_mark_of_nature'), +(25153, 'spell_aggro_drones'), +(25177, 'spell_crystal_weakness'), +(25178, 'spell_crystal_weakness'), +(25180, 'spell_crystal_weakness'), +(25181, 'spell_crystal_weakness'), +(25183, 'spell_crystal_weakness'), +(25185, 'spell_itch_aq20'), +(25281, 'spell_gen_turkey_marker'), +(25371, 'spell_consume_aq20'), +(25373, 'spell_gen_10pct_count_pct_from_max_hp'), +(25599, 'spell_rajaxx_thundercrash'), +(25671, 'spell_drain_mana'), +(25676, 'spell_moam_mana_drain_filter'), +(25684, 'spell_moam_summon_mana_fiends'), +(25711, 'spell_ayamiss_swarmer_start_loop'), +(25755, 'spell_drain_mana'), +(25778, 'spell_gen_knock_away'), +(25790, 'spell_vem_vengeance'), +(25830, 'spell_ayamiss_swarmer_teleport_trigger'), +(25833, 'spell_gen_ayamiss_swarmer_loop_1'), +(25834, 'spell_gen_ayamiss_swarmer_loop_2'), +(25835, 'spell_gen_ayamiss_swarmer_loop_3'), +(25844, 'spell_ayamiss_swarmer_swarm'), +(25860, 'spell_item_reindeer_transformation'), +(25899, 'spell_gen_damage_reduction_aura'), +(25899, 'spell_pal_blessing_of_sanctuary'), +(25938, 'spell_explode_trigger'), +(25952, 'spell_gen_despawn_self'), +(26052, 'spell_huhuran_poison_bolt'), +(26077, 'spell_itch_aq40'), +(26180, 'spell_huhuran_wyvern_sting'), +(26192, 'spell_skeram_arcane_explosion'), +(26218, 'spell_winter_veil_mistletoe'), +(26275, 'spell_winter_wondervolt_trap'), +(26374, 'spell_gen_elune_candle'), +(26400, 'spell_item_arcane_shroud'), +(26465, 'spell_item_mercurial_shield'), +(26546, 'spell_aq_shadow_storm'), +(26552, 'spell_nullify'), +(26555, 'spell_aq_shadow_storm'), +(26584, 'spell_summon_toxin_slime'), +(26678, 'spell_item_create_heart_candy'), +(27539, 'spell_gen_obsidian_armor'), +(27686, 'spell_razelikh_teleport_group'), +(27687, 'spell_kormok_summon_bone_minions'), +(27695, 'spell_kormok_summon_bone_mages'), +(27769, 'spell_gen_whisper_gulch_yogg_saron_whisper'), +(27808, 'spell_kelthuzad_frost_blast'), +(27819, 'spell_kelthuzad_detonate_mana'), +(27831, 'spell_gothik_shadow_bolt_volley'), +(27867, 'spell_gen_disabled_above_70'), +(28062, 'spell_thaddius_pos_neg_charge'), +(28085, 'spell_thaddius_pos_neg_charge'), +(28089, 'spell_thaddius_polarity_shift'), +(28169, 'spell_grobbulus_mutating_injection'), +(28241, 'spell_grobbulus_poison'), +(28305, 'spell_pri_mana_leech'), +(28374, 'spell_gluth_decimate'), +(28441, 'spell_item_ashbringer'), +(28524, 'spell_sapphiron_frost_explosion'), +(28682, 'spell_mage_combustion_proc'), +(28702, 'spell_gen_netherbloom'), +(28720, 'spell_gen_nightmare_vine'), +(28764, 'spell_gen_adaptive_warding'), +(28832, 'spell_four_horsemen_mark'), +(28833, 'spell_four_horsemen_mark'), +(28834, 'spell_four_horsemen_mark'), +(28835, 'spell_four_horsemen_mark'), +(28845, 'spell_warr_t3_prot_8p_bonus'), +(28862, 'spell_item_the_eye_of_diminution'), +(28865, 'spell_four_horsemen_consumption'), +(28880, 'spell_gen_gift_of_naaru'), +(29142, 'spell_gen_default_count_pct_from_max_hp'), +(29166, 'spell_dru_innervate'), +(29200, 'spell_item_purify_helboar_meat'), +(29266, 'spell_gen_creature_permanent_feign_death'), +(29341, 'spell_warl_shadowburn'), +(29431, 'spell_gen_select_target_count_15_1'), +(29431, 'spell_moroes_vanish'), +(29435, 'spell_gen_despawn_self'), +(29519, 'spell_silithyst'), +(29768, 'spell_karazhan_overload'), +(29830, 'spell_item_mirrens_drinking_hat'), +(29858, 'spell_warl_soulshatter'), +(29866, 'spell_q9452_cast_net'), +(29883, 'spell_gen_select_target_count_15_1'), +(29883, 'spell_karazhan_blink'), +(30099, 'spell_hun_tame_beast'), +(30100, 'spell_hun_taming_the_beast'), +(30102, 'spell_hun_tame_beast'), +(30103, 'spell_hun_taming_the_beast'), +(30104, 'spell_hun_taming_the_beast'), +(30105, 'spell_hun_tame_beast'), +(30205, 'spell_gen_visual_dummy_stun'), +(30410, 'spell_magtheridon_shadow_grasp'), +(30458, 'spell_item_nigh_invulnerability'), +(30505, 'spell_tsh_shadow_bolt'), +(30507, 'spell_item_poultryizer'), +(30541, 'spell_magtheridon_blaze'), +(30646, 'spell_hun_tame_beast'), +(30647, 'spell_hun_taming_the_beast'), +(30648, 'spell_hun_taming_the_beast'), +(30652, 'spell_hun_taming_the_beast'), +(30653, 'spell_hun_tame_beast'), +(30654, 'spell_hun_tame_beast'), +(30693, 'spell_vazruden_call_nazan'), +(30735, 'spell_tsh_shadow_sear'), +(30914, 'spell_broggok_poison_cloud'), +(30918, 'spell_gen_remove_impairing_auras'), +(30926, 'spell_vazruden_fireball'), +(30952, 'spell_tsh_shoot_flame_arrow'), +(31225, 'spell_item_shimmering_vessel'), +(31261, 'spell_gen_creature_permanent_feign_death'), +(31326, 'spell_black_morass_corrupt_medivh'), +(31389, 'spell_gen_knock_away'), +(31399, 'spell_gen_moss_covered_feet'), +(31427, 'spell_gen_allergies'), +(31447, 'spell_mark_of_kazrogal'), +(31687, 'spell_mage_summon_water_elemental'), +(31696, 'spell_q12943_shadow_vault_decree'), +(31789, 'spell_pal_righteous_defense'), +(31884, 'spell_pal_avenging_wrath'), +(31984, 'spell_finger_of_death'), +(32111, 'spell_red_sky_effect'), +(32146, 'spell_q9874_liquid_fire'), +(32182, 'spell_sha_heroism'), +(32441, 'spell_karazhan_brittle_bones'), +(32727, 'spell_gen_bg_preparation'), +(32826, 'spell_mage_polymorph_cast_visual'), +(32830, 'spell_auchenai_possess'), +(32959, 'spell_gen_knock_away'), +(32960, 'spell_mark_of_kazzak'), +(33060, 'spell_item_make_a_wish'), +(33110, 'spell_pri_prayer_of_mending_heal'), +(33401, 'spell_auchenai_possess'), +(33525, 'spell_gruul_ground_slam'), +(33654, 'spell_gruul_shatter'), +(33666, 'spell_murmur_sonic_boom_effect'), +(33671, 'spell_gruul_shatter_effect'), +(33695, 'spell_pal_exorcism_and_holy_wrath_damage'), +(33735, 'spell_rog_blade_flurry'), +(33793, 'spell_vazruden_fireball'), +(33794, 'spell_vazruden_fireball'), +(33896, 'spell_item_desperate_defense'), +(33953, 'spell_item_essence_of_life'), +(34074, 'spell_hun_ascpect_of_the_viper'), +(34098, 'spell_gen_clear_debuffs'), +(34133, 'spell_alar_ember_blast'), +(34201, 'spell_botanica_shift_form'), +(34229, 'spell_alar_flame_quills'), +(34246, 'spell_dru_idol_lifebloom'), +(34341, 'spell_alar_ember_blast_death'), +(34428, 'spell_warr_victory_rush'), +(34438, 'spell_warl_unstable_affliction'), +(34439, 'spell_warl_unstable_affliction'), +(34477, 'spell_hun_misdirection'), +(34719, 'spell_midnight_fixate'), +(34803, 'spell_commander_sarannis_summon_reinforcements'), +(34852, 'spell_botanica_call_of_the_falcon'), +(34902, 'spell_hun_generic_scaling'), +(34903, 'spell_hun_generic_scaling'), +(34904, 'spell_hun_generic_scaling'), +(34947, 'spell_warl_generic_scaling'), +(34956, 'spell_warl_generic_scaling'), +(34957, 'spell_warl_generic_scaling'), +(34958, 'spell_warl_generic_scaling'), +(35035, 'spell_the_eye_countercharge'), +(35079, 'spell_hun_misdirection_proc'), +(35139, 'spell_gen_default_count_pct_from_max_hp'), +(35183, 'spell_warl_unstable_affliction'), +(35201, 'spell_gen_paralytic_poison'), +(35268, 'spell_ragin_flames_inferno'), +(35354, 'spell_hand_of_death'), +(35356, 'spell_gen_creature_permanent_feign_death'), +(35357, 'spell_gen_creature_permanent_feign_death'), +(35367, 'spell_alar_dive_bomb'), +(35429, 'spell_warr_sweeping_strikes'), +(35657, 'spell_mage_pet_scaling'), +(35658, 'spell_mage_pet_scaling'), +(35659, 'spell_mage_pet_scaling'), +(35660, 'spell_mage_pet_scaling'), +(35661, 'spell_pri_shadowfiend_scaling'), +(35662, 'spell_pri_shadowfiend_scaling'), +(35663, 'spell_pri_shadowfiend_scaling'), +(35664, 'spell_pri_shadowfiend_scaling'), +(35665, 'spell_sha_fire_elemental_scaling'), +(35666, 'spell_sha_fire_elemental_scaling'), +(35667, 'spell_sha_fire_elemental_scaling'), +(35668, 'spell_sha_fire_elemental_scaling'), +(35669, 'spell_dru_treant_scaling'), +(35670, 'spell_dru_treant_scaling'), +(35671, 'spell_dru_treant_scaling'), +(35672, 'spell_dru_treant_scaling'), +(35674, 'spell_sha_feral_spirit_scaling'), +(35675, 'spell_sha_feral_spirit_scaling'), +(35676, 'spell_sha_feral_spirit_scaling'), +(35745, 'spell_item_socrethars_stone'), +(35865, 'spell_kaelthas_summon_nether_vapor'), +(35869, 'spell_kaelthas_nether_beam'), +(35941, 'spell_kaelthas_gravity_lapse'), +(36186, 'spell_warl_infernal_scaling'), +(36188, 'spell_warl_infernal_scaling'), +(36189, 'spell_warl_infernal_scaling'), +(36190, 'spell_warl_infernal_scaling'), +(36444, 'spell_wintergrasp_water'), +(36448, 'spell_gen_focused_bursts'), +(36450, 'spell_kaelthas_resurrection'), +(36475, 'spell_gen_focused_bursts'), +(36500, 'spell_gen_throw_back'), +(36573, 'spell_q10525_vision_guide'), +(36709, 'spell_kaelthas_kael_phase_two'), +(36720, 'spell_kaelthas_burn'), +(36730, 'spell_kaelthas_flame_strike'), +(36778, 'spell_arcatraz_soul_steal'), +(36785, 'spell_quest_test_flight_charging'), +(36797, 'spell_kaelthas_mind_control'), +(36860, 'spell_quest_test_flight_charging'), +(36890, 'spell_item_dimensional_ripper_area52'), +(36921, 'spell_vazruden_fireball'), +(36976, 'spell_kaelthas_summon_weapons'), +(37025, 'spell_serpentshrine_cavern_coilfang_water'), +(37027, 'spell_kaelthas_remote_toy'), +(37065, 'spell_q10036_torgos'), +(37097, 'spell_q10563_q10596_to_legion_hold'), +(37408, 'spell_oscillating_field'), +(37430, 'spell_lurker_below_spout'), +(37433, 'spell_lurker_below_spout_cone'), +(37506, 'spell_hun_scatter_shot'), +(37594, 'spell_pri_item_greater_heal_refund'), +(37641, 'spell_leotheras_whirlwind'), +(37674, 'spell_leotheras_chaos_blast'), +(37676, 'spell_leotheras_insidious_whisper'), +(37705, 'spell_item_eye_of_gruul_healing_discount'), +(37716, 'spell_leotheras_demon_link'), +(37727, 'spell_gen_charmed_unit_spell_cooldown'), +(37750, 'spell_leotheras_clear_consuming_madness'), +(37851, 'spell_gen_charmed_unit_spell_cooldown'), +(37853, 'spell_black_morass_corrupt_medivh'), +(37877, 'spell_pal_blessing_of_faith'), +(37917, 'spell_gen_charmed_unit_spell_cooldown'), +(37918, 'spell_gen_charmed_unit_spell_cooldown'), +(37919, 'spell_gen_charmed_unit_spell_cooldown'), +(37934, 'spell_hydross_cleansing_field_command'), +(37935, 'spell_hydross_cleansing_field_aura'), +(38017, 'spell_gen_select_target_count_7_1'), +(38028, 'spell_morogrim_tidewalker_watery_grave'), +(38055, 'spell_q10612_10613_the_fel_and_the_furious'), +(38112, 'spell_lady_vashj_magic_barrier'), +(38140, 'spell_gen_select_target_count_7_1'), +(38173, 'spell_q10714_on_spirits_wings'), +(38215, 'spell_hydross_mark_of_hydross'), +(38219, 'spell_hydross_mark_of_hydross'), +(38223, 'spell_q10769_dissension_amongst_the_ranks'), +(38224, 'spell_q10769_dissension_amongst_the_ranks'), +(38241, 'spell_gen_select_target_count_7_1'), +(38248, 'spell_gen_select_target_count_7_1'), +(38441, 'spell_gen_50pct_count_pct_from_max_hp'), +(38443, 'spell_sha_totemic_mastery'), +(38451, 'spell_karathress_power_of_caribdis'), +(38462, 'spell_broggok_poison_cloud'), +(38494, 'spell_lady_vashj_summon_sporebat'), +(38573, 'spell_gen_select_target_count_15_1'), +(38573, 'spell_lady_vashj_spore_drop_effect'), +(38629, 'spell_q10720_the_smallest_creature'), +(38633, 'spell_gen_select_target_count_15_1'), +(38650, 'spell_gen_select_target_count_15_1'), +(38724, 'spell_q10838_demoniac_scryer_visual'), +(38776, 'spell_q9718_crow_transform'), +(38795, 'spell_murmur_sonic_boom_effect'), +(39032, 'spell_serpentshrine_cavern_infection'), +(39042, 'spell_serpentshrine_cavern_infection'), +(39044, 'spell_serpentshrine_cavern_serpentshrine_parasite'), +(39053, 'spell_serpentshrine_cavern_serpentshrine_parasite_trigger'), +(39090, 'spell_capacitus_polarity_charge'), +(39093, 'spell_capacitus_polarity_charge'), +(39096, 'spell_capacitus_polarity_shift'), +(39117, 'spell_astromancer_solarian_transform'), +(39166, 'spell_q10898_skywing'), +(39187, 'spell_gruul_ground_slam_trigger'), +(39228, 'spell_gen_absorb0_hitlimit1'), +(39238, 'spell_q10929_fumping'), +(39239, 'spell_q10923_evil_draws_near_summon'), +(39246, 'spell_q10930_big_bone_worm'), +(39256, 'spell_q10923_evil_draws_near_visual'), +(39257, 'spell_q10923_evil_draws_near_visual'), +(39259, 'spell_q10923_evil_draws_near_periodic'), +(39346, 'spell_ragin_flames_inferno'), +(39365, 'spell_murmur_thundering_storm'), +(39371, 'spell_q10935_the_exorcism_of_colonel_jules'), +(39495, 'spell_lady_vashj_remove_tainted_cores'), +(39575, 'spell_black_temple_charge_rage'), +(39610, 'spell_sha_mana_tide_totem'), +(39635, 'spell_illidan_glaive_throw'), +(39645, 'spell_black_temple_shadow_inferno'), +(39672, 'spell_gen_select_target_count_15_1'), +(39832, 'spell_q10985_light_of_the_naaru'), +(39844, 'spell_q11010_q11102_q11023_q11008_check_fly_mount'), +(39848, 'spell_morogrim_tidewalker_water_globule_new_target'), +(39849, 'spell_illidan_glaive_throw'), +(39857, 'spell_illidan_tear_of_azzinoth_summon_channel'), +(39948, 'spell_najentus_hurl_spine'), +(39953, 'spell_gen_adals_song_of_battle'), +(39992, 'spell_najentus_needle_spine'), +(40056, 'spell_q11010_q11102_q11023_choose_loc'), +(40081, 'spell_black_template_free_friend'), +(40084, 'spell_black_template_harpooners_mark'), +(40112, 'spell_q11010_q11102_q11023_aggro_check'), +(40113, 'spell_q11010_q11102_q11023_aggro_check_aura'), +(40119, 'spell_q11010_q11102_q11023_aggro_burst'), +(40121, 'spell_dru_swift_flight_passive'), +(40132, 'spell_gen_summon_earth_elemental'), +(40133, 'spell_gen_summon_fire_elemental'), +(40157, 'spell_teron_gorefiend_spirit_lance'), +(40160, 'spell_q11010_q11102_q11023_q11008_check_fly_mount'), +(40251, 'spell_teron_gorefiend_shadow_of_death'), +(40268, 'spell_teron_gorefiend_spiritual_vengeance'), +(40326, 'spell_teron_gorefiend_shadowy_construct'), +(40398, 'spell_illidan_demon_transform2'), +(40401, 'spell_shade_of_akama_shade_soul_channel'), +(40414, 'spell_gen_fixate'), +(40486, 'spell_gurtogg_eject'), +(40511, 'spell_illidan_demon_transform1'), +(40638, 'spell_item_sleepy_willy'), +(40647, 'spell_illidan_shadow_prison'), +(40760, 'spell_illidan_cage_trap_stun'), +(40761, 'spell_illidan_cage_trap'), +(40802, 'spell_item_mingos_fortune_generator'), +(40816, 'spell_mother_shahraz_saber_lash'), +(40825, 'spell_q11026_a11051_banish_the_demons'), +(40828, 'spell_q11026_a11051_banish_the_demons'), +(40846, 'spell_npc22275_crystal_prison'), +(40851, 'spell_gen_select_target_count_7_1'), +(40854, 'spell_shade_of_akama_akama_soul_expel'), +(40855, 'spell_shade_of_akama_akama_soul_expel'), +(40856, 'spell_q11065_wrangle_some_aether_rays'), +(40862, 'spell_mother_shahraz_beam_periodic'), +(40863, 'spell_mother_shahraz_beam_periodic'), +(40865, 'spell_mother_shahraz_beam_periodic'), +(40866, 'spell_mother_shahraz_beam_periodic'), +(40867, 'spell_mother_shahraz_random_periodic'), +(40869, 'spell_mother_shahraz_fatal_attraction'), +(40870, 'spell_mother_shahraz_fatal_attraction_dummy'), +(40890, 'spell_quest_dragonmaw_race_generic'), +(40892, 'spell_gen_fixate'), +(40894, 'spell_quest_dragonmaw_race_generic'), +(40904, 'spell_illidan_draw_soul'), +(40909, 'spell_quest_dragonmaw_race_generic'), +(40928, 'spell_quest_dragonmaw_race_generic'), +(40930, 'spell_quest_dragonmaw_race_generic'), +(40945, 'spell_quest_dragonmaw_race_generic'), +(41001, 'spell_mother_shahraz_fatal_attraction_aura'), +(41034, 'spell_black_temple_spell_absorption'), +(41054, 'spell_gen_clone_weapon_aura'), +(41055, 'spell_gen_clone_weapon'), +(41072, 'spell_black_temple_bloodbolt'), +(41081, 'spell_gen_select_target_count_15_1'), +(41082, 'spell_illidan_found_target'), +(41126, 'spell_illidan_flame_burst'), +(41170, 'spell_black_temple_curse_of_the_bleakheart'), +(41171, 'spell_black_temple_skeleton_shot'), +(41172, 'spell_gen_select_target_count_24_1'), +(41186, 'spell_black_temple_wyvern_sting'), +(41213, 'spell_gen_throw_shield'), +(41248, 'spell_black_temple_consuming_strikes'), +(41292, 'spell_reliquary_of_souls_aura_of_suffering'), +(41294, 'spell_reliquary_of_souls_fixate'), +(41337, 'spell_reliquary_of_souls_aura_of_anger'), +(41341, 'spell_illidari_council_balance_of_power'), +(41350, 'spell_reliquary_of_souls_aura_of_desire'), +(41351, 'spell_black_temple_curse_of_vitality'), +(41357, 'spell_gen_select_target_count_15_1'), +(41360, 'spell_gen_100pct_count_pct_from_max_hp'), +(41376, 'spell_reliquary_of_souls_spite'), +(41404, 'spell_black_temple_dementia'), +(41467, 'spell_illidari_council_judgement'), +(41475, 'spell_illidari_council_reflective_shield'), +(41480, 'spell_illidari_council_deadly_strike'), +(41499, 'spell_illidari_council_empyreal_balance'), +(41621, 'spell_q11117_catch_the_wild_wolpertinger'), +(41914, 'spell_illidan_parasitic_shadowfiend_trigger'), +(41917, 'spell_illidan_parasitic_shadowfiend'), +(41920, 'spell_brewfest_fill_keg'), +(41921, 'spell_brewfest_unfill_keg'), +(41943, 'spell_brewfest_unfill_keg'), +(41944, 'spell_brewfest_unfill_keg'), +(41945, 'spell_brewfest_unfill_keg'), +(41946, 'spell_brewfest_unfill_keg'), +(42005, 'spell_gurtogg_bloodboil'), +(42074, 'spell_hallows_end_base_fire'), +(42268, 'spell_gen_despawn_self'), +(42300, 'spell_brewfest_add_mug'), +(42339, 'spell_hallows_end_bucket_lands'), +(42393, 'spell_gen_default_count_pct_from_max_hp'), +(42436, 'spell_brewfest_toss_mug'), +(42485, 'spell_ooze_zap_channel_end'), +(42489, 'spell_ooze_zap'), +(42492, 'spell_energize_aoe'), +(42578, 'spell_q11198_take_down_tethyr'), +(42672, 'spell_frost_tomb'), +(42760, 'spell_item_goblin_gumbo_kettle'), +(42783, 'spell_astromancer_wrath_of_the_astromancer'), +(42992, 'spell_brewfest_ram_fatigue'), +(42993, 'spell_brewfest_ram_fatigue'), +(42994, 'spell_brewfest_ram_fatigue'), +(43042, 'spell_item_summon_or_dismiss'), +(43102, 'spell_item_summon_or_dismiss'), +(43263, 'spell_dk_aotd_taunt'), +(43310, 'spell_brewfest_main_ram_buff'), +(43332, 'spell_brewfest_ram_fatigue'), +(43351, 'spell_q11322_q11317_the_cleansing'), +(43416, 'spell_gen_throw_shield'), +(43421, 'spell_hexlord_lifebloom'), +(43450, 'spell_brewfest_apple_trap'), +(43522, 'spell_hexlord_unstable_affliction'), +(43714, 'spell_brewfest_relay_race_force_cast'), +(43723, 'spell_item_demon_broiled_surprise'), +(43874, 'spell_q11396_11399_force_shield_arcane_purple_x3'), +(43882, 'spell_q11396_11399_scourging_crystal_controller_dummy'), +(43907, 'spell_brewfest_reveler_transform'), +(43908, 'spell_brewfest_reveler_transform'), +(43909, 'spell_brewfest_reveler_transform'), +(43910, 'spell_brewfest_reveler_transform'), +(43911, 'spell_brewfest_reveler_transform'), +(43912, 'spell_brewfest_reveler_transform'), +(43913, 'spell_brewfest_reveler_transform'), +(43914, 'spell_brewfest_reveler_transform'), +(43915, 'spell_brewfest_reveler_transform'), +(43916, 'spell_brewfest_reveler_transform'), +(43917, 'spell_brewfest_reveler_transform'), +(44003, 'spell_brewfest_reveler_transform'), +(44004, 'spell_brewfest_reveler_transform'), +(44094, 'spell_brewfest_reveler_transform'), +(44096, 'spell_brewfest_reveler_transform'), +(44198, 'spell_mt_phoenix_burn'), +(44337, 'spell_brewfest_reveler_transform'), +(44338, 'spell_brewfest_reveler_transform'), +(44436, 'spell_hallows_end_tricky_treat'), +(44521, 'spell_gen_bg_preparation'), +(44811, 'spell_kalecgos_spectral_realm_dummy'), +(44869, 'spell_kalecgos_spectral_blast_dummy'), +(44875, 'spell_item_complete_raptor_capture'), +(44935, 'spell_q11520_discovering_your_roots'), +(44936, 'spell_q11515_fel_siphon_dummy'), +(45032, 'spell_kalecgos_curse_of_boundless_agony'), +(45042, 'spell_item_shifting_naaru_silver'), +(45043, 'spell_item_shifting_naaru_silver'), +(45072, 'spell_gen_arcane_charge'), +(45102, 'spell_love_is_in_the_air_romantic_picnic'), +(45141, 'spell_brutallus_burn'), +(45151, 'spell_brutallus_burn'), +(45202, 'spell_item_rocket_chicken'), +(45204, 'spell_gen_clone'), +(45205, 'spell_gen_clone_weapon_aura'), +(45206, 'spell_gen_clone_weapon'), +(45208, 'spell_item_dragon_kite_summon_lightning_bunny'), +(45235, 'spell_eredar_twins_apply_flame_touched'), +(45235, 'spell_eredar_twins_blaze'), +(45246, 'spell_eredar_twins_apply_flame_touched'), +(45248, 'spell_eredar_twins_apply_dark_touched'), +(45253, 'spell_item_dragon_kite_summon_lightning_bunny'), +(45256, 'spell_eredar_twins_apply_dark_touched'), +(45270, 'spell_eredar_twins_apply_dark_touched'), +(45271, 'spell_eredar_twins_apply_dark_touched'), +(45329, 'spell_eredar_twins_apply_dark_touched'), +(45342, 'spell_eredar_twins_apply_flame_touched'), +(45347, 'spell_eredar_twins_handle_touch'), +(45348, 'spell_eredar_twins_handle_touch'), +(45406, 'spell_midsummer_ribbon_pole'), +(45449, 'spell_q11587_arcane_prisoner_rescue'), +(45472, 'spell_gen_parachute'), +(45524, 'spell_dk_chains_of_ice'), +(45625, 'spell_arcane_chains_character_force_cast'), +(45644, 'spell_midsummer_torch_catch'), +(45668, 'spell_q11653_youre_not_so_big_now'), +(45671, 'spell_midsummer_fling_torch'), +(45680, 'spell_gen_select_target_count_7_1'), +(45714, 'spell_felmyst_fog_of_corruption'), +(45716, 'spell_midsummer_torch_quest'), +(45717, 'spell_felmyst_fog_of_corruption_charm'), +(45737, 'spell_kiljaeden_flame_dart'), +(45742, 'spell_q11670_it_was_the_orcs_honest'), +(45759, 'spell_q11670_it_was_the_orcs_honest'), +(45785, 'spell_gen_clone'), +(45785, 'spell_kiljaeden_sinister_reflection_clone'), +(45819, 'spell_midsummer_juggling_torch'), +(45822, 'spell_gen_av_drekthar_presence'), +(45823, 'spell_gen_av_drekthar_presence'), +(45824, 'spell_gen_av_drekthar_presence'), +(45826, 'spell_gen_av_drekthar_presence'), +(45828, 'spell_gen_av_drekthar_presence'), +(45829, 'spell_gen_av_drekthar_presence'), +(45830, 'spell_gen_av_drekthar_presence'), +(45831, 'spell_gen_av_drekthar_presence'), +(45833, 'spell_kiljaeden_power_of_the_blue_flight'), +(45839, 'spell_kiljaeden_vengeance_of_the_blue_flight'), +(45853, 'spell_item_map_of_the_geyser_fields'), +(45856, 'spell_kiljaeden_dragon_breath'), +(45860, 'spell_kiljaeden_dragon_breath'), +(45892, 'spell_kiljaeden_sinister_reflection'), +(45909, 'spell_kiljaeden_armageddon_missile'), +(45921, 'spell_kiljaeden_armageddon_periodic'), +(45976, 'spell_gen_select_target_count_7_1'), +(45996, 'spell_muru_darkness'), +(45997, 'spell_q11719_bloodspore_ruination_45997'), +(46008, 'spell_gen_select_target_count_15_5'), +(46021, 'spell_kalecgos_spectral_realm'), +(46023, 'spell_q11730_ultrasonic_screwdriver'), +(46041, 'spell_muru_summon_blood_elves_periodic'), +(46203, 'spell_item_goblin_weather_machine'), +(46221, 'spell_gen_animal_blood'), +(46230, 'spell_entropius_black_hole_effect'), +(46265, 'spell_entropius_void_zone_visual'), +(46289, 'spell_entropius_negative_energy'), +(46292, 'spell_cataclysm_breath'), +(46337, 'spell_gen_crab_disguise'), +(46394, 'spell_gen_burn_brutallus'), +(46485, 'spell_item_greatmothers_soulcatcher'), +(46584, 'spell_dk_raise_dead'), +(46605, 'spell_kiljaeden_darkness'), +(46610, 'spell_madrigosa_activate_barrier'), +(46619, 'spell_dk_raise_ally_trigger'), +(46620, 'spell_q11919_q11940_drake_hunt'), +(46629, 'spell_gen_disabled_above_73'), +(46630, 'spell_midsummer_torch_quest'), +(46638, 'spell_madrigosa_deactivate_barrier'), +(46642, 'spell_gen_5000_gold'), +(46650, 'spell_felmyst_open_brutallus_back_doors'), +(46680, 'spell_kiljaeden_shadow_spike'), +(46736, 'spell_item_goblin_weather_machine'), +(46738, 'spell_item_goblin_weather_machine'), +(46739, 'spell_item_goblin_weather_machine'), +(46740, 'spell_item_goblin_weather_machine'), +(46747, 'spell_midsummer_fling_torch'), +(46771, 'spell_eredar_twins_apply_flame_touched'), +(47110, 'spell_image_of_drakuru_reagent_check'), +(47130, 'spell_q12014_steady_as_a_rock'), +(47170, 'spell_item_impale_leviroth'), +(47193, 'spell_warl_demonic_empowerment'), +(47336, 'spell_novos_crystal_handler_death'), +(47344, 'spell_request_second_mug'), +(47369, 'spell_send_mug_control_aura'), +(47370, 'spell_send_mug_target_picker'), +(47407, 'spell_direbrew_disarm'), +(47422, 'spell_warl_everlasting_affliction'), +(47496, 'spell_dk_ghoul_explode'), +(47530, 'spell_q12096_q12092_bark'), +(47575, 'spell_q12096_q12092_dummy'), +(47691, 'spell_direbrew_summon_mole_machine_target_picker'), +(47710, 'spell_boss_magus_telestra_summon_telestra_clones'), +(47764, 'spell_boss_magus_telestra_gravity_well'), +(47788, 'spell_pri_guardian_spirit'), +(47911, 'spell_gen_charmed_unit_spell_cooldown'), +(47948, 'spell_pri_pain_and_suffering_proc'), +(47977, 'spell_magic_broom'), +(48018, 'spell_warl_demonic_circle_summon'), +(48020, 'spell_warl_demonic_circle_teleport'), +(48025, 'spell_headless_horseman_mount'), +(48129, 'spell_item_scroll_of_recall'), +(48263, 'spell_dk_presence'), +(48265, 'spell_dk_presence'), +(48266, 'spell_dk_presence'), +(48277, 'spell_svala_ritual_strike'), +(48310, 'spell_transitus_shield_beam'), +(48363, 'spell_q12237_rescue_villager'), +(48388, 'spell_call_wintergarde_gryphon'), +(48391, 'spell_dru_owlkin_frenzy'), +(48397, 'spell_q12237_drop_off_villager'), +(48425, 'spell_gen_select_target_count_7_1'), +(48504, 'spell_dru_living_seed_proc'), +(48522, 'spell_q12243_fire_upon_the_waters'), +(48597, 'spell_dtk_raise_dead'), +(48605, 'spell_dtk_raise_dead'), +(48610, 'spell_shredder_delivery'), +(48620, 'spell_gen_charmed_unit_spell_cooldown'), +(48649, 'spell_item_fetch_ball'), +(48681, 'spell_q12308_escape_from_silverbrook_summon_worgen'), +(48682, 'spell_q12308_escape_from_silverbrook'), +(48707, 'spell_dk_anti_magic_shell_self'), +(48742, 'spell_q12277_wintergarde_mine_explosion'), +(48743, 'spell_dk_death_pact'), +(48762, 'spell_q12274_a_fall_from_grace_costume'), +(48776, 'spell_item_with_mount_speed'), +(48777, 'spell_item_with_mount_speed'), +(48792, 'spell_dk_icebound_fortitude'), +(48812, 'spell_renew_skirmisher'), +(48876, 'spell_utgarde_pinnacle_beast_mark'), +(48917, 'spell_q10041_q10040_who_are_they'), +(48920, 'spell_dred_grievious_bite'), +(49026, 'spell_gen_fixate'), +(49028, 'spell_dk_dancing_rune_weapon'), +(49107, 'spell_vehicle_warhead_fuse'), +(49181, 'spell_warhead_fuse'), +(49206, 'spell_dk_summon_gargoyle'), +(49222, 'spell_dk_bone_shield'), +(49250, 'spell_warhead_detonate'), +(49297, 'spell_winter_veil_racer_rocket_slam'), +(49325, 'spell_winter_veil_racer_slam_hit'), +(49345, 'spell_oculus_call_ruby_emerald_amber_drake'), +(49346, 'spell_oculus_rider_aura'), +(49357, 'spell_item_brewfest_mount_transformation'), +(49380, 'spell_trollgore_consume'), +(49405, 'spell_trollgore_invader_taunt'), +(49427, 'spell_oculus_ride_ruby_emerald_amber_drake_que'), +(49459, 'spell_oculus_ride_ruby_emerald_amber_drake_que'), +(49460, 'spell_oculus_rider_aura'), +(49461, 'spell_oculus_call_ruby_emerald_amber_drake'), +(49462, 'spell_oculus_call_ruby_emerald_amber_drake'), +(49463, 'spell_oculus_ride_ruby_emerald_amber_drake_que'), +(49464, 'spell_oculus_rider_aura'), +(49466, 'spell_item_direbrew_remote'), +(49527, 'spell_tharon_ja_curse_of_life'), +(49551, 'spell_tharon_ja_dummy'), +(49555, 'spell_trollgore_corpse_explode'), +(49560, 'spell_dk_death_grip'), +(49576, 'spell_dk_death_grip'), +(49587, 'spell_q12459_seeds_of_natures_wrath'), +(49592, 'spell_oculus_temporal_rift'), +(49642, 'spell_onslaught_or_call_bone_gryphon'), +(49761, 'spell_wintergrasp_rp_gg'), +(49817, 'spell_q12478_frostmourne_cavern'), +(49838, 'spell_oculus_stop_time'), +(49840, 'spell_oculus_shock_lance'), +(49882, 'spell_gen_default_count_pct_from_max_hp'), +(49889, 'spell_gen_clone'), +(49960, 'spell_dtk_summon_random_drakkari'), +(50133, 'spell_q11396_11399_scourging_crystal_controller'), +(50180, 'spell_item_draenic_pale_ale'), +(50218, 'spell_gen_clone'), +(50240, 'spell_oculus_evasive_maneuvers'), +(50241, 'spell_oculus_evasive_charges'), +(50243, 'spell_item_teach_language'), +(50278, 'spell_barreled_control_aura'), +(50325, 'spell_oculus_soar'), +(50334, 'spell_dru_berserk'), +(50341, 'spell_oculus_touch_the_nightmare'), +(50344, 'spell_oculus_dream_funnel'), +(50419, 'spell_dru_brambles_treant'), +(50421, 'spell_dk_scent_of_blood'), +(50452, 'spell_dk_bloodworms'), +(50453, 'spell_dk_blood_gorged'), +(50461, 'spell_dk_anti_magic_zone'), +(50462, 'spell_dk_anti_magic_shell_raid'), +(50526, 'spell_dk_wandering_plague'), +(50546, 'spell_q12066_bunny_kill_credit'), +(50630, 'spell_gen_eject_all_passengers'), +(50720, 'spell_warr_vigilance'), +(50725, 'spell_warr_vigilance_trigger'), +(50810, 'spell_krystallus_shatter'), +(50811, 'spell_krystallus_shatter_effect'), +(50842, 'spell_dk_pestilence'), +(50999, 'spell_wg_reduce_damage_by_distance'), +(51001, 'spell_hos_dark_matter'), +(51060, 'spell_gen_have_item_auras'), +(51068, 'spell_gen_have_item_auras'), +(51088, 'spell_gen_have_item_auras'), +(51094, 'spell_gen_have_item_auras'), +(51186, 'spell_item_summon_or_dismiss'), +(51188, 'spell_item_summon_or_dismiss'), +(51189, 'spell_item_summon_or_dismiss'), +(51190, 'spell_item_summon_or_dismiss'), +(51191, 'spell_item_summon_or_dismiss'), +(51192, 'spell_item_summon_or_dismiss'), +(51209, 'spell_dk_hungering_cold'), +(51211, 'spell_rog_blade_flurry'), +(51330, 'spell_q12589_shoot_rjr'), +(51403, 'spell_novos_despawn_crystal_handler'), +(51422, 'spell_wg_reduce_damage_by_distance'), +(51519, 'spell_death_knight_initiate_visual'), +(51582, 'spell_item_rocket_boots'), +(51592, 'spell_gen_despawn_self'), +(51640, 'spell_the_flag_of_ownership'), +(51690, 'spell_rog_killing_spree'), +(51719, 'spell_gen_clone'), +(51748, 'spell_gen_charmed_unit_spell_cooldown'), +(51752, 'spell_gen_charmed_unit_spell_cooldown'), +(51756, 'spell_gen_charmed_unit_spell_cooldown'), +(51769, 'spell_q12619_emblazon_runeblade'), +(51770, 'spell_q12619_emblazon_runeblade_effect'), +(51840, 'spell_q12634_despawn_fruit_tosser'), +(51854, 'spell_q12611_deathbolt'), +(51858, 'spell_q12641_death_comes_from_on_high'), +(51904, 'spell_q12641_death_comes_from_on_high_summon_ghouls'), +(51910, 'spell_gen_despawn_self'), +(51957, 'spell_q12620_the_lifewarden_wrath'), +(51961, 'spell_item_chicken_cover'), +(51963, 'spell_pet_dk_gargoyle_strike'), +(51996, 'spell_dk_pet_scaling'), +(52031, 'spell_sha_mana_spring_totem'), +(52033, 'spell_sha_mana_spring_totem'), +(52034, 'spell_sha_mana_spring_totem'), +(52035, 'spell_sha_mana_spring_totem'), +(52036, 'spell_sha_mana_spring_totem'), +(52041, 'spell_sha_healing_stream_totem'), +(52046, 'spell_sha_healing_stream_totem'), +(52047, 'spell_sha_healing_stream_totem'), +(52048, 'spell_sha_healing_stream_totem'), +(52049, 'spell_sha_healing_stream_totem'), +(52050, 'spell_sha_healing_stream_totem'), +(52086, 'spell_azjol_nerub_web_wrap'), +(52090, 'spell_q12659_ahunaes_knife'), +(52107, 'spell_wintergrasp_hide_small_elementals'), +(52143, 'spell_dk_master_of_ghouls'), +(52160, 'spell_shango_tracks'), +(52163, 'spell_shango_tracks'), +(52212, 'spell_dk_death_and_decay'), +(52249, 'spell_gen_visual_dummy_stun'), +(52267, 'spell_gen_despawn_self'), +(52278, 'spell_gen_visual_dummy_stun'), +(52308, 'spell_q12683_take_sputum_sample'), +(52375, 'spell_dk_death_coil'), +(52408, 'spell_gen_seaforium_blast'), +(52417, 'spell_item_massive_seaforium_charge'), +(52438, 'spell_gen_select_target_count_7_1'), +(52449, 'spell_gen_select_target_count_7_1'), +(52479, 'spell_q12698_the_gift_that_keeps_on_giving'), +(52481, 'spell_item_gift_of_the_harvester'), +(52510, 'spell_q12690_burst_at_the_seams'), +(52536, 'spell_azjol_nerub_fixate'), +(52551, 'spell_tur_ragepaw_lifebloom'), +(52610, 'spell_dru_savage_roar'), +(52708, 'spell_boss_salramm_steal_flesh'), +(52751, 'spell_dk_death_gate'), +(52759, 'spell_sha_ancestral_awakening_proc'), +(52845, 'spell_item_brewfest_mount_transformation'), +(52862, 'spell_q12726_song_of_wind_and_water'), +(52864, 'spell_q12726_song_of_wind_and_water'), +(52941, 'spell_q12735_song_of_cleansing'), +(52942, 'spell_loken_pulsing_shockwave'), +(53030, 'spell_hadronox_leech_poison'), +(53032, 'spell_gen_flurry_of_claws'), +(53035, 'spell_hadronox_summon_periodic_champion'), +(53036, 'spell_hadronox_summon_periodic_necromancer'), +(53037, 'spell_hadronox_summon_periodic_crypt_fiend'), +(53094, 'spell_infected_worgen_bite'), +(53110, 'spell_q12779_an_end_to_all_things'), +(53160, 'spell_dk_dancing_rune_weapon_visual'), +(53209, 'spell_hun_chimera_shot'), +(53242, 'spell_tharon_ja_clear_gift_of_tharon_ja'), +(53271, 'spell_hun_masters_call'), +(53350, 'spell_q12730_quenching_mist'), +(53365, 'spell_dk_rune_of_the_fallen_crusader'), +(53385, 'spell_pal_divine_storm'), +(53407, 'spell_pal_judgement_of_justice'), +(53408, 'spell_pal_judgement_of_wisdom'), +(53412, 'spell_hun_invigoration'), +(53457, 'spell_gen_select_target_count_15_1'), +(53458, 'spell_azjol_nerub_impale_summon'), +(53472, 'spell_azjol_nerub_pound'), +(53475, 'spell_gen_oracle_wolvar_reputation'), +(53478, 'spell_hun_last_stand_pet'), +(53487, 'spell_gen_oracle_wolvar_reputation'), +(53520, 'spell_azjol_nerub_carrion_beetels'), +(53601, 'spell_pal_sacred_shield_base'), +(53608, 'spell_cenarion_scout_lifebloom'), +(53642, 'spell_gen_area_aura_select_players'), +(53658, 'spell_chapter5_light_of_dawn_aura'), +(53680, 'spell_chapter5_rebuke'), +(53750, 'spell_item_crazy_alchemists_potion'), +(53768, 'spell_gen_haunted'), +(53797, 'spell_oculus_drake_flag'), +(53798, 'spell_azjol_nerub_fixate'), +(53808, 'spell_item_pygmy_oil'), +(54015, 'spell_gen_oracle_wolvar_reputation'), +(54044, 'spell_hun_pet_carrion_feeder'), +(54171, 'spell_pal_divine_storm_dummy'), +(54190, 'spell_q12805_lifeblood_dummy'), +(54307, 'spell_item_summon_argent_knight'), +(54355, 'spell_gen_mine_sweeper'), +(54363, 'spell_grobbulus_poison'), +(54396, 'spell_optic_link'), +(54420, 'spell_deliver_gryphon'), +(54426, 'spell_gluth_decimate'), +(54566, 'spell_dk_pet_scaling'), +(54646, 'spell_mage_focus_magic'), +(54729, 'spell_winged_steed_of_the_ebon_blade'), +(54732, 'spell_item_gnomish_army_knife'), +(54747, 'spell_mage_burning_determination'), +(54749, 'spell_mage_burning_determination'), +(54798, 'spell_q12851_going_bearback'), +(54801, 'spell_drakkari_colossus_surge'), +(54846, 'spell_dru_glyph_of_starfire'), +(54847, 'spell_gen_select_target_count_15_2'), +(54850, 'spell_drakkari_colossus_emerge'), +(54894, 'spell_gen_visual_dummy_stun'), +(54956, 'spell_galdarah_impaling_charge'), +(54968, 'spell_pal_glyph_of_holy_light'), +(54991, 'spell_drakkari_colossus_face_me'), +(54996, 'spell_gen_charmed_unit_spell_cooldown'), +(54997, 'spell_gen_charmed_unit_spell_cooldown'), +(55004, 'spell_item_nitro_boots'), +(55093, 'spell_sladran_grip_of_sladran'), +(55163, 'spell_moorabi_mojo_frenzy'), +(55233, 'spell_dk_vampiric_blood'), +(55269, 'spell_gen_default_count_pct_from_max_hp'), +(55299, 'spell_galdarah_transform'), +(55342, 'spell_mage_mirror_image'), +(55368, 'spell_q12661_q12669_q12676_q12677_q12713_summon_stefan'), +(55421, 'spell_q12919_gymers_throw'), +(55475, 'spell_gen_grow_flower_patch'), +(55516, 'spell_q12919_gymers_grab'), +(55638, 'spell_gothik_shadow_bolt_volley'), +(55640, 'spell_gen_allow_proc_from_spells_with_cost'), +(55680, 'spell_pri_glyph_of_prayer_of_healing'), +(55693, 'spell_q12823_remove_collapsing_cave_aura'), +(55709, 'spell_hun_pet_heart_of_the_phoenix'), +(55804, 'spell_q12937_relief_for_the_fallen'), +(55895, 'spell_prince_taldaram_flame_sphere_summon'), +(55931, 'spell_prince_taldaram_conjure_flame_sphere'), +(55945, 'spell_gen_spectator_cheer_trigger'), +(56096, 'spell_gen_vendor_bark_trigger'), +(56150, 'spell_jedoga_sacrafice_beam'), +(56159, 'spell_ahn_kahet_swarmer_aura'), +(56246, 'spell_warl_glyph_of_felguard'), +(56278, 'spell_q12987_read_pronouncement'), +(56328, 'spell_random_lightning_visual_effect'), +(56504, 'spell_q13007_iron_colossus'), +(56508, 'spell_q13007_iron_colossus'), +(56513, 'spell_gen_charmed_unit_spell_cooldown'), +(56524, 'spell_gen_charmed_unit_spell_cooldown'), +(56565, 'spell_q13011_bear_flank_master'), +(56575, 'spell_wintergrasp_create_vehicle'), +(56578, 'spell_gen_default_count_pct_from_max_hp'), +(56659, 'spell_wintergrasp_force_building'), +(56661, 'spell_wintergrasp_create_vehicle'), +(56662, 'spell_wintergrasp_force_building'), +(56663, 'spell_wintergrasp_create_vehicle'), +(56664, 'spell_wintergrasp_force_building'), +(56689, 'spell_q13003_thursting_hodirs_spear'), +(56698, 'spell_gen_default_count_pct_from_max_hp'), +(56702, 'spell_shadow_sickle_periodic_damage'), +(56763, 'spell_close_rift'), +(56841, 'spell_hun_glyph_of_arcane_shot'), +(57099, 'spell_gen_mine_sweeper'), +(57283, 'spell_amanitar_remove_mushroom_power'), +(57301, 'spell_item_feast'), +(57385, 'spell_q13086_last_line_of_defence'), +(57407, 'spell_eoe_ph3_surge_of_power'), +(57412, 'spell_q13086_last_line_of_defence'), +(57426, 'spell_item_feast'), +(57496, 'spell_herald_volzaj_insanity'), +(57528, 'spell_gen_clone'), +(57578, 'spell_sartharion_lava_strike'), +(57591, 'spell_sartharion_lava_strike'), +(57593, 'spell_gen_clone_weapon'), +(57594, 'spell_gen_clone_weapon_aura'), +(57607, 'spell_wg_reduce_damage_by_distance'), +(57610, 'spell_wg_reduce_damage_by_distance'), +(57669, 'spell_gen_replenishment'), +(57685, 'spell_gen_creature_permanent_feign_death'), +(57762, 'spell_twisted_visage_lifebloom'), +(57934, 'spell_rog_tricks_of_the_trade'), +(58040, 'spell_destroy_door_seal'), +(58387, 'spell_warr_glyph_of_sunder_armor'), +(58465, 'spell_item_feast'), +(58474, 'spell_item_feast'), +(58601, 'spell_gen_remove_flight_auras'), +(58622, 'spell_wintergrasp_portal'), +(58683, 'spell_rog_savage_combat'), +(58684, 'spell_rog_savage_combat'), +(58759, 'spell_sha_healing_stream_totem'), +(58760, 'spell_sha_healing_stream_totem'), +(58761, 'spell_sha_healing_stream_totem'), +(58778, 'spell_sha_mana_spring_totem'), +(58779, 'spell_sha_mana_spring_totem'), +(58780, 'spell_sha_mana_spring_totem'), +(58875, 'spell_sha_spirit_walk'), +(58886, 'spell_magic_eater_food'), +(58941, 'spell_archavon_rock_shards'), +(58951, 'spell_gen_creature_permanent_feign_death'), +(58983, 'spell_big_blizzard_bear'), +(59061, 'spell_charge_shield_bomber'), +(59065, 'spell_q13369_fate_up_against_your_will'), +(59088, 'spell_warr_improved_spell_reflection'), +(59089, 'spell_warr_improved_spell_reflection'), +(59102, 'spell_gen_default_count_pct_from_max_hp'), +(59103, 'spell_shadow_sickle_periodic_damage'), +(59134, 'spell_dk_death_coil'), +(59193, 'spell_switch_infragreen_bomber_station'), +(59194, 'spell_switch_infragreen_bomber_station'), +(59196, 'spell_switch_infragreen_bomber_station'), +(59237, 'spell_utgarde_pinnacle_beast_mark'), +(59288, 'spell_charge_shield_bomber'), +(59303, 'spell_q13291_q13292_q13239_q13261_armored_decoy_summon_skytalon'), +(59317, 'spell_gen_teleporting'), +(59318, 'spell_q13291_q13292_q13239_q13261_frostbrood_skytalon_grab_decoy'), +(59416, 'spell_dred_raptor_call'), +(59417, 'spell_hadronox_leech_poison'), +(59433, 'spell_azjol_nerub_pound'), +(59452, 'spell_gen_select_target_count_15_2'), +(59511, 'spell_prince_taldaram_flame_sphere_summon'), +(59512, 'spell_prince_taldaram_flame_sphere_summon'), +(59542, 'spell_gen_gift_of_naaru'), +(59543, 'spell_gen_gift_of_naaru'), +(59544, 'spell_gen_gift_of_naaru'), +(59545, 'spell_gen_gift_of_naaru'), +(59547, 'spell_gen_gift_of_naaru'), +(59548, 'spell_gen_gift_of_naaru'), +(59566, 'spell_sha_earthen_power'), +(59622, 'spell_anti_air_rocket_bomber'), +(59628, 'spell_rog_tricks_of_the_trade_proc'), +(59630, 'spell_gen_black_magic_enchant'), +(59640, 'spell_item_underbelly_elixir'), +(59643, 'spell_q13280_13283_plant_battle_standard'), +(59686, 'spell_ticking_time_bomb'), +(59725, 'spell_warr_improved_spell_reflection_trigger'), +(59754, 'spell_dk_rune_tap_party'), +(59789, 'spell_item_oracle_ablutions'), +(59803, 'spell_trollgore_consume'), +(59807, 'spell_trollgore_corpse_explode'), +(59827, 'spell_galdarah_impaling_charge'), +(59837, 'spell_loken_pulsing_shockwave'), +(59910, 'spell_novos_summon_minions'), +(59917, 'spell_gen_disabled_above_70'), +(59972, 'spell_tharon_ja_curse_of_life'), +(59990, 'spell_twisted_visage_lifebloom'), +(60103, 'spell_sha_lava_lash'), +(60123, 'spell_pri_lightwell'), +(60144, 'spell_hun_viper_attack_speed'), +(60218, 'spell_gen_absorb0_hitlimit1'), +(60291, 'spell_volazj_whisper'), +(60292, 'spell_volazj_whisper'), +(60293, 'spell_volazj_whisper'), +(60294, 'spell_volazj_whisper'), +(60295, 'spell_volazj_whisper'), +(60296, 'spell_volazj_whisper'), +(60297, 'spell_volazj_whisper'), +(60320, 'spell_item_scroll_of_recall'), +(60321, 'spell_item_scroll_of_recall'), +(60476, 'spell_item_titanium_seal_of_dalaran'), +(60532, 'spell_gen_default_count_pct_from_max_hp'), +(60535, 'spell_item_light_lamp'), +(60779, 'spell_dru_idol_lifebloom'), +(60864, 'spell_gen_default_count_pct_from_max_hp'), +(60893, 'spell_gen_profession_research'), +(60900, 'spell_q13369_fate_up_against_your_will'), +(60936, 'spell_eoe_ph3_surge_of_power'), +(61013, 'spell_pet_hit_expertise_scalling'), +(61017, 'spell_pet_hit_expertise_scalling'), +(61093, 'spell_fight_fire_bomber'), +(61122, 'spell_item_branns_communicator'), +(61123, 'spell_blight_worm_ingest'), +(61177, 'spell_gen_profession_research'), +(61288, 'spell_gen_profession_research'), +(61336, 'spell_dru_survival_instincts'), +(61408, 'spell_wintergrasp_create_vehicle'), +(61409, 'spell_wintergrasp_force_building'), +(61546, 'spell_krystallus_shatter'), +(61547, 'spell_krystallus_shatter_effect'), +(61551, 'spell_item_toy_train_set'), +(61669, 'spell_hun_aspect_of_the_beast'), +(61678, 'spell_z_check'), +(61697, 'spell_dk_pet_scaling'), +(61698, 'spell_gen_ds_flush_knockback'), +(61756, 'spell_gen_profession_research'), +(61782, 'spell_gen_replenishment'), +(61783, 'spell_sha_feral_spirit_scaling'), +(61784, 'spell_pilgrims_bounty_feast_on_generic'), +(61785, 'spell_pilgrims_bounty_feast_on_generic'), +(61786, 'spell_pilgrims_bounty_feast_on_generic'), +(61787, 'spell_pilgrims_bounty_feast_on_generic'), +(61788, 'spell_pilgrims_bounty_feast_on_generic'), +(61804, 'spell_pilgrims_bounty_serve_generic'), +(61805, 'spell_pilgrims_bounty_serve_generic'), +(61806, 'spell_pilgrims_bounty_serve_generic'), +(61807, 'spell_pilgrims_bounty_serve_generic'), +(61808, 'spell_pilgrims_bounty_serve_generic'), +(61889, 'spell_assembly_meltdown'), +(61968, 'spell_hodir_flash_freeze'), +(61999, 'spell_dk_raise_ally'), +(62014, 'spell_pilgrims_bounty_turkey_tracker'), +(62018, 'spell_algalon_collapse'), +(62019, 'spell_assembly_rune_of_summoning'), +(62038, 'spell_hodir_biting_cold_main_aura'), +(62039, 'spell_hodir_biting_cold_player_aura'), +(62056, 'spell_ulduar_stone_grip'), +(62166, 'spell_ulduar_stone_grip_cast_target'), +(62266, 'spell_algalon_trigger_3_adds'), +(62274, 'spell_shield_of_runes'), +(62292, 'spell_tar_blaze'), +(62309, 'spell_demolisher_ride_vehicle'), +(62311, 'spell_algalon_cosmic_smash_damage'), +(62324, 'spell_vehicle_throw_passenger'), +(62331, 'spell_thorim_trash_impale'), +(62374, 'spell_pursue'), +(62399, 'spell_vehicle_circuit_overload'), +(62418, 'spell_thorim_trash_impale'), +(62475, 'spell_systems_shutdown'), +(62482, 'spell_vehicle_grab_pyrite'), +(62501, 'spell_hodir_shatter_chest'), +(62539, 'spell_gen_eject_passenger'), +(62546, 'spell_ignis_scorch'), +(62552, 'spell_gen_defend'), +(62563, 'spell_gen_mounted_charge'), +(62571, 'spell_item_enchanted_broom_periodic'), +(62575, 'spell_gen_break_shield'), +(62594, 'spell_gen_tournament_pennant'), +(62595, 'spell_gen_tournament_pennant'), +(62596, 'spell_gen_tournament_pennant'), +(62606, 'spell_dru_savage_defense'), +(62626, 'spell_gen_break_shield'), +(62692, 'spell_aura_of_despair'), +(62705, 'spell_auto_repair'), +(62707, 'spell_ignis_grab_initial'), +(62709, 'spell_gen_tournament_counterattack'), +(62717, 'spell_ignis_slag_pot'), +(62719, 'spell_gen_defend'), +(62774, 'spell_gen_summon_tournament_mount'), +(62775, 'spell_xt002_tympanic_tantrum'), +(62779, 'spell_gen_summon_tournament_mount'), +(62780, 'spell_gen_summon_tournament_mount'), +(62781, 'spell_gen_summon_tournament_mount'), +(62782, 'spell_gen_summon_tournament_mount'), +(62783, 'spell_gen_summon_tournament_mount'), +(62784, 'spell_gen_summon_tournament_mount'), +(62785, 'spell_gen_summon_tournament_mount'), +(62786, 'spell_gen_summon_tournament_mount'), +(62787, 'spell_gen_summon_tournament_mount'), +(62807, 'spell_hodir_starlight'), +(62821, 'spell_hodir_toasty_fire'), +(62863, 'spell_gen_tournament_duel'), +(62874, 'spell_gen_mounted_charge'), +(62912, 'spell_thorims_hammer'), +(62960, 'spell_gen_mounted_charge'), +(62976, 'spell_thorim_lightning_pillar_P2'), +(62991, 'spell_gen_bonked'), +(63003, 'spell_gen_mounted_charge'), +(63010, 'spell_gen_mounted_charge'), +(63018, 'spell_xt002_searing_light_spawn_life_spark'), +(63024, 'spell_xt002_gravity_bomb_aura'), +(63025, 'spell_xt002_gravity_bomb_damage'), +(63034, 'spell_gen_on_tournament_mount'), +(63108, 'spell_warl_siphon_life'), +(63120, 'spell_yogg_saron_insane'), +(63233, 'spell_gen_break_shield'), +(63274, 'spell_mimiron_p3wx2_laser_barrage'), +(63276, 'spell_mark_of_the_faceless_periodic'), +(63278, 'spell_mark_of_the_faceless_drainhealth'), +(63305, 'spell_yogg_saron_grim_reprisal'), +(63310, 'spell_warl_glyph_of_shadowflame'), +(63322, 'spell_saronite_vapors_dummy'), +(63338, 'spell_saronite_vapors_damage'), +(63382, 'spell_mimiron_rapid_burst'), +(63394, 'spell_gen_tournament_pennant'), +(63395, 'spell_gen_tournament_pennant'), +(63396, 'spell_gen_tournament_pennant'), +(63397, 'spell_gen_tournament_pennant'), +(63398, 'spell_gen_tournament_pennant'), +(63399, 'spell_gen_tournament_pennant'), +(63401, 'spell_gen_tournament_pennant'), +(63402, 'spell_gen_tournament_pennant'), +(63403, 'spell_gen_tournament_pennant'), +(63404, 'spell_gen_tournament_pennant'), +(63405, 'spell_gen_tournament_pennant'), +(63406, 'spell_gen_tournament_pennant'), +(63416, 'spell_gen_clone_weapon'), +(63418, 'spell_gen_clone_weapon_aura'), +(63421, 'spell_gen_tournament_pennant'), +(63422, 'spell_gen_tournament_pennant'), +(63423, 'spell_gen_tournament_pennant'), +(63425, 'spell_gen_tournament_pennant'), +(63426, 'spell_gen_tournament_pennant'), +(63427, 'spell_gen_tournament_pennant'), +(63428, 'spell_gen_tournament_pennant'), +(63429, 'spell_gen_tournament_pennant'), +(63430, 'spell_gen_tournament_pennant'), +(63431, 'spell_gen_tournament_pennant'), +(63432, 'spell_gen_tournament_pennant'), +(63433, 'spell_gen_tournament_pennant'), +(63434, 'spell_gen_tournament_pennant'), +(63435, 'spell_gen_tournament_pennant'), +(63436, 'spell_gen_tournament_pennant'), +(63474, 'spell_ignis_scorch'), +(63477, 'spell_ignis_slag_pot'), +(63489, 'spell_shield_of_runes'), +(63500, 'spell_gen_tournament_pennant'), +(63501, 'spell_gen_tournament_pennant'), +(63521, 'spell_pal_guarded_by_the_light'), +(63545, 'spell_hodir_periodic_icicle'), +(63606, 'spell_gen_tournament_pennant'), +(63607, 'spell_gen_tournament_pennant'), +(63608, 'spell_gen_tournament_pennant'), +(63609, 'spell_gen_tournament_pennant'), +(63611, 'spell_dk_improved_blood_presence_proc'), +(63661, 'spell_gen_mounted_charge'), +(63663, 'spell_gen_summon_tournament_mount'), +(63711, 'spell_hodir_storm_power'), +(63716, 'spell_kologarn_stone_shout'), +(63720, 'spell_kologarn_stone_shout'), +(63744, 'spell_yogg_saron_target_selectors'), +(63745, 'spell_yogg_saron_target_selectors'), +(63747, 'spell_yogg_saron_target_selectors'), +(63791, 'spell_gen_summon_tournament_mount'), +(63792, 'spell_gen_summon_tournament_mount'), +(63795, 'spell_yogg_saron_sanity_reduce'), +(63802, 'spell_yogg_saron_brain_link'), +(63803, 'spell_yogg_saron_sanity_reduce'), +(63825, 'spell_gen_break_shield'), +(63830, 'spell_yogg_saron_malady_of_the_mind'), +(63830, 'spell_yogg_saron_sanity_reduce'), +(63845, 'spell_gen_create_lance'), +(63881, 'spell_yogg_saron_malady_of_the_mind'), +(63881, 'spell_yogg_saron_sanity_reduce'), +(63944, 'spell_gen_damage_reduction_aura'), +(63981, 'spell_ulduar_stone_grip_cast_target'), +(63985, 'spell_ulduar_stone_grip'), +(64004, 'spell_kologarn_stone_shout'), +(64005, 'spell_kologarn_stone_shout'), +(64059, 'spell_yogg_saron_sanity_reduce'), +(64142, 'spell_gen_upper_deck_create_foam_sword'), +(64161, 'spell_yogg_saron_empowered'), +(64164, 'spell_yogg_saron_lunatic_gaze'), +(64164, 'spell_yogg_saron_sanity_reduce'), +(64168, 'spell_yogg_saron_lunatic_gaze'), +(64168, 'spell_yogg_saron_sanity_reduce'), +(64169, 'spell_yogg_saron_sanity_well'), +(64172, 'spell_yogg_saron_titanic_storm'), +(64174, 'spell_yogg_saron_protective_gaze'), +(64184, 'spell_yogg_saron_in_the_maws_of_the_old_god'), +(64205, 'spell_pal_divine_sacrifice'), +(64217, 'spell_voa_overcharge'), +(64233, 'spell_xt002_gravity_bomb_damage'), +(64234, 'spell_xt002_gravity_bomb_aura'), +(64323, 'spell_item_book_of_glyph_mastery'), +(64342, 'spell_gen_break_shield'), +(64380, 'spell_warr_shattering_throw'), +(64385, 'spell_item_unusual_compass'), +(64392, 'spell_auriaya_sentinel_blast'), +(64411, 'spell_item_blessing_of_ancient_kings'), +(64412, 'spell_algalon_phase_punch'), +(64414, 'spell_load_into_catapult'), +(64415, 'spell_item_valanyr_hammer_of_ancient_kings'), +(64440, 'spell_gen_blade_warding'), +(64440, 'spell_gen_proc_above_75'), +(64440, 'spell_item_blade_ward_enchant'), +(64443, 'spell_algalon_big_bang'), +(64445, 'spell_algalon_remove_phase'), +(64465, 'spell_yogg_saron_shadow_beacon'), +(64467, 'spell_yogg_saron_empowering_shadows'), +(64482, 'spell_orbital_supports'), +(64507, 'spell_gen_break_shield'), +(64555, 'spell_yogg_saron_insane_periodic_trigger'), +(64568, 'spell_gen_proc_above_75'), +(64568, 'spell_item_blood_draining_enchant'), +(64584, 'spell_algalon_big_bang'), +(64590, 'spell_gen_break_shield'), +(64591, 'spell_gen_mounted_charge'), +(64595, 'spell_gen_break_shield'), +(64596, 'spell_algalon_cosmic_smash_damage'), +(64614, 'spell_gen_eject_passenger'), +(64629, 'spell_gen_eject_passenger'), +(64630, 'spell_gen_eject_passenger'), +(64631, 'spell_gen_eject_passenger'), +(64632, 'spell_gen_eject_passenger'), +(64633, 'spell_gen_eject_passenger'), +(64634, 'spell_gen_eject_passenger'), +(64635, 'spell_gen_eject_passenger'), +(64636, 'spell_gen_eject_passenger'), +(64677, 'spell_shield_generator'), +(64679, 'spell_auriaya_sentinel_blast'), +(64686, 'spell_gen_break_shield'), +(64702, 'spell_ulduar_squeezed_lifeless'), +(64740, 'spell_ulduar_energy_sap'), +(64770, 'spell_ulduar_arachnopod_damaged'), +(64844, 'spell_pri_divine_hymn'), +(64876, 'spell_ulduar_energy_sap'), +(64904, 'spell_pri_hymn_of_hope'), +(64981, 'spell_item_vanquished_clutches'), +(65075, 'spell_orbital_supports'), +(65076, 'spell_orbital_supports'), +(65077, 'spell_orbital_supports'), +(65121, 'spell_xt002_searing_light_spawn_life_spark'), +(65123, 'spell_hodir_storm_cloud'), +(65133, 'spell_hodir_storm_cloud'), +(65134, 'spell_hodir_storm_power'), +(65147, 'spell_gen_break_shield'), +(65206, 'spell_yogg_saron_destabilization_matrix'), +(65225, 'spell_sha_fire_elemental_scaling'), +(65226, 'spell_sha_fire_elemental_scaling'), +(65227, 'spell_sha_fire_elemental_scaling'), +(65228, 'spell_sha_fire_elemental_scaling'), +(65266, 'spell_gen_vehicle_scaling'), +(65279, 'spell_voa_lightning_nova'), +(65301, 'spell_yogg_saron_sanity_reduce'), +(65311, 'spell_algalon_supermassive_fail'), +(65418, 'spell_pilgrims_bounty_food'), +(65419, 'spell_pilgrims_bounty_food'), +(65420, 'spell_pilgrims_bounty_food'), +(65421, 'spell_pilgrims_bounty_food'), +(65422, 'spell_pilgrims_bounty_food'), +(65576, 'spell_winter_veil_shoot_air_rifle'), +(65635, 'spell_gen_vehicle_scaling'), +(65636, 'spell_gen_vehicle_scaling'), +(65684, 'spell_valkyr_essence'), +(65686, 'spell_valkyr_essence'), +(65812, 'spell_faction_champion_warl_unstable_affliction'), +(65920, 'spell_pursuing_spikes'), +(65922, 'spell_pursuing_spikes'), +(65923, 'spell_pursuing_spikes'), +(65941, 'spell_warr_shattering_throw'), +(65950, 'spell_valkyr_touch'), +(65956, 'spell_rog_blade_flurry'), +(66001, 'spell_valkyr_touch'), +(66041, 'spell_pilgrims_bounty_food'), +(66093, 'spell_faction_champion_dru_lifebloom'), +(66118, 'spell_gen_leeching_swarm'), +(66218, 'spell_ioc_launch'), +(66240, 'spell_gen_leeching_swarm_dmg'), +(66250, 'spell_pilgrims_bounty_pass_generic'), +(66259, 'spell_pilgrims_bounty_pass_generic'), +(66260, 'spell_pilgrims_bounty_pass_generic'), +(66261, 'spell_pilgrims_bounty_pass_generic'), +(66262, 'spell_pilgrims_bounty_pass_generic'), +(66316, 'spell_gen_50pct_count_pct_from_max_hp'), +(66334, 'spell_toc25_mistress_kiss'), +(66336, 'spell_mistress_kiss_area'), +(66477, 'spell_pilgrims_bounty_food'), +(66480, 'spell_gen_break_shield'), +(66481, 'spell_gen_mounted_charge'), +(66482, 'spell_gen_defend'), +(66515, 'spell_reflective_shield'), +(66630, 'spell_ioc_gunship_portal'), +(66637, 'spell_ioc_gunship_portal'), +(66656, 'spell_ioc_parachute_ic'), +(66666, 'spell_gen_vehicle_scaling'), +(66667, 'spell_gen_vehicle_scaling'), +(66668, 'spell_gen_vehicle_scaling'), +(66672, 'spell_ioc_bomb_blast_criteria'), +(66676, 'spell_ioc_bomb_blast_criteria'), +(66690, 'spell_voa_flaming_cinder'), +(66725, 'spell_koralon_meteor_fists'), +(66741, 'spell_q14112_14145_chum_the_water'), +(66808, 'spell_flame_warder_meteor_fists'), +(66862, 'spell_eadric_radiance'), +(67019, 'spell_item_flask_of_the_north'), +(67076, 'spell_mistress_kiss_area'), +(67077, 'spell_mistress_kiss_area'), +(67078, 'spell_mistress_kiss_area'), +(67100, 'spell_gen_50pct_count_pct_from_max_hp'), +(67101, 'spell_gen_50pct_count_pct_from_max_hp'), +(67102, 'spell_gen_50pct_count_pct_from_max_hp'), +(67176, 'spell_valkyr_essence'), +(67177, 'spell_valkyr_essence'), +(67178, 'spell_valkyr_essence'), +(67197, 'spell_toc5_light_rain'), +(67222, 'spell_valkyr_essence'), +(67223, 'spell_valkyr_essence'), +(67224, 'spell_valkyr_essence'), +(67281, 'spell_valkyr_touch'), +(67282, 'spell_valkyr_touch'), +(67283, 'spell_valkyr_touch'), +(67292, 'spell_toc5_light_rain'), +(67296, 'spell_valkyr_touch'), +(67297, 'spell_valkyr_touch'), +(67298, 'spell_valkyr_touch'), +(67335, 'spell_igb_gunship_fall_teleport'), +(67393, 'spell_gen_eject_passenger'), +(67489, 'spell_item_runic_healing_injector'), +(67533, 'spell_winter_veil_shoot_air_rifle'), +(67630, 'spell_gen_leeching_swarm'), +(67681, 'spell_eadric_radiance'), +(67698, 'spell_gen_allow_proc_from_spells_with_cost'), +(67752, 'spell_gen_allow_proc_from_spells_with_cost'), +(67799, 'spell_item_mind_amplify_dish'), +(67905, 'spell_toc25_mistress_kiss'), +(67906, 'spell_toc25_mistress_kiss'), +(67907, 'spell_toc25_mistress_kiss'), +(67957, 'spell_faction_champion_dru_lifebloom'), +(67958, 'spell_faction_champion_dru_lifebloom'), +(67959, 'spell_faction_champion_dru_lifebloom'), +(68077, 'spell_ioc_repair_turret'), +(68154, 'spell_faction_champion_warl_unstable_affliction'), +(68155, 'spell_faction_champion_warl_unstable_affliction'), +(68156, 'spell_faction_champion_warl_unstable_affliction'), +(68160, 'spell_flame_warder_meteor_fists'), +(68161, 'spell_koralon_meteor_fists'), +(68198, 'spell_pos_rimefang_frost_nova'), +(68282, 'spell_gen_mounted_charge'), +(68284, 'spell_gen_mounted_charge'), +(68321, 'spell_gen_mounted_charge'), +(68361, 'spell_hun_animal_handler'), +(68498, 'spell_gen_mounted_charge'), +(68501, 'spell_gen_mounted_charge'), +(68504, 'spell_gen_break_shield'), +(68529, 'spell_love_in_air_perfume_immune'), +(68530, 'spell_love_in_air_perfume_immune'), +(68576, 'spell_gen_eject_all_passengers'), +(68614, 'spell_apothecary_cologne_spill'), +(68644, 'spell_apothecary_validate_area'), +(68646, 'spell_gen_leeching_swarm'), +(68647, 'spell_gen_leeching_swarm'), +(68721, 'spell_igb_rocket_pack'), +(68786, 'spell_garfrost_permafrost'), +(68793, 'spell_bronjahm_magic_bane'), +(68798, 'spell_apothecary_perfume_spill'), +(68870, 'spell_bronjahm_soulstorm_visual'), +(68875, 'spell_wailing_souls_periodic'), +(68921, 'spell_bronjahm_soulstorm_targeting'), +(68965, 'spell_apothecary_lingering_fumes'), +(68966, 'spell_apothecary_throw_perfume'), +(68980, 'spell_the_lich_king_harvest_soul'), +(68984, 'spell_the_lich_king_cast_back_to_caster'), +(69008, 'spell_bronjahm_soulstorm_channel_ooc'), +(69012, 'spell_krick_explosive_barrage'), +(69020, 'spell_exploding_orb_auto_grow'), +(69030, 'spell_the_lich_king_valkyr_target_search'), +(69037, 'spell_the_lich_king_summon_into_air'), +(69038, 'spell_apothecary_throw_cologne'), +(69049, 'spell_bronjahm_soulstorm_targeting'), +(69050, 'spell_bronjahm_magic_bane'), +(69055, 'spell_marrowgar_bone_slice'), +(69057, 'spell_marrowgar_bone_spike_graveyard'), +(69069, 'spell_shield_of_bones'), +(69075, 'spell_marrowgar_bone_storm'), +(69110, 'spell_the_lich_king_ice_burst_target_search'), +(69140, 'spell_marrowgar_coldflame'), +(69195, 'spell_festergut_pungent_blight'), +(69200, 'spell_the_lich_king_raging_spirit'), +(69222, 'spell_gen_throw_shield'), +(69290, 'spell_festergut_blighted_spores'), +(69366, 'spell_dru_moonkin_form_passive'), +(69377, 'spell_item_runescroll_of_fortitude'), +(69382, 'spell_the_lich_king_lights_favor'), +(69383, 'spell_the_lich_king_dark_hunger'), +(69397, 'spell_the_lich_king_soul_rip'), +(69399, 'spell_igb_cannon_blast'), +(69401, 'spell_igb_incinerating_blast'), +(69409, 'spell_the_lich_king_soul_reaper'), +(69470, 'spell_igb_periodic_trigger_with_power_cost'), +(69483, 'spell_deathwhisper_dark_reckoning'), +(69483, 'spell_icc_dark_reckoning'), +(69487, 'spell_igb_overheat'), +(69487, 'spell_igb_periodic_trigger_with_power_cost'), +(69516, 'spell_icc_yd_summon_undead'), +(69538, 'spell_rotface_little_ooze_combine'), +(69553, 'spell_rotface_large_ooze_combine'), +(69603, 'spell_pos_blight'), +(69604, 'spell_pos_blight'), +(69610, 'spell_rotface_large_ooze_buff_combine'), +(69641, 'spell_gen_gryphon_wyvern_mount_check'), +(69649, 'spell_sindragosa_frost_breath'), +(69664, 'spell_q20438_q24556_aquantos_laundry'), +(69672, 'spell_gen_sunreaver_disguise'), +(69673, 'spell_gen_silver_covenant_disguise'), +(69674, 'spell_rotface_mutated_infection'), +(69678, 'spell_igb_rocket_artillery'), +(69679, 'spell_igb_rocket_artillery_explosion'), +(69682, 'spell_item_sleepy_willy'), +(69705, 'spell_igb_below_zero'), +(69712, 'spell_sindragosa_ice_tomb'), +(69712, 'spell_sindragosa_ice_tomb_dummy'), +(69712, 'spell_sindragosa_ice_tomb_filter'), +(69732, 'spell_item_lil_phylactery'), +(69762, 'spell_gen_allow_proc_from_spells_with_cost'), +(69762, 'spell_sindragosa_unchained_magic'), +(69766, 'spell_sindragosa_instability'), +(69832, 'spell_rotface_unstable_ooze_explosion'), +(69839, 'spell_rotface_unstable_ooze_explosion_init'), +(69891, 'spell_gen_clone_weapon'), +(69892, 'spell_gen_clone_weapon'), +(69893, 'spell_gen_clone_weapon_aura'), +(69896, 'spell_gen_clone_weapon_aura'), +(70017, 'spell_hor_gunship_cannon_fire'), +(70053, 'spell_svalna_revive_champion'), +(70078, 'spell_svalna_caress_of_death'), +(70104, 'spell_igb_teleport_to_enemy_ship'), +(70107, 'spell_sindragosa_permeating_chill'), +(70117, 'spell_sindragosa_icy_grip'), +(70120, 'spell_igb_on_gunship_deck'), +(70121, 'spell_igb_on_gunship_deck'), +(70122, 'spell_sindragosa_icy_grip_jump'), +(70126, 'spell_sindragosa_frost_beacon'), +(70127, 'spell_sindragosa_mystic_buffet'), +(70132, 'spell_pos_empowered_blizzard'), +(70157, 'spell_sindragosa_ice_tomb_trap'), +(70172, 'spell_igb_cannon_blast'), +(70174, 'spell_igb_incinerating_blast'), +(70207, 'spell_shield_of_bones'), +(70285, 'spell_pos_blight'), +(70286, 'spell_pos_blight'), +(70292, 'spell_pos_glacial_strike'), +(70308, 'spell_putricide_mutation_init'), +(70311, 'spell_putricide_mutated_transformation'), +(70331, 'spell_igb_check_for_players'), +(70336, 'spell_garfrost_permafrost'), +(70337, 'spell_the_lich_king_necrotic_plague'), +(70338, 'spell_the_lich_king_necrotic_plague_jump'), +(70342, 'spell_putricide_slime_puddle_spawn'), +(70345, 'spell_putricide_grow_stacker'), +(70346, 'spell_putricide_slime_puddle'), +(70348, 'spell_igb_rocket_pack_useable'), +(70351, 'spell_putricide_unstable_experiment'), +(70360, 'spell_putricide_eat_ooze'), +(70397, 'spell_igb_burning_pitch_selector'), +(70402, 'spell_putricide_mutated_transformation_dmg'), +(70403, 'spell_igb_burning_pitch_selector'), +(70405, 'spell_putricide_mutated_transformation_dismiss'), +(70443, 'spell_igb_explosion'), +(70444, 'spell_igb_explosion'), +(70447, 'spell_putricide_ooze_channel'), +(70459, 'spell_putricide_ooze_eruption_searcher'), +(70477, 'spell_bh_cleanse_quel_delar'), +(70497, 'spell_the_lich_king_summon_into_air'), +(70498, 'spell_the_lich_king_vile_spirits'), +(70499, 'spell_the_lich_king_vile_spirits_visual'), +(70501, 'spell_the_lich_king_vile_spirit_move_target_search'), +(70534, 'spell_the_lich_king_vile_spirit_damage_target_search'), +(70536, 'spell_icc_sprit_alarm'), +(70539, 'spell_putricide_regurgitated_ooze'), +(70541, 'spell_the_lich_king_infest'), +(70545, 'spell_icc_sprit_alarm'), +(70546, 'spell_icc_sprit_alarm'), +(70547, 'spell_icc_sprit_alarm'), +(70548, 'spell_bh_cleanse_quel_delar'), +(70588, 'spell_valithria_suppression'), +(70592, 'spell_gen_creature_permanent_feign_death'), +(70598, 'spell_sindragosa_s_fury'), +(70609, 'spell_igb_rocket_artillery'), +(70614, 'spell_q24545_aod_special'), +(70628, 'spell_gen_creature_permanent_feign_death'), +(70672, 'spell_putricide_gaseous_bloat'), +(70672, 'spell_putricide_ooze_channel'), +(70691, 'spell_dru_t10_restoration_4p_bonus'), +(70723, 'spell_dru_t10_balance_4p_bonus'), +(70733, 'spell_icc_stoneform'), +(70739, 'spell_icc_geist_alarm'), +(70740, 'spell_icc_geist_alarm'), +(70743, 'spell_q24545_aod_special'), +(70769, 'spell_gen_divine_storm_cd_reset'), +(70790, 'spell_q24545_aod_special'), +(70803, 'spell_gen_proc_not_self'), +(70805, 'spell_gen_proc_on_self'), +(70808, 'spell_sha_t10_restoration_4p_bonus'), +(70811, 'spell_sha_item_t10_elemental_2p_bonus'), +(70814, 'spell_marrowgar_bone_slice'), +(70826, 'spell_marrowgar_bone_spike_graveyard'), +(70834, 'spell_marrowgar_bone_storm'), +(70835, 'spell_marrowgar_bone_storm'), +(70836, 'spell_marrowgar_bone_storm'), +(70842, 'spell_deathwhisper_mana_barrier'), +(70871, 'spell_blood_queen_essence_of_the_blood_queen'), +(70877, 'spell_blood_queen_frenzied_bloodthirst'), +(70911, 'spell_putricide_unbound_plague_dmg'), +(70912, 'spell_dreamwalker_decay_periodic_timer'), +(70912, 'spell_dreamwalker_summon_suppresser'), +(70913, 'spell_dreamwalker_decay_periodic_timer'), +(70915, 'spell_dreamwalker_decay_periodic_timer'), +(70916, 'spell_dreamwalker_decay_periodic_timer'), +(70920, 'spell_putricide_unbound_plague'), +(70921, 'spell_dreamwalker_summoner'), +(70933, 'spell_dreamwalker_summoner'), +(70936, 'spell_dreamwalker_summon_suppresser_effect'), +(70937, 'spell_mage_glyph_of_eternal_water'), +(70946, 'spell_blood_queen_vampiric_bite'), +(70961, 'spell_icc_shattered_bones'), +(70980, 'spell_icc_web_wrap'), +(71032, 'spell_dreamwalker_summoner'), +(71056, 'spell_sindragosa_frost_breath'), +(71057, 'spell_sindragosa_frost_breath'), +(71058, 'spell_sindragosa_frost_breath'), +(71078, 'spell_dreamwalker_summoner'), +(71085, 'spell_dreamwalker_mana_void'), +(71123, 'spell_stinky_precious_decimate'), +(71168, 'spell_item_unsated_craving'), +(71169, 'spell_item_shadows_fate'), +(71201, 'spell_igb_battle_experience_check'), +(71219, 'spell_festergut_pungent_blight'), +(71222, 'spell_festergut_blighted_spores'), +(71224, 'spell_rotface_mutated_infection'), +(71252, 'spell_icc_yh_volley'), +(71255, 'spell_putricide_choking_gas_bomb'), +(71268, 'spell_blood_queen_swarming_shadows_floor_dmg'), +(71274, 'spell_icc_yf_frozen_orb'), +(71281, 'spell_pos_slave_trigger_closest'), +(71316, 'spell_pos_glacial_strike'), +(71317, 'spell_pos_glacial_strike'), +(71335, 'spell_igb_burning_pitch'), +(71339, 'spell_igb_burning_pitch'), +(71340, 'spell_blood_queen_pact_of_the_darkfallen_dmg'), +(71341, 'spell_blood_queen_pact_of_the_darkfallen_dmg_target'), +(71342, 'spell_big_love_rocket'), +(71350, 'spell_frostwarden_handler_focus_fire'), +(71357, 'spell_frostwarden_handler_order_whelp'), +(71376, 'spell_rimefang_icy_blast'), +(71390, 'spell_blood_queen_pact_of_the_darkfallen'), +(71441, 'spell_rotface_unstable_ooze_explosion_suicide'), +(71450, 'spell_gen_aura_service_uniform'), +(71462, 'spell_svalna_remove_spear'), +(71474, 'spell_blood_queen_frenzied_bloodthirst'), +(71475, 'spell_blood_queen_vampiric_bite'), +(71476, 'spell_blood_queen_vampiric_bite'), +(71477, 'spell_blood_queen_vampiric_bite'), +(71503, 'spell_putricide_mutated_transformation'), +(71610, 'spell_item_echoes_of_light'), +(71615, 'spell_putricide_tear_gas_effect'), +(71641, 'spell_item_echoes_of_light'), +(71718, 'spell_taldaram_summon_flame_ball'), +(71756, 'spell_taldaram_ball_of_inferno_flame'), +(71806, 'spell_taldaram_glittering_sparks'), +(71811, 'spell_the_lich_king_jump'), +(71841, 'spell_pet_gen_valkyr_guardian_smite'), +(71842, 'spell_pet_gen_valkyr_guardian_smite'), +(71848, 'spell_item_sleepy_willy'), +(71865, 'spell_item_trauma'), +(71868, 'spell_item_trauma'), +(71874, 'spell_item_toxic_wasteling'), +(71875, 'spell_item_necrotic_touch'), +(71877, 'spell_item_necrotic_touch'), +(71899, 'spell_blood_queen_bloodbolt'), +(71900, 'spell_blood_queen_bloodbolt'), +(71901, 'spell_blood_queen_bloodbolt'), +(71902, 'spell_blood_queen_bloodbolt'), +(71903, 'spell_item_shadowmourne'), +(71905, 'spell_item_shadowmourne_soul_fragment'), +(71941, 'spell_dreamwalker_twisted_nightmares'), +(71943, 'spell_blood_council_summon_shadow_resonance'), +(71963, 'spell_blood_queen_presence_of_the_darkfallen'), +(71964, 'spell_blood_queen_presence_of_the_darkfallen'), +(71966, 'spell_putricide_unstable_experiment'), +(71967, 'spell_putricide_unstable_experiment'), +(71968, 'spell_putricide_unstable_experiment'), +(71970, 'spell_dreamwalker_nightmare_cloud'), +(72040, 'spell_taldaram_summon_flame_ball'), +(72053, 'spell_valanar_kinetic_bomb_summon'), +(72054, 'spell_valanar_kinetic_bomb_absorb'), +(72080, 'spell_valanar_kinetic_bomb'), +(72087, 'spell_valanar_kinetic_bomb_knockback'), +(72088, 'spell_marrowgar_bone_spike_graveyard'), +(72089, 'spell_marrowgar_bone_spike_graveyard'), +(72134, 'spell_igb_explosion_main'), +(72137, 'spell_igb_explosion_main'), +(72155, 'spell_icc_harvest_blight_specimen'), +(72162, 'spell_icc_harvest_blight_specimen'), +(72176, 'spell_deathbringer_blood_link_blood_beast_aura'), +(72178, 'spell_deathbringer_blood_link_aura'), +(72202, 'spell_deathbringer_blood_link'), +(72219, 'spell_festergut_gastric_bloat'), +(72224, 'spell_dreamwalker_summon_portal'), +(72262, 'spell_the_lich_king_quake'), +(72286, 'spell_invincible'), +(72340, 'spell_igb_teleport_players_on_victory'), +(72368, 'spell_hor_shared_suffering'), +(72369, 'spell_hor_shared_suffering'), +(72371, 'spell_deathbringer_blood_power'), +(72378, 'spell_deathbringer_blood_nova_targeting'), +(72385, 'spell_deathbringer_boiling_blood'), +(72429, 'spell_the_lich_king_mass_resurrection'), +(72431, 'spell_the_lich_king_jump_remove_aura'), +(72441, 'spell_deathbringer_boiling_blood'), +(72442, 'spell_deathbringer_boiling_blood'), +(72443, 'spell_deathbringer_boiling_blood'), +(72451, 'spell_putricide_mutated_plague'), +(72455, 'spell_putricide_gaseous_bloat'), +(72455, 'spell_putricide_ooze_channel'), +(72456, 'spell_putricide_slime_puddle'), +(72457, 'spell_putricide_regurgitated_ooze'), +(72463, 'spell_putricide_mutated_plague'), +(72465, 'spell_sindragosa_soul_preservation'), +(72480, 'spell_dreamwalker_summon_portal'), +(72508, 'spell_putricide_mutated_transformation_dismiss'), +(72509, 'spell_putricide_mutated_transformation_dismiss'), +(72510, 'spell_putricide_mutated_transformation_dismiss'), +(72511, 'spell_putricide_mutated_transformation_dmg'), +(72512, 'spell_putricide_mutated_transformation_dmg'), +(72513, 'spell_putricide_mutated_transformation_dmg'), +(72527, 'spell_putricide_eat_ooze'), +(72528, 'spell_sindragosa_mystic_buffet'), +(72529, 'spell_sindragosa_mystic_buffet'), +(72530, 'spell_sindragosa_mystic_buffet'), +(72551, 'spell_festergut_gastric_bloat'), +(72552, 'spell_festergut_gastric_bloat'), +(72553, 'spell_festergut_gastric_bloat'), +(72585, 'spell_icc_soul_missile'), +(72595, 'spell_the_lich_king_restore_soul'), +(72618, 'spell_putricide_clear_aura_effect_value'), +(72635, 'spell_blood_queen_swarming_shadows_floor_dmg'), +(72636, 'spell_blood_queen_swarming_shadows_floor_dmg'), +(72637, 'spell_blood_queen_swarming_shadows_floor_dmg'), +(72671, 'spell_putricide_mutated_plague'), +(72672, 'spell_putricide_mutated_plague'), +(72705, 'spell_marrowgar_coldflame_bonestorm'), +(72752, 'spell_pvp_trinket_wotf_shared_cd'), +(72754, 'spell_the_lich_king_defile'), +(72757, 'spell_pvp_trinket_wotf_shared_cd'), +(72782, 'spell_taldaram_ball_of_inferno_flame'), +(72783, 'spell_taldaram_ball_of_inferno_flame'), +(72784, 'spell_taldaram_ball_of_inferno_flame'), +(72832, 'spell_putricide_gaseous_bloat'), +(72832, 'spell_putricide_ooze_channel'), +(72833, 'spell_putricide_gaseous_bloat'), +(72833, 'spell_putricide_ooze_channel'), +(72836, 'spell_putricide_ooze_channel'), +(72837, 'spell_putricide_ooze_channel'), +(72838, 'spell_putricide_ooze_channel'), +(72854, 'spell_putricide_unbound_plague_dmg'), +(72855, 'spell_putricide_unbound_plague_dmg'), +(72856, 'spell_putricide_unbound_plague_dmg'), +(72864, 'spell_frost_giant_death_plague'), +(72868, 'spell_putricide_slime_puddle'), +(72869, 'spell_putricide_slime_puddle'), +(72875, 'spell_putricide_regurgitated_ooze'), +(72876, 'spell_putricide_regurgitated_ooze'), +(72999, 'spell_blood_council_shadow_prison_damage'), +(73001, 'spell_blood_council_shadow_prison'), +(73022, 'spell_rotface_mutated_infection'), +(73023, 'spell_rotface_mutated_infection'), +(73031, 'spell_festergut_pungent_blight'), +(73032, 'spell_festergut_pungent_blight'), +(73033, 'spell_festergut_blighted_spores'), +(73034, 'spell_festergut_blighted_spores'), +(73058, 'spell_deathbringer_blood_nova_targeting'), +(73061, 'spell_sindragosa_frost_breath'), +(73062, 'spell_sindragosa_frost_breath'), +(73063, 'spell_sindragosa_frost_breath'), +(73064, 'spell_sindragosa_frost_breath'), +(73076, 'spell_gen_throw_shield'), +(73159, 'spell_the_lich_king_play_movie'), +(73488, 'spell_the_lich_king_life_siphon'), +(73530, 'spell_the_lich_king_shadow_trap_visual'), +(73579, 'spell_the_lich_king_summon_into_air'), +(73582, 'spell_the_lich_king_trigger_vile_spirit'), +(73650, 'spell_the_lich_king_restore_soul'), +(73655, 'spell_the_lich_king_teleport_to_frostmourne_hc'), +(73708, 'spell_the_lich_king_defile'), +(73709, 'spell_the_lich_king_defile'), +(73710, 'spell_the_lich_king_defile'), +(73779, 'spell_the_lich_king_infest'), +(73780, 'spell_the_lich_king_infest'), +(73781, 'spell_the_lich_king_infest'), +(73782, 'spell_the_lich_king_life_siphon'), +(73783, 'spell_the_lich_king_life_siphon'), +(73784, 'spell_the_lich_king_life_siphon'), +(73785, 'spell_the_lich_king_necrotic_plague_jump'), +(73786, 'spell_the_lich_king_necrotic_plague_jump'), +(73787, 'spell_the_lich_king_necrotic_plague_jump'), +(73797, 'spell_the_lich_king_soul_reaper'), +(73798, 'spell_the_lich_king_soul_reaper'), +(73799, 'spell_the_lich_king_soul_reaper'), +(73912, 'spell_the_lich_king_necrotic_plague'), +(73913, 'spell_the_lich_king_necrotic_plague'), +(73914, 'spell_the_lich_king_necrotic_plague'), +(74282, 'spell_the_lich_king_shadow_trap_periodic'), +(74296, 'spell_the_lich_king_harvest_soul'), +(74297, 'spell_the_lich_king_harvest_soul'), +(74300, 'spell_the_lich_king_summon_into_air'), +(74302, 'spell_the_lich_king_summon_spirit_bomb'), +(74325, 'spell_the_lich_king_harvest_soul'), +(74341, 'spell_the_lich_king_summon_spirit_bomb'), +(74342, 'spell_the_lich_king_summon_spirit_bomb'), +(74343, 'spell_the_lich_king_summon_spirit_bomb'), +(74396, 'spell_mage_fingers_of_frost_proc'), +(74445, 'spell_the_lich_king_cast_back_to_caster'), +(74452, 'spell_saviana_conflagration_init'), +(74455, 'spell_saviana_conflagration_throwback'), +(74490, 'spell_gen_creature_permanent_feign_death'), +(74505, 'spell_baltharus_enervating_brand_trigger'), +(74562, 'spell_halion_fiery_combustion'), +(74567, 'spell_halion_mark_of_combustion'), +(74610, 'spell_halion_combustion_summon'), +(74630, 'spell_gen_mod_radius_by_caster_scale'), +(74638, 'spell_halion_meteor_strike_targeting'), +(74641, 'spell_halion_meteor_strike_marker'), +(74696, 'spell_halion_meteor_strike_spread'), +(74768, 'spell_halion_twilight_cutter_periodic'), +(74769, 'spell_halion_twilight_cutter'), +(74792, 'spell_halion_soul_consumption'), +(74795, 'spell_halion_mark_of_consumption'), +(74800, 'spell_halion_consumption_summon'), +(74802, 'spell_gen_mod_radius_by_caster_scale'), +(74804, 'spell_halion_summon_exit_portals'), +(74805, 'spell_halion_summon_exit_portals'), +(74807, 'spell_halion_twilight_realm'), +(74808, 'spell_halion_twilight_phasing'), +(74812, 'spell_halion_leave_twilight_realm'), +(74856, 'spell_blazing_hippogryph'), +(74960, 'spell_gen_select_target_count_30_1'), +(75063, 'spell_halion_twilight_division'), +(75102, 'spell_voljin_war_drums'), +(75396, 'spell_halion_clear_debuffs'), +(75415, 'spell_ruby_sanctum_rallying_shout'), +(75420, 'spell_mount_check'), +(75509, 'spell_halion_twilight_mending'), +(75614, 'spell_celestial_steed'), +(75731, 'spell_item_instant_statue'), +(75874, 'spell_gen_mod_radius_by_caster_scale'), +(75875, 'spell_gen_mod_radius_by_caster_scale'), +(75876, 'spell_gen_mod_radius_by_caster_scale'), +(75882, 'spell_gen_mod_radius_by_caster_scale'), +(75883, 'spell_gen_mod_radius_by_caster_scale'), +(75884, 'spell_gen_mod_radius_by_caster_scale'), +(75886, 'spell_halion_blazing_aura'), +(75887, 'spell_halion_blazing_aura'), +(75973, 'spell_x53_touring_rocket'), +(76096, 'spell_item_lil_xt'), +(76098, 'spell_item_lil_xt'), +(77844, 'spell_halion_twilight_cutter'), +(77845, 'spell_halion_twilight_cutter'), +(77846, 'spell_halion_twilight_cutter'), +(100101, 'spell_valkyr_ball_periodic_dummy'); + +-- Restoring deleted spell_ranks for Threat of Thassarian +DELETE FROM `spell_ranks` WHERE `first_spell_id` IN (59133, 66216); +INSERT INTO `spell_ranks` (`first_spell_id`,`spell_id`,`rank`) VALUES +(59133, 59133, 1), +(59133, 66988, 2), +(59133, 66989, 3), +(59133, 66990, 4), +(59133, 66991, 5), +(59133, 66992, 6); + +-- Restoring spell_proc_events to how it was before the commit. +DROP TABLE IF EXISTS `spell_proc_event`; +CREATE TABLE IF NOT EXISTS `spell_proc_event` ( + `entry` MEDIUMINT(9) NOT NULL DEFAULT '0', + `SchoolMask` TINYINT(4) NOT NULL DEFAULT '0', + `SpellFamilyName` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', + `SpellFamilyMask0` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `SpellFamilyMask1` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `SpellFamilyMask2` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `procFlags` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `procEx` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `procPhase` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `ppmRate` FLOAT NOT NULL DEFAULT '0', + `CustomChance` FLOAT NOT NULL DEFAULT '0', + `Cooldown` INT(10) UNSIGNED NOT NULL DEFAULT '0', + PRIMARY KEY (`entry`) +) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4; + +DELETE FROM `spell_proc_event`; + +INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `procPhase`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES +(-66799, 0, 15, 4194304, 0, 0, 16, 0, 0, 0, 0, 0), +(-65661, 0, 15, 4194321, 537001988, 0, 16, 0, 0, 0, 100, 0), +(-64127, 0, 6, 1, 1, 0, 0, 0, 0, 0, 0, 0), +(-63730, 0, 6, 2048, 4, 0, 0, 0, 0, 0, 0, 0), +(-63373, 0, 11, 2147483648, 0, 0, 65536, 0, 0, 0, 0, 0), +(-63156, 126, 5, 1, 192, 0, 65536, 0, 0, 0, 0, 0), +(-62764, 0, 9, 0, 268435456, 0, 65536, 0, 0, 0, 100, 0), +(-61846, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0), +(-61680, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-59088, 0, 4, 0, 2, 0, 1024, 0, 4, 0, 0, 0), +(-58872, 0, 0, 0, 0, 0, 0, 270403, 0, 0, 0, 0), +(-57878, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0), +(-57470, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 15000), +(-56636, 0, 4, 32, 0, 0, 0, 262144, 0, 0, 0, 5500), +(-56342, 0, 9, 24, 134217728, 409600, 0, 0, 0, 0, 0, 22000), +(-55666, 0, 15, 1, 134217728, 0, 0, 0, 0, 0, 0, 0), +(-54747, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(-54639, 0, 15, 4194304, 65536, 0, 0, 0, 0, 0, 0, 0), +(-53709, 2, 10, 16384, 0, 0, 0, 0, 0, 0, 0, 0), +(-53695, 0, 10, 8388608, 0, 8, 16, 0, 0, 0, 0, 0), +(-53671, 0, 10, 8388608, 0, 0, 0, 0, 0, 0, 0, 0), +(-53569, 0, 10, 2097152, 65536, 0, 0, 2, 0, 0, 0, 0), +(-53551, 0, 10, 4096, 0, 0, 0, 0, 0, 0, 0, 0), +(-53527, 1, 10, 0, 0, 4, 1024, 1, 0, 0, 100, 0), +(-53501, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-53486, 0, 10, 8388608, 163840, 0, 0, 262146, 0, 0, 0, 0), +(-53380, 0, 10, 8388608, 163840, 0, 0, 262146, 0, 0, 0, 0), +(-53290, 0, 9, 2048, 1, 512, 0, 2, 0, 0, 0, 0), +(-53256, 0, 9, 2048, 8388609, 0, 0, 2, 0, 0, 0, 0), +(-53234, 0, 9, 131072, 1, 1, 0, 2, 0, 0, 0, 0), +(-53228, 0, 9, 32, 16777216, 0, 0, 0, 0, 0, 0, 0), +(-53221, 0, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0), +(-53215, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0), +(-53178, 0, 9, 0, 268435456, 0, 65536, 0, 0, 0, 100, 0), +(-52795, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0), +(-52127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3000), +(-51940, 0, 0, 0, 0, 0, 16384, 0, 0, 0, 0, 0), +(-51692, 0, 8, 516, 0, 0, 0, 0, 0, 0, 0, 0), +(-51672, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 1000), +(-51664, 0, 8, 131072, 8, 0, 0, 0, 0, 0, 0, 0), +(-51634, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-51627, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0), +(-51625, 0, 8, 268476416, 0, 0, 0, 0, 0, 0, 0, 0), +(-51562, 0, 11, 256, 0, 16, 0, 0, 0, 0, 0, 0), +(-51556, 0, 11, 192, 0, 16, 0, 2, 0, 0, 0, 0), +(-51523, 0, 11, 0, 1, 0, 65536, 0, 0, 0, 50, 0), +(-51521, 0, 11, 0, 16, 0, 0, 0, 1, 0, 0, 1), +(-51474, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(-51459, 0, 15, 0, 536870912, 0, 20, 0, 0, 0, 0, 0), +(-50880, 0, 15, 0, 67108864, 0, 0, 0, 0, 0, 0, 0), +(-49467, 0, 15, 16, 131072, 0, 0, 0, 0, 0, 0, 0), +(-49223, 0, 15, 17, 134348800, 0, 0, 0, 0, 0, 0, 0), +(-49219, 0, 15, 0, 536870912, 0, 20, 0, 0, 0, 0, 0), +(-49217, 0, 15, 0, 0, 2, 0, 0, 0, 0, 0, 500), +(-49208, 0, 15, 4194304, 65536, 0, 0, 0, 0, 0, 0, 0), +(-49188, 0, 15, 0, 131072, 0, 0, 0, 0, 0, 0, 0), +(-49149, 0, 15, 6, 131074, 0, 0, 0, 0, 0, 0, 0), +(-49018, 0, 15, 20971520, 0, 0, 0, 0, 0, 0, 0, 0), +(-49004, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0), +(-48988, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-48539, 0, 7, 16, 67108864, 0, 262144, 0, 0, 0, 0, 0), +(-48516, 0, 7, 5, 0, 0, 0, 2, 0, 0, 0, 30000), +(-48506, 0, 7, 5, 0, 0, 0, 0, 0, 0, 0, 0), +(-48496, 0, 7, 96, 33554434, 0, 0, 2, 0, 0, 0, 0), +(-48483, 0, 7, 34816, 1088, 0, 0, 0, 0, 0, 0, 0), +(-47580, 0, 6, 0, 0, 64, 0, 65536, 0, 0, 0, 0), +(-47569, 0, 6, 16384, 0, 0, 16384, 0, 0, 0, 0, 0), +(-47516, 0, 6, 6144, 65536, 0, 0, 0, 0, 0, 0, 0), +(-47509, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-47263, 32, 5, 0, 0, 0, 0, 2, 0, 0, 0, 20000), +(-47258, 0, 5, 0, 8388608, 0, 0, 65536, 0, 0, 0, 0), +(-47245, 0, 5, 2, 0, 0, 0, 1, 0, 0, 0, 0), +(-47201, 0, 5, 16393, 262144, 0, 0, 0, 0, 0, 0, 0), +(-47195, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(-46945, 0, 4, 0, 65536, 0, 0, 0, 0, 0, 0, 0), +(-46913, 0, 4, 64, 1028, 0, 0, 262144, 0, 0, 0, 0), +(-46867, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-46854, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-45234, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-44557, 0, 3, 32, 0, 0, 0, 0, 0, 0, 0, 6000), +(-44449, 0, 3, 551686775, 102472, 0, 0, 2, 0, 0, 0, 0), +(-44445, 0, 3, 19, 69632, 0, 0, 0, 0, 0, 0, 0), +(-44442, 0, 3, 8388608, 64, 0, 0, 65536, 0, 0, 0, 1000), +(-41635, 0, 0, 0, 0, 0, 664232, 0, 0, 0, 0, 0), +(-35541, 0, 0, 0, 0, 0, 8388608, 0, 0, 0, 0, 0), +(-35100, 0, 9, 4096, 0, 1, 0, 0, 0, 0, 0, 0), +(-34950, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-34935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8000), +(-34914, 0, 6, 8192, 0, 0, 131073, 0, 0, 0, 0, 0), +(-34753, 0, 6, 6144, 4, 4096, 0, 2, 0, 0, 0, 0), +(-34500, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-34497, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-33881, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-33191, 0, 6, 8421376, 1024, 0, 0, 0, 0, 0, 0, 0), +(-33150, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-33142, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-33076, 0, 0, 0, 0, 0, 664232, 0, 0, 0, 0, 0), +(-32385, 0, 5, 1, 262144, 0, 0, 0, 0, 0, 0, 0), +(-31876, 0, 10, 8388608, 0, 0, 0, 262144, 0, 0, 0, 0), +(-31871, 0, 10, 16, 0, 0, 16384, 0, 0, 0, 0, 0), +(-31833, 0, 10, 2147483648, 0, 0, 0, 0, 0, 0, 0, 0), +(-31656, 4, 3, 134217728, 0, 0, 0, 0, 0, 0, 0, 0), +(-31571, 0, 3, 0, 34, 0, 16384, 0, 4, 0, 0, 0), +(-31569, 0, 3, 65536, 0, 0, 0, 0, 0, 0, 0, 0), +(-31244, 0, 8, 4063232, 9, 0, 0, 52, 0, 0, 0, 0), +(-31124, 0, 8, 16777222, 0, 0, 0, 0, 0, 0, 0, 0), +(-30881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30000), +(-30701, 28, 0, 0, 0, 0, 664232, 0, 0, 0, 100, 0), +(-30675, 0, 11, 3, 0, 0, 0, 0, 0, 0, 0, 0), +(-30299, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(-30293, 0, 5, 897, 8519872, 0, 0, 0, 0, 0, 0, 0), +(-30160, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-29834, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(-29593, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0), +(-29441, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0), +(-29074, 84, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-27811, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-20925, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(-20500, 0, 4, 268435456, 0, 0, 0, 0, 0, 0, 0, 0), +(-20335, 0, 10, 8388608, 0, 0, 16, 0, 0, 0, 100, 0), +(-20234, 0, 10, 32768, 0, 0, 0, 0, 0, 0, 0, 0), +(-20210, 0, 10, 3221225472, 65536, 0, 0, 2, 0, 0, 0, 0), +(-20049, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-19572, 0, 9, 8388608, 0, 0, 262144, 0, 0, 0, 0, 0), +(-19184, 0, 9, 16, 8192, 262144, 0, 0, 4, 0, 0, 0), +(-18119, 0, 5, 0, 8388608, 0, 0, 0, 0, 0, 0, 0), +(-18096, 0, 5, 256, 8388608, 0, 0, 2, 0, 0, 0, 0), +(-18094, 0, 5, 10, 0, 0, 262144, 262144, 0, 0, 0, 0), +(-17793, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0), +(-17106, 0, 7, 524288, 0, 0, 0, 0, 0, 0, 0, 0), +(-16958, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-16952, 0, 7, 233472, 1024, 262144, 0, 2, 0, 0, 0, 0), +(-16880, 72, 7, 103, 58720258, 0, 0, 2, 1, 0, 0, 0), +(-16850, 0, 7, 4, 0, 0, 0, 0, 0, 0, 0, 0), +(-16511, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(-16487, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-16257, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 500), +(-16256, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-16180, 0, 11, 448, 0, 16, 0, 2, 0, 0, 100, 0), +(-16176, 0, 11, 448, 0, 16, 0, 2, 0, 0, 0, 0), +(-16086, 4, 11, 0, 262144, 0, 196608, 0, 0, 0, 0, 0), +(-15337, 0, 6, 8396800, 2, 0, 327680, 2, 0, 0, 100, 0), +(-14892, 0, 6, 268443136, 65540, 0, 0, 2, 0, 0, 0, 0), +(-14531, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-14186, 0, 8, 1082131720, 6, 0, 0, 2, 0, 0, 0, 1000), +(-14156, 0, 8, 4063232, 8, 0, 0, 0, 4, 0, 0, 0), +(-13983, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0), +(-13754, 0, 8, 16, 0, 0, 0, 0, 0, 0, 0, 0), +(-13165, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0), +(-12966, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(-12834, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-12797, 0, 4, 1024, 0, 0, 0, 0, 0, 0, 0, 0), +(-12319, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-12311, 0, 4, 2048, 1, 0, 0, 0, 0, 0, 0, 0), +(-12298, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0), +(-12289, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(-12281, 0, 4, 2858419268, 4194565, 0, 0, 0, 0, 0, 0, 6000), +(-11255, 0, 3, 16384, 0, 0, 0, 0, 0, 0, 0, 0), +(-11213, 0, 3, 0, 0, 0, 0, 2359299, 0, 0, 0, 0), +(-11185, 0, 3, 128, 0, 0, 327680, 0, 0, 0, 0, 0), +(-11180, 16, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(-11119, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-11095, 0, 3, 16, 0, 0, 0, 0, 0, 0, 0, 0), +(-9799, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(-5952, 0, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0), +(-1463, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0), +(-974, 0, 0, 0, 0, 0, 139944, 0, 0, 0, 0, 3000), +(-588, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0), +(-324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3000), +(1719, 0, 4, 778044484, 4212549, 0, 0, 2, 0, 0, 0, 0), +(1784, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0), +(3232, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(4524, 0, 0, 0, 0, 0, 1048576, 262144, 0, 0, 0, 0), +(6346, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0), +(7383, 1, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0), +(7434, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(8178, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(9452, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(9782, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(9784, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(11129, 4, 3, 12582935, 200768, 0, 0, 0, 0, 0, 0, 0), +(12169, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(12322, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(12999, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0), +(13000, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0), +(13001, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0), +(13002, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0), +(13163, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0), +(15088, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(15128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(15257, 32, 6, 0, 0, 0, 327680, 0, 0, 0, 33, 0), +(15277, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0), +(15286, 32, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(15331, 32, 6, 0, 0, 0, 327680, 0, 0, 0, 66, 0), +(15332, 32, 6, 0, 0, 0, 327680, 0, 0, 0, 100, 0), +(15346, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0), +(15600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0), +(16164, 0, 11, 2416967875, 266240, 0, 69968, 2097154, 0, 0, 0, 0), +(16550, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(16620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30000), +(16624, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(16864, 0, 0, 0, 0, 0, 87060, 2162688, 0, 3.5, 0, 0), +(17364, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(17495, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(17619, 0, 13, 0, 0, 0, 34816, 3, 0, 0, 0, 0), +(18820, 0, 0, 0, 0, 0, 0, 65536, 1, 0, 0, 0), +(19577, 0, 0, 0, 0, 0, 0, 1027, 0, 0, 0, 0), +(20128, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(20131, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(20132, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(20164, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0), +(20165, 0, 0, 0, 0, 0, 0, 1027, 0, 10, 0, 0), +(20166, 0, 0, 0, 0, 0, 0, 1027, 0, 12, 0, 0), +(20182, 0, 0, 0, 0, 0, 0, 262211, 0, 0, 0, 0), +(20185, 0, 0, 0, 0, 0, 1048576, 0, 0, 15, 0, 0), +(20186, 0, 0, 0, 0, 0, 1048576, 0, 0, 15, 0, 0), +(20375, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(20705, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(20784, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(20911, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0), +(21084, 3, 0, 0, 0, 0, 0, 1027, 0, 0, 0, 0), +(21185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000), +(21882, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(21890, 0, 4, 712396527, 876, 0, 0, 0, 0, 0, 0, 0), +(22007, 0, 3, 2097185, 0, 0, 0, 65536, 0, 0, 0, 0), +(22618, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(22648, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(23547, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0), +(23548, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(23551, 0, 11, 192, 0, 0, 0, 0, 0, 0, 0, 0), +(23552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3000), +(23572, 0, 11, 192, 0, 0, 0, 0, 0, 0, 0, 0), +(23578, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0), +(23581, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0), +(23686, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0), +(23688, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(23689, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0), +(23721, 0, 9, 2048, 0, 0, 0, 0, 0, 0, 0, 0), +(23920, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0), +(24353, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(24389, 0, 3, 12582935, 64, 0, 0, 0, 1, 0, 0, 0), +(24658, 0, 0, 0, 0, 0, 82192, 0, 1, 0, 0, 0), +(24905, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(24932, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6000), +(25050, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(25669, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0), +(25899, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0), +(26016, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0), +(26107, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0), +(26119, 0, 11, 2416967683, 0, 0, 65536, 65536, 0, 0, 0, 0), +(26128, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0), +(26135, 0, 10, 8388608, 0, 0, 0, 65536, 0, 0, 0, 0), +(26480, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(26605, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(27419, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(27498, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(27521, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 15000), +(27656, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(27774, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(27787, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0), +(28305, 0, 0, 0, 0, 0, 4, 3, 0, 0, 100, 0), +(28460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5000), +(28716, 0, 7, 16, 0, 0, 262144, 0, 0, 0, 0, 0), +(28719, 0, 7, 32, 0, 0, 0, 2, 0, 0, 0, 0), +(28744, 0, 7, 64, 0, 0, 278528, 0, 0, 0, 0, 0), +(28752, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(28789, 0, 10, 3221225472, 0, 0, 0, 0, 0, 0, 0, 0), +(28802, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(28809, 0, 6, 4096, 0, 0, 0, 2, 0, 0, 0, 0), +(28812, 0, 8, 33554438, 0, 0, 0, 2, 0, 0, 0, 0), +(28816, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(28823, 0, 11, 192, 0, 0, 0, 0, 0, 0, 0, 0), +(28847, 0, 7, 32, 0, 0, 0, 0, 0, 0, 0, 0), +(28849, 0, 11, 128, 0, 0, 0, 0, 0, 0, 0, 0), +(29150, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(29307, 0, 0, 0, 0, 0, 4, 65539, 0, 0, 100, 0), +(29385, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0), +(29455, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(29501, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(29624, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(29625, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(29626, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(29632, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(29633, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(29634, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(29635, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(29636, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(29637, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(29977, 0, 3, 12582935, 64, 0, 0, 0, 0, 0, 0, 0), +(30003, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0), +(30823, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0), +(30937, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(31221, 0, 8, 4196352, 0, 0, 1024, 0, 0, 0, 0, 0), +(31222, 0, 8, 4196352, 0, 0, 1024, 0, 0, 0, 0, 0), +(31223, 0, 8, 4196352, 0, 0, 1024, 0, 0, 0, 0, 0), +(31394, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(31794, 0, 0, 0, 0, 0, 0, 65536, 1, 0, 0, 0), +(31801, 0, 0, 0, 0, 0, 0, 1027, 0, 0, 0, 0), +(31904, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(32216, 0, 4, 0, 256, 0, 16, 0, 4, 0, 0, 0), +(32409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(32587, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(32642, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(32734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3000), +(32748, 0, 8, 0, 1, 0, 320, 0, 1, 0, 0, 0), +(32776, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(32777, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(32837, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 45000), +(32844, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0), +(32885, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(33089, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(33127, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0), +(33297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(33299, 0, 0, 0, 0, 0, 0, 65536, 1, 0, 0, 0), +(33510, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0), +(33648, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 45000), +(33719, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0), +(33746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000), +(33757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 3000), +(33759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000), +(33953, 0, 0, 0, 0, 0, 278528, 3, 0, 0, 0, 45000), +(34074, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0), +(34080, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0), +(34138, 0, 11, 128, 0, 0, 0, 0, 0, 0, 0, 0), +(34139, 0, 10, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0), +(34258, 0, 10, 8388608, 0, 0, 0, 262144, 0, 0, 0, 0), +(34262, 0, 10, 8388608, 0, 0, 0, 262144, 0, 0, 0, 0), +(34320, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 45000), +(34355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3000), +(34477, 0, 9, 0, 0, 0, 349524, 0, 0, 0, 100, 0), +(34584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30000), +(34586, 0, 0, 0, 0, 0, 0, 0, 0, 1.5, 0, 0), +(34598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(34749, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0), +(34774, 0, 0, 0, 0, 0, 0, 0, 0, 1.5, 0, 20000), +(34783, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0), +(34827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3000), +(35077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60000), +(35080, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 60000), +(35083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60000), +(35086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60000), +(35121, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(36032, 0, 3, 4096, 32768, 0, 0, 0, 1, 0, 0, 0), +(36096, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0), +(36111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(36541, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(37165, 0, 8, 2098176, 0, 0, 0, 0, 0, 0, 0, 0), +(37168, 0, 8, 4063232, 9, 0, 0, 0, 4, 0, 0, 0), +(37170, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0), +(37173, 0, 8, 750519704, 262, 0, 0, 0, 0, 0, 0, 30000), +(37189, 0, 10, 3221225472, 0, 0, 0, 2, 0, 0, 0, 60000), +(37193, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(37195, 0, 10, 8388608, 0, 0, 0, 262144, 0, 0, 0, 0), +(37197, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 45000), +(37213, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(37214, 0, 0, 0, 0, 0, 0, 65536, 1, 0, 0, 0), +(37227, 0, 11, 448, 0, 0, 0, 2, 0, 0, 0, 60000), +(37237, 0, 11, 1, 0, 0, 0, 2, 0, 0, 0, 0), +(37247, 8, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 45000), +(37377, 32, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(37379, 32, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(37384, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0), +(37443, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(37447, 0, 3, 0, 256, 0, 17408, 0, 0, 0, 100, 15000), +(37514, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0), +(37516, 0, 4, 1024, 0, 0, 0, 0, 0, 0, 0, 0), +(37519, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0), +(37523, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(37528, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0), +(37536, 0, 4, 65536, 0, 0, 0, 0, 0, 0, 0, 0), +(37568, 0, 6, 2048, 0, 0, 0, 0, 0, 0, 0, 0), +(37594, 0, 6, 4096, 0, 0, 0, 0, 0, 0, 0, 0), +(37600, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(37601, 0, 0, 0, 0, 0, 0, 65536, 1, 0, 0, 0), +(37603, 0, 6, 32768, 0, 0, 0, 0, 0, 0, 0, 0), +(37655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60000), +(37657, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3000), +(38026, 1, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0), +(38031, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(38290, 0, 0, 0, 0, 0, 0, 0, 0, 1.6, 0, 0), +(38299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15000), +(38326, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(38327, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(38334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60000), +(38347, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 45000), +(38350, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(38394, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0), +(38857, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(39027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3000), +(39372, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(39437, 4, 5, 4964, 192, 0, 0, 65536, 0, 0, 0, 0), +(39442, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0), +(39443, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(39530, 0, 0, 0, 0, 0, 0, 65536, 1, 0, 0, 0), +(39958, 0, 0, 0, 0, 0, 0, 0, 0, 0.7, 0, 40000), +(40407, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0), +(40438, 0, 6, 32832, 0, 0, 0, 0, 0, 0, 0, 0), +(40442, 0, 7, 20, 1088, 0, 0, 0, 1, 0, 0, 0), +(40444, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(40458, 0, 4, 33554432, 1537, 0, 0, 0, 0, 0, 0, 0), +(40463, 0, 11, 129, 16, 0, 0, 0, 0, 0, 0, 0), +(40470, 0, 10, 3229614080, 0, 0, 0, 262144, 0, 0, 0, 0), +(40475, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), +(40478, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(40482, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(40485, 0, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0), +(40899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3000), +(41034, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0), +(41260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000), +(41262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000), +(41350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(41381, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0), +(41393, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0), +(41434, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 45000), +(41469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0), +(41989, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0), +(42083, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 45000), +(42135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90000), +(42136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90000), +(42368, 0, 10, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0), +(42370, 0, 11, 128, 0, 0, 0, 0, 0, 0, 0, 0), +(42760, 0, 0, 0, 0, 0, 245966, 0, 0, 0, 20, 0), +(42770, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(43338, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(43443, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0), +(43726, 0, 10, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0), +(43728, 0, 11, 128, 0, 0, 0, 0, 0, 0, 0, 0), +(43737, 0, 7, 0, 1088, 0, 0, 0, 0, 0, 0, 10000), +(43739, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(43741, 0, 10, 2147483648, 0, 0, 0, 0, 0, 0, 0, 0), +(43745, 0, 10, 0, 512, 0, 0, 0, 0, 0, 0, 0), +(43748, 0, 11, 2416967680, 0, 0, 0, 0, 0, 0, 0, 0), +(43750, 0, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0), +(43819, 0, 0, 0, 0, 0, 0, 65536, 1, 0, 0, 0), +(44404, 0, 3, 536870945, 36864, 0, 0, 0, 0, 0, 0, 0), +(44543, 0, 3, 1049120, 4096, 0, 65536, 0, 7, 0, 7, 0), +(44545, 0, 3, 1049120, 4096, 0, 65536, 0, 7, 0, 15, 0), +(44546, 0, 3, 1049120, 4096, 0, 69632, 0, 0, 0, 5, 3000), +(44548, 0, 3, 1049120, 4096, 0, 69632, 0, 0, 0, 10, 3000), +(44549, 0, 3, 1049120, 4096, 0, 69632, 0, 0, 0, 15, 3000), +(44835, 0, 7, 0, 128, 0, 16, 0, 0, 0, 0, 0), +(45054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15000), +(45057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30000), +(45354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(45355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(45469, 0, 15, 16, 0, 0, 16, 0, 0, 0, 0, 0), +(45481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(45482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(45483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(45484, 0, 0, 0, 0, 0, 16384, 0, 0, 0, 0, 45000), +(46025, 32, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(46092, 0, 10, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0), +(46098, 0, 11, 128, 0, 0, 0, 0, 0, 0, 0, 0), +(46569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(46662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20000), +(46832, 0, 7, 1, 0, 0, 0, 65536, 0, 0, 0, 0), +(46910, 0, 4, 64, 0, 0, 20, 0, 0, 5.5, 0, 0), +(46911, 0, 4, 64, 0, 0, 20, 0, 0, 7.5, 0, 0), +(46916, 0, 4, 2097152, 0, 0, 0, 0, 4, 0, 0, 0), +(46951, 0, 4, 1024, 64, 0, 0, 0, 0, 0, 0, 0), +(46952, 0, 0, 1024, 64, 0, 0, 0, 0, 0, 0, 0), +(46953, 0, 0, 1024, 64, 0, 0, 0, 0, 0, 0, 0), +(47981, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0), +(48833, 0, 7, 0, 1088, 0, 0, 0, 0, 0, 0, 0), +(48835, 0, 10, 8388608, 0, 0, 0, 262144, 0, 0, 0, 0), +(48837, 0, 11, 2416967680, 0, 0, 0, 0, 0, 0, 0, 0), +(49027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20000), +(49028, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(49194, 0, 15, 8192, 0, 0, 0, 0, 0, 0, 0, 0), +(49222, 0, 0, 0, 0, 0, 139944, 0, 0, 0, 0, 2000), +(49542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 20000), +(49543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 20000), +(49592, 0, 0, 0, 0, 0, 664232, 262144, 0, 0, 100, 0), +(49622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60000), +(50240, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0), +(50421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1000), +(50781, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6000), +(50871, 0, 9, 0, 1342177280, 0, 0, 2, 0, 0, 100, 0), +(51123, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0), +(51127, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0), +(51128, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0), +(51129, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0), +(51130, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0), +(51346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000), +(51349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000), +(51352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000), +(51359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000), +(51414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(51528, 0, 0, 0, 0, 0, 0, 0, 0, 2.5, 0, 0), +(51529, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0), +(51530, 0, 0, 0, 0, 0, 0, 0, 0, 7.5, 0, 0), +(51531, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0), +(51532, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0), +(51682, 0, 8, 0, 524288, 0, 0, 0, 0, 0, 0, 0), +(51698, 0, 0, 0, 0, 0, 0, 2, 4, 0, 33, 1000), +(51700, 0, 0, 0, 0, 0, 0, 2, 4, 0, 66, 1000), +(51701, 0, 0, 0, 0, 0, 0, 2, 4, 0, 100, 1000), +(51915, 0, 0, 0, 0, 0, 16777216, 0, 0, 0, 100, 600000), +(52020, 0, 7, 32768, 1048576, 0, 0, 0, 0, 0, 0, 0), +(52420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30000), +(52423, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0), +(52437, 1, 4, 536870912, 0, 0, 16, 0, 4, 0, 0, 0), +(52898, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(53386, 48, 15, 8195, 6, 128, 349456, 0, 0, 0, 0, 0), +(53397, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(53583, 0, 0, 0, 0, 0, 0, 1027, 0, 0, 0, 0), +(53585, 0, 0, 0, 0, 0, 0, 1027, 0, 0, 0, 0), +(53601, 0, 0, 0, 0, 0, 688808, 0, 0, 0, 0, 6000), +(53646, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 20000), +(53736, 0, 0, 0, 0, 0, 0, 1027, 0, 0, 0, 0), +(54278, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(54404, 0, 0, 0, 0, 0, 0, 4, 0, 0, 100, 0), +(54486, 0, 0, 536870945, 36864, 0, 0, 0, 0, 0, 0, 0), +(54488, 0, 0, 536870945, 36864, 0, 0, 0, 0, 0, 0, 0), +(54489, 0, 0, 536870945, 36864, 0, 0, 0, 0, 0, 0, 0), +(54490, 0, 0, 536870945, 36864, 0, 0, 0, 0, 0, 0, 0), +(54646, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(54695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(54707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60000), +(54738, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 45000), +(54754, 0, 7, 16, 0, 0, 0, 0, 0, 0, 0, 0), +(54808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60000), +(54815, 0, 7, 32768, 0, 0, 16, 0, 0, 0, 0, 0), +(54821, 0, 7, 4096, 0, 0, 16, 0, 0, 0, 0, 0), +(54832, 0, 7, 0, 4096, 0, 16384, 0, 0, 0, 0, 0), +(54838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(54841, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3000), +(54845, 0, 7, 4, 0, 0, 65536, 0, 0, 0, 0, 0), +(54909, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 20000), +(54925, 2, 10, 0, 512, 0, 0, 0, 0, 0, 0, 0), +(54937, 0, 10, 2147483648, 0, 0, 0, 0, 0, 0, 0, 0), +(54939, 0, 10, 32768, 0, 0, 0, 0, 0, 0, 0, 0), +(55198, 0, 11, 448, 0, 0, 16384, 2, 0, 0, 0, 0), +(55380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(55381, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 15000), +(55440, 0, 11, 64, 0, 0, 0, 0, 0, 0, 0, 0), +(55610, 0, 15, 0, 67108864, 0, 4096, 0, 0, 0, 0, 0), +(55640, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 45000), +(55677, 0, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0), +(55680, 0, 6, 512, 0, 0, 0, 0, 0, 0, 0, 0), +(55681, 0, 6, 32768, 0, 0, 262144, 0, 0, 0, 0, 0), +(55689, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(55717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5000), +(55747, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(55768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(55776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(56218, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(56249, 0, 5, 0, 0, 1024, 0, 0, 0, 0, 0, 0), +(56355, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(56364, 0, 3, 0, 16777216, 0, 0, 0, 0, 0, 0, 0), +(56372, 0, 3, 0, 128, 0, 16384, 0, 0, 0, 0, 0), +(56374, 0, 3, 0, 16384, 0, 16384, 0, 0, 0, 0, 0), +(56375, 0, 3, 16777216, 0, 0, 65536, 0, 0, 0, 0, 0), +(56451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3000), +(56800, 0, 8, 4, 0, 0, 16, 0, 0, 0, 0, 0), +(56816, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0), +(56817, 0, 15, 0, 536870912, 0, 0, 0, 0, 0, 0, 0), +(56821, 0, 8, 2, 0, 0, 0, 2, 0, 0, 0, 0), +(56845, 0, 9, 8, 0, 0, 2097152, 0, 0, 0, 0, 0), +(57345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(57351, 0, 0, 0, 0, 0, 1782780, 0, 0, 0, 0, 0), +(57352, 0, 0, 0, 0, 0, 332116, 0, 0, 0, 0, 45000), +(57870, 0, 9, 8388608, 0, 0, 262144, 0, 0, 0, 0, 0), +(57907, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(57989, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0), +(58357, 0, 4, 64, 0, 0, 0, 2, 0, 0, 0, 0), +(58364, 0, 4, 1024, 0, 0, 0, 0, 0, 0, 0, 0), +(58372, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(58375, 0, 4, 0, 512, 0, 65552, 0, 1, 0, 100, 0), +(58386, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0), +(58410, 0, 0, 0, 0, 0, 0, 65539, 0, 0, 0, 0), +(58413, 0, 8, 0, 524288, 0, 0, 0, 0, 0, 0, 0), +(58426, 0, 8, 4196352, 0, 0, 1024, 0, 0, 0, 0, 0), +(58442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15000), +(58444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5000), +(58616, 0, 15, 16777216, 0, 0, 0, 0, 0, 0, 0, 0), +(58620, 0, 15, 4, 0, 0, 0, 0, 0, 0, 0, 0), +(58626, 0, 15, 33554432, 0, 0, 0, 0, 0, 0, 0, 0), +(58642, 0, 15, 0, 134217728, 0, 16, 0, 0, 0, 0, 0), +(58644, 0, 15, 0, 4, 0, 0, 0, 0, 0, 0, 0), +(58647, 0, 15, 0, 4, 0, 0, 0, 0, 0, 0, 0), +(58677, 0, 15, 8192, 0, 0, 0, 0, 0, 0, 0, 0), +(58901, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 45000), +(59176, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(59327, 0, 15, 134217728, 0, 0, 0, 0, 0, 0, 0, 0), +(59345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(59630, 0, 0, 0, 0, 0, 69648, 0, 1, 0, 0, 35000), +(59725, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0), +(59887, 0, 0, 0, 0, 0, 87040, 3, 1, 0, 0, 0), +(59888, 0, 0, 0, 0, 0, 87040, 3, 0, 0, 0, 0), +(59889, 0, 0, 0, 0, 0, 87040, 3, 0, 0, 0, 0), +(59890, 0, 0, 0, 0, 0, 87040, 3, 0, 0, 0, 0), +(59891, 0, 0, 0, 0, 0, 87040, 3, 0, 0, 0, 0), +(60061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60063, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 45000), +(60066, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 45000), +(60132, 0, 15, 16, 134348800, 0, 0, 0, 0, 0, 0, 0), +(60170, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0), +(60172, 0, 5, 262144, 0, 0, 0, 0, 0, 0, 0, 0), +(60176, 0, 4, 32, 16, 0, 0, 0, 0, 0, 0, 0), +(60221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15000), +(60490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60503, 1, 4, 4, 0, 0, 16, 65536, 0, 0, 0, 0), +(60519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60524, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(60529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(60537, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 45000), +(60564, 0, 11, 2416967680, 0, 0, 0, 0, 0, 0, 0, 0), +(60571, 0, 11, 2416967680, 0, 0, 0, 0, 0, 0, 0, 0), +(60572, 0, 11, 2416967680, 0, 0, 0, 0, 0, 0, 0, 0), +(60573, 0, 11, 2416967680, 0, 0, 0, 0, 0, 0, 0, 0), +(60574, 0, 11, 2416967680, 0, 0, 0, 0, 0, 0, 0, 0), +(60575, 0, 11, 2416967680, 0, 0, 0, 0, 0, 0, 0, 0), +(60617, 0, 0, 0, 0, 0, 0, 32, 0, 0, 100, 0), +(60710, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(60717, 0, 7, 2, 0, 0, 0, 0, 0, 0, 100, 0), +(60719, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(60722, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(60724, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(60726, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(60770, 0, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0), +(60818, 0, 10, 0, 512, 0, 0, 0, 0, 0, 0, 0), +(60826, 0, 15, 20971520, 0, 0, 0, 0, 0, 0, 0, 0), +(61062, 0, 3, 0, 256, 0, 17408, 0, 0, 0, 100, 15000), +(61188, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0), +(61257, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0), +(61324, 0, 10, 0, 131072, 0, 0, 0, 0, 0, 0, 0), +(61356, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 90000), +(61618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(61848, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0), +(62114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(62115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(62147, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(62337, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0), +(62459, 0, 15, 4, 0, 0, 0, 0, 0, 0, 0, 0), +(62600, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(62933, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0), +(63086, 0, 9, 0, 0, 65536, 0, 0, 0, 0, 0, 0), +(63108, 0, 5, 2, 0, 0, 0, 262144, 0, 0, 0, 0), +(63251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(63310, 0, 5, 0, 65536, 0, 65536, 1027, 0, 0, 0, 0), +(63320, 0, 5, 2147745792, 0, 32768, 1024, 0, 0, 0, 0, 0), +(63335, 0, 15, 0, 2, 0, 0, 0, 0, 0, 0, 0), +(63611, 0, 0, 0, 0, 0, 332116, 0, 0, 0, 0, 0), +(64343, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0), +(64411, 0, 0, 0, 0, 0, 279552, 786432, 0, 0, 0, 0), +(64415, 0, 0, 0, 0, 0, 0, 524288, 0, 0, 0, 45000), +(64440, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 20000), +(64571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000), +(64714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(64738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(64742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(64752, 0, 7, 8392704, 256, 2097152, 0, 0, 0, 0, 0, 0), +(64786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(64792, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 45000), +(64824, 0, 7, 2097152, 0, 0, 0, 0, 0, 0, 0, 0), +(64860, 0, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0), +(64867, 0, 3, 536870945, 4096, 0, 0, 0, 0, 0, 0, 45000), +(64882, 0, 10, 0, 1048576, 0, 0, 0, 0, 0, 0, 0), +(64890, 0, 10, 0, 65536, 0, 0, 2, 0, 0, 0, 0), +(64908, 0, 6, 8192, 0, 0, 0, 0, 0, 0, 0, 0), +(64912, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0), +(64914, 0, 8, 65536, 0, 0, 0, 0, 0, 0, 0, 0), +(64928, 0, 11, 1, 0, 0, 0, 2, 0, 0, 0, 0), +(64936, 0, 4, 4096, 0, 0, 69632, 0, 0, 0, 100, 0), +(64938, 0, 4, 2097216, 0, 0, 0, 2, 0, 0, 0, 0), +(64952, 0, 7, 0, 1088, 0, 0, 0, 0, 0, 0, 0), +(64955, 0, 10, 0, 64, 0, 0, 0, 0, 0, 0, 0), +(64964, 0, 15, 0, 536870912, 0, 0, 0, 0, 0, 0, 0), +(64976, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0), +(64999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(65002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(65005, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 45000), +(65013, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 45000), +(65020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(65025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(66808, 0, 0, 0, 0, 0, 4, 0, 0, 0, 100, 0), +(66865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 3000), +(66889, 0, 0, 0, 0, 0, 4, 0, 0, 0, 100, 0), +(67115, 0, 15, 20971520, 0, 0, 0, 0, 0, 0, 0, 45000), +(67151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(67209, 1, 8, 1048576, 0, 0, 327680, 0, 0, 0, 0, 0), +(67210, 0, 8, 4294967295, 4294967295, 4294967295, 0, 0, 0, 0, 0, 0), +(67353, 0, 7, 32768, 1049856, 0, 0, 0, 0, 0, 0, 0), +(67356, 8, 7, 16, 0, 0, 0, 0, 0, 0, 0, 0), +(67361, 0, 7, 2, 0, 0, 262144, 0, 0, 0, 0, 0), +(67363, 0, 10, 2147483648, 0, 0, 0, 0, 0, 0, 0, 10000), +(67365, 0, 10, 0, 2048, 0, 262144, 0, 0, 0, 0, 6000), +(67379, 0, 10, 0, 262144, 0, 0, 0, 0, 0, 0, 0), +(67381, 0, 15, 0, 536870912, 0, 0, 0, 0, 0, 0, 10000), +(67384, 0, 15, 16, 134348800, 0, 0, 0, 0, 0, 80, 10000), +(67386, 0, 11, 1, 0, 0, 65536, 0, 1, 0, 0, 6000), +(67389, 0, 11, 256, 0, 0, 16384, 0, 1, 0, 0, 8000), +(67392, 0, 11, 0, 0, 4, 16, 0, 0, 0, 0, 0), +(67530, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 5000), +(67653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50000), +(67667, 0, 0, 0, 0, 0, 16384, 0, 1, 0, 0, 45000), +(67670, 0, 0, 0, 0, 0, 65536, 0, 1, 0, 0, 45000), +(67672, 0, 0, 0, 0, 0, 8388948, 0, 0, 0, 0, 45000), +(67698, 0, 0, 0, 0, 0, 87040, 3, 1, 0, 0, 0), +(67702, 1, 0, 0, 0, 0, 332116, 262147, 0, 0, 35, 45000), +(67712, 0, 0, 0, 0, 0, 69632, 2, 0, 0, 0, 2000), +(67752, 0, 0, 0, 0, 0, 87040, 3, 1, 0, 0, 0), +(67758, 0, 0, 0, 0, 0, 69632, 2, 0, 0, 0, 2000), +(67771, 1, 0, 0, 0, 0, 332116, 262147, 0, 0, 35, 45000), +(68051, 1, 4, 4, 0, 0, 16, 0, 0, 0, 0, 0), +(68160, 0, 0, 0, 0, 0, 4, 0, 0, 0, 100, 0), +(69056, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0), +(69172, 0, 0, 4294967295, 4294967295, 4294967295, 0, 65539, 0, 0, 0, 0), +(69173, 0, 0, 4294967295, 4294967295, 4294967295, 0, 65539, 0, 0, 0, 0), +(69580, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0), +(69739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(69755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(69762, 0, 0, 0, 0, 0, 87040, 3, 1, 0, 100, 0), +(70652, 0, 15, 8, 0, 0, 0, 0, 0, 0, 0, 0), +(70664, 0, 7, 16, 0, 0, 0, 0, 0, 0, 0, 0), +(70672, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(70723, 0, 7, 5, 0, 0, 65536, 2, 0, 0, 100, 0), +(70727, 0, 9, 0, 0, 0, 64, 0, 0, 0, 0, 0), +(70730, 0, 9, 16384, 4096, 0, 262144, 0, 0, 0, 0, 0), +(70748, 0, 3, 0, 2097152, 0, 1024, 0, 0, 0, 0, 0), +(70756, 0, 10, 2097152, 65536, 0, 0, 0, 0, 0, 0, 0), +(70761, 0, 10, 0, 2147500032, 1, 1024, 0, 0, 0, 0, 0), +(70803, 0, 8, 4063232, 8, 0, 0, 0, 0, 0, 0, 0), +(70805, 0, 8, 0, 131072, 0, 0, 0, 0, 0, 0, 1000), +(70807, 0, 11, 0, 0, 16, 0, 0, 0, 0, 100, 0), +(70808, 0, 11, 256, 0, 0, 0, 2, 0, 0, 0, 0), +(70811, 0, 11, 3, 0, 0, 0, 0, 1, 0, 0, 0), +(70817, 0, 11, 0, 4096, 0, 65536, 0, 0, 0, 0, 0), +(70830, 0, 11, 0, 131072, 0, 0, 0, 0, 0, 0, 0), +(70841, 0, 5, 4, 256, 0, 262144, 0, 0, 0, 0, 0), +(70844, 0, 4, 256, 0, 0, 0, 0, 0, 0, 0, 0), +(70854, 0, 4, 0, 16, 0, 0, 0, 0, 0, 0, 0), +(70871, 0, 0, 0, 0, 0, 69972, 3, 0, 0, 100, 0), +(71039, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(71174, 0, 7, 4096, 256, 0, 262144, 0, 0, 0, 0, 0), +(71176, 0, 7, 2097154, 0, 0, 262144, 0, 0, 0, 0, 0), +(71178, 0, 7, 16, 0, 0, 262144, 0, 0, 0, 0, 0), +(71186, 0, 10, 0, 32768, 0, 0, 0, 0, 0, 0, 0), +(71191, 0, 10, 0, 65536, 0, 0, 0, 0, 0, 0, 0), +(71194, 0, 10, 0, 1048576, 0, 0, 0, 0, 0, 0, 0), +(71198, 0, 11, 268435456, 0, 0, 0, 0, 0, 0, 0, 0), +(71214, 0, 11, 5120, 16, 0, 16, 0, 0, 0, 0, 6000), +(71217, 0, 11, 0, 0, 16, 16384, 0, 0, 0, 0, 0), +(71226, 0, 15, 16, 134348800, 0, 0, 0, 0, 0, 0, 0), +(71228, 0, 15, 0, 536870912, 0, 0, 0, 0, 0, 0, 0), +(71402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(71404, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 50000), +(71406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0), +(71494, 0, 0, 0, 0, 0, 0, 16255, 0, 0, 0, 0), +(71519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105000), +(71540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(71545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0), +(71562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105000), +(71564, 126, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0), +(71567, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 400), +(71585, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 45000), +(71604, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 100, 10000), +(71606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100000), +(71611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(71634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30000), +(71637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100000), +(71640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30000), +(71642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(71645, 0, 0, 0, 0, 0, 65536, 3, 1, 0, 0, 45000), +(71770, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(71865, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0), +(71868, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0), +(71880, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0), +(71892, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0), +(71903, 0, 0, 0, 0, 0, 0, 1049603, 0, 0, 75, 0), +(72059, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0), +(72176, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(72178, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(72256, 0, 0, 0, 0, 0, 4, 65536, 0, 0, 0, 0), +(72413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60000), +(72417, 0, 0, 0, 0, 0, 327680, 0, 0, 0, 0, 60000), +(72455, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(72673, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 100, 10000), +(72674, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 100, 10000), +(72675, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 100, 10000), +(72832, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(72833, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(73878, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0), +(74396, 84, 3, 685904631, 1151040, 0, 65536, 3, 0, 0, 0, 0), +(75455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(75457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(16372, 0, 0, 0, 0, 0, 131072, 1, 0, 0, 100, 0), +(75475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(75481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45000), +(71761, 0, 3, 0, 1048576, 0, 0, 256, 0, 0, 0, 0), +(56841, 0, 9, 2048, 2048, 2048, 256, 0, 0, 0, 0, 0), +(16166, 0, 11, 3, 4096, 0, 0, 0, 1, 0, 0, 0), +(16188, 8, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0), +(16246, 0, 11, 2551185859, 5120, 16, 87376, 0, 1, 0, 0, 0), +(17116, 8, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0), +(4341, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0), +(28200, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0), +(63280, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0), +(65007, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0), +(21747, 0, 10, 0, 0, 0, 20, 0, 0, 20, 0, 50000), +(-16689, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1000), +(71756, 0, 0, 0, 0, 0, 0, 1027, 2, 0, 0, 0); + +-- Restoring the command +DELETE FROM `command` WHERE `name`='reload spell_proc_event'; +INSERT INTO `command` (`name`, `security`, `help`) VALUES +('reload spell_proc_event', 3, 'Syntax: .reload spell_proc_event\nReload spell_proc_event table.'); + +DELETE FROM `updates` WHERE `name` = '2022_10_02_01.sql'; diff --git a/data/sql/updates/db_world/2022_10_06_00.sql b/data/sql/updates/db_world/2022_10_06_00.sql new file mode 100644 index 000000000..44020d188 --- /dev/null +++ b/data/sql/updates/db_world/2022_10_06_00.sql @@ -0,0 +1,3 @@ +-- DB update 2022_10_05_00 -> 2022_10_06_00 +-- +DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=26084; diff --git a/data/sql/updates/db_world/2022_10_06_01.sql b/data/sql/updates/db_world/2022_10_06_01.sql new file mode 100644 index 000000000..09298ba0b --- /dev/null +++ b/data/sql/updates/db_world/2022_10_06_01.sql @@ -0,0 +1,5 @@ +-- DB update 2022_10_06_00 -> 2022_10_06_01 +-- +DELETE FROM `disables` WHERE `sourceType`=7 AND `entry`=180619; +INSERT INTO `disables` VALUES +(7,180619,0,0,0,'Ignore LoS by Ossirian Crystal'); diff --git a/data/sql/updates/db_world/2022_10_06_02.sql b/data/sql/updates/db_world/2022_10_06_02.sql new file mode 100644 index 000000000..5725930e9 --- /dev/null +++ b/data/sql/updates/db_world/2022_10_06_02.sql @@ -0,0 +1,3 @@ +-- DB update 2022_10_06_01 -> 2022_10_06_02 +-- +UPDATE `spell_dbc` SET `CastingTimeIndex`=1 WHERE `id`=25186; diff --git a/data/sql/updates/db_world/2022_10_06_03.sql b/data/sql/updates/db_world/2022_10_06_03.sql new file mode 100644 index 000000000..78ec7fb10 --- /dev/null +++ b/data/sql/updates/db_world/2022_10_06_03.sql @@ -0,0 +1,12 @@ +-- DB update 2022_10_06_02 -> 2022_10_06_03 +-- +DELETE FROM `creature_template_movement` WHERE `creatureId` IN (21221, 15728, 15334, 15802, 15725, 15726); +INSERT INTO `creature_template_movement` (`CreatureId`, `Ground`, `Swim`, `Flight`, `Rooted`, `Chase`, `Random`, `InteractionPauseTimer`) VALUES +(21221, 1, 0, 0, 1, 0, 0, 0), +(15728, 1, 0, 0, 1, 0, 0, 0), +(15334, 1, 0, 0, 1, 0, 0, 0), +(15802, 1, 0, 0, 1, 0, 0, 0), +(15725, 1, 0, 0, 1, 0, 0, 0), +(15726, 1, 0, 0, 1, 0, 0, 0); + +UPDATE `creature_template` SET `unit_flags` = `unit_flags` |33554432 WHERE `entry` IN (15910, 15904, 15896); diff --git a/data/sql/updates/db_world/2022_10_06_04.sql b/data/sql/updates/db_world/2022_10_06_04.sql new file mode 100644 index 000000000..bcec71c02 --- /dev/null +++ b/data/sql/updates/db_world/2022_10_06_04.sql @@ -0,0 +1,7 @@ +-- DB update 2022_10_06_03 -> 2022_10_06_04 +-- Horde "Trial of the Sea Lion" Quest ID 30 POI fix +UPDATE `quest_poi` SET `WorldMapAreaId`=17 WHERE `QuestID`=30 AND `MapID`=1; +UPDATE `quest_poi_points` SET `X`=1050, `Y`=-3119 WHERE `QuestID`=30 AND `Idx1`=2; +-- Alliance "Trial of the Sea Lion" Quest ID 272 POI fix +UPDATE `quest_poi` SET `WorldMapAreaId`=40 WHERE `QuestID`=272 AND `MapID`=0; +UPDATE `quest_poi_points` SET `X`=-10172, `Y`=2391 WHERE `QuestID`=272 AND `Idx1`=2; diff --git a/data/sql/updates/db_world/2022_10_06_05.sql b/data/sql/updates/db_world/2022_10_06_05.sql new file mode 100644 index 000000000..2c30a9860 --- /dev/null +++ b/data/sql/updates/db_world/2022_10_06_05.sql @@ -0,0 +1,3 @@ +-- DB update 2022_10_06_04 -> 2022_10_06_05 +-- +UPDATE `creature_template` SET `flags_extra`=`flags_extra`|0x02000000 WHERE `entry` IN (15341,14834,11380,12460); diff --git a/docker-compose.yml b/docker-compose.yml index 006d64481..72d0bf172 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -291,6 +291,12 @@ services: - ${DOCKER_VOL_TOOLS_MMAPS:-./var/extractors/mmaps}:/azerothcore/env/client/mmaps profiles: [prod, tools] + ac-db-import: + <<: *ac-shared-conf + image: acore/ac-wotlk-worldserver:${DOCKER_IMAGE_TAG:-master} # name of the generated image after built locally + command: ./env/dist/bin/dbimport + profiles: [db-import] + volumes: ac-database: ac-bin: diff --git a/env/docker/etc/dbimport.conf.dockerdist b/env/docker/etc/dbimport.conf.dockerdist new file mode 100644 index 000000000..9f60b9772 --- /dev/null +++ b/env/docker/etc/dbimport.conf.dockerdist @@ -0,0 +1,18 @@ +# Do NOT change those Dir configs +# Files in LogsDir will reflect on your host directory: docker/worldserver/logs +LogsDir = "/azerothcore/env/dist/logs" +DataDir = "/azerothcore/env/dist/data" + +# Change this configuration accordingly with your docker setup +# The format is "hostname;port;username;password;database": +# - docker containers must be on the same docker network to be able to communicate +# - the DB hostname will be the name of the database docker container +LoginDatabaseInfo = "ac-database;3306;root;password;acore_auth" +WorldDatabaseInfo = "ac-database;3306;root;password;acore_world" +CharacterDatabaseInfo = "ac-database;3306;root;password;acore_characters" + +# Add more configuration overwrites by copying settings from worldserver.conf.dist +LogLevel = 2 + +# Disable idle connections automatic kick since it doesn't work well on macOS + Docker +CloseIdleConnections = 0 diff --git a/src/common/Utilities/EventMap.cpp b/src/common/Utilities/EventMap.cpp index 15a95829e..00dac4a6d 100644 --- a/src/common/Utilities/EventMap.cpp +++ b/src/common/Utilities/EventMap.cpp @@ -106,6 +106,11 @@ void EventMap::Repeat(Milliseconds time) RepeatEvent(time.count()); } +void EventMap::Repeat(Milliseconds minTime, Milliseconds maxTime) +{ + RepeatEvent(randtime(minTime, maxTime).count()); +} + uint32 EventMap::ExecuteEvent() { while (!Empty()) diff --git a/src/common/Utilities/EventMap.h b/src/common/Utilities/EventMap.h index 45f97b15a..1d3df6222 100644 --- a/src/common/Utilities/EventMap.h +++ b/src/common/Utilities/EventMap.h @@ -182,12 +182,9 @@ public: void RescheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group = 0, uint32 phase = 0); /** - * @name RescheduleEvent - * @brief Cancels the given event and reschedules it. - * @param eventId The id of the event. - * @param time The time in milliseconds until the event occurs. - * @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group. - * @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases. + * @name RepeatEvent + * @brief Repeats the most recently executed event. + * @param time Time until the event occurs as std::chrono type. */ void RepeatEvent(uint32 time); @@ -198,6 +195,15 @@ public: */ void Repeat(Milliseconds time); + /** + + * @name RepeatEvent + * @brief Repeats the most recently executed event. + * @param minTime The minimum time until the event occurs as std::chrono type. + * @param maxTime The maximum time until the event occurs as std::chrono type. + */ + void Repeat(Milliseconds minTime, Milliseconds maxTime); + /** * @name ExecuteEvent * @brief Returns the next event to execute and removes it from map. diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 676051b49..2a0cb331f 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -2424,6 +2424,12 @@ bool Creature::CanAssistTo(Unit const* u, Unit const* enemy, bool checkfaction / if (GetCharmerOrOwnerGUID()) return false; + // Check for ignore assistance extra flag + if (m_creatureInfo->HasFlagsExtra(CREATURE_FLAG_EXTRA_IGNORE_ASSISTANCE_CALL)) + { + return false; + } + // only from same creature faction if (checkfaction) { diff --git a/src/server/game/Entities/Creature/CreatureData.h b/src/server/game/Entities/Creature/CreatureData.h index 678b8b1ca..ff43c7689 100644 --- a/src/server/game/Entities/Creature/CreatureData.h +++ b/src/server/game/Entities/Creature/CreatureData.h @@ -71,7 +71,7 @@ enum CreatureFlagsExtra : uint32 CREATURE_FLAG_EXTRA_AVOID_AOE = 0x00400000, // pussywizard: ignored by aoe attacks (for icc blood prince council npc - Dark Nucleus) CREATURE_FLAG_EXTRA_NO_DODGE = 0x00800000, // xinef: target cannot dodge CREATURE_FLAG_EXTRA_MODULE = 0x01000000, - CREATURE_FLAG_EXTRA_DONT_CALL_ASSISTANCE = 0x02000000, // Creatures do not call periodically assistance in combat + CREATURE_FLAG_EXTRA_IGNORE_ASSISTANCE_CALL = 0x02000000, // Creatures are not aggroed by other mobs assistance functions CREATURE_FLAG_EXTRA_UNUSED_27 = 0x04000000, CREATURE_FLAG_EXTRA_UNUSED_28 = 0x08000000, CREATURE_FLAG_EXTRA_DUNGEON_BOSS = 0x10000000, // creature is a dungeon boss (SET DYNAMICALLY, DO NOT ADD IN DB) diff --git a/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp b/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp index 4e294ae4e..e6e79e755 100644 --- a/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp +++ b/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp @@ -56,7 +56,7 @@ AC_API_EXPORT EnumText EnumUtils::ToString(CreatureFlagsExtr case CREATURE_FLAG_EXTRA_AVOID_AOE: return { "CREATURE_FLAG_EXTRA_AVOID_AOE", "CREATURE_FLAG_EXTRA_AVOID_AOE", "pussywizard: ignored by aoe attacks (for icc blood prince council npc - Dark Nucleus)" }; case CREATURE_FLAG_EXTRA_NO_DODGE: return { "CREATURE_FLAG_EXTRA_NO_DODGE", "CREATURE_FLAG_EXTRA_NO_DODGE", "xinef: target cannot dodge" }; case CREATURE_FLAG_EXTRA_MODULE: return { "CREATURE_FLAG_EXTRA_MODULE", "CREATURE_FLAG_EXTRA_MODULE", "Used by module creatures to avoid blizzlike checks." }; - case CREATURE_FLAG_EXTRA_DONT_CALL_ASSISTANCE: return { "CREATURE_FLAG_EXTRA_DONT_CALL_ASSISTANCE", "Creatures do not call periodically assistance in combat", "" }; + case CREATURE_FLAG_EXTRA_IGNORE_ASSISTANCE_CALL: return { "CREATURE_FLAG_EXTRA_IGNORE_ASSISTANCE_CALL", "Creatures are not aggroed by other mobs assistance functions", "" }; case CREATURE_FLAG_EXTRA_UNUSED_27: return { "CREATURE_FLAG_EXTRA_UNUSED_27", "CREATURE_FLAG_EXTRA_UNUSED_27", "" }; case CREATURE_FLAG_EXTRA_UNUSED_28: return { "CREATURE_FLAG_EXTRA_UNUSED_28", "CREATURE_FLAG_EXTRA_UNUSED_28", "" }; case CREATURE_FLAG_EXTRA_DUNGEON_BOSS: return { "CREATURE_FLAG_EXTRA_DUNGEON_BOSS", "CREATURE_FLAG_EXTRA_DUNGEON_BOSS", "creature is a dungeon boss (SET DYNAMICALLY, DO NOT ADD IN DB)" }; @@ -100,7 +100,7 @@ AC_API_EXPORT CreatureFlagsExtra EnumUtils::FromIndex(size_t case 22: return CREATURE_FLAG_EXTRA_AVOID_AOE; case 23: return CREATURE_FLAG_EXTRA_NO_DODGE; case 24: return CREATURE_FLAG_EXTRA_MODULE; - case 25: return CREATURE_FLAG_EXTRA_DONT_CALL_ASSISTANCE; + case 25: return CREATURE_FLAG_EXTRA_IGNORE_ASSISTANCE_CALL; case 26: return CREATURE_FLAG_EXTRA_UNUSED_27; case 27: return CREATURE_FLAG_EXTRA_UNUSED_28; case 28: return CREATURE_FLAG_EXTRA_DUNGEON_BOSS; @@ -141,7 +141,7 @@ AC_API_EXPORT size_t EnumUtils::ToIndex(CreatureFlagsExtra v case CREATURE_FLAG_EXTRA_AVOID_AOE: return 22; case CREATURE_FLAG_EXTRA_NO_DODGE: return 23; case CREATURE_FLAG_EXTRA_MODULE: return 24; - case CREATURE_FLAG_EXTRA_DONT_CALL_ASSISTANCE: return 25; + case CREATURE_FLAG_EXTRA_IGNORE_ASSISTANCE_CALL: return 25; case CREATURE_FLAG_EXTRA_UNUSED_27: return 26; case CREATURE_FLAG_EXTRA_UNUSED_28: return 27; case CREATURE_FLAG_EXTRA_DUNGEON_BOSS: return 28; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 836dcf2e7..0ca784e34 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -10031,12 +10031,8 @@ bool Unit::Attack(Unit* victim, bool meleeAttack) creature->SendAIReaction(AI_REACTION_HOSTILE); - CreatureTemplate const* cInfo = creature->GetCreatureTemplate(); - if (!cInfo || !cInfo->HasFlagsExtra(CREATURE_FLAG_EXTRA_DONT_CALL_ASSISTANCE)) - { - creature->CallAssistance(); - creature->SetAssistanceTimer(sWorld->getIntConfig(CONFIG_CREATURE_FAMILY_ASSISTANCE_PERIOD)); - } + creature->CallAssistance(); + creature->SetAssistanceTimer(sWorld->getIntConfig(CONFIG_CREATURE_FAMILY_ASSISTANCE_PERIOD)); SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); } diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp index 7256c0a6e..f4f7d1559 100644 --- a/src/server/game/Entities/Vehicle/Vehicle.cpp +++ b/src/server/game/Entities/Vehicle/Vehicle.cpp @@ -344,6 +344,9 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId) ASSERT(seat->second.IsEmpty()); } + if (!seat->second.SeatInfo) + return false; + LOG_DEBUG("vehicles", "Unit {} enter vehicle entry {} id {} ({}) seat {}", unit->GetName(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUID().ToString(), (int32)seat->first); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 558cd54fc..813ef0dbe 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3258,33 +3258,23 @@ void Spell::DoTriggersOnSpellHit(Unit* unit, uint8 effMask) { if (CanExecuteTriggersOnHit(effMask, i->triggeredByAura) && roll_chance_i(i->chance)) { + m_caster->CastSpell(unit, i->triggeredSpell->Id, true); LOG_DEBUG("spells.aura", "Spell {} triggered spell {} by SPELL_AURA_ADD_TARGET_TRIGGER aura", m_spellInfo->Id, i->triggeredSpell->Id); // SPELL_AURA_ADD_TARGET_TRIGGER auras shouldn't trigger auras without duration // set duration of current aura to the triggered spell if (i->triggeredSpell->GetDuration() == -1) { - // get duration from aura-only once - if (!_duration) - { - Aura* aur = unit->GetAura(m_spellInfo->Id, m_caster->GetGUID()); - _duration = aur ? aur->GetDuration() : -1; - } - if (Aura* triggeredAur = unit->GetAura(i->triggeredSpell->Id, m_caster->GetGUID())) { - triggeredAur->SetDuration(std::max(triggeredAur->GetDuration(), _duration)); + // get duration from aura-only once + if (!_duration) + { + Aura* aur = unit->GetAura(m_spellInfo->Id, m_caster->GetGUID()); + _duration = aur ? aur->GetDuration() : -1; + } + triggeredAur->SetDuration(_duration); } - else - { - AuraEffect const* triggeringAuraEffect = m_caster->GetAuraEffect(i->triggeredByAura->Id, i->triggeredByEffIdx); - m_caster->CastCustomSpell(i->triggeredSpell->Id, SPELLVALUE_AURA_DURATION, _duration, unit, true, nullptr, triggeringAuraEffect); - } - } - else - { - AuraEffect const* triggeringAuraEffect = m_caster->GetAuraEffect(i->triggeredByAura->Id, i->triggeredByEffIdx); - m_caster->CastSpell(unit, i->triggeredSpell, true, nullptr, triggeringAuraEffect); } } } diff --git a/src/server/game/Spells/SpellInfoCorrections.cpp b/src/server/game/Spells/SpellInfoCorrections.cpp index e9f247979..d113409af 100644 --- a/src/server/game/Spells/SpellInfoCorrections.cpp +++ b/src/server/game/Spells/SpellInfoCorrections.cpp @@ -4409,6 +4409,12 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->DurationEntry = sSpellDurationStore.LookupEntry(27); }); + // Rental Racing Ram + ApplySpellFix({ 43883 }, [](SpellInfo* spellInfo) + { + spellInfo->AuraInterruptFlags &= ~AURA_INTERRUPT_FLAG_NOT_ABOVEWATER; + }); + for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i) { SpellInfo* spellInfo = mSpellInfoMap[i]; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp index 9c19e2747..21e6faab3 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp @@ -70,6 +70,7 @@ enum Spells // Tentacles SPELL_SUBMERGE_VISUAL = 26234, SPELL_BIRTH = 26262, + SPELL_ROCKY_GROUND_IMPACT = 26271, // Areatriggers SPELL_SPIT_OUT = 25383, @@ -186,9 +187,9 @@ struct boss_eye_of_cthun : public BossAI void EnterCombat(Unit* who) override { - DoZoneInCombat(); ScheduleTasks(); BossAI::EnterCombat(who); + _beamTarget = who->GetGUID(); } void MoveInLineOfSight(Unit* who) override @@ -222,11 +223,29 @@ struct boss_eye_of_cthun : public BossAI _scheduler. Schedule(3s, [this](TaskContext task) { - DoCastRandomTarget(SPELL_GREEN_BEAM); + if (task.GetRepeatCounter() < 3) + { + if (Unit* target = ObjectAccessor::GetUnit(*me, _beamTarget)) + { + DoCast(target, SPELL_GREEN_BEAM); + } + + task.Repeat(); + } + else + { + _scheduler.Schedule(5s, [this](TaskContext task) + { + DoCastRandomTarget(SPELL_GREEN_BEAM); + + task.SetGroup(GROUP_BEAM_PHASE); + task.Repeat(3s); + }); + } + task.SetGroup(GROUP_BEAM_PHASE); - task.Repeat(); }) - .Schedule(12s, [this](TaskContext task) + .Schedule(8s, [this](TaskContext task) { if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true)) { @@ -324,48 +343,32 @@ struct boss_eye_of_cthun : public BossAI void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override { - switch (instance->GetData(DATA_CTHUN_PHASE)) + //Only if it will kill + if (damage < me->GetHealth()) + return; + + //Fake death in phase 0 or 1 (green beam or dark glare phase) + me->InterruptNonMeleeSpells(false); + + //Remove Red coloration from c'thun + me->RemoveAurasDueToSpell(SPELL_RED_COLORATION); + + //Reset to normal emote state and prevent select and attack + me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE); + + //Remove Target field + me->SetTarget(); + + me->SetHealth(0); + damage = 0; + + me->InterruptNonMeleeSpells(true); + me->RemoveAllAuras(); + _scheduler.CancelAll(); + + if (Creature* cthun = instance->GetCreature(DATA_CTHUN)) { - case PHASE_EYE_GREEN_BEAM: - case PHASE_EYE_RED_BEAM: - //Only if it will kill - if (damage < me->GetHealth()) - return; - - //Fake death in phase 0 or 1 (green beam or dark glare phase) - me->InterruptNonMeleeSpells(false); - - //Remove Red coloration from c'thun - me->RemoveAurasDueToSpell(SPELL_RED_COLORATION); - - //Reset to normal emote state and prevent select and attack - me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE); - - //Remove Target field - me->SetTarget(); - - me->SetHealth(0); - damage = 0; - - me->InterruptNonMeleeSpells(true); - me->RemoveAllAuras(); - _scheduler.CancelAll(); - - if (Creature* cthun = instance->GetCreature(DATA_CTHUN)) - { - cthun->AI()->DoAction(ACTION_START_PHASE_TWO); - } - - break; - - case PHASE_CTHUN_DONE: - //Allow death here - return; - - default: - //Prevent death in these phases - damage = 0; - return; + cthun->AI()->DoAction(ACTION_START_PHASE_TWO); } } @@ -376,6 +379,7 @@ private: bool ClockWise; uint32 _eyeTentacleCounter; + ObjectGuid _beamTarget; TaskScheduler _scheduler; }; @@ -424,7 +428,7 @@ struct boss_cthun : public BossAI //Spawn flesh tentacle for (uint8 i = 0; i < 2; i++) { - me->SummonCreature(NPC_FLESH_TENTACLE, FleshTentaclePos[i], TEMPSUMMON_CORPSE_DESPAWN); + me->SummonCreature(NPC_FLESH_TENTACLE, FleshTentaclePos[i], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000); } ScheduleTasks(); @@ -457,25 +461,27 @@ struct boss_cthun : public BossAI } context.Repeat(30s); - }).Schedule(15s, [this](TaskContext context) + }).Schedule(8s, [this](TaskContext context) { if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, -SPELL_DIGESTIVE_ACID)) { //Spawn claw tentacle on the random target if (Creature* spawned = me->SummonCreature(NPC_GIANT_CLAW_TENTACLE, *target, TEMPSUMMON_CORPSE_DESPAWN, 500)) - if (spawned->AI()) - spawned->AI()->AttackStart(target); + { + spawned->AI()->AttackStart(target); + } } context.Repeat(1min); - }).Schedule(15s, [this](TaskContext context) + }).Schedule(38s, [this](TaskContext context) { if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, -SPELL_DIGESTIVE_ACID)) { //Spawn claw tentacle on the random target if (Creature* spawned = me->SummonCreature(NPC_GIANT_EYE_TENTACLE, *target, TEMPSUMMON_CORPSE_DESPAWN, 500)) - if (spawned->AI()) - spawned->AI()->AttackStart(target); + { + spawned->AI()->AttackStart(target); + } } context.Repeat(1min); @@ -536,6 +542,8 @@ struct boss_cthun : public BossAI { ++_fleshTentaclesKilled; + creature->CastSpell(creature, SPELL_ROCKY_GROUND_IMPACT, true); + if (_fleshTentaclesKilled > 1) { _scheduler.CancelAll(); @@ -580,6 +588,14 @@ struct npc_eye_tentacle : public ScriptedAI { portal->SetReactState(REACT_PASSIVE); _portalGUID = portal->GetGUID(); + + if (Unit* summoner = me->ToTempSummon()->GetSummonerUnit()) + { + if (Creature* creature = summoner->ToCreature()) + { + creature->AI()->JustSummoned(portal); + } + } } SetCombatMovement(false); @@ -643,6 +659,14 @@ struct npc_claw_tentacle : public ScriptedAI { portal->SetReactState(REACT_PASSIVE); _portalGUID = portal->GetGUID(); + + if (Unit* summoner = me->ToTempSummon()->GetSummonerUnit()) + { + if (Creature* creature = summoner->ToCreature()) + { + creature->AI()->JustSummoned(portal); + } + } } } @@ -702,6 +726,14 @@ struct npc_giant_claw_tentacle : public ScriptedAI { portal->SetReactState(REACT_PASSIVE); _portalGUID = portal->GetGUID(); + + if (Unit* summoner = me->ToTempSummon()->GetSummonerUnit()) + { + if (Creature* creature = summoner->ToCreature()) + { + creature->AI()->JustSummoned(portal); + } + } } } @@ -835,6 +867,14 @@ struct npc_giant_eye_tentacle : public ScriptedAI { portal->SetReactState(REACT_PASSIVE); _portalGUID = portal->GetGUID(); + + if (Unit* summoner = me->ToTempSummon()->GetSummonerUnit()) + { + if (Creature* creature = summoner->ToCreature()) + { + creature->AI()->JustSummoned(portal); + } + } } } @@ -931,9 +971,12 @@ public: bool OnTrigger(Player* player, AreaTrigger const* /*at*/) override { - if (Creature* trigger = player->FindNearestCreature(NPC_TRIGGER, 15.0f)) + if (InstanceScript* instance = player->GetInstanceScript()) { - trigger->CastSpell(player, SPELL_SPIT_OUT, true); + if (Creature* cthun = instance->GetCreature(DATA_CTHUN)) + { + cthun->CastSpell(player, SPELL_SPIT_OUT, true); + } } return true; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp index 2f3dffc3e..c8e5c69e8 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp @@ -35,8 +35,7 @@ enum Spells SPELL_WYVERN_STING = 26180, SPELL_ACID_SPIT = 26050, SPELL_WYVERN_STING_DAMAGE = 26233, - SPELL_POISON_BOLT = 26052, - SPELL_HARD_ENRAGE = 26662 + SPELL_POISON_BOLT = 26052 }; enum Events @@ -54,18 +53,18 @@ struct boss_huhuran : public BossAI void Reset() override { - _Reset(); + BossAI::Reset(); _berserk = false; _hardEnrage = false; } void EnterCombat(Unit* /*who*/) override { - events.ScheduleEvent(EVENT_FRENZY, urand(25000, 35000)); - events.ScheduleEvent(EVENT_WYVERN_STING, urand(18000, 28000)); - events.ScheduleEvent(EVENT_ACID_SPIT, 8000); - events.ScheduleEvent(EVENT_NOXIOUS_POISON, urand(10000, 20000)); - events.ScheduleEvent(EVENT_HARD_ENRAGE, 300000); + events.ScheduleEvent(EVENT_FRENZY, 12s, 21s); + events.ScheduleEvent(EVENT_WYVERN_STING, 25s, 43s); + events.ScheduleEvent(EVENT_ACID_SPIT, 1s, 20s); + events.ScheduleEvent(EVENT_NOXIOUS_POISON, 10s, 22s); + events.ScheduleEvent(EVENT_HARD_ENRAGE, 5min); } void DamageTaken(Unit*, uint32& /*damage*/, DamageEffectType, SpellSchoolMask) override @@ -74,6 +73,7 @@ struct boss_huhuran : public BossAI { DoCastSelf(SPELL_BERSERK, true); me->TextEmote(EMOTE_BERSERK); + events.CancelEvent(EVENT_FRENZY); _berserk = true; } } @@ -91,39 +91,43 @@ struct boss_huhuran : public BossAI case EVENT_FRENZY: DoCastSelf(SPELL_FRENZY, true); Talk(EMOTE_FRENZY_KILL); - events.RepeatEvent(urand(25000, 35000)); + events.Repeat(12s, 21s); break; case EVENT_WYVERN_STING: me->CastCustomSpell(SPELL_WYVERN_STING, SPELLVALUE_MAX_TARGETS, 10, me, true); - events.RepeatEvent(urand(15000, 32000)); + events.Repeat(25s, 43s); break; case EVENT_ACID_SPIT: DoCastVictim(SPELL_ACID_SPIT); - events.RepeatEvent(urand(5000, 10000)); + events.Repeat(1s, 20s); break; case EVENT_NOXIOUS_POISON: - DoCastRandomTarget(SPELL_NOXIOUS_POISON, 0, 100, true); - events.RepeatEvent(urand(12000, 24000)); + DoCastRandomTarget(SPELL_NOXIOUS_POISON, 0, 100.f, true); + events.Repeat(10s, 22s); break; case EVENT_HARD_ENRAGE: if (!_hardEnrage) { - DoCastSelf(SPELL_HARD_ENRAGE, true); + DoCastSelf(SPELL_BERSERK, true); + events.CancelEvent(EVENT_FRENZY); _hardEnrage = true; } else { DoCastAOE(SPELL_POISON_BOLT); } - events.RepeatEvent(3000); + events.Repeat(2s); + break; + default: break; } } DoMeleeAttackIfReady(); } - private: - bool _berserk; - bool _hardEnrage; + +private: + bool _berserk; + bool _hardEnrage; }; // 26180 - Wyvern Sting diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp index 6dabe7337..46de14dcc 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp @@ -49,14 +49,15 @@ enum events EVENT_SPELL_BERSERK = 4, EVENT_SARTURA_AGGRO_RESET = 5, EVENT_SARTURA_AGGRO_RESET_END = 6, + EVENT_SARTURA_SUNDERING_CLEAVE = 7, // Sartura's Royal Guard - EVENT_GUARD_WHIRLWIND = 7, - EVENT_GUARD_WHIRLWIND_RANDOM = 8, - EVENT_GUARD_WHIRLWIND_END = 9, - EVENT_GUARD_KNOCKBACK = 10, - EVENT_GUARD_AGGRO_RESET = 11, - EVENT_GUARD_AGGRO_RESET_END = 12 + EVENT_GUARD_WHIRLWIND = 8, + EVENT_GUARD_WHIRLWIND_RANDOM = 9, + EVENT_GUARD_WHIRLWIND_END = 10, + EVENT_GUARD_KNOCKBACK = 11, + EVENT_GUARD_AGGRO_RESET = 12, + EVENT_GUARD_AGGRO_RESET_END = 13 }; struct boss_sartura : public BossAI @@ -96,9 +97,10 @@ struct boss_sartura : public BossAI { BossAI::EnterCombat(who); Talk(SAY_AGGRO); - events.ScheduleEvent(EVENT_SARTURA_WHIRLWIND, 30000); + events.ScheduleEvent(EVENT_SARTURA_WHIRLWIND, 12s, 22s); events.ScheduleEvent(EVENT_SARTURA_AGGRO_RESET, urand(45000, 55000)); events.ScheduleEvent(EVENT_SPELL_BERSERK, 10 * 60000); + events.ScheduleEvent(EVENT_SARTURA_SUNDERING_CLEAVE, 2400ms, 3s); } void JustDied(Unit* /*killer*/) override @@ -121,14 +123,6 @@ struct boss_sartura : public BossAI } } - void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override - { - if (spell->Id != SPELL_SUNDERING_CLEAVE) - return; - - me->RemoveAura(SPELL_SUNDERING_CLEAVE); - } - void UpdateAI(uint32 diff) override { if (!UpdateVictim()) @@ -161,7 +155,7 @@ struct boss_sartura : public BossAI case EVENT_SARTURA_WHIRLWIND_END: events.CancelEvent(EVENT_SARTURA_WHIRLWIND_RANDOM); whirlwind = false; - events.ScheduleEvent(EVENT_SARTURA_WHIRLWIND, urand(25000, 40000)); + events.ScheduleEvent(EVENT_SARTURA_WHIRLWIND, 5s, 11s); break; case EVENT_SARTURA_AGGRO_RESET: if (aggroReset == false) @@ -203,6 +197,18 @@ struct boss_sartura : public BossAI berserked = true; } break; + case EVENT_SARTURA_SUNDERING_CLEAVE: + if (whirlwind) + { + Milliseconds whirlwindTimer = events.GetTimeUntilEvent(EVENT_SARTURA_WHIRLWIND_END); + events.RescheduleEvent(EVENT_SARTURA_SUNDERING_CLEAVE, whirlwindTimer + 500ms); + } + else + { + DoCastVictim(SPELL_SUNDERING_CLEAVE, false); + events.RescheduleEvent(EVENT_SARTURA_SUNDERING_CLEAVE, 2400ms, 3s); + } + break; default: break; } @@ -233,17 +239,9 @@ struct npc_sartura_royal_guard : public ScriptedAI void EnterCombat(Unit* /*who*/) override { - events.ScheduleEvent(EVENT_GUARD_WHIRLWIND, 30000); + events.ScheduleEvent(EVENT_GUARD_WHIRLWIND, 6s, 10s); events.ScheduleEvent(EVENT_GUARD_AGGRO_RESET, urand(45000, 55000)); - events.ScheduleEvent(EVENT_GUARD_KNOCKBACK, 10000); - } - - void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override - { - if (spell->Id != SPELL_SUNDERING_CLEAVE) - return; - - me->RemoveAura(SPELL_SUNDERING_CLEAVE); + events.ScheduleEvent(EVENT_GUARD_KNOCKBACK, 12s, 16s); } void UpdateAI(uint32 diff) override @@ -261,7 +259,7 @@ struct npc_sartura_royal_guard : public ScriptedAI DoCastSelf(SPELL_GUARD_WHIRLWIND); whirlwind = true; events.ScheduleEvent(EVENT_GUARD_WHIRLWIND_RANDOM, urand(3000, 7000)); - events.ScheduleEvent(EVENT_GUARD_WHIRLWIND_END, 15000); + events.ScheduleEvent(EVENT_GUARD_WHIRLWIND_END, 8s); break; case EVENT_GUARD_WHIRLWIND_RANDOM: if (whirlwind == true) @@ -278,7 +276,7 @@ struct npc_sartura_royal_guard : public ScriptedAI case EVENT_GUARD_WHIRLWIND_END: events.CancelEvent(EVENT_GUARD_WHIRLWIND_RANDOM); whirlwind = false; - events.ScheduleEvent(EVENT_GUARD_WHIRLWIND, urand(25000, 40000)); + events.ScheduleEvent(EVENT_GUARD_WHIRLWIND, 500ms, 9s); break; case EVENT_GUARD_AGGRO_RESET: if (aggroReset == true) @@ -315,7 +313,7 @@ struct npc_sartura_royal_guard : public ScriptedAI break; case EVENT_GUARD_KNOCKBACK: DoCastVictim(SPELL_GUARD_KNOCKBACK); - events.RepeatEvent(urand(10000, 20000)); + events.Repeat(21s, 37s); break; } }